Files
msd-core/commands/gsd/create-roadmap.md
Lex Christopherson d0488c503f feat: add define-requirements command for scoped v1 requirements
Adds /gsd:define-requirements to transform research findings into
checkable requirements before roadmap creation.

New flow:
  new-project → research-project → define-requirements → create-roadmap

New files:
- commands/gsd/define-requirements.md
- get-shit-done/workflows/define-requirements.md
- get-shit-done/templates/requirements.md

Modified:
- new-project.md: updated next steps
- research-project.md: points to define-requirements
- create-roadmap.md: requires REQUIREMENTS.md, validates coverage
- workflows/create-roadmap.md: maps phases to requirements, updates traceability

Key changes:
- Phases now map to specific requirement IDs
- 100% requirement coverage required before roadmap creation
- REQUIREMENTS.md traceability section tracks phase assignments

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-14 23:25:41 -06:00

2.9 KiB

name, description, allowed-tools
name description allowed-tools
gsd:create-roadmap Create roadmap with phases for the project
Read
Write
Bash
AskUserQuestion
Glob
Create project roadmap with phase breakdown.

Roadmaps define what work happens in what order. Phases map to requirements.

Run after /gsd:define-requirements.

<execution_context> @/.claude/get-shit-done/workflows/create-roadmap.md @/.claude/get-shit-done/templates/roadmap.md @~/.claude/get-shit-done/templates/state.md </execution_context>

@.planning/PROJECT.md @.planning/config.json @.planning/REQUIREMENTS.md @.planning/research/SUMMARY.md (if exists) ```bash # Verify project exists [ -f .planning/PROJECT.md ] || { echo "ERROR: No PROJECT.md found. Run /gsd:new-project first."; exit 1; }

Verify requirements exist

[ -f .planning/REQUIREMENTS.md ] || { echo "ERROR: No REQUIREMENTS.md found. Run /gsd:define-requirements first."; exit 1; }

</step>

<step name="check_existing">
Check if roadmap already exists:

```bash
[ -f .planning/ROADMAP.md ] && echo "ROADMAP_EXISTS" || echo "NO_ROADMAP"

If ROADMAP_EXISTS: Use AskUserQuestion:

  • header: "Roadmap exists"
  • question: "A roadmap already exists. What would you like to do?"
  • options:
    • "View existing" - Show current roadmap
    • "Replace" - Create new roadmap (will overwrite)
    • "Cancel" - Keep existing roadmap

If "View existing": cat .planning/ROADMAP.md and exit If "Cancel": Exit If "Replace": Continue with workflow

Follow the create-roadmap.md workflow starting from detect_domain step.

The workflow handles:

  • Loading requirements
  • Domain expertise detection
  • Phase identification mapped to requirements
  • Requirement coverage validation (no orphaned requirements)
  • Research flags for each phase
  • Confirmation gates (respecting config mode)
  • ROADMAP.md creation with requirement mappings
  • STATE.md initialization
  • REQUIREMENTS.md traceability update
  • Phase directory creation
  • Git commit
``` Roadmap created: - Roadmap: .planning/ROADMAP.md - State: .planning/STATE.md - [N] phases defined

▶ Next Up

Phase 1: [Name] — [Goal from ROADMAP.md]

/gsd:plan-phase 1

/clear first → fresh context window


Also available:

  • /gsd:discuss-phase 1 — gather context first
  • /gsd:research-phase 1 — investigate unknowns
  • Review roadmap

</step>

</process>

<output>
- `.planning/ROADMAP.md`
- `.planning/STATE.md`
- `.planning/phases/XX-name/` directories
</output>

<success_criteria>
- [ ] PROJECT.md validated
- [ ] REQUIREMENTS.md validated
- [ ] All v1 requirements mapped to phases (no orphans)
- [ ] ROADMAP.md created with phases and requirement mappings
- [ ] STATE.md initialized
- [ ] REQUIREMENTS.md traceability section updated
- [ ] Phase directories created
- [ ] Changes committed
</success_criteria>