Shared Claude Code configuration across projects. Manages a global CLAUDE.md, accumulated permissions, and shared skills from a single repo.
git clone https://github.com/strunkandwhite/dev.git ~/code/dev
cd ~/code/dev
bash bin/sync.shThe first run backs up existing ~/.claude/settings.json and ~/.claude/CLAUDE.md to .bak files, then symlinks them to this repo.
bin/sync.sh (also available as /dev-sync in any Claude session):
- Gathers permissions from all
~/code/*/.claude/settings.local.jsonfiles - Promotes generic ones to the global
settings.json(git, npm, pnpm, turso, MCP tools, etc.) - Keeps project-specific permissions local (unique API domains, env-prefixed commands, project paths)
- Trims promoted entries from project files so they only contain what's truly local
- Verifies symlinks from
~/.claude/point here
WebFetch domains are promoted only if they appear in 2+ projects.
CLAUDE.md # Global agent instructions (symlinked to ~/.claude/CLAUDE.md)
settings.json # Global permissions (gitignored, generated by sync)
bin/sync.sh # Sync script
commands/ # Shared skills (symlinked to ~/.claude/commands/)
dev-sync.md # /dev-sync slash command