--- name: onboard description: "Sets up ai-toolkit in a project: symlinks, CLAUDE.md, intent interview. Triggers: onboard, setup project, install ai-toolkit, migrate project." effort: medium disable-model-invocation: true argument-hint: "[project-path]" allowed-tools: Bash, Read, Write, Glob --- # /onboard - Project Setup Guide $ARGUMENTS ## What This Command Does Guide the user through setting up the ai-toolkit in their project, including configuration and customization. ## Setup Steps ### Step 0: Intent Capture Interview Before setting up tooling, understand the project's undocumented context. Ask the developer these questions (adapt based on what the codebase scan reveals): 1. **What's the one thing a new contributor always gets wrong?** — This reveals the biggest documentation gap 2. **Are there files or directories that should NOT be modified?** — Identifies protected areas (legacy, generated, vendor) 3. **What's the deployment model?** — Monolith, microservices, serverless, edge — shapes which agents and skills are most relevant 4. **Are there non-obvious constraints?** — Compliance requirements, performance budgets, browser support matrix 5. **What's the team's review culture?** — Strict PR reviews, trunk-based, pair programming — configures `/review` behavior Use answers to: - Customize the generated `CLAUDE.md` with project-specific warnings and conventions - Select the right `--profile` (minimal/standard/strict) automatically - Pre-configure relevant language rules ### Step 1: Prerequisites Check - [ ] Claude Code CLI installed - [ ] ai-toolkit repository cloned - [ ] Current directory is the target project ### Step 2: Install Toolkit ```bash # Run the installer from the toolkit directory /path/to/ai-toolkit/install.sh ``` This creates symlinks in `.claude/`: - `agents/` -> toolkit agents - `skills/` -> toolkit skills (slash commands + knowledge skills) - `hooks.json` -> quality gates - `constitution.md` -> safety rules ### Step 3: Configure CLAUDE.md Create a project-specific `CLAUDE.md` from the template: ```bash cp /path/to/ai-toolkit/CLAUDE.md.template ./CLAUDE.md ``` Customize with: - Project description and tech stack - Coding standards specific to this project - Common development commands - Architecture notes ### Step 4: Configure Settings Edit `.claude/settings.local.json` for project-specific settings: - MCP server connections - Permission overrides - Environment variables ### Step 5: Verify Installation ```bash /path/to/ai-toolkit/validate.sh ``` ### Step 6: Quick Start Guide | Command | Purpose | |---------|---------| | `/explore` | Understand the codebase | | `/plan` | Plan a new feature | | `/test` | Run tests | | `/review` | Code review | | `/commit` | Create a structured commit | ## Usage Examples ``` /onboard # Full guided setup /onboard verify # Just verify existing installation /onboard update # Update toolkit symlinks ``` ## Rules - **MUST** run the intent-capture interview before creating any files — skip only if the user provides answers up front - **NEVER** overwrite an existing `CLAUDE.md` without confirming - **CRITICAL**: prefer project-local installation (`--local`) unless the user asks for global - **MANDATORY**: verify installation at the end with the toolkit's validate script ## Gotchas - On Windows without WSL, symlink creation requires either Developer Mode or admin privileges. The installer **silently skips** agents and skills that cannot be linked — verify with `ai-toolkit doctor` after install on Windows hosts. - If `.claude/` already exists as a real directory (not a symlink), `ai-toolkit install` will not replace it. Old files linger. Check `ls -la .claude/` for mixed symlink + real-file state before onboarding. - `settings.local.json` is per-user and gitignored, but `settings.json` is shared. Users who edit the wrong file lose their overrides on `git pull`. - When the target project is a **git submodule**, the toolkit's notion of "project root" (outermost `.git`) differs from the developer's — symlinks may land in the parent repo instead of the submodule. Confirm `git rev-parse --show-toplevel` before installing. ## When NOT to Use - To update an already-onboarded project — use `/onboard update` - To scaffold a new app from scratch — use `/app-builder` - For plugin development inside ai-toolkit — use `/plugin-creator` - When the project already has its own CLAUDE.md conventions — discuss migration before overwriting