{"id":18837062,"url":"https://github.com/bkuhlmann/dotfiles","last_synced_at":"2025-04-04T21:08:24.506Z","repository":{"id":1579708,"uuid":"2059863","full_name":"bkuhlmann/dotfiles","owner":"bkuhlmann","description":"Shell scripts for applying default settings to UNIX-based operating systems.","archived":false,"fork":false,"pushed_at":"2025-03-23T19:45:45.000Z","size":3014,"stargazers_count":157,"open_issues_count":0,"forks_count":24,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-28T20:08:01.811Z","etag":null,"topics":["bash","dotfiles","shell"],"latest_commit_sha":null,"homepage":"https://alchemists.io/projects/dotfiles","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bkuhlmann.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.adoc","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["bkuhlmann"]}},"created_at":"2011-07-16T23:28:39.000Z","updated_at":"2025-02-22T14:19:51.000Z","dependencies_parsed_at":"2023-01-11T16:04:43.672Z","dependency_job_id":"e95d28b1-0b8b-4193-b0ba-89a5f08f2fa5","html_url":"https://github.com/bkuhlmann/dotfiles","commit_stats":{"total_commits":2156,"total_committers":3,"mean_commits":718.6666666666666,"dds":"0.30705009276437845","last_synced_commit":"d93297201cb31531078aa7308e920bc4a0faab24"},"previous_names":[],"tags_count":196,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkuhlmann%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkuhlmann%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkuhlmann%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkuhlmann%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bkuhlmann","download_url":"https://codeload.github.com/bkuhlmann/dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247249526,"owners_count":20908212,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","dotfiles","shell"],"created_at":"2024-11-08T02:33:38.964Z","updated_at":"2025-04-04T21:08:24.486Z","avatar_url":"https://github.com/bkuhlmann.png","language":"Shell","funding_links":["https://github.com/sponsors/bkuhlmann"],"categories":[],"sub_categories":[],"readme":":toc: macro\n:toclevels: 5\n:figure-caption!:\n\n= Dotfiles\n\nThese dotfiles are a collection shell scripts for applying default settings to UNIX-based operating\nsystems. They include useful shortcuts, performance augmentation, and advanced practices that --\neven if you don't apply to your own dotfiles -- should be educational for improving your own\npractices.\n\nBy default, these are set to my preferences (namely for macOS) but you can change them to your\nliking by editing any of the `.tt` template files in the `home_files` directory. Read on to learn\nmore.\n\ntoc::[]\n\n== Features\n\n* Configures link:https://github.com/amazing-print/amazing_print[Amazing Print] (`.aprc`).\n* Configures Bash (`.config/bash`, `.bashrc`, `.bash_profile`, and `.inputrc`).\n* Configures link:http://bash-completion.alioth.debian.org[Bash Completion].\n* Configures link:http://ctags.sourceforge.net[CTags] (`.ctags`).\n* Configures link:https://direnv.net[direnv].\n* Configures link:https://www.docker.com[Docker].\n* Configures link:https://eza.rocks[Eza].\n* Configures link:https://github.com/tako8ki/frum[Frum].\n* Configures link:https://git-scm.com[Git] (`.config/git`).\n* Configures link:https://www.gnupg.org[GPG].\n* Configures `.hushlogin`.\n* Configures link:https://nodejs.org[Node.js].\n* Configures link:https://www.npmjs.org[NPM] (`.npmrc`).\n* Configures link:https://www.postgresql.org[PostgreSQL] (`.psqlrc`).\n* Configures link:https://voormedia.github.io/rails-erd[Rails ERD] (`.erdconfig`).\n* Configures link:https://rspec.info[RSpec] (`.rspec`).\n* Configures link:https://www.ruby-lang.org[Ruby] (`.ruby-version` and `.irbrc`).\n* Configures link:https://github.com/bbatsov/rubocop[Rubocop] (`.rubocop.yml`).\n* Configures link:https://www.rust-lang.org[Rust].\n* Configures link:https://github.com/ggreer/the_silver_searcher[Silver Surfer] (`.agignore`).\n* Configures link:https://www.sublimetext.com[Sublime Text].\n* Configures link:https://www.vim.org[Vim] (`.vimrc`).\n* Configures link:https://www.terraform.io[Terraform].\n* Configures link:https://github.com/ajeetdsouza/zoxide[Zoxide].\n\n== Requirements\n\n. link:https://alchemists.io/projects/mac_os-config[macOS Configuration]\n\n== Setup\n\nTo install, run:\n\n[source,bash]\n----\ngit clone https://github.com/bkuhlmann/dotfiles.git\ncd dotfiles\ngit checkout 55.2.0\n----\n\n== Upgrade\n\nWhen upgrading to a new version, run the following:\n\n. Run: `bin/run l`. Links new files. If not using linked files, then run `bin/run d` and `bin/run i`\n  instead.\n. Run: `bin/run c`. Displays file differences, if any. Usually, this will be excluded files.\n. Run: `exec $SHELL`. Updates current shell with the above changes.\n\n== Usage\n\nEdit any of the `.tt` (template) and/or `.command` (command) files in the `home_files` directory as\nyou see fit. Then open a terminal window and execute the following command to install:\n\n[source,bash]\n----\ncd dotfiles\nbin/run\n----\n\nExecuting the `bin/run` script will present the following options:\n\n....\ns: Show managed dotfiles.\ni: Install dotfiles (existing files are skipped).\nl: Link dotfiles to this project (interactive per file, excludes: env.sh and .gitconfig).\nc: Check for differences between $HOME files and this project's files.\nd: Delete dotfiles (interactive per file, excludes: env.sh and .gitconfig).\nq: Quit/Exit.\n....\n\nThe options prompt can be skipped by passing the desired option directly to the `bin/run` script.\nFor example, executing `bin/run s` will show all managed dotfiles by this project.\n\nAfter install, the following files will require manual updating:\n\n* `.bash/env.sh`: Add secret/machine-specific environment settings (if any).\n* `.gitconfig`: Replace all `\u003credacted\u003e` values for name, email, and signingKey within the `[user]`\n  section with your own credentials.\n\nThe reason the above two files are not managed by this project -- especially via symbolic links --\nis because sensitive data is usually stored in these files and you don't want this information\naccidentally checked into a source code repository or shared via other means.\n\n=== Aliases\n\n==== https://asciidoctor.org:[ASCII Doctor]\n\n....\nad = \"asciidoctor\"\n....\n\n==== https://asciinema.org:[asciinema]\n\n....\ncin = \"asciinema\"\ncina = \"asciinema rec --append\"\ncinc = \"asciinema cat\"\ncine = \"asciinema_plus -e\"\ncinp = \"asciinema play\"\ncinu = \"asciinema upload\"\n....\n\n==== https://www.gnu.org/software/bash:[Bash]\n\n....\nbashe = '$EDITOR $HOME/.config/bash/environment.sh'\nbashs = 'exec $SHELL'\n....\n\n==== https://bundler.io:[Bundler]\n\n....\nba = \"bundle add\"\nbb = \"bundle binstubs\"\nbce = '$EDITOR $BUNDLE_USER_CONFIG'\nbch = \"rm -f Gemfile.lock; bundle check\"\nbd = \"bundle doctor\"\nbe = \"bundle exec\"\nbi = \"bundle install\"\nblo = 'bundle list --paths | fzf | xargs $EDITOR'\nbo = \"bundle outdated --only-explicit\"\nbr = \"bundle remove\"\nbu = \"bundle update\"\n....\n\n==== https://crystal-lang.org:[Crystal]\n\n....\ncr = \"crystal\"\ncrb = \"crystal build\"\ncrd = \"crystal docs\"\ncrdo = \"open docs/index.html\"\ncrr = \"crystal run\"\ncrs = \"crystal spec\"\n....\n\n==== https://direnv.net:[direnv]\n\n....\ndenva = \"direnv allow\"\ndenvr = \"direnv reload\"\ndenvs = \"direnv status\"\n....\n\n==== https://www.docker.com:[Docker]\n\n....\ndr = \"docker\"\ndrb = \"docker build\"\ndrc = \"docker-compose\"\ndrcb = \"docker-compose build\"\ndrcr = \"docker-compose run --rm\"\ndrcu = \"docker-compose up\"\ndrd = \"docker system prune --force \u0026\u0026 docker buildx prune --force\"\ndri = \"docker images\"\ndrp = \"docker ps --all\"\ndrt = \"docker tag\"\n....\n\n==== http://duti.org:[duti]\n\n....\ndutia = 'duti $HOME/.config/duti/configuration.duti'\n....\n\n==== https://eza.rocks:[Eza]\n\n....\nx1 = \"eza --oneline --all --group-directories-first\"\nx = \"eza --all --all --long --header --group --group-directories-first --time-style long-iso --git\"\nxt = \"eza --all --group-directories-first --ignore-glob '*.git' --git-ignore --tree\"\n....\n\n==== https://github.com/Schniz/fnm:[Fast Node Manager]\n\n....\njs = \"fnm\"\njsd = \"fnm default\"\njse = \"fnm env\"\njsi = \"fnm install\"\njsl = \"fnm list\"\njss = \"fnm use\"\njsu = \"fnm uninstall\"\n....\n\n==== https://github.com/TaKO8Ki/frum:[Frum]\n\n....\nrb = \"frum\"\nrbd = \"frum global\"\nrbl = \"frum versions\"\nrbs = \"frum local\"\nrbu = \"frum uninstall\"\n....\n\n==== https://github.com/junegunn/fzf:[Fuzzy Finder]\n\n....\nff = \"_fzf_preview_and_select | xargs -0 -o \\$EDITOR\"\n....\n\n==== https://alchemists.io/projects/gemsmith:[Gemsmith]\n\n....\ngsb = \"gemsmith build --name\"\ngsc = \"gemsmith config --edit\"\ngse = \"gemsmith --edit\"\ngsi = \"gemsmith --install\"\ngsp = \"gemsmith --publish\"\ngsq = \"rake quality\"\ngsv = \"gemsmith --view\"\n....\n\n==== General\n\n....\n... = \"cd ../..\"\n.. = \"cd ..\"\nc = \"clear\"\ncat = \"bat --theme DarkNeon\"\ncdb = \"cd -\"\ndu = \"dust\"\nh = \"history\"\nl1 = \"ls -A1 | _copy_and_print '\\n'\"\nl = \"ls -alhT\"\no = \"open\"\np = 'pwd | tr -d \"\\r\\n\" | _copy_and_print'\npss = \"pgrep -i -l -f\"\nrmde = \"find . -type d -empty -not -path '*.git*' -delete\"\n....\n\n==== https://git-scm.com:[Git]\n\n....\ngall = \"git add --all .\"\ngamend = \"git commit --amend\"\ngamenda = \"git commit --amend --all --no-edit\"\ngamendh = \"git commit --amend --no-edit\"\ngap = \"git ls-files --modified | _fzf_preview_and_select | xargs -0 -o -t git add --patch\"\ngashc = \"git stash clear\"\ngatch = \"git commit --patch\"\ngau = \"git add --update\"\ngb = \"git switch\"\ngbb = \"git switch -\"\ngbe = \"git branch --edit-description\"\ngbi = \"git bisect\"\ngbv = 'git config get branch.$(_git_branch_name).description'\ngbib = \"git bisect bad\"\ngbig = \"git bisect good\"\ngbih = \"git bisect help\"\ngbil = \"git bisect log\"\ngbir = \"git bisect reset\"\ngbire = \"git bisect replay\"\ngbis = \"git bisect start\"\ngbisk = \"git bisect skip\"\ngbiv = 'git bisect visualize --reverse --pretty=format:\"$(_git_log_line_format)\"'\ngbm = 'git switch $(_git_branch_default)'\ngbn = \"_git_branch_name | _copy_and_print\"\ngbt = \"git show-branch --topics\"\ngca = \"git commit --all\"\ngcam = \"git commit --all --message\"\ngcd = \"git config list --show-origin --show-scope | fzf\"\ngce = 'cat .git/COMMIT_EDITMSG | pbcopy'\ngcge = \"git config edit --global\"\ngch = \"git checkout\"\ngcl = \"git clone\"\ngcle = \"git config edit --local\"\ngcm = \"git commit --message\"\ngco = \"git commit\"\ngcp = \"git cherry-pick\"\ngcpa = \"git cherry-pick --abort\"\ngcpc = \"git cherry-pick --continue\"\ngcps = \"git cherry-pick --skip\"\ngcs = \"git commit --squash\"\ngd = \"git diff\"\ngdc = \"git diff --cached\"\ngdm = 'git diff origin/$(_git_branch_default)'\ngdo = 'git diff --name-only | uniq | xargs $EDITOR'\ngdt = \"git difftool\"\ngdtc = \"git difftool --cached\"\ngdtm = 'git difftool origin/$(_git_branch_default)'\ngdw = \"git diff --color-words\"\ngel = \"git rm\"\ngelc = \"git rm --cached\"\nges = \"git diff --name-only --cached | _fzf_preview_and_select | xargs -0 -o -t git reset\"\ngf = \"git fetch\"\ngg = \"git grep\"\ngget = \"git config get\"\nggp = \"git config --global --get-regexp includeif | awk '{print \\$NF}' | fzf | xargs \\$EDITOR\"\ngi = \"git init\"\ngl = 'git log --graph --pretty=format:\"$(_git_log_line_format)\"'\nglame = \"git blame -M -C\"\nglean = \"git clean -d --force\"\nglf = 'git fetch \u0026\u0026 git log --reverse --no-merges --pretty=format:\"$(_git_log_line_format)\" ..@{upstream}'\nglh = \"_git_sha | _copy_and_print\"\ngna = \"git notes add\"\ngnd = \"git notes remove\"\ngne = \"git notes edit\"\ngnl = \"git notes list\"\ngnp = \"git notes prune\"\ngns = \"git notes show\"\ngp = \"git push\"\ngpf = \"git push --force-with-lease\"\ngpn = \"git push --no-verify\"\ngpu = \"git pull\"\ngpuo = \"git pull origin\"\ngpuom = 'git pull origin $(_git_branch_default)'\ngpuum = 'git pull upstream $(_git_branch_default)'\ngr = \"git ls-files --modified | _fzf_preview_and_select | xargs -0 -o -t git restore\"\ngrba = \"git rebase --abort\"\ngrbc = \"git rebase --continue\"\ngrbd = \"git rebase --show-current-patch\"\ngrbo = \"git rebase --onto\"\ngrbs = \"git rebase --skip\"\ngrbt = \"git rebase --edit-todo\"\ngrev = \"git revert --no-commit\"\ngrl = \"git reflog --relative-date\"\ngrom = 'git fetch --all \u0026\u0026 git reset --hard origin/$(_git_branch_default)' # Reset local branch to origin/main branch. UNRECOVERABLE!\ngrr = \"git rerere\"\ngset = \"git config set\"\ngst = \"git status --short --branch\"\ngt = \"git tag\"\ngte = 'cat .git/TAG_EDITMSG | pbcopy'\ngtp = \"git push --tags\"\ngtv = \"git tag --verify\"\nguthors = \"git shortlog --numbered --summary --group=author --group=trailer:Co-Authored-By\"\ngwl = \"git worktree list\"\ngwp = \"git worktree prune\"\n....\n\n==== https://alchemists.io/projects/hanamismith:[Hanamismith]\n\n....\nhsb = \"hanamismith build --name\"\nhse = \"hanamismith config --edit\"\nhsh = \"hanamismith --help\"\n....\n\n==== https://brew.sh:[Homebrew]\n\n....\nhb = \"brew\"\nhbd = \"brew doctor\"\nhbi = \"brew install\"\nhbin = \"brew info\"\nhbl = \"brew list --versions | fzf\"\nhblc = \"brew list --casks --versions | fzf\"\nhblf = \"brew list --formulae --versions | fzf\"\nhbp = \"brew pin\"\nhbpu = \"brew unpin\"\nhbr = \"brew reinstall\"\nhbs = \"brew search\"\nhbsu = \"brew update \u0026\u0026 brew upgrade \u0026\u0026 brew cleanup\"\nhbu = \"brew uninstall\"\nhbug = \"brew update \u0026\u0026 brew upgrade\"\n....\n\n==== https://trac.webkit.org/wiki/JSC:[JavaScript Core]\n\n....\njsc = \"/System/Library/Frameworks/JavaScriptCore.framework/Versions/Current/Helpers/jsc\"\n....\n\n==== https://jless.io:[jless]\n\n....\njlr = \"jless --mode line\"\n....\n\n==== https://alchemists.io/projects/milestoner:[Milestoner]\n\n....\nms = \"milestoner\"\nmse = \"milestoner config --edit\"\nmsp = \"milestoner --publish\"\n....\n\n==== https://en.wikipedia.org/wiki/Network_Computer:[Network]\n\n....\ndnsi = \"scutil --dns\"\ndnss = \"sudo dscacheutil -statistics\"\nipa = 'curl --silent checkip.dyndns.org | rg --only-matching \"[0-9\\.]+\" | _copy_and_print'\nkey = \"open /Applications/Utilities/Keychain\\ Access.app\"\nping = \"gping\"\nspeed = \"networkQuality\"\nsshe = '$EDITOR $HOME/.ssh/config'\ntop = \"htop\"\n....\n\n==== https://www.npmjs.com:[NPM]\n\n....\nna = \"npm login\"\nnb = \"npm run build\"\nni = \"npm install\"\nnid = \"npm install --save-dev\"\nnl = \"npm ls\"\nno = \"npm outdated\"\nnp = \"npm publish\"\nnq = \"npm run quality\"\nnt = \"npm test\"\nntw = \"npm run test:watch\"\n....\n\n==== https://cocoatech.com:[Path Finder]\n\n....\npfo = 'open -a \"Path Finder.app\" \"$PWD\"'\n....\n\n==== https://github.com/theory/pgenv:[pgenv]\n\n....\npgc = \"pgenv clear\"\npgl = \"pgenv log\"\npgs = \"pgenv use\"\npgsp = \"pgenv stop\"\npgst = \"pgenv start\"\npgu = \"pgenv remove\"\npgv = \"pgenv versions\"\n....\n\n==== https://redis.io:[Redis]\n\n....\nredc = \"redis-cli\"\nreds = 'redis-server $HOMEBREW_PREFIX/etc/redis.conf \u0026'\n....\n\n==== https://github.com/AlexB52/retest[Retest]\n\n....\nrt = \"NO_COVERAGE=true retest\"\n....\n\n==== https://github.com/BurntSushi/ripgrep:[ripgrep]\n\n....\nrgf = \"rg --files --glob\"\n....\n\n==== https://rspec.info:[RSpec]\n\n....\nrsf = \"NO_COVERAGE=true rspec spec --only-failures\"\nrsn = \"NO_COVERAGE=true rspec spec --next-failure\"\nrso = \"NO_COVERAGE=true rspec spec --dry-run --format doc \u003e tmp/rspec-overview.txt \u0026\u0026 e tmp/rspec-overview.txt\"\nrss = \"rspec\"\nrst = \"NO_COVERAGE=true rspec spec --tag\"\n....\n\n==== https://github.com/bbatsov/rubocop:[Rubocop]\n\n....\ncop = \"rubocop --parallel --display-cop-names --display-style-guide\"\ncopc = \"rubocop --auto-gen-config\"\ncopf = \"rubocop --autocorrect\"\ncopfo = \"rubocop --autocorrect --only\"\ncopo = \"rubocop --display-cop-names --only\"\ncops = \"rubocop --show-cops\"\ncopu = \"rubocop --autocorrect-all\"\n....\n\n==== https://www.ruby-lang.org:[Ruby]\n\n....\nrbbe = '$EDITOR $HOME/Engineering/Misc/benchmark'\nrbbr = '$HOME/Engineering/Misc/benchmark'\nrbde = '$EDITOR $HOME/Engineering/Misc/demo'\nrbdr = '$HOME/Engineering/Misc/demo'\nrbdw = 'viddy $HOME/Engineering/Misc/demo'\n....\n\n==== https://rubyonrails.org:[Ruby on Rails]\n\n....\nrailsb = \"rails console --sandbox\"\nrailse = \"EDITOR = 'sublime --wait' rails credentials:edit\"\n....\n\n==== https://rubygems.org:[RubyGems]\n\n....\ngemc = \"gem cleanup\"\ngemcli = \"rg 'spec\\.executables' --no-messages --max-depth=2 --files-with-matches gemspec . | xargs basename | cut -d. -f1 | sort | _copy_and_print '\\n'\"\ngemcr = '$EDITOR $HOME/.gem/credentials'\ngemb = \"gem build\"\ngeme = \"gem environment\"\ngemi = \"gem install\"\ngeml = \"gem list\"\ngemp = \"gem pristine\"\ngemu = \"gem uninstall\"\ngemuc = \"gem update --system \u0026\u0026 gem update \u0026\u0026 gem cleanup\"\n....\n\n==== https://alchemists.io/projects/rubysmith:[Rubysmith]\n\n....\nrbb = \"rubysmith build --name\"\nrbe = \"rubysmith config --edit\"\nrbh = \"rubysmith --help\"\n....\n\n==== https://github.com/colszowka/simplecov:[SimpleCov]\n\n....\ncov = \"open coverage/index.html\"\n....\n\n==== https://www.sublimetext.com:[Sublime Text]\n\n....\ne = \"sublime\"\n....\n\n==== https://www.gnu.org/software/tar/tar.html:[Tar]\n\n....\nbzc = \"tar --use-compress-program=pigz --create --preserve-permissions --bzip2 --verbose --file\"\nbzx = \"tar --extract --bzip2 --verbose --file\"\n....\n\n==== https://www.terraform.io:[Terraform]\n\n....\ntf = \"terraform\"\ntfa = \"noti --title 'Terraform Apply' terraform apply\"\ntfc = \"terraform console\"\ntff = \"terraform fmt -recursive\"\ntfg = \"terraform graph | dot -Tsvg \u003e tmp/graph.svg \u0026\u0026 open -a 'Firefox.app' tmp/graph.svg\"\ntfi = \"terraform init\"\ntfo = \"terraform output\"\ntfp = \"noti --title 'Terraform Plan' terraform plan\"\ntft = \"terraform taint\"\ntfu = \"terraform untaint\"\ntfup = \"terraform init -upgrade\"\ntfv = \"terraform validate\"\n....\n\n==== http://tmux.sourceforge.net:[tmux]\n\n....\ntsa = \"tmux attach-session -t\"\ntsk = \"tmux kill-session -t\"\ntsl = \"tmux list-sessions\"\ntsr = \"tmux rename-session -t\"\n....\n\n==== https://gitlab.com/procps-ng/procps:[Watch]\n\n....\nwp = \"watch --interval 1 --color --beep --exec\"\n....\n\n=== Functions\n\n==== link:https://asciidoctor.org[ASCII Doctor]\n\n....\nado = ASCII Doctor Open - Transforms ASCII Doc into HTML and opens in default browser.\n....\n\n==== https://asciinema.org:[asciinema]\n\n....\ncinr = asciinema Record - Create new asciinema recording.\n....\n\n==== https://bundler.io:[Bundler]\n\n....\nbca = Bundler Clean (all) - Clean projects of gem artifacts.\nbcg = Bundler Config Gem - Configure Bundler to use local gem for development purposes.\nbj = Bundler Jobs - Answer maximum Bundler job limit for current machine or automatically set it.\nbl = Bundle List - List gem dependencies for project and copy them to clipboard.\nboa = Bundle Outdated (all) - Answer outdated gems for projects in current directory.\nbua = Bundle Update (all) - Update gems for projects in current directory.\n....\n\n==== https://alchemists.io/projects/caliber:[Code Quality]\n\n....\ncqa = Code Quality (all) - Run code quality tasks for projects in current directory.\ncqi = Code Quality Issues - List all source files affected by code quality issues.\n....\n\n==== https://curl.se:[curl]\n\n....\ncurld = Curl Diagnostics - Curl with diagnostic information for request.\ncurli = Curl Inspect - Inspect remote file with default editor.\n....\n\n==== Dotfiles\n\n....\ndots = Dotfiles - Learn about dotfile aliases, functions, etc.\n....\n\n==== https://github.com/Schniz/fnm:[Fast Node Manager]\n\n....\njsf = JavaScript Force - Installs new Node version as default and removes previous version.\njsua = JavaScript Upgrade (all) - Upgrade JavaScript projects in current directory to new JavaScript version.\n....\n\n==== General\n\n....\ncype = Colorized Type - Identical to \"type\" system command but with Bat support.\neup = Environment Update - Update environment with latest software.\niso = ISO - Builds an ISO image from mounted volume.\nkilp = Kill Process - Kill errant/undesired process.\nt2s = Tab to Space - Convert file from tab to space indentation.\n....\n\n==== https://git-scm.com:[Git]\n\n....\nga = Git Add - Interactively adds modified/untracked files.\ngafe = Git Safe - Marks repository as safe for auto-loading project's `bin` path.\ngalla = Git Add (all) - Apply file changes (including new files) for projects in current directory.\ngash = Git Stash - Creates stash of all changes.\ngasha = Git Stash (all) - Answer stash count for projects in current directory.\ngashd = Git Stash Drop - Drop stash or prompt for stash to drop.\ngashl = Git Stash List - List stashes.\ngashp = Git Stash Pop - Pop stash or prompt for stash to pop.\ngashs = Git Stash Show - Show stash or prompt for stash to show.\ngasht = Git Stash Stage - Creates stash of staged work.\ngbc = Git Branch Create - Create and switch to branch.\ngbca = Git Branch Create (all) - Create and switch to branch for projects in current directory.\ngbd = Git Branch Delete - Interactively delete local and/or remote branch.\ngbdl = Git Branch Delete (local) - Delete local branch.\ngbdm = Git Branch Delete (merged) - Delete remote and local merged branches.\ngbdr = Git Branch Delete (remote) - Delete remote branch.\ngbf = Git Branch Facsimile - Duplicate current branch with new name and switch to it.\ngbl = Git Branch List - List local and remote branch details.\ngbla = Git Branch List (all) - List current branch for projects in current directory.\ngblo = Git Branch List (owner) - List branches owned by current author or supplied author.\ngbna = Git Branch Number (all) - Answer number of branches for projects in current directory.\ngbr = Git Branch Rename - Rename current branch.\ngbs = Git Branch Switch - Switch between branches.\ngbsa = Git Branch Switch (all) - Switch to given branch for projects in current directory.\ngcaa = Git Commit (all) - Commit changes (unstaged and staged) for projects in current directory.\ngcap = Git Commit and Push (all) - Commit and push changes for projects in current directory.\ngcb = Git Commit Breakpoint - Create a breakpoint (empty) commit to denote related commits in a feature branch.\ngcf = Git Commit Fixup - Create fixup commit with optional amend or reword support.\ngcff = Git Commit Fix (file) - Create commit fix for file (ignores previous fixups).\ngcfi = Git Commit Fix (interactive) - Select which commit to fix within current feature branch.\ngdf = Git Diff Files - List all added/changed files on current branch.\ngday = Git Day - Answer summarized list of current day activity for projects in current directory.\ngesh = Git Reset Hard - Reset to HEAD, destroying all untracked, staged, and unstaged changes. UNRECOVERABLE!\ngesha = Git Reset Hard (all) - Destroy all untracked, staged, and unstaged changes for all projects in current directory. UNRECOVERABLE!\ngess = Git Reset Soft - Resets previous commit (default), resets back to number of commits, or resets to specific commit.\nggeta = Git Get Config Value (all) - Answer key value for projects in current directory.\ngga = Git Guise Add - Adds Git configuration and associated profile.\nggd = Git Guise Delete - Deletes Git configuration and associated profile.\nghow = Git Show - Show commit details with optional diff support.\nghurn = Git Churn - Answer commit churn for project files (sorted highest to lowest).\ngia = Git Init (all) - Initialize/re-initialize repositories in current directory.\ngile = Git File - Show file details for a specific commit (with optional diff support).\ngim = Git Import - Import remote repository commits into current local branch.\ngince = Git Since - Answer summarized list of activity since date/time for projects in current directory.\nginfo = Git Info - Print repository overview information.\ngistory = Git File History - View file commit history (with optional diff support).\nglameh = Git Blame History - View commit history for file and/or lines (with optional diff support).\ngld = Git Log Details - List default or feature branch commit details.\ngleana = Git Clean (all) - Clean uncommitted files from all projects in current directory.\nglear = Git Clear - Clear repository for packaging/shipping purposes.\nglg = Git Log Grep - Grep Git log by query.\ngli = Git Log (interactive) - List default or feature branch commits with commit show and/or diff support.\ngls = Git Log Search - Search Git log by query.\nglz = Git Log Fuzzy - Fuzzy find commits in the log.\ngma = Git Merge (all) - Merges, deletes, and pushes feature branch.\ngmonth = Git Month - Answer summarized list of current month activity for projects in current directory.\ngmpa = Git Amend Push (all) - Amend all changes and force push with lease for projects in current directory.\ngnai = Git Notes Add (interactive) - Select which commit note to add for current feature branch.\ngnei = Git Notes Edit (interactive) - Select which commit note to edit for current feature branch.\ngndi = Git Notes Remove (interactive) - Select which commit note to remove for current feature branch.\ngnri = Git Notes Show (interactive) - Select which commit note to show for current feature branch.\ngount = Git Commit Count - Answer total number of commits for current project.\ngpa = Git Push (all) - Push changes for projects in current directory.\ngpua = Git Pull (all) - Pull new changes from remote branch for projects in current directory.\ngra = Git Remote Add - Add and track a remote repository.\ngrbi = Git Rebase (interactive) - Rebase commits, interactively.\ngrbq = Git Rebase (quick) - Rebase commits, quickly. Identical to `grbi` function but skips editor.\ngroot = Git Root - Change to repository root directory regardless of current depth.\ngseta = Git Set Config Value (all) - Set key value for projects in current directory.\ngsta = Git Status (all) - Answer status of projects with uncommited/unpushed changes.\ngstats = Git Statistics - Answer statistics for current project.\ngstatsa = Git Statistics (all) - Answer statistics for all projects in current directory.\ngsup = Git Standup - Answer summarized list of activity since yesterday for projects in current directory.\ngtd = Git Tag Delete - Delete local and remote tag (if found).\ngtl = Git Tag List - List tags in tabular form.\ngtr = Git Tag Rebuild - Rebuild a previous tag. WARNING: Use with caution, especially if previously published.\ngtail = Git Tail - Answer commit history since last tag for current project (copies results to clipboard).\ngtaila = Git Tail (all) - Answer commit history count since last tag for projects in current directory.\ngucca = Git Upstream Commit Count (all) - Answer upstream commit count since last pull for projects in current directory.\nguke = Git Nuke - Permanently destroy and erase a file from history. UNRECOVERABLE!\ngarb = Git Garbage Collect - Garbage collect dangling commits for projects in current directory.\ngunseta = Git Unset (all) - Unset key value for projects in current directory.\ngup = Git Update - Fetch commits, prune untracked references, review each commit (optional, with diff), and pull (optional).\nguthorc = Git Author Contributions - Answers total lines added/removed by author for repo (with emphasis on deletion).\nguthorsa = Git Authors (all) - Answer author commit activity per project (ranked highest to lowest).\ngvac = Git Verify and Clean - Verify and clean objects for current project.\ngvaca = Git Verify and Clean (all) - Verify and clean objects for projects in current directory.\ngwa = Git Worktree Add - Add and switch to new worktree.\ngwd = Git Worktree Delete - Deletes current Git worktree.\ngweek = Git Week - Answer summarized list of current week activity for projects in current directory.\ngync = Git Sync - Syncs up remote changes and deletes pruned/merged branches.\n....\n\n==== https://github.com:[GitHub]\n\n....\ngh = GitHub - View GitHub details for current project.\nghpra = GitHub Pull Request (all) - Open pull requests for all projects in current directory (non-default branches only).\n....\n\n==== https://en.wikipedia.org/wiki/Less_(Unix):[less]\n\n....\nlessi = Less Interactive - Inspect file, interactively.\n....\n\n==== https://github.com/pivotal/LicenseFinder:[License Finder]\n\n....\nlicensea = License Finder (add) - Adds library to global list.\nlicensei = License Finder (include) - Include license in global list.\n....\n\n==== https://people.freebsd.org/~abe:[lsof]\n\n....\nport = Port - List file activity on given port.\n....\n\n==== https://marked2app.com:[Marked 2]\n\n....\nmo = Marked Open - Opens Markdown file in Marked.\n....\n\n==== https://alchemists.io/projects/milestoner:[Milestoner]\n\n....\nmsa = Milestoner (ASCII Doc) - Build milestone(s) in ASCII Doc format.\nmsf = Milestoner (feed) - Build milestone(s) in feed (atom) format.\nmsm = Milestoner (Markdown) - Build milestone(s) in Markdown format.\nmss = Milestoner (stream) - Build milestone(s) in stream format.\nmsw = Milestoner (web) - Build milestone(s) in web format.\n....\n\n==== https://jedisct1.github.io/minisign:[Minisign]\n\n....\nsigf = Minisign Sign File - Sign a file.\nsigg = Minisign Generate - Generate private and public key pair.\nsigv = Minisign Verify File - Verify signed file.\n....\n\n==== https://en.wikipedia.org/wiki/Network_Computer:[Network]\n\n....\ndnsf = DNS Flush - Flush DNS cache.\n....\n\n==== https://openssl.org:[OpenSSL]\n\n....\nsslc = SSL Certificate Creation - Create SSL certificate.\n....\n\n==== https://github.com/DarthSim/overmind:[Overmind]\n\n....\nomc = Overmind Connect - Connect to running process.\nomr = Overmind Restart - Restart running process.\noms = Overmind Start - Start processes.\n....\n\n==== https://github.com/theory/pgenv:[pgenv]\n\n....\npgi = PostgreSQL Install - Install (build) specific version.\n....\n\n==== https://www.postgresql.org:[PostgreSQL]\n\n....\npgt = PostgreSQL Template - Edit PostgreSQL template.\npguc = PostgreSQL User Create - Create PostgreSQL user.\npgud = PostgreSQL User Drop - Drop PostgreSQL user.\n....\n\n==== https://github.com/ruby/rake:[Rake]\n\n....\nrakea = Rake (all) - Run default Rake tasks for projects in current directory.\n....\n\n==== https://rspec.info:[RSpec]\n\n....\nrsall = RSpec (all) - Run RSpec for projects in current directory.\nrsb = RSpec Bisect - Debug RSpec failure using bisect to automatically determine the root cause.\nrsd = RSpec Debug - Debug intermittent RSpec failure(s) by running spec(s) until failure is detected.\nrsp = RSpec Profile - Runs RSpec specs with profiling enabled.\n....\n\n==== https://docs.rubocop.org:[Rubocop]\n\n....\ncopa = Rubocop (all) - Run Rubocop for all projects in current directory.\n....\n\n==== https://www.ruby-lang.org:[Ruby]\n\n....\nrbi = Ruby Install - Install a specific version with safe defaults.\nreb = Ruby Web Server - Serve web content via WEBrick.\nrbw = Ruby Which - Locate path to current Ruby program.\nrbua = Ruby Upgrade (all) - Upgrade Ruby projects in current directory to new Ruby version.\nrbva = Ruby Version (all) - Show current Ruby version for all projects in current directory.\n....\n\n==== https://rubygems.org:[Ruby Gems]\n\n....\ngemd = Gem Dependencies - Answers dependencies for a gem.\ngemdep = Gem Dependency Search - Finds a gem defined within a Gemfile or a gemspec.\n....\n\n==== https://rubyonrails.org:[Ruby on Rails]\n\n....\nrailsn = Ruby on Rails New - Create new Rails application from selected option.\n....\n\n==== https://github.com/colszowka/simplecov:[SimpleCov]\n\n....\ncova = RSpec (all) - Run RSpec for projects in current directory.\n....\n\n=== Git Hooks\n\n....\nbrakeman_check = Brakeman Check - Scan Rails project for security vulnerabilities.\nbundler_gemfile_path = Bundler Gemfile Path - Detect gem path statements.\nbundler_audit_check = Bundler Audit Check - Scans gem dependencies for security vulnerabilities.\ncomment_totals = Comment Totals - Print project comment totals.\nctags_rebuild = CTags Rebuild - Rebuild project .tags file.\ndotenv_check = Dotenv Linter - Scan environment files for consistent style and security issues.\ngit_lint_check = Git Lint Check - Enforce consistent Git commits.\ngit_trailer_cleaner = Git Trailer Cleaner - Remove unused/empty Git commit body trailers.\ngit_add_trailers = Git Add Trailers - Dynamically add trailers based on branch description.\njava_script_debugger = JavaScript Debugger - Detect JavaScript debug statements.\njava_script_console = JavaScript Console - Detect JavaScript console statements.\njava_script_alert = JavaScript Alert - Detect JavaScript alert statements.\nlicense_finder_check = License Finder Check - Scan project for valid licenses.\nosv_check = Open Source Vulnerability (OSV) Check - Scan Ruby dependencies for vulnerabilities.\nreek_branch_check = Reek Branch Check - Scan Ruby code -- feature branch only -- for poor style choices.\nreek_stage_check = Reek Stage Check - Scan Ruby code -- staged files only -- for poor style choices.\nrspec_dotfile = RSpec Dotfile - Detect RSpec dotfile.\nrspec_order = RSpec Order - Detect RSpec ordered specs.\nrubocop_branch_check = RuboCop Branch Check - Scan Ruby code -- feature branch only -- for poor style choices.\nrubocop_stage_check = RuboCop Stage Check - Scan Ruby code -- staged files only -- for poor style choices.\n....\n\n== Development\n\nTo contribute, run:\n\n[source,bash]\n----\ngit clone https://github.com/bkuhlmann/dotfiles.git\ncd dotfiles\n----\n\n== link:https://alchemists.io/policies/license[License]\n\n== link:https://alchemists.io/policies/security[Security]\n\n== link:https://alchemists.io/policies/code_of_conduct[Code of Conduct]\n\n== link:https://alchemists.io/policies/contributions[Contributions]\n\n== link:https://alchemists.io/policies/developer_certificate_of_origin[Developer Certificate of Origin]\n\n== link:https://alchemists.io/projects/dotfiles/versions[Versions]\n\n== link:https://alchemists.io/community[Community]\n\n== Credits\n\nEngineered by link:https://alchemists.io/team/brooke_kuhlmann[Brooke Kuhlmann].\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbkuhlmann%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbkuhlmann%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbkuhlmann%2Fdotfiles/lists"}