Files
get-shit-done/commands/gsd/map-codebase.md
Tom Boucher 73c1af5168 fix(#2543): replace legacy /gsd-<cmd> syntax with /gsd:<cmd> across all source files (#2595)
Commands are now installed as commands/gsd/<name>.md and invoked as
/gsd:<name> in Claude Code. The old hyphen form /gsd-<name> was still
hardcoded in hundreds of places across workflows, references, templates,
lib modules, and command files — causing "Unknown command" errors
whenever GSD suggested a command to the user.

Replace all /gsd-<cmd> occurrences where <cmd> is a known command name
(derived at runtime from commands/gsd/*.md) using a targeted Node.js
script. Agent names, tool names (gsd-sdk, gsd-tools), directory names,
and path fragments are not touched.

Adds regression test tests/bug-2543-gsd-slash-namespace.test.cjs that
enforces zero legacy occurrences going forward. Removes inverted
tests/stale-colon-refs.test.cjs (bug #1748) which enforced the now-obsolete
hyphen form; the new bug-2543 test supersedes it. Updates 5 assertion
tests that hardcoded the old hyphen form to accept the new colon form.

Closes #2543

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 12:04:25 -04:00

2.5 KiB

name, description, argument-hint, allowed-tools
name description argument-hint allowed-tools
gsd:map-codebase Analyze codebase with parallel mapper agents to produce .planning/codebase/ documents [optional: specific area to map, e.g., 'api' or 'auth']
Read
Bash
Glob
Grep
Write
Task
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.

<execution_context> @~/.claude/get-shit-done/workflows/map-codebase.md </execution_context>

Focus area: $ARGUMENTS (optional - if provided, tells agents to focus on specific subsystem)

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

<when_to_use> 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) </when_to_use>
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)

<success_criteria>

  • .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 </success_criteria>