--- name: gsd:map-codebase description: Analyze codebase with parallel mapper agents to produce .planning/codebase/ documents argument-hint: "[--fast [--focus tech|arch|quality|concerns]] [--query |status|diff|refresh] [area]" allowed-tools: - Read - Bash - Glob - Grep - Write - Agent --- Analyze existing codebase using parallel gsd-codebase-mapper agents to produce structured codebase documents. Each mapper agent explores a focus area and **writes documents directly** to `.planning/codebase/`. The orchestrator only receives confirmations, keeping context usage minimal. Output: .planning/codebase/ folder with 7 structured documents about the codebase state. @~/.claude/get-shit-done/workflows/map-codebase.md - **--fast**: Lightweight scan mode — spawns one mapper agent instead of four. Accepts an optional `--focus` value: `tech`, `arch`, `quality`, `concerns`, or `tech+arch` (default). Faster and lower-context than the full map. - **--query**: Codebase intelligence query mode. Sub-commands: `query `, `status`, `diff`, `refresh`. Requires intel to be enabled in config (`intel.enabled: true`). Runs inline for query/status/diff; spawns an agent for refresh. - **(no flag)**: Full parallel map — spawns 4 mapper agents to produce all 7 codebase documents. Arguments: $ARGUMENTS Parse the first token of $ARGUMENTS: - If it is `--fast`: strip the flag, run the scan workflow (passing remaining args including optional --focus). - If it is `--query`: strip the flag, run the intel workflow (passing remaining args as the subcommand). - Otherwise: pass all of $ARGUMENTS as focus area to the map-codebase workflow. **Load project state if exists:** Check for .planning/STATE.md - loads context if project already initialized **This command can run:** - Before /gsd-new-project (brownfield codebases) - creates codebase map first - After /gsd-new-project (greenfield codebases) - updates codebase map as code evolves - Anytime to refresh codebase understanding **Use map-codebase for:** - Brownfield projects before initialization (understand existing code first) - Refreshing codebase map after significant changes - Onboarding to an unfamiliar codebase - Before major refactoring (understand current state) - When STATE.md references outdated codebase info **Skip map-codebase for:** - Greenfield projects with no code yet (nothing to map) - Trivial codebases (<5 files) 1. Check if .planning/codebase/ already exists (offer to refresh or skip) 2. Create .planning/codebase/ directory structure 3. Spawn 4 parallel gsd-codebase-mapper agents: - Agent 1: tech focus → writes STACK.md, INTEGRATIONS.md - Agent 2: arch focus → writes ARCHITECTURE.md, STRUCTURE.md - Agent 3: quality focus → writes CONVENTIONS.md, TESTING.md - Agent 4: concerns focus → writes CONCERNS.md 4. Wait for agents to complete, collect confirmations (NOT document contents) 5. Verify all 7 documents exist with line counts 6. Commit codebase map 7. Offer next steps (typically: /gsd-new-project or /gsd-plan-phase) - [ ] .planning/codebase/ directory created - [ ] All 7 codebase documents written by mapper agents - [ ] Documents follow template structure - [ ] Parallel agents completed without errors - [ ] User knows next steps