diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000000000000000000000000000000000000..21b855f472e35379f25be0478b208d95deca3e16
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,37 @@
+###
+ # EditorConfig file for Bash Script Language projects.
+ # See https://editorconfig.org/ for documentation.
+ #
+ # https://git.brandon-rodriguez.com/other/editorconfig
+ # Version 1.0
+ ##
+
+
+# Stop editorconfig from searching further above current directory.
+root = true
+
+
+###
+ # Default styles for all files.
+ ##
+[*]
+charset = utf-8
+end_of_line = lf
+indent_style = space
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+
+###
+ # Tab styles that should be four spaces per tab.
+ # Most languages will fall under this.
+ ##
+[*.sh]
+indent_size = 4
+
+
+###
+ # Tab styles that should be two spaces per tab.
+ # Only very nested languages should be put here.
+ ##
+# None so far.
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..fb860830707f070e733d1d7b17fa06118978553b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,46 @@
+###
+ # General GitIgnore file for projects.
+ # See https://git-scm.com/docs/gitignore for documentation.
+ #
+ # https://git.brandon-rodriguez.com/other/gitignore
+ # Version 1.0
+ ##
+
+
+# Ignore system files.
+.DS_Store
+Thumbs.db
+
+
+# Ignore environment settings.
+.env/
+.idea/
+.venv/
+.vs/
+.vscode/
+env/
+idea/
+venv/
+vs/
+vscode/
+
+
+# Ignore temporary files.
+[Tt]mp/
+[Tt]emp/
+[Tt]empfiles/
+[Tt]emp_files/
+*.tmp
+*.temp
+
+
+# Ignore logfiles.
+[Ll]og/
+[Ll]ogs/
+*.log
+*.log.*
+
+
+###
+ # Project-specific ignores go below here.
+ ##