gsd-opencode 1.3.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/install.js +222 -0
- package/command/gsd/add-phase.md +207 -0
- package/command/gsd/complete-milestone.md +105 -0
- package/command/gsd/consider-issues.md +201 -0
- package/command/gsd/create-roadmap.md +115 -0
- package/command/gsd/discuss-milestone.md +47 -0
- package/command/gsd/discuss-phase.md +60 -0
- package/command/gsd/execute-plan.md +128 -0
- package/command/gsd/help.md +315 -0
- package/command/gsd/insert-phase.md +227 -0
- package/command/gsd/list-phase-assumptions.md +50 -0
- package/command/gsd/map-codebase.md +84 -0
- package/command/gsd/new-milestone.md +59 -0
- package/command/gsd/new-project.md +316 -0
- package/command/gsd/pause-work.md +122 -0
- package/command/gsd/plan-fix.md +205 -0
- package/command/gsd/plan-phase.md +67 -0
- package/command/gsd/progress.md +316 -0
- package/command/gsd/remove-phase.md +338 -0
- package/command/gsd/research-phase.md +91 -0
- package/command/gsd/resume-work.md +40 -0
- package/command/gsd/verify-work.md +71 -0
- package/get-shit-done/references/checkpoints.md +287 -0
- package/get-shit-done/references/continuation-format.md +255 -0
- package/get-shit-done/references/git-integration.md +254 -0
- package/get-shit-done/references/plan-format.md +428 -0
- package/get-shit-done/references/principles.md +157 -0
- package/get-shit-done/references/questioning.md +162 -0
- package/get-shit-done/references/research-pitfalls.md +215 -0
- package/get-shit-done/references/scope-estimation.md +172 -0
- package/get-shit-done/references/tdd.md +263 -0
- package/get-shit-done/templates/codebase/architecture.md +255 -0
- package/get-shit-done/templates/codebase/concerns.md +310 -0
- package/get-shit-done/templates/codebase/conventions.md +307 -0
- package/get-shit-done/templates/codebase/integrations.md +280 -0
- package/get-shit-done/templates/codebase/stack.md +186 -0
- package/get-shit-done/templates/codebase/structure.md +285 -0
- package/get-shit-done/templates/codebase/testing.md +480 -0
- package/get-shit-done/templates/config.json +18 -0
- package/get-shit-done/templates/context.md +161 -0
- package/get-shit-done/templates/continue-here.md +78 -0
- package/get-shit-done/templates/discovery.md +146 -0
- package/get-shit-done/templates/issues.md +32 -0
- package/get-shit-done/templates/milestone-archive.md +123 -0
- package/get-shit-done/templates/milestone-context.md +93 -0
- package/get-shit-done/templates/milestone.md +115 -0
- package/get-shit-done/templates/phase-prompt.md +303 -0
- package/get-shit-done/templates/project.md +184 -0
- package/get-shit-done/templates/research.md +529 -0
- package/get-shit-done/templates/roadmap.md +196 -0
- package/get-shit-done/templates/state.md +210 -0
- package/get-shit-done/templates/summary.md +273 -0
- package/get-shit-done/templates/uat-issues.md +143 -0
- package/get-shit-done/workflows/complete-milestone.md +643 -0
- package/get-shit-done/workflows/create-milestone.md +416 -0
- package/get-shit-done/workflows/create-roadmap.md +481 -0
- package/get-shit-done/workflows/discovery-phase.md +293 -0
- package/get-shit-done/workflows/discuss-milestone.md +236 -0
- package/get-shit-done/workflows/discuss-phase.md +247 -0
- package/get-shit-done/workflows/execute-phase.md +1625 -0
- package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
- package/get-shit-done/workflows/map-codebase.md +434 -0
- package/get-shit-done/workflows/plan-phase.md +488 -0
- package/get-shit-done/workflows/research-phase.md +436 -0
- package/get-shit-done/workflows/resume-project.md +287 -0
- package/get-shit-done/workflows/transition.md +580 -0
- package/get-shit-done/workflows/verify-work.md +202 -0
- package/package.json +38 -0
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
# Phase Prompt Template
|
|
2
|
+
|
|
3
|
+
Template for `.planning/phases/XX-name/{phase}-{plan}-PLAN.md` - executable phase plans.
|
|
4
|
+
|
|
5
|
+
**Naming:** Use `{phase}-{plan}-PLAN.md` format (e.g., `01-02-PLAN.md` for Phase 1, Plan 2)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## File Template
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
---
|
|
13
|
+
phase: XX-name
|
|
14
|
+
type: execute
|
|
15
|
+
domain: [optional - if domain skill loaded]
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
<objective>
|
|
19
|
+
[What this phase accomplishes - from roadmap phase goal]
|
|
20
|
+
|
|
21
|
+
Purpose: [Why this matters for the project]
|
|
22
|
+
Output: [What artifacts will be created]
|
|
23
|
+
</objective>
|
|
24
|
+
|
|
25
|
+
<execution_context>
|
|
26
|
+
~/.config/opencode/get-shit-done/workflows/execute-phase.md
|
|
27
|
+
./summary.md
|
|
28
|
+
[If plan contains checkpoint tasks (type="checkpoint:*"), add:]
|
|
29
|
+
~/.config/opencode/get-shit-done/references/checkpoints.md
|
|
30
|
+
</execution_context>
|
|
31
|
+
|
|
32
|
+
<context>
|
|
33
|
+
@.planning/PROJECT.md
|
|
34
|
+
@.planning/ROADMAP.md
|
|
35
|
+
[If discovery exists:]
|
|
36
|
+
@.planning/phases/XX-name/DISCOVERY.md
|
|
37
|
+
[Relevant source files:]
|
|
38
|
+
@src/path/to/relevant.ts
|
|
39
|
+
</context>
|
|
40
|
+
|
|
41
|
+
<tasks>
|
|
42
|
+
|
|
43
|
+
<task type="auto">
|
|
44
|
+
<name>Task 1: [Action-oriented name]</name>
|
|
45
|
+
<files>path/to/file.ext, another/file.ext</files>
|
|
46
|
+
<action>[Specific implementation - what to do, how to do it, what to avoid and WHY]</action>
|
|
47
|
+
<verify>[Command or check to prove it worked]</verify>
|
|
48
|
+
<done>[Measurable acceptance criteria]</done>
|
|
49
|
+
</task>
|
|
50
|
+
|
|
51
|
+
<task type="auto">
|
|
52
|
+
<name>Task 2: [Action-oriented name]</name>
|
|
53
|
+
<files>path/to/file.ext</files>
|
|
54
|
+
<action>[Specific implementation]</action>
|
|
55
|
+
<verify>[Command or check]</verify>
|
|
56
|
+
<done>[Acceptance criteria]</done>
|
|
57
|
+
</task>
|
|
58
|
+
|
|
59
|
+
<task type="checkpoint:decision" gate="blocking">
|
|
60
|
+
<decision>[What needs deciding]</decision>
|
|
61
|
+
<context>[Why this decision matters]</context>
|
|
62
|
+
<options>
|
|
63
|
+
<option id="option-a">
|
|
64
|
+
<name>[Option name]</name>
|
|
65
|
+
<pros>[Benefits and advantages]</pros>
|
|
66
|
+
<cons>[Tradeoffs and limitations]</cons>
|
|
67
|
+
</option>
|
|
68
|
+
<option id="option-b">
|
|
69
|
+
<name>[Option name]</name>
|
|
70
|
+
<pros>[Benefits and advantages]</pros>
|
|
71
|
+
<cons>[Tradeoffs and limitations]</cons>
|
|
72
|
+
</option>
|
|
73
|
+
</options>
|
|
74
|
+
<resume-signal>[How to indicate choice - "Select: option-a or option-b"]</resume-signal>
|
|
75
|
+
</task>
|
|
76
|
+
|
|
77
|
+
<task type="auto">
|
|
78
|
+
<name>Task 3: [Action-oriented name]</name>
|
|
79
|
+
<files>path/to/file.ext</files>
|
|
80
|
+
<action>[Specific implementation]</action>
|
|
81
|
+
<verify>[Command or check]</verify>
|
|
82
|
+
<done>[Acceptance criteria]</done>
|
|
83
|
+
</task>
|
|
84
|
+
|
|
85
|
+
<task type="checkpoint:human-verify" gate="blocking">
|
|
86
|
+
<what-built>[What Claude just built that needs verification]</what-built>
|
|
87
|
+
<how-to-verify>
|
|
88
|
+
1. Run: [command to start dev server/app]
|
|
89
|
+
2. Visit: [URL to check]
|
|
90
|
+
3. Test: [Specific interactions]
|
|
91
|
+
4. Confirm: [Expected behaviors]
|
|
92
|
+
</how-to-verify>
|
|
93
|
+
<resume-signal>Type "approved" to continue, or describe issues to fix</resume-signal>
|
|
94
|
+
</task>
|
|
95
|
+
|
|
96
|
+
[Continue for all tasks - mix of auto and checkpoints as needed...]
|
|
97
|
+
|
|
98
|
+
</tasks>
|
|
99
|
+
|
|
100
|
+
<verification>
|
|
101
|
+
Before declaring phase complete:
|
|
102
|
+
- [ ] [Specific test command]
|
|
103
|
+
- [ ] [Build/type check passes]
|
|
104
|
+
- [ ] [Behavior verification]
|
|
105
|
+
</verification>
|
|
106
|
+
|
|
107
|
+
<success_criteria>
|
|
108
|
+
|
|
109
|
+
- All tasks completed
|
|
110
|
+
- All verification checks pass
|
|
111
|
+
- No errors or warnings introduced
|
|
112
|
+
- [Phase-specific criteria]
|
|
113
|
+
</success_criteria>
|
|
114
|
+
|
|
115
|
+
<output>
|
|
116
|
+
After completion, create `.planning/phases/XX-name/{phase}-{plan}-SUMMARY.md`:
|
|
117
|
+
|
|
118
|
+
# Phase [X] Plan [Y]: [Name] Summary
|
|
119
|
+
|
|
120
|
+
**[Substantive one-liner - what shipped, not "phase complete"]**
|
|
121
|
+
|
|
122
|
+
## Accomplishments
|
|
123
|
+
|
|
124
|
+
- [Key outcome 1]
|
|
125
|
+
- [Key outcome 2]
|
|
126
|
+
|
|
127
|
+
## Files Created/Modified
|
|
128
|
+
|
|
129
|
+
- `path/to/file.ts` - Description
|
|
130
|
+
- `path/to/another.ts` - Description
|
|
131
|
+
|
|
132
|
+
## Decisions Made
|
|
133
|
+
|
|
134
|
+
[Key decisions and rationale, or "None"]
|
|
135
|
+
|
|
136
|
+
## Issues Encountered
|
|
137
|
+
|
|
138
|
+
[Problems and resolutions, or "None"]
|
|
139
|
+
|
|
140
|
+
## Next Step
|
|
141
|
+
|
|
142
|
+
[If more plans in this phase: "Ready for {phase}-{next-plan}-PLAN.md"]
|
|
143
|
+
[If phase complete: "Phase complete, ready for next phase"]
|
|
144
|
+
</output>
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
<key_elements>
|
|
148
|
+
From create-meta-prompts patterns:
|
|
149
|
+
|
|
150
|
+
- XML structure for Claude parsing
|
|
151
|
+
- @context references for file loading
|
|
152
|
+
- Task types: auto, checkpoint:human-action, checkpoint:human-verify, checkpoint:decision
|
|
153
|
+
- Action includes "what to avoid and WHY" (from intelligence-rules)
|
|
154
|
+
- Verification is specific and executable
|
|
155
|
+
- Success criteria is measurable
|
|
156
|
+
- Output specification includes SUMMARY.md structure
|
|
157
|
+
</key_elements>
|
|
158
|
+
|
|
159
|
+
<scope_guidance>
|
|
160
|
+
**Plan sizing:**
|
|
161
|
+
|
|
162
|
+
- Aim for 2-3 tasks per plan
|
|
163
|
+
- If planning >3 tasks, split into multiple plans (01-01, 01-02, etc.)
|
|
164
|
+
- Target ~50% context usage maximum
|
|
165
|
+
- Complex phases: Create 01-01, 01-02, 01-03 plans instead of one large plan
|
|
166
|
+
|
|
167
|
+
**When to split:**
|
|
168
|
+
|
|
169
|
+
- Different subsystems (auth vs API vs UI)
|
|
170
|
+
- Clear dependency boundaries (setup → implement → test)
|
|
171
|
+
- Risk of context overflow (>50% estimated usage)
|
|
172
|
+
- **TDD candidates** - Features that warrant TDD become their own TDD plans
|
|
173
|
+
</scope_guidance>
|
|
174
|
+
|
|
175
|
+
<tdd_plan_note>
|
|
176
|
+
**TDD features get dedicated plans.**
|
|
177
|
+
|
|
178
|
+
TDD requires 2-3 execution cycles (RED → GREEN → REFACTOR) that consume 40-50% context for a single feature. Features warranting TDD (business logic, validation, algorithms, API contracts) each get their own TDD plan.
|
|
179
|
+
|
|
180
|
+
**Heuristic:** Can you write `expect(fn(input)).toBe(output)` before writing `fn`?
|
|
181
|
+
→ Yes: Create a TDD plan (one feature per plan)
|
|
182
|
+
→ No: Standard task in standard plan
|
|
183
|
+
|
|
184
|
+
See `~/.config/opencode/get-shit-done/references/tdd.md` for TDD plan structure.
|
|
185
|
+
</tdd_plan_note>
|
|
186
|
+
|
|
187
|
+
<good_examples>
|
|
188
|
+
|
|
189
|
+
```markdown
|
|
190
|
+
---
|
|
191
|
+
phase: 01-foundation
|
|
192
|
+
type: execute
|
|
193
|
+
domain: next-js
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
<objective>
|
|
197
|
+
Set up Next.js project with authentication foundation.
|
|
198
|
+
|
|
199
|
+
Purpose: Establish the core structure and auth patterns all features depend on.
|
|
200
|
+
Output: Working Next.js app with JWT auth, protected routes, and user model.
|
|
201
|
+
</objective>
|
|
202
|
+
|
|
203
|
+
<execution_context>
|
|
204
|
+
~/.config/opencode/get-shit-done/workflows/execute-phase.md
|
|
205
|
+
./summary.md
|
|
206
|
+
</execution_context>
|
|
207
|
+
|
|
208
|
+
<context>
|
|
209
|
+
@.planning/PROJECT.md
|
|
210
|
+
@.planning/ROADMAP.md
|
|
211
|
+
@src/lib/db.ts
|
|
212
|
+
</context>
|
|
213
|
+
|
|
214
|
+
<tasks>
|
|
215
|
+
|
|
216
|
+
<task type="auto">
|
|
217
|
+
<name>Task 1: Add User model to database schema</name>
|
|
218
|
+
<files>prisma/schema.prisma</files>
|
|
219
|
+
<action>Add User model with fields: id (cuid), email (unique), passwordHash, createdAt, updatedAt. Add Session relation. Use @db.VarChar(255) for email to prevent index issues.</action>
|
|
220
|
+
<verify>npx prisma validate passes, npx prisma generate succeeds</verify>
|
|
221
|
+
<done>Schema valid, types generated, no errors</done>
|
|
222
|
+
</task>
|
|
223
|
+
|
|
224
|
+
<task type="auto">
|
|
225
|
+
<name>Task 2: Create login API endpoint</name>
|
|
226
|
+
<files>src/app/api/auth/login/route.ts</files>
|
|
227
|
+
<action>POST endpoint that accepts {email, password}, validates against User table using bcrypt, returns JWT in httpOnly cookie with 15-min expiry. Use jose library for JWT (not jsonwebtoken - it has CommonJS issues with Next.js).</action>
|
|
228
|
+
<verify>curl -X POST /api/auth/login -d '{"email":"test@test.com","password":"test"}' -H "Content-Type: application/json" returns 200 with Set-Cookie header</verify>
|
|
229
|
+
<done>Valid credentials return 200 + cookie, invalid return 401, missing fields return 400</done>
|
|
230
|
+
</task>
|
|
231
|
+
|
|
232
|
+
</tasks>
|
|
233
|
+
|
|
234
|
+
<verification>
|
|
235
|
+
Before declaring phase complete:
|
|
236
|
+
- [ ] `npm run build` succeeds without errors
|
|
237
|
+
- [ ] `npx prisma validate` passes
|
|
238
|
+
- [ ] Login endpoint responds correctly to valid/invalid credentials
|
|
239
|
+
- [ ] Protected route redirects unauthenticated users
|
|
240
|
+
</verification>
|
|
241
|
+
|
|
242
|
+
<success_criteria>
|
|
243
|
+
|
|
244
|
+
- All tasks completed
|
|
245
|
+
- All verification checks pass
|
|
246
|
+
- No TypeScript errors
|
|
247
|
+
- JWT auth flow works end-to-end
|
|
248
|
+
</success_criteria>
|
|
249
|
+
|
|
250
|
+
<output>
|
|
251
|
+
After completion, create `.planning/phases/01-foundation/01-01-SUMMARY.md`
|
|
252
|
+
</output>
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
</good_examples>
|
|
256
|
+
|
|
257
|
+
<bad_examples>
|
|
258
|
+
|
|
259
|
+
```markdown
|
|
260
|
+
# Phase 1: Foundation
|
|
261
|
+
|
|
262
|
+
## Tasks
|
|
263
|
+
|
|
264
|
+
### Task 1: Set up authentication
|
|
265
|
+
|
|
266
|
+
**Action**: Add auth to the app
|
|
267
|
+
**Done when**: Users can log in
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
This is useless. No XML structure, no @context, no verification, no specificity.
|
|
271
|
+
</bad_examples>
|
|
272
|
+
|
|
273
|
+
<guidelines>
|
|
274
|
+
**When to use:**
|
|
275
|
+
- Creating execution plans for each phase
|
|
276
|
+
- One plan per 2-3 tasks, multiple plans per phase if needed
|
|
277
|
+
- Always use XML structure for Claude parsing
|
|
278
|
+
|
|
279
|
+
**Task types:**
|
|
280
|
+
|
|
281
|
+
- `type="auto"`: Execute without stopping
|
|
282
|
+
- `type="checkpoint:human-action"`: User must do something (manual step)
|
|
283
|
+
- `type="checkpoint:human-verify"`: User must verify output (testing, visual check)
|
|
284
|
+
- `type="checkpoint:decision"`: User must choose between options
|
|
285
|
+
|
|
286
|
+
**Gate values:**
|
|
287
|
+
|
|
288
|
+
- `gate="blocking"`: Must resolve before continuing
|
|
289
|
+
- `gate="optional"`: Can skip or defer
|
|
290
|
+
|
|
291
|
+
**Context references:**
|
|
292
|
+
|
|
293
|
+
- Use @path/to/file.md to load files
|
|
294
|
+
- Always include @.planning/PROJECT.md and @.planning/ROADMAP.md
|
|
295
|
+
- Include relevant source files for context
|
|
296
|
+
- Include workflow/template references
|
|
297
|
+
|
|
298
|
+
**After completion:**
|
|
299
|
+
|
|
300
|
+
- Create SUMMARY.md in same directory
|
|
301
|
+
- Follow summary.md template structure
|
|
302
|
+
- Document deviations, decisions, issues
|
|
303
|
+
</guidelines>
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# PROJECT.md Template
|
|
2
|
+
|
|
3
|
+
Template for `.planning/PROJECT.md` — the living project context document.
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# [Project Name]
|
|
9
|
+
|
|
10
|
+
## What This Is
|
|
11
|
+
|
|
12
|
+
[Current accurate description — 2-3 sentences. What does this product do and who is it for?
|
|
13
|
+
Use the user's language and framing. Update whenever reality drifts from this description.]
|
|
14
|
+
|
|
15
|
+
## Core Value
|
|
16
|
+
|
|
17
|
+
[The ONE thing that matters most. If everything else fails, this must work.
|
|
18
|
+
One sentence that drives prioritization when tradeoffs arise.]
|
|
19
|
+
|
|
20
|
+
## Requirements
|
|
21
|
+
|
|
22
|
+
### Validated
|
|
23
|
+
|
|
24
|
+
<!-- Shipped and confirmed valuable. -->
|
|
25
|
+
|
|
26
|
+
(None yet — ship to validate)
|
|
27
|
+
|
|
28
|
+
### Active
|
|
29
|
+
|
|
30
|
+
<!-- Current scope. Building toward these. -->
|
|
31
|
+
|
|
32
|
+
- [ ] [Requirement 1]
|
|
33
|
+
- [ ] [Requirement 2]
|
|
34
|
+
- [ ] [Requirement 3]
|
|
35
|
+
|
|
36
|
+
### Out of Scope
|
|
37
|
+
|
|
38
|
+
<!-- Explicit boundaries. Includes reasoning to prevent re-adding. -->
|
|
39
|
+
|
|
40
|
+
- [Exclusion 1] — [why]
|
|
41
|
+
- [Exclusion 2] — [why]
|
|
42
|
+
|
|
43
|
+
## Context
|
|
44
|
+
|
|
45
|
+
[Background information that informs implementation:
|
|
46
|
+
- Technical environment or ecosystem
|
|
47
|
+
- Relevant prior work or experience
|
|
48
|
+
- User research or feedback themes
|
|
49
|
+
- Known issues to address]
|
|
50
|
+
|
|
51
|
+
## Constraints
|
|
52
|
+
|
|
53
|
+
- **[Type]**: [What] — [Why]
|
|
54
|
+
- **[Type]**: [What] — [Why]
|
|
55
|
+
|
|
56
|
+
Common types: Tech stack, Timeline, Budget, Dependencies, Compatibility, Performance, Security
|
|
57
|
+
|
|
58
|
+
## Key Decisions
|
|
59
|
+
|
|
60
|
+
<!-- Decisions that constrain future work. Add throughout project lifecycle. -->
|
|
61
|
+
|
|
62
|
+
| Decision | Rationale | Outcome |
|
|
63
|
+
|----------|-----------|---------|
|
|
64
|
+
| [Choice] | [Why] | [✓ Good / ⚠️ Revisit / — Pending] |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
*Last updated: [date] after [trigger]*
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
</template>
|
|
71
|
+
|
|
72
|
+
<guidelines>
|
|
73
|
+
|
|
74
|
+
**What This Is:**
|
|
75
|
+
- Current accurate description of the product
|
|
76
|
+
- 2-3 sentences capturing what it does and who it's for
|
|
77
|
+
- Use the user's words and framing
|
|
78
|
+
- Update when the product evolves beyond this description
|
|
79
|
+
|
|
80
|
+
**Core Value:**
|
|
81
|
+
- The single most important thing
|
|
82
|
+
- Everything else can fail; this cannot
|
|
83
|
+
- Drives prioritization when tradeoffs arise
|
|
84
|
+
- Rarely changes; if it does, it's a significant pivot
|
|
85
|
+
|
|
86
|
+
**Requirements — Validated:**
|
|
87
|
+
- Requirements that shipped and proved valuable
|
|
88
|
+
- Format: `- ✓ [Requirement] — [version/phase]`
|
|
89
|
+
- These are locked — changing them requires explicit discussion
|
|
90
|
+
|
|
91
|
+
**Requirements — Active:**
|
|
92
|
+
- Current scope being built toward
|
|
93
|
+
- These are hypotheses until shipped and validated
|
|
94
|
+
- Move to Validated when shipped, Out of Scope if invalidated
|
|
95
|
+
|
|
96
|
+
**Requirements — Out of Scope:**
|
|
97
|
+
- Explicit boundaries on what we're not building
|
|
98
|
+
- Always include reasoning (prevents re-adding later)
|
|
99
|
+
- Includes: considered and rejected, deferred to future, explicitly excluded
|
|
100
|
+
|
|
101
|
+
**Context:**
|
|
102
|
+
- Background that informs implementation decisions
|
|
103
|
+
- Technical environment, prior work, user feedback
|
|
104
|
+
- Known issues or technical debt to address
|
|
105
|
+
- Update as new context emerges
|
|
106
|
+
|
|
107
|
+
**Constraints:**
|
|
108
|
+
- Hard limits on implementation choices
|
|
109
|
+
- Tech stack, timeline, budget, compatibility, dependencies
|
|
110
|
+
- Include the "why" — constraints without rationale get questioned
|
|
111
|
+
|
|
112
|
+
**Key Decisions:**
|
|
113
|
+
- Significant choices that affect future work
|
|
114
|
+
- Add decisions as they're made throughout the project
|
|
115
|
+
- Track outcome when known:
|
|
116
|
+
- ✓ Good — decision proved correct
|
|
117
|
+
- ⚠️ Revisit — decision may need reconsideration
|
|
118
|
+
- — Pending — too early to evaluate
|
|
119
|
+
|
|
120
|
+
**Last Updated:**
|
|
121
|
+
- Always note when and why the document was updated
|
|
122
|
+
- Format: `after Phase 2` or `after v1.0 milestone`
|
|
123
|
+
- Triggers review of whether content is still accurate
|
|
124
|
+
|
|
125
|
+
</guidelines>
|
|
126
|
+
|
|
127
|
+
<evolution>
|
|
128
|
+
|
|
129
|
+
PROJECT.md evolves throughout the project lifecycle.
|
|
130
|
+
|
|
131
|
+
**After each phase transition:**
|
|
132
|
+
1. Requirements invalidated? → Move to Out of Scope with reason
|
|
133
|
+
2. Requirements validated? → Move to Validated with phase reference
|
|
134
|
+
3. New requirements emerged? → Add to Active
|
|
135
|
+
4. Decisions to log? → Add to Key Decisions
|
|
136
|
+
5. "What This Is" still accurate? → Update if drifted
|
|
137
|
+
|
|
138
|
+
**After each milestone:**
|
|
139
|
+
1. Full review of all sections
|
|
140
|
+
2. Core Value check — still the right priority?
|
|
141
|
+
3. Audit Out of Scope — reasons still valid?
|
|
142
|
+
4. Update Context with current state (users, feedback, metrics)
|
|
143
|
+
|
|
144
|
+
</evolution>
|
|
145
|
+
|
|
146
|
+
<brownfield>
|
|
147
|
+
|
|
148
|
+
For existing codebases:
|
|
149
|
+
|
|
150
|
+
1. **Map codebase first** via `/gsd:map-codebase`
|
|
151
|
+
|
|
152
|
+
2. **Infer Validated requirements** from existing code:
|
|
153
|
+
- What does the codebase actually do?
|
|
154
|
+
- What patterns are established?
|
|
155
|
+
- What's clearly working and relied upon?
|
|
156
|
+
|
|
157
|
+
3. **Gather Active requirements** from user:
|
|
158
|
+
- Present inferred current state
|
|
159
|
+
- Ask what they want to build next
|
|
160
|
+
|
|
161
|
+
4. **Initialize:**
|
|
162
|
+
- Validated = inferred from existing code
|
|
163
|
+
- Active = user's goals for this work
|
|
164
|
+
- Out of Scope = boundaries user specifies
|
|
165
|
+
- Context = includes current codebase state
|
|
166
|
+
|
|
167
|
+
</brownfield>
|
|
168
|
+
|
|
169
|
+
<state_reference>
|
|
170
|
+
|
|
171
|
+
STATE.md references PROJECT.md:
|
|
172
|
+
|
|
173
|
+
```markdown
|
|
174
|
+
## Project Reference
|
|
175
|
+
|
|
176
|
+
See: .planning/PROJECT.md (updated [date])
|
|
177
|
+
|
|
178
|
+
**Core value:** [One-liner from Core Value section]
|
|
179
|
+
**Current focus:** [Current phase name]
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
This ensures Claude reads current PROJECT.md context.
|
|
183
|
+
|
|
184
|
+
</state_reference>
|