From ed533f307f0b662737346df0cced57c51499c657 Mon Sep 17 00:00:00 2001 From: Lex Christopherson Date: Fri, 16 Jan 2026 18:22:01 -0600 Subject: [PATCH] refactor: consolidate milestone workflow into command Preserve accumulated context instruction in new-milestone command. Co-Authored-By: Claude Opus 4.5 --- commands/gsd/new-milestone.md | 2 + get-shit-done/workflows/create-milestone.md | 203 -------------------- 2 files changed, 2 insertions(+), 203 deletions(-) delete mode 100644 get-shit-done/workflows/create-milestone.md diff --git a/commands/gsd/new-milestone.md b/commands/gsd/new-milestone.md index c74648a57..9f85a0211 100644 --- a/commands/gsd/new-milestone.md +++ b/commands/gsd/new-milestone.md @@ -90,6 +90,8 @@ Milestone name: $ARGUMENTS (optional - will prompt if not provided) Last activity: [today] — Milestone v[X.Y] started ``` + Keep Accumulated Context section (decisions, blockers) from previous milestone. + 6. **Cleanup:** - Delete MILESTONE-CONTEXT.md if exists (consumed) diff --git a/get-shit-done/workflows/create-milestone.md b/get-shit-done/workflows/create-milestone.md deleted file mode 100644 index 8a35ce711..000000000 --- a/get-shit-done/workflows/create-milestone.md +++ /dev/null @@ -1,203 +0,0 @@ - -Start a new milestone cycle by updating PROJECT.md with new goals. - -This is the brownfield equivalent of new-project. The project exists and has history. -This workflow gathers "what's next" and updates PROJECT.md, then routes to the -requirements → roadmap cycle. - - - -**Read these files NOW:** - -1. ~/.claude/get-shit-done/references/questioning.md -2. ~/.claude/get-shit-done/templates/project.md -3. `.planning/PROJECT.md` -4. `.planning/MILESTONES.md` (if exists) -5. `.planning/STATE.md` - - - - - -Load project context: - -```bash -cat .planning/PROJECT.md -cat .planning/MILESTONES.md 2>/dev/null || echo "No milestones file yet" -cat .planning/STATE.md -cat .planning/MILESTONE-CONTEXT.md 2>/dev/null || echo "No milestone context file" -cat .planning/config.json 2>/dev/null -``` - -Extract: -- What shipped previously (from MILESTONES.md) -- Current Validated requirements (from PROJECT.md) -- Pending todos and blockers (from STATE.md) -- Any context from discuss-milestone (MILESTONE-CONTEXT.md) - -**Calculate next milestone version:** -- Parse last version from MILESTONES.md -- If v1.0 → suggest v1.1 (minor) or v2.0 (major) -- If v1.3 → suggest v1.4 or v2.0 - - - -**If MILESTONE-CONTEXT.md exists (from /gsd:discuss-milestone):** -- Use features and scope already gathered -- Present summary for confirmation -- Skip to confirm_goals step - -**If no context file:** - -Present what shipped: -``` -Last milestone: v[X.Y] [Name] -Key accomplishments: -- [From MILESTONES.md] - -Validated so far: -- [From PROJECT.md Validated section] - -Pending todos: -- [From STATE.md if any] -``` - -Ask (freeform, not AskUserQuestion): -"What do you want to build in the next milestone?" - -Wait for response. Then use AskUserQuestion to explore: -- Probe specific features mentioned -- Ask about priorities -- Surface constraints or dependencies -- Clarify scope boundaries - -Continue until you have clear milestone goals. - - - -Present gathered goals: - -``` -Milestone: v[X.Y] [Name] - -Goal: [One sentence focus] - -Target features: -- [Feature 1] -- [Feature 2] -- [Feature 3] - -Ready to update PROJECT.md? (yes / adjust) -``` - -If "adjust": return to gather_goals. - - - -Update `.planning/PROJECT.md`: - -**Add Current Milestone section** (after Core Value, before Requirements): - -```markdown -## Current Milestone: v[X.Y] [Name] - -**Goal:** [One sentence describing milestone focus] - -**Target features:** -- [Feature 1] -- [Feature 2] -- [Feature 3] -``` - -**Update Active requirements:** -- Add new milestone goals to Active section -- Keep existing Active items that weren't addressed -- Don't remove anything from Validated - -**Update footer:** -```markdown ---- -*Last updated: [date] after v[X.Y] milestone start* -``` - - - -Update `.planning/STATE.md`: - -```markdown -## Current Position - -Phase: Not started (run /gsd:create-roadmap) -Plan: — -Status: Defining requirements -Last activity: [today] — Milestone v[X.Y] started - -Progress: ░░░░░░░░░░ 0% -``` - -Keep Accumulated Context (decisions, blockers) from previous milestone. - - - -Delete temporary context file if it exists: - -```bash -rm -f .planning/MILESTONE-CONTEXT.md -``` - - - -```bash -git add .planning/PROJECT.md .planning/STATE.md -git commit -m "$(cat <<'EOF' -docs: start milestone v[X.Y] [Name] - -Goal: [One sentence] -Target features: [count] features -EOF -)" -``` - - - -``` -Milestone v[X.Y] [Name] initialized. - -PROJECT.md updated with: -- Current Milestone section -- Target features in Active requirements - ---- - -## ▶ Next Up - -**Define Requirements** — scope v[X.Y] features into REQUIREMENTS.md - -`/gsd:define-requirements` - -`/clear` first → fresh context window - ---- - -**Or research first:** -- `/gsd:research-project` — investigate ecosystem before scoping - -**Full flow:** -1. `/gsd:define-requirements` — create REQUIREMENTS.md -2. `/gsd:create-roadmap` — create ROADMAP.md with phases -3. `/gsd:plan-phase [N]` — start execution - ---- -``` - - - - - -- PROJECT.md updated with Current Milestone section -- Active requirements reflect new milestone goals -- STATE.md reset for new milestone (keeps accumulated context) -- MILESTONE-CONTEXT.md consumed and deleted (if existed) -- Git commit made -- User routed to define-requirements (or research-project) -