Install
git clone https://github.com/arhunsaday/ai-dev-kit ~/Repos/ai-dev-kit
cd ~/Repos/ai-dev-kit
./bootstrap.sh
That symlinks everything into ~/.claude/. Edit a file in the repo and the
change is live immediately — no re-run, no copy step. git pull updates every
machine that has run it.
Flags
./bootstrap.sh --dry-run # show what would happen, write nothing
./bootstrap.sh --force # back up conflicting files, then link
./bootstrap.sh --unlink # remove only the links this script made
./bootstrap.sh --project ~/repo # copy the agent drop-in into a project
./bootstrap.sh --help
What it refuses to do
The script never destroys anything:
| Situation | Behaviour |
|---|---|
| Destination is free | link it |
| Destination is a real file | warn, leave it, exit 1 |
--force | move it to ~/.claude/backups/ai-dev-kit-<timestamp>/, then link |
| Destination links somewhere else | leave it alone |
Kit file is empty or .gitkeep | skip — scaffolding must not shadow real config |
You already have settings.json | never overwritten, not even with --force |
That last row matters. A settings.json holds permissions, hooks and MCP wiring
this kit knows nothing about, so it is merge-not-replace territory: bootstrap
fills a vacant slot and otherwise prints a diff command and leaves you to it.
After installing
Restart Claude Code, or start a new session. Then:
/skills-sync # pull the third-party skills up to date
Check the statusline is live — you should see
📁 repo 🌿 branch | 🤖 model | ±diff | ████░░ 23% at the bottom.
If not, your own settings.json needs the statusLine block from
claude-code/settings.json.