diff --git a/get-shit-done/templates/milestone-context.md b/get-shit-done/templates/milestone-context.md new file mode 100644 index 000000000..3cd081e87 --- /dev/null +++ b/get-shit-done/templates/milestone-context.md @@ -0,0 +1,93 @@ +# Milestone Context Template + +Template for `.planning/MILESTONE-CONTEXT.md` - temporary handoff file from discuss-milestone to create-milestone. + +**Purpose:** Persist milestone discussion context so `/clear` can be used between commands. This file is consumed by `/gsd:new-milestone` and deleted after the milestone is created. + +--- + +## File Template + +```markdown +# Milestone Context + +**Generated:** [date] +**Status:** Ready for /gsd:new-milestone + + +## Features to Build + +[Features identified during discussion - the substance of this milestone] + +- **[Feature 1]**: [description] +- **[Feature 2]**: [description] +- **[Feature 3]**: [description] + + + + +## Scope + +**Suggested name:** v[X.Y] [Theme Name] +**Estimated phases:** [N] +**Focus:** [One sentence theme/focus] + + + + +## Phase Mapping + +[How features map to phases - rough breakdown] + +- Phase [N]: [Feature/goal] +- Phase [N+1]: [Feature/goal] +- Phase [N+2]: [Feature/goal] + + + + +## Constraints + +[Any constraints or boundaries mentioned during discussion] + +- [Constraint 1] +- [Constraint 2] + + + + +## Additional Context + +[Anything else captured during discussion that informs the milestone] + + + +--- + +*This file is temporary. It will be deleted after /gsd:new-milestone creates the milestone.* +``` + + +**This is a handoff artifact, not permanent documentation.** + +The file exists only to pass context from `discuss-milestone` to `create-milestone` across a `/clear` boundary. + +**Lifecycle:** +1. `/gsd:discuss-milestone` creates this file at end of discussion +2. User runs `/clear` (safe now - context is persisted) +3. `/gsd:new-milestone` reads this file +4. `/gsd:new-milestone` uses context to populate milestone +5. `/gsd:new-milestone` deletes this file after successful creation + +**Content should include:** +- Features identified (the core of what to build) +- Suggested milestone name/theme +- Rough phase mapping +- Any constraints or scope boundaries +- Notes from discussion + +**Content should NOT include:** +- Technical analysis (that comes during phase research) +- Detailed phase specifications (create-milestone handles that) +- Implementation details + diff --git a/get-shit-done/workflows/create-milestone.md b/get-shit-done/workflows/create-milestone.md index e9b9e58a3..0c209d0d7 100644 --- a/get-shit-done/workflows/create-milestone.md +++ b/get-shit-done/workflows/create-milestone.md @@ -22,6 +22,7 @@ Load project context: cat .planning/ROADMAP.md cat .planning/STATE.md cat .planning/MILESTONES.md 2>/dev/null || echo "No milestones file yet" +cat .planning/MILESTONE-CONTEXT.md 2>/dev/null || echo "No milestone context file" ``` Extract: @@ -31,6 +32,13 @@ Extract: - Deferred issues from STATE.md - Project context from PROJECT.md (What This Is, Core Value) +**Check for milestone context from discuss-milestone:** + +If `.planning/MILESTONE-CONTEXT.md` exists: +- This contains context from `/gsd:discuss-milestone` +- Extract: features, suggested name, phase mapping, constraints +- Use this to pre-populate milestone details (skip prompting for info already gathered) + **Calculate next milestone version:** - If previous was v1.0 → suggest v1.1 (minor) or v2.0 (major) @@ -39,11 +47,12 @@ Extract: -**If called from /gsd:discuss-milestone (context provided):** -Use the theme, scope, and constraints from discussion. -Suggest milestone name based on theme. +**If MILESTONE-CONTEXT.md exists (from /gsd:discuss-milestone):** +Use the features, scope, and constraints from the context file. +Use the suggested milestone name from `` section. +Use the phase mapping from `` section. -**If called directly (no prior context):** +**If called directly (no MILESTONE-CONTEXT.md):** Ask for milestone details: header: "Milestone Name" @@ -333,6 +342,16 @@ EOF Confirm: "Committed: docs: create milestone v[X.Y] [Name]" + +Delete the temporary milestone context file if it exists: + +```bash +rm -f .planning/MILESTONE-CONTEXT.md +``` + +This file was a handoff artifact from `/gsd:discuss-milestone`. Now that the milestone is created, the context is persisted in ROADMAP.md and the temporary file is no longer needed. + + ``` Milestone v[X.Y] [Name] created: diff --git a/get-shit-done/workflows/discuss-milestone.md b/get-shit-done/workflows/discuss-milestone.md index dfa3cc5a9..5ec44663d 100644 --- a/get-shit-done/workflows/discuss-milestone.md +++ b/get-shit-done/workflows/discuss-milestone.md @@ -122,6 +122,76 @@ If "Let me add context" → receive input → return to step 2. Loop until "Create milestone" selected. + +Write milestone context to file for handoff. + +**File:** `.planning/MILESTONE-CONTEXT.md` + +Use template from ~/.claude/get-shit-done/templates/milestone-context.md + +Populate with: +- Features identified during discussion +- Suggested milestone name and theme +- Estimated phase count +- How features map to phases +- Any constraints or scope boundaries mentioned + +```bash +# Write the context file +cat > .planning/MILESTONE-CONTEXT.md << 'EOF' +# Milestone Context + +**Generated:** [today's date] +**Status:** Ready for /gsd:new-milestone + + +## Features to Build + +- **[Feature 1]**: [description] +- **[Feature 2]**: [description] +- **[Feature 3]**: [description] + + + + +## Scope + +**Suggested name:** v[X.Y] [Theme Name] +**Estimated phases:** [N] +**Focus:** [One sentence theme/focus] + + + + +## Phase Mapping + +- Phase [N]: [Feature/goal] +- Phase [N+1]: [Feature/goal] +- Phase [N+2]: [Feature/goal] + + + + +## Constraints + +- [Any constraints mentioned] + + + + +## Additional Context + +[Anything else from discussion] + + + +--- + +*This file is temporary. It will be deleted after /gsd:new-milestone creates the milestone.* +EOF +``` + + Present summary and hand off to create-milestone: @@ -136,7 +206,7 @@ Milestone scope defined: **Suggested milestone:** v[X.Y] [Theme Name] **Estimated phases:** [N] -Ready to create the milestone structure. +Context saved to `.planning/MILESTONE-CONTEXT.md` --- @@ -150,11 +220,6 @@ Ready to create the milestone structure. --- ``` - -Pass context forward by summarizing: -- Features to build (the substance) -- Suggested milestone name -- How features map to phases @@ -166,5 +231,6 @@ Pass context forward by summarizing: - **Features identified** - What to build/add/fix (the substance) - Features explored with clarifying questions - Scope synthesized from features (not asked abstractly) -- Context handed off to /gsd:new-milestone with feature list +- **MILESTONE-CONTEXT.md created** with features, scope, and phase mapping +- Context handed off to /gsd:new-milestone