These are config files to set up Mac OS X command line the way I like it using Zsh.
For an older version that uses Oh My Zsh, check out this branch.
Run the bin/install command to copy files over. It will prompt you before replacing if the files already exist.
git clone git@github.com/ryanb/dotfiles ~/.dotfiles
cd ~/.dotfiles
./bin/installAfter installing, open a new terminal window to see the effects.
Feel free to customize the .zshrc file to match your preference.
I normally place all of my coding projects in ~/code, so this directory can easily be accessed (and tab completed) with the "c" command.
c railsca<tab>If you don't specify an argument it will open fzf allowing you to fuzzy-find code directories. You can add directories to this with CODE_PATH. Just ensure the first one is the base one.
# in .zshrc
export CODE_PATH="$HOME/code:$HOME/code/railscasts-episodes"There is also an "h" command which behaves similar, but acts on the home path.
h doc<tab>If you're using git, you'll notice the current branch name shows up in the prompt while in a git repository.
Use gw to switch branches with fzf. If the branch is checked out in a worktree, it will cd there instead.
The claude/ directory is a Claude Code plugin with the following skills:
- bisect — Git bisect to find the first bad commit by running a test command
- fix-all — Run bin/claude-review --print and automatically fix all reported issues
- gfix — Amend a commit further back in history with fixup + auto-rebase
- rebase — Interactive rebase workflow
- remote-diff — Compare local vs remote branch to detect rebase/merge mistakes
- review-queue — Ranked PR review list with dependency trees and filtered line counts
- standup — Summarize work since the last standup across your configured repos
- walkthrough — Walk through PR changes from the user's perspective
/plugin marketplace add ryanb/dotfiles
/plugin install bisect@ryanb-dotfiles
/plugin install gfix@ryanb-dotfiles
/plugin install review-queue@ryanb-dotfilesCreate ~/.claude/review-queue.json to customize which PRs are prioritized per repo:
{
"owner/repo": "Prioritize POS PRs. Exclude my PRs (author: username) that are not yet approved."
}Create ~/.claude/standup.json to point the skill at your project directory and optionally customize the output:
{
"base_path": "~/code/your-project-root",
"default_branch": "main",
"preferences": "Prefix each section with the team name. Skip WIP branches."
}Only base_path is required. The skill writes the last-run timestamp to ~/.claude/standup-last-timestamp so reruns only show new work since the previous run.
To remove the dotfile configs, run the following commands. Be certain to double check the contents of the files before removing so you don't lose custom settings.
unlink ~/.bin
unlink ~/.gitignore
unlink ~/.gitconfig
unlink ~/.gemrc
unlink ~/.gvimrc
unlink ~/.irbrc
unlink ~/.vim
unlink ~/.vimrc
rm ~/.zshrc # careful here
rm -rf ~/.dotfiles
Then open a new terminal window to see the effects.