Portable Claude Code setup. Clone on any new machine, run the installer, get the same ~/.claude/ configuration everywhere.
This is my personal Claude Code config, kept in git so a fresh machine is one git clone + ./install.sh away from feeling like home. I got tired of re-creating the same CLAUDE.md, skills, and statusline every time I switched workstations.
Fork it if useful, but treat it as personal config, not a best-practices template — what works for me may not match how you like Claude to behave.
settings.json— global Claude Code settings (statusline, effort level, permission prompt behavior)CLAUDE.md— global behavioral guidelines loaded into every conversationstatusline-command.sh— custom status line scriptskills/— invokable skills:api-designdb-migrationsdebuggingkarpathy-guidelines(+EXAMPLES.md)rfctdd
git clone <repo-url> ~/Developer/claude-dotfiles
cd ~/Developer/claude-dotfiles
./install.shThe installer symlinks each item into ~/.claude/. If ~/.claude/ already has matching files, they're moved to ~/.claude/backups/dotfiles-<timestamp>/ first — nothing is deleted.
Re-running install.sh is safe; already-correct symlinks are skipped.
Because the installer uses symlinks:
git pullin this repo → updates apply to~/.claude/immediately.- Editing a file in
~/.claude/actually edits the file inside this repo → commit and push when you want it on other machines. - Adding a new skill in
~/.claude/skills/writes into this repo automatically.
cd ~/.claude
rm settings.json CLAUDE.md statusline-command.sh skills
# restore from ~/.claude/backups/dotfiles-* if you want the originals back