gsd-ag 1.0.0
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/.agent/skills/codebase-mapper/SKILL.md +226 -0
- package/.agent/skills/context-compressor/SKILL.md +201 -0
- package/.agent/skills/context-fetch/SKILL.md +184 -0
- package/.agent/skills/context-health-monitor/SKILL.md +105 -0
- package/.agent/skills/debugger/SKILL.md +273 -0
- package/.agent/skills/empirical-validation/SKILL.md +97 -0
- package/.agent/skills/executor/SKILL.md +465 -0
- package/.agent/skills/plan-checker/SKILL.md +283 -0
- package/.agent/skills/planner/SKILL.md +485 -0
- package/.agent/skills/token-budget/SKILL.md +166 -0
- package/.agent/skills/verifier/SKILL.md +421 -0
- package/.agent/workflows/add-phase.md +96 -0
- package/.agent/workflows/add-todo.md +69 -0
- package/.agent/workflows/audit-milestone.md +107 -0
- package/.agent/workflows/check-todos.md +80 -0
- package/.agent/workflows/complete-milestone.md +135 -0
- package/.agent/workflows/debug.md +235 -0
- package/.agent/workflows/discuss-phase.md +103 -0
- package/.agent/workflows/execute.md +325 -0
- package/.agent/workflows/health.md +122 -0
- package/.agent/workflows/help.md +96 -0
- package/.agent/workflows/insert-phase.md +109 -0
- package/.agent/workflows/install.md +152 -0
- package/.agent/workflows/list-phase-assumptions.md +82 -0
- package/.agent/workflows/map.md +394 -0
- package/.agent/workflows/new-milestone.md +126 -0
- package/.agent/workflows/new-project.md +368 -0
- package/.agent/workflows/pause.md +176 -0
- package/.agent/workflows/plan-milestone-gaps.md +116 -0
- package/.agent/workflows/plan.md +380 -0
- package/.agent/workflows/progress.md +90 -0
- package/.agent/workflows/quick.md +128 -0
- package/.agent/workflows/remove-phase.md +139 -0
- package/.agent/workflows/research-phase.md +160 -0
- package/.agent/workflows/resume.md +131 -0
- package/.agent/workflows/update.md +203 -0
- package/.agent/workflows/verify.md +263 -0
- package/.agent/workflows/web-search.md +121 -0
- package/.agent/workflows/whats-new.md +80 -0
- package/.gemini/GEMINI.md +67 -0
- package/.gsd/GSD-STYLE.md +272 -0
- package/.gsd/PROJECT_RULES.md +256 -0
- package/.gsd/adapters/CLAUDE.md +77 -0
- package/.gsd/adapters/GEMINI.md +92 -0
- package/.gsd/adapters/GPT_OSS.md +130 -0
- package/.gsd/docs/model-selection-playbook.md +128 -0
- package/.gsd/docs/runbook.md +296 -0
- package/.gsd/docs/token-optimization-guide.md +207 -0
- package/.gsd/examples/cross-platform.md +99 -0
- package/.gsd/examples/multi-wave-workflow.md +256 -0
- package/.gsd/examples/quick-reference.md +73 -0
- package/.gsd/examples/workflow-example.md +139 -0
- package/.gsd/model_capabilities.yaml +108 -0
- package/.gsd/templates/DEBUG.md +123 -0
- package/.gsd/templates/PLAN.md +90 -0
- package/.gsd/templates/RESEARCH.md +75 -0
- package/.gsd/templates/SUMMARY.md +103 -0
- package/.gsd/templates/UAT.md +168 -0
- package/.gsd/templates/VERIFICATION.md +70 -0
- package/.gsd/templates/architecture.md +67 -0
- package/.gsd/templates/context.md +91 -0
- package/.gsd/templates/decisions.md +37 -0
- package/.gsd/templates/discovery.md +122 -0
- package/.gsd/templates/journal.md +46 -0
- package/.gsd/templates/milestone.md +91 -0
- package/.gsd/templates/phase-summary.md +52 -0
- package/.gsd/templates/project.md +124 -0
- package/.gsd/templates/requirements.md +92 -0
- package/.gsd/templates/roadmap.md +103 -0
- package/.gsd/templates/spec.md +51 -0
- package/.gsd/templates/sprint.md +57 -0
- package/.gsd/templates/stack.md +62 -0
- package/.gsd/templates/state.md +92 -0
- package/.gsd/templates/state_snapshot.md +132 -0
- package/.gsd/templates/todo.md +32 -0
- package/.gsd/templates/token_report.md +79 -0
- package/.gsd/templates/user-setup.md +116 -0
- package/LICENSE +21 -0
- package/README.md +523 -0
- package/bin/init.js +117 -0
- package/package.json +35 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# UAT Template
|
|
2
|
+
|
|
3
|
+
Template for `.gsd/phases/{N}/UAT.md` — User Acceptance Testing checklist.
|
|
4
|
+
|
|
5
|
+
**Purpose:** Structured manual testing protocol for human verification checkpoints.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## File Template
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
---
|
|
13
|
+
phase: {N}
|
|
14
|
+
type: uat
|
|
15
|
+
created: [ISO timestamp]
|
|
16
|
+
status: pending | in_progress | passed | failed
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Phase {N} UAT
|
|
20
|
+
|
|
21
|
+
## Overview
|
|
22
|
+
|
|
23
|
+
**Phase:** {name}
|
|
24
|
+
**Goal:** {what this phase delivers}
|
|
25
|
+
**Tester:** User
|
|
26
|
+
**Date:** {date}
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Test Environment
|
|
31
|
+
|
|
32
|
+
**Setup Required:**
|
|
33
|
+
- [ ] Dev server running (`npm run dev`)
|
|
34
|
+
- [ ] Database seeded with test data
|
|
35
|
+
- [ ] Browser dev tools open for error monitoring
|
|
36
|
+
|
|
37
|
+
**Test Data:**
|
|
38
|
+
- User: test@example.com / password123
|
|
39
|
+
- Other relevant test accounts/data
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Test Cases
|
|
44
|
+
|
|
45
|
+
### TC-01: {Test Case Name}
|
|
46
|
+
|
|
47
|
+
**Scenario:** {What user is trying to do}
|
|
48
|
+
|
|
49
|
+
**Steps:**
|
|
50
|
+
1. {Step 1}
|
|
51
|
+
2. {Step 2}
|
|
52
|
+
3. {Step 3}
|
|
53
|
+
|
|
54
|
+
**Expected Result:**
|
|
55
|
+
- {What should happen}
|
|
56
|
+
|
|
57
|
+
**Actual Result:**
|
|
58
|
+
- [ ] PASS
|
|
59
|
+
- [ ] FAIL — Issue: ___
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
### TC-02: {Test Case Name}
|
|
64
|
+
|
|
65
|
+
**Scenario:** {What user is trying to do}
|
|
66
|
+
|
|
67
|
+
**Steps:**
|
|
68
|
+
1. {Step 1}
|
|
69
|
+
2. {Step 2}
|
|
70
|
+
|
|
71
|
+
**Expected Result:**
|
|
72
|
+
- {What should happen}
|
|
73
|
+
|
|
74
|
+
**Actual Result:**
|
|
75
|
+
- [ ] PASS
|
|
76
|
+
- [ ] FAIL — Issue: ___
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Edge Cases
|
|
81
|
+
|
|
82
|
+
### EC-01: {Edge Case Name}
|
|
83
|
+
|
|
84
|
+
**Test:** {What to try}
|
|
85
|
+
**Expected:** {Graceful handling}
|
|
86
|
+
**Result:** [ ] PASS [ ] FAIL
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Error Scenarios
|
|
91
|
+
|
|
92
|
+
### ERR-01: {Error Scenario}
|
|
93
|
+
|
|
94
|
+
**Trigger:** {How to cause error}
|
|
95
|
+
**Expected Behavior:** {Error message, recovery}
|
|
96
|
+
**Result:** [ ] PASS [ ] FAIL
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Visual Verification
|
|
101
|
+
|
|
102
|
+
### VIS-01: Layout
|
|
103
|
+
|
|
104
|
+
- [ ] Responsive on mobile (375px)
|
|
105
|
+
- [ ] Responsive on tablet (768px)
|
|
106
|
+
- [ ] Desktop layout correct (1024px+)
|
|
107
|
+
- [ ] No horizontal scroll
|
|
108
|
+
- [ ] All text readable
|
|
109
|
+
|
|
110
|
+
### VIS-02: Styling
|
|
111
|
+
|
|
112
|
+
- [ ] Colors match design system
|
|
113
|
+
- [ ] Fonts correct
|
|
114
|
+
- [ ] Spacing consistent
|
|
115
|
+
- [ ] Icons display correctly
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Summary
|
|
120
|
+
|
|
121
|
+
| Category | Pass | Fail | Total |
|
|
122
|
+
|----------|------|------|-------|
|
|
123
|
+
| Functional | | | |
|
|
124
|
+
| Edge Cases | | | |
|
|
125
|
+
| Errors | | | |
|
|
126
|
+
| Visual | | | |
|
|
127
|
+
|
|
128
|
+
**Overall Status:** [ ] APPROVED [ ] NEEDS FIXES
|
|
129
|
+
|
|
130
|
+
**Issues Found:**
|
|
131
|
+
1. {Issue description}
|
|
132
|
+
2. {Issue description}
|
|
133
|
+
|
|
134
|
+
**Notes:**
|
|
135
|
+
{Any additional observations}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Usage Guidelines
|
|
141
|
+
|
|
142
|
+
**When to create UAT:**
|
|
143
|
+
- After phase execution complete
|
|
144
|
+
- Before marking phase as verified
|
|
145
|
+
- For any `checkpoint:human-verify` tasks
|
|
146
|
+
|
|
147
|
+
**Who runs UAT:**
|
|
148
|
+
- User (always)
|
|
149
|
+
- AI cannot verify visual/UX elements
|
|
150
|
+
|
|
151
|
+
**After UAT:**
|
|
152
|
+
- If PASSED: Phase can be marked complete
|
|
153
|
+
- If FAILED: Create gap closure plans with `/plan-milestone-gaps`
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Test Case Guidelines
|
|
158
|
+
|
|
159
|
+
**Good test cases:**
|
|
160
|
+
- Specific, reproducible steps
|
|
161
|
+
- Clear expected results
|
|
162
|
+
- One scenario per test case
|
|
163
|
+
|
|
164
|
+
**Categories to cover:**
|
|
165
|
+
1. Happy path (main functionality)
|
|
166
|
+
2. Edge cases (boundary conditions)
|
|
167
|
+
3. Error handling (invalid input, failures)
|
|
168
|
+
4. Visual/UX (layout, responsiveness)
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# VERIFICATION.md Template
|
|
2
|
+
|
|
3
|
+
> Copy this template when creating phase verification reports.
|
|
4
|
+
|
|
5
|
+
```markdown
|
|
6
|
+
---
|
|
7
|
+
phase: {N}
|
|
8
|
+
verified_at: {YYYY-MM-DD HH:MM}
|
|
9
|
+
verdict: PASS | FAIL | PARTIAL
|
|
10
|
+
pass_count: {X}
|
|
11
|
+
total_count: {Y}
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Phase {N} Verification Report
|
|
15
|
+
|
|
16
|
+
## Summary
|
|
17
|
+
|
|
18
|
+
**{X}/{Y}** must-haves verified
|
|
19
|
+
**Verdict:** {PASS | FAIL | PARTIAL}
|
|
20
|
+
|
|
21
|
+
## Must-Haves
|
|
22
|
+
|
|
23
|
+
### ✅ 1. {Must-have description}
|
|
24
|
+
**Status:** PASS
|
|
25
|
+
**Method:** {How this was verified}
|
|
26
|
+
**Evidence:**
|
|
27
|
+
```
|
|
28
|
+
{Actual command output or screenshot reference}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### ❌ 2. {Must-have description}
|
|
32
|
+
**Status:** FAIL
|
|
33
|
+
**Method:** {How this was verified}
|
|
34
|
+
**Expected:** {What should happen}
|
|
35
|
+
**Actual:** {What actually happened}
|
|
36
|
+
**Evidence:**
|
|
37
|
+
```
|
|
38
|
+
{Actual command output}
|
|
39
|
+
```
|
|
40
|
+
**Gap:** {What needs to be fixed}
|
|
41
|
+
|
|
42
|
+
### ⏭️ 3. {Must-have description}
|
|
43
|
+
**Status:** SKIPPED
|
|
44
|
+
**Reason:** {Why this couldn't be verified}
|
|
45
|
+
|
|
46
|
+
## Gap Closure Required
|
|
47
|
+
|
|
48
|
+
{If verdict is FAIL or PARTIAL, list what needs fixing}
|
|
49
|
+
|
|
50
|
+
1. **{Gap 1}:** {Description of what's wrong and how to fix}
|
|
51
|
+
2. **{Gap 2}:** {Description}
|
|
52
|
+
|
|
53
|
+
## Next Steps
|
|
54
|
+
|
|
55
|
+
{Based on verdict}
|
|
56
|
+
|
|
57
|
+
- If PASS: Proceed to next phase
|
|
58
|
+
- If FAIL: Run `/execute {N} --gaps-only` after fixing
|
|
59
|
+
- If PARTIAL: Address gaps then re-verify
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Evidence Types
|
|
63
|
+
|
|
64
|
+
| Verification | Evidence Required |
|
|
65
|
+
|--------------|-------------------|
|
|
66
|
+
| API endpoint | curl command + response |
|
|
67
|
+
| UI behavior | Screenshot |
|
|
68
|
+
| Test suite | Test output |
|
|
69
|
+
| File exists | `ls` or `dir` output |
|
|
70
|
+
| Build passes | Build command output |
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
> Auto-generated by /map on <!-- date -->
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
{Brief description of the system and its purpose.}
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
┌───────────────────────────────────────────────────────────────┐
|
|
11
|
+
│ USER │
|
|
12
|
+
└────────────────────────┬──────────────────────────────────────┘
|
|
13
|
+
│
|
|
14
|
+
▼
|
|
15
|
+
┌───────────────────────────────────────────────────────────────┐
|
|
16
|
+
│ COMPONENT A │
|
|
17
|
+
└────────────────────────┬──────────────────────────────────────┘
|
|
18
|
+
│
|
|
19
|
+
▼
|
|
20
|
+
┌───────────────────────────────────────────────────────────────┐
|
|
21
|
+
│ COMPONENT B │
|
|
22
|
+
└───────────────────────────────────────────────────────────────┘
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Components
|
|
26
|
+
|
|
27
|
+
### Component A
|
|
28
|
+
- **Purpose:** {What this component does}
|
|
29
|
+
- **Location:** `{path/to/component}`
|
|
30
|
+
- **Files:** {count} files
|
|
31
|
+
- **Pattern:** {architectural pattern used}
|
|
32
|
+
|
|
33
|
+
| File | Purpose | Priority |
|
|
34
|
+
|------|---------|----------|
|
|
35
|
+
| file1 | {purpose} | {high/medium/low} |
|
|
36
|
+
| file2 | {purpose} | {high/medium/low} |
|
|
37
|
+
|
|
38
|
+
### Component B
|
|
39
|
+
- **Purpose:** {What this component does}
|
|
40
|
+
- **Location:** `{path/to/component}`
|
|
41
|
+
|
|
42
|
+
## Data Flow
|
|
43
|
+
|
|
44
|
+
1. **User initiates action** (e.g., {example})
|
|
45
|
+
2. **Component A processes** {what happens}
|
|
46
|
+
3. **Component B receives** {what happens}
|
|
47
|
+
4. **Result returned** to user
|
|
48
|
+
|
|
49
|
+
## Technical Debt
|
|
50
|
+
|
|
51
|
+
- [ ] {Identified debt item 1}
|
|
52
|
+
- [ ] {Identified debt item 2}
|
|
53
|
+
- [ ] {Identified debt item 3}
|
|
54
|
+
|
|
55
|
+
## Conventions
|
|
56
|
+
|
|
57
|
+
**Naming:**
|
|
58
|
+
- {Convention 1}
|
|
59
|
+
- {Convention 2}
|
|
60
|
+
|
|
61
|
+
**Structure:**
|
|
62
|
+
- {Convention 1}
|
|
63
|
+
- {Convention 2}
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
*Last updated: <!-- date -->*
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Context Template
|
|
2
|
+
|
|
3
|
+
Template for `.gsd/phases/{N}/CONTEXT.md` — user's vision for a phase.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## File Template
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
---
|
|
11
|
+
phase: {N}
|
|
12
|
+
name: {phase-name}
|
|
13
|
+
created: [ISO timestamp]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Phase {N} Context
|
|
17
|
+
|
|
18
|
+
## Vision
|
|
19
|
+
|
|
20
|
+
{How the user imagines this phase working — in their words}
|
|
21
|
+
|
|
22
|
+
## What's Essential
|
|
23
|
+
|
|
24
|
+
Non-negotiable aspects:
|
|
25
|
+
|
|
26
|
+
- {Essential 1}
|
|
27
|
+
- {Essential 2}
|
|
28
|
+
- {Essential 3}
|
|
29
|
+
|
|
30
|
+
## What's Flexible
|
|
31
|
+
|
|
32
|
+
Open to different implementations:
|
|
33
|
+
|
|
34
|
+
- {Flexible 1}
|
|
35
|
+
- {Flexible 2}
|
|
36
|
+
|
|
37
|
+
## What's Out of Scope
|
|
38
|
+
|
|
39
|
+
Explicitly NOT part of this phase:
|
|
40
|
+
|
|
41
|
+
- {Out of scope 1}
|
|
42
|
+
- {Out of scope 2}
|
|
43
|
+
|
|
44
|
+
## User Expectations
|
|
45
|
+
|
|
46
|
+
### Look and Feel
|
|
47
|
+
{How it should appear/behave}
|
|
48
|
+
|
|
49
|
+
### Performance
|
|
50
|
+
{Speed/responsiveness expectations}
|
|
51
|
+
|
|
52
|
+
### Integration
|
|
53
|
+
{How it fits with existing work}
|
|
54
|
+
|
|
55
|
+
## Examples / Inspiration
|
|
56
|
+
|
|
57
|
+
{Any examples the user referenced}
|
|
58
|
+
|
|
59
|
+
## Questions Answered
|
|
60
|
+
|
|
61
|
+
Clarifications from /discuss-phase:
|
|
62
|
+
|
|
63
|
+
| Question | Answer |
|
|
64
|
+
|----------|--------|
|
|
65
|
+
| {question} | {answer} |
|
|
66
|
+
|
|
67
|
+
## Constraints
|
|
68
|
+
|
|
69
|
+
Technical or business constraints:
|
|
70
|
+
|
|
71
|
+
- {Constraint 1}
|
|
72
|
+
- {Constraint 2}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## When to Create
|
|
78
|
+
|
|
79
|
+
Created by `/discuss-phase` to capture user's vision before planning.
|
|
80
|
+
|
|
81
|
+
## How to Use
|
|
82
|
+
|
|
83
|
+
- Planner reads CONTEXT.md to understand intent
|
|
84
|
+
- Executor honors the vision during implementation
|
|
85
|
+
- Verifier checks against user expectations
|
|
86
|
+
|
|
87
|
+
## Guidelines
|
|
88
|
+
|
|
89
|
+
- Capture user's words, not AI interpretation
|
|
90
|
+
- Focus on WHAT, not HOW
|
|
91
|
+
- Keep it short — vision, not specification
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# DECISIONS.md — Architecture Decision Records
|
|
2
|
+
|
|
3
|
+
> **Purpose**: Log significant technical decisions and their rationale.
|
|
4
|
+
|
|
5
|
+
## Template
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
## [DECISION-XXX] Title
|
|
9
|
+
|
|
10
|
+
**Date**: YYYY-MM-DD
|
|
11
|
+
**Status**: Proposed | Accepted | Deprecated | Superseded
|
|
12
|
+
|
|
13
|
+
### Context
|
|
14
|
+
What is the issue we're facing?
|
|
15
|
+
|
|
16
|
+
### Decision
|
|
17
|
+
What have we decided to do?
|
|
18
|
+
|
|
19
|
+
### Rationale
|
|
20
|
+
Why did we make this decision?
|
|
21
|
+
|
|
22
|
+
### Consequences
|
|
23
|
+
What are the trade-offs?
|
|
24
|
+
|
|
25
|
+
### Alternatives Considered
|
|
26
|
+
What other options were evaluated?
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Decisions
|
|
32
|
+
|
|
33
|
+
<!-- Add new decisions below -->
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
*Last updated: <!-- date -->*
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Discovery Template
|
|
2
|
+
|
|
3
|
+
Template for `.gsd/phases/{N}/DISCOVERY.md` — shallow research for library/option decisions.
|
|
4
|
+
|
|
5
|
+
**Purpose:** Answer "which library/option should we use" questions during planning.
|
|
6
|
+
|
|
7
|
+
For deep ecosystem research, use `/research-phase` which produces RESEARCH.md.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## File Template
|
|
12
|
+
|
|
13
|
+
```markdown
|
|
14
|
+
---
|
|
15
|
+
phase: {N}
|
|
16
|
+
type: discovery
|
|
17
|
+
topic: [discovery-topic]
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
<discovery_objective>
|
|
21
|
+
Discover [topic] to inform [phase name] implementation.
|
|
22
|
+
|
|
23
|
+
Purpose: [What decision/implementation this enables]
|
|
24
|
+
Scope: [Boundaries]
|
|
25
|
+
Output: DISCOVERY.md with recommendation
|
|
26
|
+
</discovery_objective>
|
|
27
|
+
|
|
28
|
+
<discovery_scope>
|
|
29
|
+
<include>
|
|
30
|
+
- [Question to answer]
|
|
31
|
+
- [Area to investigate]
|
|
32
|
+
- [Specific comparison if needed]
|
|
33
|
+
</include>
|
|
34
|
+
|
|
35
|
+
<exclude>
|
|
36
|
+
- [Out of scope for this discovery]
|
|
37
|
+
- [Defer to implementation phase]
|
|
38
|
+
</exclude>
|
|
39
|
+
</discovery_scope>
|
|
40
|
+
|
|
41
|
+
<discovery_protocol>
|
|
42
|
+
|
|
43
|
+
**Source Priority:**
|
|
44
|
+
1. **Official Docs** — Authoritative, current
|
|
45
|
+
2. **Web Search** — For comparisons, trends (verify findings)
|
|
46
|
+
3. **GitHub** — For real usage patterns
|
|
47
|
+
|
|
48
|
+
**Quality Checklist:**
|
|
49
|
+
- [ ] All claims have authoritative sources
|
|
50
|
+
- [ ] Negative claims verified with official docs
|
|
51
|
+
- [ ] Alternative approaches considered
|
|
52
|
+
- [ ] Recent updates checked for breaking changes
|
|
53
|
+
|
|
54
|
+
**Confidence Levels:**
|
|
55
|
+
- HIGH: Official docs confirm
|
|
56
|
+
- MEDIUM: Multiple sources confirm
|
|
57
|
+
- LOW: Single source or training knowledge only
|
|
58
|
+
|
|
59
|
+
</discovery_protocol>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Output Structure
|
|
65
|
+
|
|
66
|
+
Create `.gsd/phases/{N}/DISCOVERY.md`:
|
|
67
|
+
|
|
68
|
+
```markdown
|
|
69
|
+
# [Topic] Discovery
|
|
70
|
+
|
|
71
|
+
## Summary
|
|
72
|
+
[2-3 paragraph executive summary]
|
|
73
|
+
|
|
74
|
+
## Primary Recommendation
|
|
75
|
+
[What to do and why — specific and actionable]
|
|
76
|
+
|
|
77
|
+
## Alternatives Considered
|
|
78
|
+
[What else was evaluated and why not chosen]
|
|
79
|
+
|
|
80
|
+
## Key Findings
|
|
81
|
+
|
|
82
|
+
### [Category 1]
|
|
83
|
+
- [Finding with source URL]
|
|
84
|
+
|
|
85
|
+
### [Category 2]
|
|
86
|
+
- [Finding with relevance]
|
|
87
|
+
|
|
88
|
+
## Code Examples
|
|
89
|
+
[Relevant patterns if applicable]
|
|
90
|
+
|
|
91
|
+
## Metadata
|
|
92
|
+
|
|
93
|
+
<confidence level="high|medium|low">
|
|
94
|
+
[Why this confidence level]
|
|
95
|
+
</confidence>
|
|
96
|
+
|
|
97
|
+
<sources>
|
|
98
|
+
- [Primary sources used]
|
|
99
|
+
</sources>
|
|
100
|
+
|
|
101
|
+
<open_questions>
|
|
102
|
+
[What needs validation during implementation]
|
|
103
|
+
</open_questions>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## When to Use
|
|
109
|
+
|
|
110
|
+
**Use discovery when:**
|
|
111
|
+
- Technology choice unclear (library A vs B)
|
|
112
|
+
- Best practices needed for unfamiliar integration
|
|
113
|
+
- API/library investigation required
|
|
114
|
+
|
|
115
|
+
**Don't use when:**
|
|
116
|
+
- Established patterns (CRUD, auth with known library)
|
|
117
|
+
- Questions answerable from project context
|
|
118
|
+
|
|
119
|
+
**Use RESEARCH.md instead when:**
|
|
120
|
+
- Niche/complex domains (3D, games, audio)
|
|
121
|
+
- Need ecosystem knowledge, not just library choice
|
|
122
|
+
- "How do experts build this" questions
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# JOURNAL.md — Session Log
|
|
2
|
+
|
|
3
|
+
> **Purpose**: Chronicle of work sessions for context continuity.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Sessions
|
|
8
|
+
|
|
9
|
+
## Session: YYYY-MM-DD HH:MM
|
|
10
|
+
|
|
11
|
+
### Objective
|
|
12
|
+
{What you set out to accomplish this session.}
|
|
13
|
+
|
|
14
|
+
### Accomplished
|
|
15
|
+
- ✅ {Task 1 completed}
|
|
16
|
+
- ✅ {Task 2 completed}
|
|
17
|
+
- {Sub-detail if needed}
|
|
18
|
+
- ✅ {Task 3 completed}
|
|
19
|
+
|
|
20
|
+
### Verification
|
|
21
|
+
- [x] {Verification check 1}
|
|
22
|
+
- [x] {Verification check 2}
|
|
23
|
+
- [ ] {Verification pending}
|
|
24
|
+
|
|
25
|
+
### Blockers Encountered
|
|
26
|
+
- {Blocker 1 and how it was resolved}
|
|
27
|
+
- {Blocker 2 — still open}
|
|
28
|
+
|
|
29
|
+
### Handoff Notes
|
|
30
|
+
- {Important context for next session}
|
|
31
|
+
- {Files that need attention}
|
|
32
|
+
- {Decisions that need to be made}
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Session: YYYY-MM-DD HH:MM
|
|
37
|
+
|
|
38
|
+
### Objective
|
|
39
|
+
{Previous session objective.}
|
|
40
|
+
|
|
41
|
+
### Accomplished
|
|
42
|
+
- ✅ {Completed items}
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
*Last updated: <!-- date -->*
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Milestone Template
|
|
2
|
+
|
|
3
|
+
Template for `.gsd/milestones/{name}/MILESTONE.md` — milestone definition and tracking.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## File Template
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
---
|
|
11
|
+
name: {milestone-name}
|
|
12
|
+
version: {semantic version, e.g., v1.0}
|
|
13
|
+
status: planning | active | complete | archived
|
|
14
|
+
created: [ISO timestamp]
|
|
15
|
+
target_date: [optional target]
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Milestone: {name}
|
|
19
|
+
|
|
20
|
+
## Vision
|
|
21
|
+
|
|
22
|
+
{What this milestone achieves — one paragraph}
|
|
23
|
+
|
|
24
|
+
## Must-Haves
|
|
25
|
+
|
|
26
|
+
Non-negotiable deliverables for this milestone:
|
|
27
|
+
|
|
28
|
+
- [ ] {Must-have 1}
|
|
29
|
+
- [ ] {Must-have 2}
|
|
30
|
+
- [ ] {Must-have 3}
|
|
31
|
+
|
|
32
|
+
## Nice-to-Haves
|
|
33
|
+
|
|
34
|
+
If time permits:
|
|
35
|
+
|
|
36
|
+
- [ ] {Nice-to-have 1}
|
|
37
|
+
- [ ] {Nice-to-have 2}
|
|
38
|
+
|
|
39
|
+
## Phases
|
|
40
|
+
|
|
41
|
+
| Phase | Name | Status | Objective |
|
|
42
|
+
|-------|------|--------|-----------|
|
|
43
|
+
| 1 | {name} | ⬜ Not Started | {objective} |
|
|
44
|
+
| 2 | {name} | ⬜ Not Started | {objective} |
|
|
45
|
+
| 3 | {name} | ⬜ Not Started | {objective} |
|
|
46
|
+
|
|
47
|
+
## Success Criteria
|
|
48
|
+
|
|
49
|
+
How we know milestone is complete:
|
|
50
|
+
|
|
51
|
+
- [ ] {Measurable criterion 1}
|
|
52
|
+
- [ ] {Measurable criterion 2}
|
|
53
|
+
|
|
54
|
+
## Architecture Decisions
|
|
55
|
+
|
|
56
|
+
Key technical decisions for this milestone:
|
|
57
|
+
|
|
58
|
+
| Decision | Choice | Rationale |
|
|
59
|
+
|----------|--------|-----------|
|
|
60
|
+
| {decision} | {choice} | {why} |
|
|
61
|
+
|
|
62
|
+
## Risks
|
|
63
|
+
|
|
64
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
65
|
+
|------|------------|--------|------------|
|
|
66
|
+
| {risk} | Low/Med/High | Low/Med/High | {action} |
|
|
67
|
+
|
|
68
|
+
## Progress Log
|
|
69
|
+
|
|
70
|
+
| Date | Event | Notes |
|
|
71
|
+
|------|-------|-------|
|
|
72
|
+
| {date} | Milestone started | — |
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Lifecycle
|
|
78
|
+
|
|
79
|
+
1. **Creation:** `/new-milestone` creates this file
|
|
80
|
+
2. **Active:** Updated as phases complete
|
|
81
|
+
3. **Complete:** `/complete-milestone` moves to archive
|
|
82
|
+
4. **Archived:** Read-only reference
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Guidelines
|
|
87
|
+
|
|
88
|
+
- One active milestone at a time
|
|
89
|
+
- 3-5 phases per milestone
|
|
90
|
+
- Must-haves should be testable
|
|
91
|
+
- Success criteria should be measurable
|