My personal dotfiles. Installs essential CLI tools, configures shell, git, and development workflows.
gh repo clone chrisrodz/dotfiles ~/repos/dotfiles
cd ~/repos/dotfiles
./bootstrap.sh-
Authenticate with GitHub
gh auth login
-
Clone and run bootstrap
gh repo clone chrisrodz/dotfiles ~/repos/dotfiles cd ~/repos/dotfiles ./bootstrap.sh
-
Configure secrets and user info
# Git credentials (required for commits) cp ~/repos/dotfiles/git/.gitconfig.local.example ~/.gitconfig.local cursor ~/.gitconfig.local # Add your name and email # Environment secrets (API keys, tokens, etc.) cursor ~/.env.local
Yes. The bootstrap script:
- Creates timestamped backups (
~/dotfiles-backup-YYYYMMDD-HHMMSS) before overwriting any files - Checks if tools are already installed before installing
- Prompts for git user.name and email (skip if already set)
Rerun anytime to update symlinks or install missing packages.
- GitHub auth required first - Script uses
ghCLI for operations - Existing configs backed up - Your current .zshrc, .gitconfig, etc. are saved
- Prompts for git identity - Asks for name/email if not configured
- Creates
~/.env.localand~/.gitconfig.local- Templates for secrets (gitignored) - GPG signing optional - Uncomment in
~/.gitconfig.localif you use it
These dotfiles rely on both the Claude Code CLI and the OpenAI Codex CLI being installed globally so that the companion IDEs/commands work everywhere on the system. brew bundle (run inside bootstrap.sh) handles this automatically via the Brewfile, but you can install or update them manually at any time:
brew tap anthropic-ai/claude
brew install claude-code
brew tap openai/codex
brew install codex-cliThe CLIs will then be available system-wide (e.g., claude-code --help, codex --help).
Common changes you might want to make:
| What | Where | How |
|---|---|---|
| Add CLI aliases | zsh/.zsh_aliases |
Edit file, add alias lines |
| Add brew packages | Brewfile |
Add brew "package-name", run brew bundle |
| Change git settings | git/.gitconfig |
Modify aliases, behavior (user info in ~/.gitconfig.local) |
| Update agent rules | AGENTS.md |
Edit shared instructions (Codex/Claude/Cursor) |
| Add slash commands | ai/commands/ |
Add .md files with prompts |
| Add skills | npx skills add |
Install globally via Skills CLI |
| Modify shell behavior | zsh/.zshrc |
Edit PATH, themes, plugins |
After making changes:
cd ~/repos/dotfiles
# Commit your changes with git/gh, then on other machines:
gh repo sync
./bootstrap.sh # Refresh symlinksSearch & Navigation
fzf- Fuzzy finder for files/historyripgrep- Faster grepfd- Faster findzoxide- Smart cd with frecency
Modern Replacements
bat- Better cat with syntax highlightingeza- Better ls with git status/iconstldr- Simplified man pages
Dev Tools
jq/yq- JSON/YAML processorshttpie- User-friendly HTTP clientgh- GitHub CLI
System Utils
htop- Process viewertree- Directory visualizationtrash- Safe delete CLI
Version Managers
nvm- Node.js version managementuv- Fast Python package installer & version managerbun- JS runtime for tools/scripts
Git & Security
git- Latest versiongpg- For commit signing
Oh My Zsh with plugins:
zsh-autosuggestions- Command suggestionszsh-syntax-highlighting- Syntax highlighting
40+ Aliases including:
- Modern CLI shortcuts (
ls->eza,cat->bat,cd->zoxide) - Git shortcuts (
gs,ga,gc,gp,gl,glog) - Python helpers (
venv,activate,pyclean) - Node shortcuts (
nr,nrd,nrb) - Utils (
mkcd,port,killport,serve)
- Privacy-first: User info stored in
~/.gitconfig.local(gitignored) - Auto-setup remote on push
- GitHub credential helper via
ghCLI - Useful aliases (
lg,hist,unstage) - Optional GPG commit signing (configure in
~/.gitconfig.local) - Global ignores for Python/Node/macOS
Setup: Copy git/.gitconfig.local.example to ~/.gitconfig.local and add your name/email
- Canonical rules:
AGENTS.md - Pointer for Claude:
claude/CLAUDE.md - Codex config:
ai/codex-config.toml(model settings, copied to~/.codex/config.toml) - Commands:
ai/commands(symlinked to~/.codex/prompts,~/.claude/commands,~/.cursor/commands) - Skills: Installed globally via
npx skills add --global <skill>
Bootstrap wires the symlinks and installs global skills.
Skills are installed globally to ~/.agents/skills/ from public registries:
# From steipete/agent-scripts
npx skills add --global -y steipete/agent-scripts@video-transcript-downloader
npx skills add --global -y steipete/agent-scripts@brave-search
npx skills add --global -y steipete/agent-scripts@nano-banana-pro
npx skills add --global -y steipete/agent-scripts@openai-image-gen
npx skills add --global -y steipete/agent-scripts@create-cli
npx skills add --global -y steipete/agent-scripts@frontend-design
npx skills add --global -y steipete/agent-scripts@instruments-profiling
npx skills add --global -y steipete/agent-scripts@markdown-converter
npx skills add --global -y steipete/agent-scripts@native-app-performance
# From other registries
npx skills add --global -y vercel-labs/agent-browser@agent-browser
npx skills add --global -y chrisrodz/dotfiles@polishing-issues
npx skills add --global -y resend/resend-skills@resendTo find and add more skills: npx skills find <query> then npx skills add --global -y <owner/repo@skill>
claude-code- Global Claude Code CLI installed via Homebrew for Anthropic workflowscodex-cli- Global OpenAI Codex CLI installed via Homebrew for Codex CLI tooling