Files
msd-core/commands/gsd/create-roadmap.md
Lex Christopherson a3c351452b feat(03-01): /gsd:create-roadmap command with research-aware workflow
- Create /gsd:create-roadmap slash command entry point
- Add check_research step to workflow after check_brief
- Incorporate research findings into phase structure planning
- Add Research Context section to roadmap output when research exists

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 21:38:26 -06:00

3.4 KiB

description, allowed-tools
description allowed-tools
Create roadmap with phases for the project
Read
Write
Bash
AskUserQuestion
Glob
Create project roadmap, optionally incorporating research findings from /gsd:research-project.

Roadmaps define the phase breakdown - what work happens in what order. This command can be used:

  1. After /gsd:new-project (without research)
  2. After /gsd:research-project (with domain research incorporated)

<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

Check for research: !ls .planning/research/*.md 2>/dev/null || echo "NO_RESEARCH"

Load config: @.planning/config.json

```bash # Verify project exists [ -f .planning/PROJECT.md ] || { echo "ERROR: No PROJECT.md found. Run /gsd:new-project first."; exit 1; } ``` Check if roadmap already exists:
[ -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

Check for project research:
ls .planning/research/*.md 2>/dev/null

If research found: Load and summarize each research file:

  • ecosystem.md → Key libraries/frameworks recommended
  • architecture.md → Architectural patterns to follow
  • pitfalls.md → Top 2-3 critical pitfalls to avoid
  • standards.md → Standards and conventions to follow

Present summary:

Found project research:

Ecosystem: [key libraries/frameworks]
Architecture: [key patterns]
Pitfalls: [top 2-3 to avoid]
Standards: [key conventions]

This will inform phase structure.

If no research found:

No project research found.
Creating roadmap based on PROJECT.md alone.
(Optional: Run /gsd:research-project first for niche/complex domains)
Follow the create-roadmap.md workflow starting from detect_domain step.

The workflow handles:

  • Domain expertise detection
  • Phase identification (informed by research if present)
  • Research flags for each phase
  • Confirmation gates (respecting config mode)
  • ROADMAP.md creation
  • STATE.md initialization
  • Phase directory creation
  • Git commit
``` Roadmap created: - Roadmap: .planning/ROADMAP.md - State: .planning/STATE.md - [N] phases defined

What's next?

  1. Discuss Phase 1 context (/gsd:discuss-phase 1)
  2. Plan Phase 1 in detail (/gsd:plan-phase 1)
  3. Review/adjust phases
  4. Done for now

If user selects "Discuss Phase 1 context" → invoke `/gsd:discuss-phase 1`
If user selects "Plan Phase 1 in detail" → invoke `/gsd:plan-phase 1`
</step>

</process>

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

<success_criteria>
- [ ] PROJECT.md validated
- [ ] Research incorporated if present
- [ ] ROADMAP.md created with phases
- [ ] STATE.md initialized
- [ ] Phase directories created
- [ ] Changes committed
</success_criteria>