Claude Code Config
Version-controlled `~/.claude` configuration repo — my Claude Code setup as code. Whitelist-style .gitignore that tracks the hand-authored config (settings, hooks, rules, slash commands, skills, plugin manifests) while never committing secrets, transcripts, or downloaded plugin code. Cross-machine sync via a push/pull/status/setup helper, a find-skills hook that nudges skill discovery once on the third turn of each session, auto-format-on-edit hooks, and a context-mode MCP allowlist to cut permission-prompt friction. Released as v1.0.1.
Highlights
- Whitelist .gitignore — tracks config, never commits secrets/transcripts/plugin code
- find-skills UserPromptSubmit hook fires exactly once at the 3rd turn, per session, with stale-counter pruning
- context-mode MCP tools allowlisted to reduce permission prompts on the most-used tools
- sync.sh push/pull/status/setup for reproducible setup across machines (no force-push)
- Keep a Changelog + SemVer release discipline — tagged GitHub releases
Tech
Links
The canonical source for this project is on GitHub.
View on GitHubREADME · github.com/ArkashJ/Claude_code_config
Claude Code config
Portable half of ~/.claude. Runtime state (transcripts, caches, session locks, plugin
install trees) is ignored — see .gitignore. This repo is the whole config surface.
| Path | What |
| ------------------------ | ------------------------------------------------------------------------ |
| CLAUDE.md | Global instructions applied to every project |
| settings.json | Permissions, hooks, model, enabled plugins, auto-mode policy |
| commands/*.md | Slash commands (/start, /wrap, /mission, …) |
| commands/bin/ | claude-sync, sync-skills.sh, repo-hygiene.sh, resolve-plan.sh |
| commands/hooks/ | session-preflight.sh, block-wasteful-shell.sh (wired in settings) |
| commands/.codex/ | Codex-adapted variants + their own sync.sh |
| rules/ | Topic rules pulled into context |
| skills/ | Skills. Entries symlinked to ~/.agents/skills dangle until reinstalled |
| agents-skill-lock.json | Copy of ~/.agents/.skill-lock.json — source URL for each such skill |
| plugins/*.json | Installed-plugin + marketplace manifests |
settings.local.json and anything matching *.local.json are machine-local and never sync.
Sync
claude-sync # commit + push this machine's config, and publish
# commands/*.md to arkashj.com/skills
claude-sync pull # fast-forward this machine from the remote
New machine
git clone git@github.com:ArkashJ/Claude_code_config.git ~/.claude
ln -s ~/.claude/commands/bin/claude-sync ~/.local/bin/claude-sync
Then reinstall the ~/.agents/skills entries listed in agents-skill-lock.json to
resolve the dangling symlinks under skills/.
History
archive/2026-06 holds the previous contents of this repo (a hand-copied snapshot,
last pushed 2026-06-22). main was rewritten on 2026-08-14 to track ~/.claude
directly, inheriting the git history of the former ~/.claude/commands repo.