bkuhlmann / dotfiles

Shell scripts for applying default settings to UNIX-based operating systems.

Home Page:https://alchemists.io/projects/dotfiles

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dotfiles

These dotfiles are a collection shell scripts for applying default settings to UNIX-based operating systems. They include useful shortcuts, performance augmentation, and advanced practices that — even if you don’t apply to your own dotfiles — should be educational for improving your own practices.

By default, these are set to my preferences (namely for macOS) but you can change them to your liking by editing any of the .tt template files in the home_files directory. Read on to learn more.

Features

Screencasts

Screencast

Requirements

Setup

To install, run:

git clone https://github.com/bkuhlmann/dotfiles.git
cd dotfiles
git checkout 53.0.0

Upgrade

When upgrading to a new version, run the following:

  1. Run: bin/run l. Links new files. If not using linked files, then run bin/run d and bin/run i instead.

  2. Run: bin/run c. Displays file differences, if any. Usually, this will be excluded files.

  3. Run: exec $SHELL. Updates current shell with the above changes.

Usage

Edit any of the .tt (template) and/or .command (command) files in the home_files directory as you see fit. Then open a terminal window and execute the following command to install:

cd dotfiles
bin/run

Executing the bin/run script will present the following options:

s: Show managed dotfiles.
i: Install dotfiles (existing files are skipped).
l: Link dotfiles to this project (interactive per file, excludes: env.sh and .gitconfig).
c: Check for differences between $HOME files and this project's files.
d: Delete dotfiles (interactive per file, excludes: env.sh and .gitconfig).
q: Quit/Exit.

The options prompt can be skipped by passing the desired option directly to the bin/run script. For example, executing bin/run s will show all managed dotfiles by this project.

After install, the following files will require manual updating:

  • .bash/env.sh: Add secret/machine-specific environment settings (if any).

  • .gitconfig: Replace all <redacted> values for name, email, and signingKey within the [user] section with your own credentials.

The reason the above two files are not managed by this project — especially via symbolic links — is because sensitive data is usually stored in these files and you don’t want this information accidentally checked into a source code repository or shared via other means.

Aliases

ad = "asciidoctor"
cin = "asciinema"
cina = "asciinema rec --append"
cinc = "asciinema cat"
cine = "asciinema_plus -e"
cinp = "asciinema play"
cinu = "asciinema upload"
bashe = '$EDITOR $HOME/.config/bash/environment.sh'
bashs = 'exec $SHELL'
ba = "bundle add"
bb = "bundle binstubs"
bce = '$EDITOR $BUNDLE_USER_CONFIG'
bch = "rm -f Gemfile.lock; bundle check"
bd = "bundle doctor"
be = "bundle exec"
bi = "bundle install"
blo = 'bundle list --paths | fzf | xargs $EDITOR'
bo = "bundle outdated --only-explicit"
br = "bundle remove"
bu = "bundle update"
cr = "crystal"
crb = "crystal build"
crd = "crystal docs"
crdo = "open docs/index.html"
crr = "crystal run"
crs = "crystal spec"
denva = "direnv allow"
denvr = "direnv reload"
denvs = "direnv status"
dr = "docker"
drb = "docker build"
drc = "docker-compose"
drcb = "docker-compose build"
drcr = "docker-compose run --rm"
drcu = "docker-compose up"
drd = "docker system prune --force && docker buildx prune --force"
dri = "docker images"
drp = "docker ps --all"
drt = "docker tag"
dutia = 'duti $HOME/.config/duti/configuration.duti'
x1 = "exa --oneline --all --group-directories-first"
x = "exa --all --all --long --header --group --group-directories-first --time-style long-iso --git"
xt = "exa --all --group-directories-first --ignore-glob '*.git' --git-ignore --tree"
js = "fnm"
jsd = "fnm default"
jse = "fnm env"
jsi = "fnm install"
jsl = "fnm list"
jss = "fnm use"
jsu = "fnm uninstall"
rb = "frum"
rbd = "frum global"
rbl = "frum versions"
rbs = "frum local"
rbu = "frum uninstall"
ff = "_fzf_preview_and_select | xargs -0 -o \$EDITOR"
gsb = "gemsmith build --name"
gsc = "gemsmith config --edit"
gse = "gemsmith --edit"
gsi = "gemsmith --install"
gsp = "gemsmith --publish"
gsq = "rake quality"
gsv = "gemsmith --view"

General

... = "cd ../.."
.. = "cd .."
c = "clear"
cat = "bat --theme DarkNeon"
cdb = "cd -"
du = "ncdu -e --color dark"
h = "history"
l1 = "ls -A1 | _copy_and_print '\n'"
l = "ls -alhT"
o = "open"
p = 'pwd | tr -d "\r\n" | _copy_and_print'
pss = "pgrep -i -l -f"
rmde = "find . -type d -empty -not -path '*.git*' -delete"
gall = "git add --all ."
gamend = "git commit --amend"
gamenda = "git commit --amend --all --no-edit"
gamendh = "git commit --amend --no-edit"
gap = "git ls-files --modified | _fzf_preview_and_select | xargs -0 -o -t git add --patch"
gashc = "git stash clear"
gatch = "git commit --patch"
gau = "git add --update"
gb = "git switch"
gbb = "git switch -"
gbe = "git branch --edit-description"
gbi = "git bisect"
gbib = "git bisect bad"
gbig = "git bisect good"
gbih = "git bisect help"
gbil = "git bisect log"
gbir = "git bisect reset"
gbire = "git bisect replay"
gbis = "git bisect start"
gbisk = "git bisect skip"
gbiv = 'git bisect visualize --reverse --pretty=format:"$(_git_log_line_format)"'
gbm = 'git switch $(_git_branch_default)'
gbn = "_git_branch_name | _copy_and_print"
gbt = "git show-branch --topics"
gca = "git commit --all"
gcam = "git commit --all --message"
gcd = "git config --list --show-origin --show-scope | fzf"
gce = 'cat .git/COMMIT_EDITMSG | pbcopy'
gcge = "git config --global --edit"
gcl = "git clone"
gcle = "git config --local --edit"
gcm = "git commit --message"
gco = "git commit"
gcp = "git cherry-pick"
gcpa = "git cherry-pick --abort"
gcpc = "git cherry-pick --continue"
gcps = "git cherry-pick --skip"
gcs = "git commit --squash"
gd = "git diff"
gdc = "git diff --cached"
gdm = 'git diff origin/$(_git_branch_default)'
gdo = 'git diff --name-only | uniq | xargs $EDITOR'
gdt = "git difftool"
gdtc = "git difftool --cached"
gdtm = 'git difftool origin/$(_git_branch_default)'
gdw = "git diff --color-words"
gel = "git rm"
gelc = "git rm --cached"
ges = "git diff --name-only --cached | _fzf_preview_and_select | xargs -0 -o -t git reset"
gf = "git fetch"
gg = "git grep"
gget = "git config --get"
ggp = "git config --global --get-regexp includeif | awk '{print \$NF}' | fzf | xargs \$EDITOR"
gi = 'git init && git config --global --add maintenance.repo $PWD'
gl = 'git log --graph --pretty=format:"$(_git_log_line_format)"'
glame = "git blame -M -C"
glean = "git clean -d --force"
glf = 'git fetch && git log --reverse --no-merges --pretty=format:"$(_git_log_line_format)" ..@{upstream}'
glg = 'git log --pretty=format:"$(_git_log_line_format)" --grep'
glh = "_git_commit_last | _copy_and_print"
gls = 'git log --pretty=format:"$(_git_log_line_format)" -S'
glt = 'git for-each-ref --sort=taggerdate --color --format = "%(color:yellow)%(refname:short)%(color:reset)|%(taggerdate:short)|%(color:blue)%(color:bold)%(*authorname)%(color:reset)|%(subject)" refs/tags | column -s"|" -t'
gna = "git notes add"
gnd = "git notes remove"
gne = "git notes edit"
gnl = "git notes list"
gnp = "git notes prune"
gns = "git notes show"
gp = "git push"
gpf = "git push --force-with-lease"
gpn = "git push --no-verify"
gpu = "git pull"
gpuo = "git pull origin"
gpuom = 'git pull origin $(_git_branch_default)'
gpuum = 'git pull upstream $(_git_branch_default)'
gr = "git ls-files --modified | _fzf_preview_and_select | xargs -0 -o -t git restore"
grba = "git rebase --abort"
grbc = "git rebase --continue"
grbd = "git rebase --show-current-patch"
grbo = "git rebase --onto"
grbs = "git rebase --skip"
grbt = "git rebase --edit-todo"
grev = "git revert --no-commit"
grl = "git reflog --relative-date"
grom = 'git fetch --all && git reset --hard origin/$(_git_branch_default)' # Reset local branch to origin/main branch. UNRECOVERABLE!
grr = "git rerere"
gset = "git config --add"
gst = "git status --short --branch"
gt = "git tag"
gte = 'cat .git/TAG_EDITMSG | pbcopy'
gtp = "git push --tags"
gtv = "git tag --verify"
guthors = "git shortlog --numbered --summary --group=author --group=trailer:Co-Authored-By"
gwl = "git worktree list"
gwp = "git worktree prune"
hsb = "hanamismith build --name"
hse = "hanamismith config --edit"
hsh = "hanamismith --help"
hb = "brew"
hbd = "brew doctor"
hbi = "brew install"
hbin = "brew info"
hbl = "brew list --versions | fzf"
hblc = "brew list --casks --versions | fzf"
hblf = "brew list --formulae --versions | fzf"
hbp = "brew pin"
hbpu = "brew unpin"
hbs = "brew search"
hbsu = "brew update && brew upgrade && brew cleanup"
hbu = "brew uninstall"
hbug = "brew update && brew upgrade"
jsc = "/System/Library/Frameworks/JavaScriptCore.framework/Versions/Current/Helpers/jsc"
jlr = "jless --mode line"
ms = "milestoner"
msa = 'rm -rf tmp/milestone && milestoner build --format ascii_doc && ado tmp/milestone/index.adoc'
msb = 'rm -rf tmp/milestone && milestoner build --format web && open tmp/milestone/index.html'
mse = "milestoner config --edit"
msm = 'rm -rf tmp/milestone && milestoner build --format markdown && mo tmp/milestone/index.md'
msp = "milestoner --publish"
mss = 'milestoner build --format stream'
dnsi = "scutil --dns"
dnss = "sudo dscacheutil -statistics"
ipa = 'curl --silent checkip.dyndns.org | rg --only-matching "[0-9\.]+" | _copy_and_print'
key = "open /Applications/Utilities/Keychain\ Access.app"
ping = "gping"
sshe = '$EDITOR $HOME/.ssh/config'
top = "htop"
nb = "npm run build"
ni = "npm install"
nid = "npm install --save-dev"
nl = "npm ls"
no = "npm outdated"
np = "npm publish"
nq = "npm run quality"
nt = "npm test"
ntw = "npm run test:watch"
pfo = 'open -a "Path Finder.app" "$PWD"'
pgi = 'initdb "$HOME/.pgenv/pgsql/data"'
pgsp = "pgenv stop"
pgst = "pgenv start"
redc = "redis-cli"
reds = 'redis-server $HOMEBREW_PREFIX/etc/redis.conf &'
rgf = "rg --files --glob"
rsf = "NO_COVERAGE=true rspec spec --only-failures"
rsn = "NO_COVERAGE=true rspec spec --next-failure"
rso = "NO_COVERAGE=true rspec spec --dry-run --format doc > tmp/rspec-overview.txt && e tmp/rspec-overview.txt"
rss = "rspec"
rst = "NO_COVERAGE=true rspec spec --tag"
cop = "rubocop --parallel --display-cop-names --display-style-guide"
copc = "rubocop --auto-gen-config"
copf = "rubocop --autocorrect"
copfo = "rubocop --autocorrect --only"
copo = "rubocop --display-cop-names --only"
cops = "rubocop --show-cops"
copu = "rubocop --autocorrect-all"
rbbe = '$EDITOR $HOME/Engineering/Misc/benchmark'
rbbr = '$HOME/Engineering/Misc/benchmark'
rbde = '$EDITOR $HOME/Engineering/Misc/demo'
rbdr = '$HOME/Engineering/Misc/demo'
rbdw = 'viddy $HOME/Engineering/Misc/demo'
railsb = "rails console --sandbox"
railse = "EDITOR = 'sublime --wait' rails credentials:edit"
gemc = "gem cleanup"
gemcli = "rg 'spec\.executables' --no-messages --max-depth=2 --files-with-matches gemspec . | xargs basename | cut -d. -f1 | sort | _copy_and_print '\n'"
gemcr = '$EDITOR $HOME/.gem/credentials'
gemb = "gem build"
geme = "gem environment"
gemi = "gem install"
geml = "gem list"
gemp = "gem pristine"
gemu = "gem uninstall"
gemuc = "gem update --system && gem update && gem cleanup"
rbb = "rubysmith build --name"
rbe = "rubysmith config --edit"
rbh = "rubysmith --help"
cov = "open coverage/index.html"
e = "sublime"
bzc = "tar --use-compress-program=pigz --create --preserve-permissions --bzip2 --verbose --file"
bzx = "tar --extract --bzip2 --verbose --file"
tf = "terraform"
tfa = "noti --title 'Terraform Apply' terraform apply"
tfc = "terraform console"
tff = "terraform fmt -recursive"
tfg = "terraform graph | dot -Tsvg > tmp/graph.svg && open -a 'Firefox.app' tmp/graph.svg"
tfi = "terraform init"
tfo = "terraform output"
tfp = "noti --title 'Terraform Plan' terraform plan"
tft = "terraform taint"
tfu = "terraform untaint"
tfup = "terraform init -upgrade"
tfv = "terraform validate"
tsa = "tmux attach-session -t"
tsk = "tmux kill-session -t"
tsl = "tmux list-sessions"
tsr = "tmux rename-session -t"
wp = "watch --interval 1 --color --beep --exec"

Functions

ado = ASCII Doctor Open - Transforms ASCII Doc into HTML and opens in default browser.
cinr = asciinema Record - Create new asciinema recording.
bca = Bundler Clean (all) - Clean projects of gem artifacts.
bcg = Bundler Config Gem - Configure Bundler to use local gem for development purposes.
bj = Bundler Jobs - Answer maximum Bundler job limit for current machine or automatically set it.
bl = Bundle List - List gem dependencies for project and copy them to clipboard.
boa = Bundle Outdated (all) - Answer outdated gems for projects in current directory.
bua = Bundle Update (all) - Update gems for projects in current directory.
cqa = Code Quality (all) - Run code quality tasks for projects in current directory.
cqi = Code Quality Issues - List all source files affected by code quality issues.
curld = Curl Diagnostics - Curl with diagnostic information for request.
curli = Curl Inspect - Inspect remote file with default editor.

Dotfiles

dots = Dotfiles - Learn about dotfile aliases, functions, etc.
jsf = JavaScript Force - Installs new Node version as default and removes previous version.

General

cype = Colorized Type - Identical to "type" system command but with Bat support.
eup = Environment Update - Update environment with latest software.
iso = ISO - Builds an ISO image from mounted volume.
kilp = Kill Process - Kill errant/undesired process.
t2s = Tab to Space - Convert file from tab to space indentation.
ga = Git Add - Interactively adds modified/untracked files.
gafe = Git Safe - Marks repository as safe for auto-loading project's `bin` path.
galla = Git Add (all) - Apply file changes (including new files) for projects in current directory.
gash = Git Stash - Creates stash of all changes.
gasha = Git Stash (all) - Answer stash count for projects in current directory.
gashd = Git Stash Drop - Drop stash or prompt for stash to drop.
gashl = Git Stash List - List stashes.
gashp = Git Stash Pop - Pop stash or prompt for stash to pop.
gashs = Git Stash Show - Show stash or prompt for stash to show.
gasht = Git Stash (stage) - Creates stash of staged work.
gbc = Git Branch Create - Create and switch to branch.
gbca = Git Branch Create (all) - Create and switch to branch for projects in current directory.
gbd = Git Branch Delete - Interactively delete local and/or remote branch.
gbdl = Git Branch Delete (local) - Delete local branch.
gbdm = Git Branch Delete (merged) - Delete remote and local merged branches.
gbdr = Git Branch Delete (remote) - Delete remote branch.
gbf = Git Branch Facsimile - Duplicate current branch with new name and switch to it.
gbl = Git Branch List - List local and remote branch details.
gbla = Git Branch List (all) - List current branch for projects in current directory.
gblo = Git Branch List (owner) - List branches owned by current author or supplied author.
gbna = Git Branch Number (all) - Answer number of branches for projects in current directory.
gbr = Git Branch Rename - Rename current branch.
gbs = Git Branch Switch - Switch between branches.
gbsa = Git Branch Switch (all) - Switch to given branch for projects in current directory.
gcaa = Git Commit (all) - Commit changes (unstaged and staged) for projects in current directory.
gcap = Git Commit and Push (all) - Commit and push changes for projects in current directory.
gcb = Git Commit Breakpoint - Create a breakpoint (empty) commit to denote related commits in a feature branch.
gcf = Git Commit Fixup - Create fixup commit with optional amend or reword support.
gcff = Git Commit Fix (file) - Create commit fix for file (ignores previous fixups).
gcfi = Git Commit Fix (interactive) - Select which commit to fix within current feature branch.
gdf = Git Diff Files - List all added/changed files on current branch.
gday = Git Day - Answer summarized list of current day activity for projects in current directory.
gesh = Git Reset Hard - Reset to HEAD, destroying all untracked, staged, and unstaged changes. UNRECOVERABLE!
gesha = Git Reset Hard (all) - Destroy all untracked, staged, and unstaged changes for all projects in current directory. UNRECOVERABLE!
gess = Git Reset Soft - Resets previous commit (default), resets back to number of commits, or resets to specific commit.
ggeta = Git Get Config Value (all) - Answer key value for projects in current directory.
ghow = Git Show - Show commit details with optional diff support.
ghurn = Git Churn - Answer commit churn for project files (sorted highest to lowest).
gia = Git Init (all) - Initialize/re-initialize repositories in current directory.
gile = Git File - Show file details for a specific commit (with optional diff support).
gim = Git Import - Import remote repository commits into current local branch.
gince = Git Since - Answer summarized list of activity since date/time for projects in current directory.
ginfo = Git Info - Print repository overview information.
gistory = Git File History - View file commit history (with optional diff support).
glameh = Git Blame History - View commit history for file and/or lines (with optional diff support).
gld = Git Log Details - List default or feature branch commit details.
gleana = Git Clean (all) - Clean uncommitted files from all projects in current directory.
glear = Git Clear - Clear repository for packaging/shipping purposes.
gli = Git Log (interactive) - List default or feature branch commits with commit show and/or diff support.
gma = Git Merge (all) - Merges, deletes, and pushes feature branch.
gmonth = Git Month - Answer summarized list of current month activity for projects in current directory.
gmpa = Git Amend Push (all) - Amend all changes and force push with lease for projects in current directory.
gnai = Git Notes Add (interactive) - Select which commit note to add for current feature branch.
gnei = Git Notes Edit (interactive) - Select which commit note to edit for current feature branch.
gndi = Git Notes Remove (interactive) - Select which commit note to remove for current feature branch.
gnri = Git Notes Show (interactive) - Select which commit note to show for current feature branch.
gount = Git Commit Count - Answer total number of commits for current project.
gpa = Git Push (all) - Push changes for projects in current directory.
gpua = Git Pull (all) - Pull new changes from remote branch for projects in current directory.
gra = Git Remote Add - Add and track a remote repository.
grbi = Git Rebase (interactive) - Rebase commits, interactively.
grbq = Git Rebase (quick) - Rebase commits, quickly. Identical to `grbi` function but skips editor.
groot = Git Root - Change to repository root directory regardless of current depth.
gseta = Git Set Config Value (all) - Set key value for projects in current directory.
gsta = Git Status (all) - Answer status of projects with uncommited/unpushed changes.
gstats = Git Statistics - Answer statistics for current project.
gstatsa = Git Statistics (all) - Answer statistics for all projects in current directory.
gsup = Git Standup - Answer summarized list of activity since yesterday for projects in current directory.
gtd = Git Tag Delete - Delete local and remote tag (if found).
gtr = Git Tag Rebuild - Rebuild a previous tag. WARNING: Use with caution, especially if previously published.
gtail = Git Tail - Answer commit history since last tag for current project (copies results to clipboard).
gtaila = Git Tail (all) - Answer commit history count since last tag for projects in current directory.
gucca = Git Upstream Commit Count (all) - Answer upstream commit count since last pull for projects in current directory.
guke = Git Nuke - Permanently destroy and erase a file from history. UNRECOVERABLE!
garb = Git Garbage Collect - Garbage collect dangling commits for projects in current directory.
gunseta = Git Unset (all) - Unset key value for projects in current directory.
gup = Git Update - Fetch commits, prune untracked references, review each commit (optional, with diff), and pull (optional).
guthorc = Git Author Contributions - Answers total lines added/removed by author for repo (with emphasis on deletion).
guthorsa = Git Authors (all) - Answer author commit activity per project (ranked highest to lowest).
gvac = Git Verify and Clean - Verify and clean objects for current project.
gvaca = Git Verify and Clean (all) - Verify and clean objects for projects in current directory.
gwa = Git Worktree Add - Add and switch to new worktree.
gwd = Git Worktree Delete - Deletes current Git worktree.
gweek = Git Week - Answer summarized list of current week activity for projects in current directory.
gync = Git Sync - Syncs up remote changes and deletes pruned/merged branches.
gh = GitHub - View GitHub details for current project.
ghpra = GitHub Pull Request (all) - Open pull requests for all projects in current directory (non-default branches only).
lessi = Less Interactive - Inspect file, interactively.
licensea = License Finder (add) - Adds library to global list.
licensei = License Finder (include) - Include license in global list.
port = Port - List file activity on given port.
mo = Marked Open - Opens Markdown file in Marked.
sigf = Minisign Sign File - Sign a file.
sigg = Minisign Generate - Generate private and public key pair.
sigv = Minisign Verify File - Verify signed file.
dnsf = DNS Flush - Flush DNS cache.
sslc = SSL Certificate Creation - Create SSL certificate.
omc = Overmind Connect - Connect to running process.
omr = Overmind Restart - Restart running process.
oms = Overmind Start - Start processes.
pgt = PostgreSQL Template - Edit PostgreSQL template.
pguc = PostgreSQL User Create - Create PostgreSQL user.
pgud = PostgreSQL User Drop - Drop PostgreSQL user.
rakea = Rake (all) - Run default Rake tasks for projects in current directory.
rsall = RSpec (all) - Run RSpec for projects in current directory.
rsb = RSpec Bisect - Debug RSpec failure using bisect to automatically determine the root cause.
rsd = RSpec Debug - Debug intermittent RSpec failure(s) by running spec(s) until failure is detected.
rsp = RSpec Profile - Runs RSpec specs with profiling enabled.
copa = Rubocop (all) - Run Rubocop for all projects in current directory.
rbi = Ruby Install - Install a specific version with safe defaults.
reb = Ruby Web Server - Serve web content from current directory via WEBrick.
rbw = Ruby Which - Locate path to current Ruby program.
rbua = Ruby Upgrade (all) - Upgrade Ruby projects in current directory to new Ruby version.
rbva = Ruby Version (all) - Show current Ruby version for all projects in current directory.
gemd = Gem Dependencies - Answers dependencies for a gem.
gemdep = Gem Dependency Search - Finds a gem defined within a Gemfile or a gemspec.
railsn = Ruby on Rails New - Create new Rails application from selected option.
cova = RSpec (all) - Run RSpec for projects in current directory.

Git Hooks

brakeman_check = Brakeman Check - Scan Rails project for security vulnerabilities.
bundler_gemfile_path = Bundler Gemfile Path - Detect gem path statements.
bundler_audit_check = Bundler Audit Check - Scans gem dependencies for security vulnerabilities.
comment_totals = Comment Totals - Print project comment totals.
ctags_rebuild = CTags Rebuild - Rebuild project .tags file.
dotenv_check = Dotenv Linter - Scan environment files for consistent style and security issues.
git_lint_check = Git Lint Check - Enforce consistent Git commits.
git_trailer_cleaner = Git Trailer Cleaner - Remove unused/empty Git commit body trailers.
git_add_trailers = Git Add Trailers - Dynamically add trailers based on branch description.
java_script_debugger = JavaScript Debugger - Detect JavaScript debug statements.
java_script_console = JavaScript Console - Detect JavaScript console statements.
java_script_alert = JavaScript Alert - Detect JavaScript alert statements.
license_finder_check = License Finder Check - Scan project for valid licenses.
osv_check = Open Source Vulnerability (OSV) Check - Scan Ruby dependencies for vulnerabilities.
reek_branch_check = Reek Branch Check - Scan Ruby code -- feature branch only -- for poor style choices.
reek_stage_check = Reek Stage Check - Scan Ruby code -- staged files only -- for poor style choices.
rspec_dotfile = RSpec Dotfile - Detect RSpec dotfile.
rspec_order = RSpec Order - Detect RSpec ordered specs.
rubocop_branch_check = RuboCop Branch Check - Scan Ruby code -- feature branch only -- for poor style choices.
rubocop_stage_check = RuboCop Stage Check - Scan Ruby code -- staged files only -- for poor style choices.

IRB

CK.copy      # Copies data to OS X clipboard.
CK.constant  # Locates source code for given constant.
CK.locate    # Locates source code for given object and method.
CK.paste     # Pastes data from OS X clipboard.
CK.search    # Searches for object method for given pattern.
CK.usage     # Diplays usage for all of the above methods.

Development

To contribute, run:

git clone https://github.com/bkuhlmann/dotfiles.git
cd dotfiles

Credits

Engineered by Brooke Kuhlmann.

About

Shell scripts for applying default settings to UNIX-based operating systems.

https://alchemists.io/projects/dotfiles

License:Other


Languages

Language:Shell 97.5%Language:Ruby 2.5%