Projects with "type": "module" in package.json cause Node to treat gsd-tools.js as ESM, crashing on require(). The .cjs extension forces CommonJS regardless of the host project's module configuration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.6 KiB
2.6 KiB
Add a new integer phase to the end of the current milestone in the roadmap. Automatically calculates next phase number, creates phase directory, and updates roadmap structure.
<required_reading> Read all files referenced by the invoking prompt's execution_context before starting. </required_reading>
Parse the command arguments: - All arguments become the phase description - Example: `/gsd:add-phase Add authentication` → description = "Add authentication" - Example: `/gsd:add-phase Fix critical performance issues` → description = "Fix critical performance issues"If no arguments provided:
ERROR: Phase description required
Usage: /gsd:add-phase <description>
Example: /gsd:add-phase Add authentication system
Exit.
Load phase operation context:INIT=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs init phase-op "0")
Check roadmap_exists from init JSON. If false:
ERROR: No roadmap found (.planning/ROADMAP.md)
Run /gsd:new-project to initialize.
Exit.
**Delegate the phase addition to gsd-tools:**RESULT=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs phase add "${description}")
The CLI handles:
- Finding the highest existing integer phase number
- Calculating next phase number (max + 1)
- Generating slug from description
- Creating the phase directory (
.planning/phases/{NN}-{slug}/) - Inserting the phase entry into ROADMAP.md with Goal, Depends on, and Plans sections
Extract from result: phase_number, padded, name, slug, directory.
- Read
.planning/STATE.md - Under "## Accumulated Context" → "### Roadmap Evolution" add entry:
- Phase {N} added: {description}
If "Roadmap Evolution" section doesn't exist, create it.
Present completion summary:Phase {N} added to current milestone:
- Description: {description}
- Directory: .planning/phases/{phase-num}-{slug}/
- Status: Not planned yet
Roadmap updated: .planning/ROADMAP.md
---
## ▶ Next Up
**Phase {N}: {description}**
`/gsd:plan-phase {N}`
<sub>`/clear` first → fresh context window</sub>
---
**Also available:**
- `/gsd:add-phase <description>` — add another phase
- Review roadmap
---
<success_criteria>
gsd-tools phase addexecuted successfully- Phase directory created
- Roadmap updated with new phase entry
- STATE.md updated with roadmap evolution note
- User informed of next steps </success_criteria>