# 0002 — install.sh — deploy script ✅ ## What to build Write `scripts/install.sh` — an idempotent script that deploys this repo's content to `~/.claude/` and creates `~/.agents/skills/` as an empty directory. Running it once wires Claude Code to use this repo as its global config source. Running it again after pulling updates is safe. Deployment targets: - `providers/claude-code/CLAUDE.md` → `~/.claude/CLAUDE.md` - `providers/claude-code/settings.json` → `~/.claude/settings.json` - `core/` → `~/.claude/core/` (full directory copy) - Create `~/.agents/skills/` as an empty directory Always overwrites deployed files — editing deployed files directly is a usage error, not a conflict. Creates directories if they don't exist. After writing the script, run it once and perform the manual smoke test. ## Acceptance criteria - [ ] `scripts/install.sh` exists and is executable - [ ] Running it deploys `~/.claude/CLAUDE.md`, `~/.claude/settings.json`, and `~/.claude/core/instructions/global.md` - [ ] Running it creates `~/.agents/skills/` on disk - [ ] Running it a second time completes without errors (idempotency check) - [ ] A new Claude Code session confirms the always-on rule is in effect (ask Claude where it looks for workflows — it references `~/.claude/core/`) - [ ] Bootstrap skills at `.claude/skills/` are untouched ## Blocked by - 0001 — Repo skeleton: content files