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 is additive and non-destructive by default:
[y/N/a] (yes / skip / yes-to-all)--yolo (or -y) overwrites conflicts without asking — existing files are still backed up first~/dotfiles-backup-YYYYMMDD-HHMMSS./bootstrap.sh # additive: ask before replacing anything
./bootstrap.sh --yolo # overwrite conflicts (backups still kept)
Rerun anytime to install missing packages or skills and refresh symlinks.
gh CLI for operations~/.env.local and ~/.gitconfig.local - Templates for secrets (gitignored)~/.gitconfig.local if you use itThese 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-cli
The 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 symlinks
Search & Navigation
fzf - Fuzzy finder for files/historyripgrep - Faster grepfd - Faster findzoxide - Smart cd with frecencyModern Replacements
bat - Better cat with syntax highlightingeza - Better ls with git status/iconstldr - Simplified man pagesDev Tools
jq / yq - JSON/YAML processorshttpie - User-friendly HTTP clientgh - GitHub CLISystem Utils
htop - Process viewertree - Directory visualizationtrash - Safe delete CLIherdr - Persistent, agent-aware terminal multiplexerHerdr runs as a per-user login service after bootstrap. Launch or reattach with
herdr; agent processes and panes remain available across terminal sessions.
Version Managers
nvm - Node.js version managementuv - Fast Python package installer & version managerbun - JS runtime for tools/scriptsDevelopment Apps
cursor - AI code editortailscale-app - Mesh VPN clientMobile Development
cocoapods - Native iOS dependencies for npx expo run:iosCoding Agents
pi - Pi coding agent, installed globally from @earendil-works/pi-coding-agentGit & Security
git - Latest versiongpg - For commit signingOh My Zsh with plugins:
zsh-autosuggestions - Command suggestionszsh-syntax-highlighting - Syntax highlighting40+ Aliases including:
ls -> eza, cat -> bat, cd -> zoxide)gs, ga, gc, gp, gl, glog)venv, activate, pyclean)nr, nrd, nrb)mkcd, port, killport, serve)~/.gitconfig.local (gitignored)gh CLIlg, hist, unstage)~/.gitconfig.local)Setup: Copy git/.gitconfig.local.example to ~/.gitconfig.local and add your name/email
AGENTS.md (shared by Claude, Codex, Cursor, Hermes)claude/CLAUDE.mdai/codex-config.toml (model settings, copied to ~/.codex/config.toml)ai/commands (symlinked to ~/.codex/prompts, ~/.claude/commands, ~/.cursor/commands)~/.agents/skills/ (cross-agent standard), then fanned outBootstrap wires the symlinks, installs global skills, and exposes them to every agent.
Retired skills (frontend-design, prd-to-issues, and the legacy global
workspace-audit) are removed from the shared store and all Skills CLI agents
during bootstrap. Hermes’ separate, maintained note-taking audit remains intact.
npx skills add --global installs each skill to ~/.agents/skills/ and the
Skills CLI wires it into Claude, Codex, Hermes (and ~30 other agents)
automatically — no per-agent config in this repo. Local skills under ai/skills/
install the same way (bootstrap passes their repo path).
Exception: the asc-* iOS skills ship with the asc CLI (not npx), which only
registers them into ~/.agents/skills/ and Claude. Bootstrap mirrors just those
into Codex and Hermes so they’re available in all three.
Grouped by domain — the canonical list lives in bootstrap.sh:
# Output ergonomics
npx skills add --global --agent '*' -y ayghri/i-have-adhd@i-have-adhd
# Core utilities (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@instruments-profiling
npx skills add --global -y steipete/agent-scripts@markdown-converter
npx skills add --global -y steipete/agent-scripts@native-app-performance
# Web & cloud stacks — React / Next.js / React Native (Vercel), Cloudflare
npx skills add --global -y vercel-labs/agent-skills@vercel-react-best-practices
npx skills add --global -y vercel-labs/agent-skills@vercel-react-native-skills
npx skills add --global -y vercel-labs/agent-skills@vercel-optimize
npx skills add --global -y cloudflare/skills@cloudflare
npx skills add --global -y cloudflare/skills@workers-best-practices
npx skills add --global -y cloudflare/skills@wrangler
# Mobile / native — Expo (iOS asc-* skills ship with the `asc` brew CLI)
npx skills add --global -y expo/skills@building-native-ui
npx skills add --global -y expo/skills@expo-api-routes
npx skills add --global -y expo/skills@expo-cicd-workflows
npx skills add --global -y expo/skills@expo-deployment
npx skills add --global -y expo/skills@expo-dev-client
npx skills add --global -y expo/skills@expo-tailwind-setup
npx skills add --global -y expo/skills@native-data-fetching
npx skills add --global -y expo/skills@upgrading-expo
npx skills add --global -y expo/skills@use-dom
# Design & frontend polish
npx skills add --global -y openai/skills@frontend-skill
npx skills add --global -y pbakaus/impeccable
npx skills add --global -y Dammyjay93/interface-design
npx skills add --global -y ibelick/ui-skills
# Integrations & media
npx skills add --global -y vercel-labs/agent-browser@agent-browser
npx skills add --global -y agentmail-to/agentmail-skills@agentmail
npx skills add --global -y resend/resend-skills@resend
npx skills add --global -y remotion-dev/skills@remotion-best-practices
# Research & async coding workflows
npx skills add --global -y mattpocock/skills
npx skills add --global -y mvanhorn/last30days-skill@last30days
Local skills with no public registry live in ai/skills/ (polishing-issues);
bootstrap installs them via the Skills CLI from their repo path, so they reach
every agent just like registry skills.
To find and add more skills: npx skills find <query> then npx skills add --global -y <owner/repo@skill>
Useful Matt Pocock skills include /grill-me, /grill-with-docs, /diagnose, /triage, /to-prd, /to-issues, /prd-to-plan, /request-refactor-plan, /improve-codebase-architecture, /qa, and /handoff.
claude-code - Global Claude Code CLI installed via Homebrew for Anthropic workflowscodex-cli - Global OpenAI Codex CLI installed via Homebrew for Codex CLI toolinghermes - Nous Research Hermes agent; the Skills CLI wires global skills into it directlyInstall the latest stable Xcode from the Mac App Store, open it once to accept
its license and finish component installation, then install only the current iOS
Simulator runtime:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
xcodebuild -runFirstLaunch
xcodebuild -downloadPlatform iOS
Older simulator runtimes are optional and are not part of this setup.