flight-rules 0.5.9 → 0.9.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/README.md +35 -2
- package/package.json +1 -1
- package/payload/AGENTS.md +1 -1
- package/payload/commands/docs.reconcile.md +242 -0
- package/payload/commands/feature.add.md +319 -0
- package/payload/commands/impl.reconcile.md +227 -0
- package/payload/commands/prd.reconcile.md +209 -0
- package/payload/commands/prompt.refine.md +96 -0
- package/payload/commands/readme.create.md +149 -0
- package/payload/commands/readme.reconcile.md +155 -0
package/README.md
CHANGED
|
@@ -89,6 +89,28 @@ Two core flows:
|
|
|
89
89
|
|
|
90
90
|
Agents don't start these flows on their own; you explicitly invoke them.
|
|
91
91
|
|
|
92
|
+
### Available Commands
|
|
93
|
+
|
|
94
|
+
Flight Rules provides workflow commands that agents can execute:
|
|
95
|
+
|
|
96
|
+
| Command | Purpose |
|
|
97
|
+
|---------|---------|
|
|
98
|
+
| `/dev-session.start` | Begin a structured coding session with goals and plan |
|
|
99
|
+
| `/dev-session.end` | End session, summarize work, update progress |
|
|
100
|
+
| `/prd.create` | Create a Product Requirements Document |
|
|
101
|
+
| `/prd.clarify` | Refine specific sections of an existing PRD |
|
|
102
|
+
| `/impl.outline` | Create implementation area structure |
|
|
103
|
+
| `/impl.create` | Add detailed tasks to implementation specs |
|
|
104
|
+
| `/feature.add` | Add a new feature to PRD and implementation docs |
|
|
105
|
+
| `/test.add` | Add tests for specific functionality |
|
|
106
|
+
| `/test.assess-current` | Analyze existing test coverage |
|
|
107
|
+
| `/prompt.refine` | Iteratively improve a prompt |
|
|
108
|
+
| `/readme.create` | Generate README from PRD and project state |
|
|
109
|
+
| `/readme.reconcile` | Update README to reflect recent changes |
|
|
110
|
+
| `/prd.reconcile` | Update PRD based on what was actually built |
|
|
111
|
+
| `/impl.reconcile` | Update implementation docs with status changes |
|
|
112
|
+
| `/docs.reconcile` | Run all reconcile commands + consistency check |
|
|
113
|
+
|
|
92
114
|
### Versioning
|
|
93
115
|
|
|
94
116
|
Each project tracks which Flight Rules version it uses:
|
|
@@ -126,11 +148,22 @@ your-project/
|
|
|
126
148
|
│ ├── session-log.md
|
|
127
149
|
│ └── implementation/
|
|
128
150
|
│ └── overview.md
|
|
129
|
-
├── commands/
|
|
151
|
+
├── commands/ # Workflow commands
|
|
130
152
|
│ ├── dev-session.start.md
|
|
131
153
|
│ ├── dev-session.end.md
|
|
154
|
+
│ ├── prd.create.md
|
|
155
|
+
│ ├── prd.clarify.md
|
|
156
|
+
│ ├── impl.outline.md
|
|
157
|
+
│ ├── impl.create.md
|
|
158
|
+
│ ├── feature.add.md
|
|
132
159
|
│ ├── test.add.md
|
|
133
|
-
│
|
|
160
|
+
│ ├── test.assess-current.md
|
|
161
|
+
│ ├── prompt.refine.md
|
|
162
|
+
│ ├── readme.create.md
|
|
163
|
+
│ ├── readme.reconcile.md
|
|
164
|
+
│ ├── prd.reconcile.md
|
|
165
|
+
│ ├── impl.reconcile.md
|
|
166
|
+
│ └── docs.reconcile.md
|
|
134
167
|
└── prompts/ # Reusable prompt templates
|
|
135
168
|
```
|
|
136
169
|
|
package/package.json
CHANGED
package/payload/AGENTS.md
CHANGED
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
# Reconcile All Documentation
|
|
2
|
+
|
|
3
|
+
When the user invokes "docs.reconcile", run all reconciliation commands in sequence and then perform a cross-document consistency check.
|
|
4
|
+
|
|
5
|
+
Adopt the persona of a documentation auditor who ensures all project docs tell a consistent story. You orchestrate the individual reconcile commands and then analyze the entire documentation set for internal consistency.
|
|
6
|
+
|
|
7
|
+
## 1. Determine Scope
|
|
8
|
+
|
|
9
|
+
### One-shot mode with explicit scope:
|
|
10
|
+
|
|
11
|
+
If the user provided a scope argument, it applies to all reconcile commands:
|
|
12
|
+
- `/docs.reconcile since v0.5.0`
|
|
13
|
+
- `/docs.reconcile last 10 commits`
|
|
14
|
+
- `/docs.reconcile since 2026-01-15`
|
|
15
|
+
- `/docs.reconcile check-only` — Skip reconciliation, only run cross-check
|
|
16
|
+
|
|
17
|
+
### Default scope detection:
|
|
18
|
+
|
|
19
|
+
If no scope provided:
|
|
20
|
+
|
|
21
|
+
1. Read `docs/progress.md` to find the last documented session
|
|
22
|
+
2. Extract the date from the most recent session log entry
|
|
23
|
+
3. Find commits since that date
|
|
24
|
+
|
|
25
|
+
Present the detected scope:
|
|
26
|
+
|
|
27
|
+
> "I found your last documented session was on [date]. I'll analyze the [N] commits since then across all documentation.
|
|
28
|
+
>
|
|
29
|
+
> This will run:
|
|
30
|
+
> 1. `/readme.reconcile` — Update README
|
|
31
|
+
> 2. `/prd.reconcile` — Update PRD
|
|
32
|
+
> 3. `/impl.reconcile` — Update implementation docs
|
|
33
|
+
> 4. **Cross-check** — Verify consistency across all docs
|
|
34
|
+
>
|
|
35
|
+
> Does this scope look right, or would you like to adjust it?"
|
|
36
|
+
|
|
37
|
+
### Check-only mode:
|
|
38
|
+
|
|
39
|
+
If user specified `check-only`:
|
|
40
|
+
|
|
41
|
+
> "Running consistency check only (no reconciliation).
|
|
42
|
+
>
|
|
43
|
+
> I'll analyze README, PRD, and implementation docs for internal consistency without looking at git history."
|
|
44
|
+
|
|
45
|
+
Skip to Step 5 (Cross-Check).
|
|
46
|
+
|
|
47
|
+
## 2. Run README Reconcile
|
|
48
|
+
|
|
49
|
+
Execute the `/readme.reconcile` workflow with the determined scope.
|
|
50
|
+
|
|
51
|
+
After completion, summarize:
|
|
52
|
+
|
|
53
|
+
> **README Reconciliation Complete**
|
|
54
|
+
> - [Summary of changes made or "No changes needed"]
|
|
55
|
+
>
|
|
56
|
+
> Proceeding to PRD reconciliation...
|
|
57
|
+
|
|
58
|
+
## 3. Run PRD Reconcile
|
|
59
|
+
|
|
60
|
+
Execute the `/prd.reconcile` workflow with the determined scope.
|
|
61
|
+
|
|
62
|
+
After completion, summarize:
|
|
63
|
+
|
|
64
|
+
> **PRD Reconciliation Complete**
|
|
65
|
+
> - [Summary of changes made or "No changes needed"]
|
|
66
|
+
>
|
|
67
|
+
> Proceeding to implementation docs reconciliation...
|
|
68
|
+
|
|
69
|
+
## 4. Run Implementation Reconcile
|
|
70
|
+
|
|
71
|
+
Execute the `/impl.reconcile` workflow with the determined scope.
|
|
72
|
+
|
|
73
|
+
After completion, summarize:
|
|
74
|
+
|
|
75
|
+
> **Implementation Docs Reconciliation Complete**
|
|
76
|
+
> - [Summary of changes made or "No changes needed"]
|
|
77
|
+
>
|
|
78
|
+
> Proceeding to cross-document consistency check...
|
|
79
|
+
|
|
80
|
+
## 5. Cross-Document Consistency Check
|
|
81
|
+
|
|
82
|
+
Read all documentation files and analyze for consistency:
|
|
83
|
+
|
|
84
|
+
### 5.1 README ↔ PRD Consistency
|
|
85
|
+
|
|
86
|
+
Check:
|
|
87
|
+
- Features mentioned in README exist as PRD goals
|
|
88
|
+
- PRD overview matches README overview
|
|
89
|
+
- Installation/usage in README matches constraints in PRD
|
|
90
|
+
|
|
91
|
+
Flag inconsistencies:
|
|
92
|
+
- README mentions feature X, but PRD has no corresponding goal
|
|
93
|
+
- PRD goal Y is marked complete, but README doesn't mention it
|
|
94
|
+
- README claims capability Z, but PRD lists it as a non-goal
|
|
95
|
+
|
|
96
|
+
### 5.2 PRD ↔ Implementation Consistency
|
|
97
|
+
|
|
98
|
+
Check:
|
|
99
|
+
- Each PRD goal maps to at least one implementation area
|
|
100
|
+
- Implementation areas reference valid PRD goals
|
|
101
|
+
- Non-goals aren't being implemented
|
|
102
|
+
|
|
103
|
+
Flag inconsistencies:
|
|
104
|
+
- PRD goal N has no corresponding implementation area
|
|
105
|
+
- Implementation area X doesn't map to any PRD goal
|
|
106
|
+
- Work in area Y appears to violate non-goal Z
|
|
107
|
+
|
|
108
|
+
### 5.3 Implementation Internal Consistency
|
|
109
|
+
|
|
110
|
+
Check:
|
|
111
|
+
- Overview status matches area status
|
|
112
|
+
- Area status matches task group statuses
|
|
113
|
+
- Dependencies are satisfied (required tasks complete before dependent tasks)
|
|
114
|
+
|
|
115
|
+
Flag inconsistencies:
|
|
116
|
+
- Overview says area is ✅ Complete, but tasks are 🔵 Planned
|
|
117
|
+
- Task X depends on Task Y, but Y is not complete
|
|
118
|
+
- Task group marked complete but contains incomplete tasks
|
|
119
|
+
|
|
120
|
+
### 5.4 Status Alignment
|
|
121
|
+
|
|
122
|
+
Check:
|
|
123
|
+
- PRD success criteria alignment with task completion
|
|
124
|
+
- Goals marked as achieved have supporting evidence
|
|
125
|
+
- No orphaned tasks (tasks without parent goals)
|
|
126
|
+
|
|
127
|
+
## 6. Present Consistency Report
|
|
128
|
+
|
|
129
|
+
> **Documentation Consistency Report**
|
|
130
|
+
>
|
|
131
|
+
> ---
|
|
132
|
+
>
|
|
133
|
+
> **README ↔ PRD**
|
|
134
|
+
>
|
|
135
|
+
> | Issue | Severity | Details | Suggestion |
|
|
136
|
+
> |-------|----------|---------|------------|
|
|
137
|
+
> | [Issue type] | [High/Medium/Low] | [Description] | [How to fix] |
|
|
138
|
+
>
|
|
139
|
+
> ---
|
|
140
|
+
>
|
|
141
|
+
> **PRD ↔ Implementation**
|
|
142
|
+
>
|
|
143
|
+
> | Issue | Severity | Details | Suggestion |
|
|
144
|
+
> |-------|----------|---------|------------|
|
|
145
|
+
> | [Issue type] | [High/Medium/Low] | [Description] | [How to fix] |
|
|
146
|
+
>
|
|
147
|
+
> ---
|
|
148
|
+
>
|
|
149
|
+
> **Implementation Internal**
|
|
150
|
+
>
|
|
151
|
+
> | Issue | Severity | Details | Suggestion |
|
|
152
|
+
> |-------|----------|---------|------------|
|
|
153
|
+
> | [Issue type] | [High/Medium/Low] | [Description] | [How to fix] |
|
|
154
|
+
>
|
|
155
|
+
> ---
|
|
156
|
+
>
|
|
157
|
+
> **Summary:**
|
|
158
|
+
> - [N] high-severity issues
|
|
159
|
+
> - [N] medium-severity issues
|
|
160
|
+
> - [N] low-severity issues
|
|
161
|
+
>
|
|
162
|
+
> Would you like me to fix any of these issues?
|
|
163
|
+
|
|
164
|
+
### Severity levels:
|
|
165
|
+
|
|
166
|
+
- **High**: Contradictory information (README says X, PRD says not-X)
|
|
167
|
+
- **Medium**: Missing information (goal exists but no implementation)
|
|
168
|
+
- **Low**: Stale information (outdated but not contradictory)
|
|
169
|
+
|
|
170
|
+
## 7. Fix Consistency Issues
|
|
171
|
+
|
|
172
|
+
If user wants fixes applied:
|
|
173
|
+
|
|
174
|
+
For each issue, propose the specific fix:
|
|
175
|
+
|
|
176
|
+
> **Fixing: [Issue description]**
|
|
177
|
+
>
|
|
178
|
+
> **Option 1**: Update [File A] to match [File B]
|
|
179
|
+
> ```
|
|
180
|
+
> [Proposed change]
|
|
181
|
+
> ```
|
|
182
|
+
>
|
|
183
|
+
> **Option 2**: Update [File B] to match [File A]
|
|
184
|
+
> ```
|
|
185
|
+
> [Proposed change]
|
|
186
|
+
> ```
|
|
187
|
+
>
|
|
188
|
+
> Which option, or skip this issue?
|
|
189
|
+
|
|
190
|
+
Apply fixes as confirmed.
|
|
191
|
+
|
|
192
|
+
## 8. Final Report
|
|
193
|
+
|
|
194
|
+
> **Documentation Reconciliation Complete**
|
|
195
|
+
>
|
|
196
|
+
> ---
|
|
197
|
+
>
|
|
198
|
+
> **Reconciliation Summary:**
|
|
199
|
+
>
|
|
200
|
+
> | Document | Changes | Status |
|
|
201
|
+
> |----------|---------|--------|
|
|
202
|
+
> | README.md | [N changes / No changes] | ✅ |
|
|
203
|
+
> | docs/prd.md | [N changes / No changes] | ✅ |
|
|
204
|
+
> | docs/implementation/ | [N changes / No changes] | ✅ |
|
|
205
|
+
>
|
|
206
|
+
> ---
|
|
207
|
+
>
|
|
208
|
+
> **Consistency Check:**
|
|
209
|
+
>
|
|
210
|
+
> | Check | Issues Found | Fixed |
|
|
211
|
+
> |-------|--------------|-------|
|
|
212
|
+
> | README ↔ PRD | [N] | [N] |
|
|
213
|
+
> | PRD ↔ Implementation | [N] | [N] |
|
|
214
|
+
> | Implementation Internal | [N] | [N] |
|
|
215
|
+
>
|
|
216
|
+
> ---
|
|
217
|
+
>
|
|
218
|
+
> **Overall Status:** [All docs consistent / N issues remaining]
|
|
219
|
+
>
|
|
220
|
+
> ---
|
|
221
|
+
>
|
|
222
|
+
> **Based on:**
|
|
223
|
+
> - [N] commits analyzed
|
|
224
|
+
> - Scope: [date range or version range]
|
|
225
|
+
>
|
|
226
|
+
> **Next steps:**
|
|
227
|
+
> - [If issues remain: List what still needs attention]
|
|
228
|
+
> - Run `/dev-session.start` to continue development
|
|
229
|
+
> - Run `/docs.reconcile check-only` periodically to maintain consistency
|
|
230
|
+
|
|
231
|
+
## Key Behaviors
|
|
232
|
+
|
|
233
|
+
Throughout this command:
|
|
234
|
+
|
|
235
|
+
- **Orchestrate cleanly** — Run each command to completion before moving on
|
|
236
|
+
- **Aggregate results** — Present a unified summary, not disjointed reports
|
|
237
|
+
- **Prioritize by severity** — High-severity issues first
|
|
238
|
+
- **Offer choices** — For consistency fixes, let user decide which doc to update
|
|
239
|
+
- **Don't over-fix** — Flag issues, don't automatically resolve ambiguities
|
|
240
|
+
- **Support check-only** — Allow running just the consistency check
|
|
241
|
+
- **Be thorough** — Check all document relationships, not just obvious ones
|
|
242
|
+
- **Explain the "why"** — Each inconsistency should have clear impact explained
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
# Add Feature
|
|
2
|
+
|
|
3
|
+
When the user invokes "feature.add", help them incorporate a new feature into an existing project's PRD and implementation documentation. This command supports two modes: conversational (default) and one-shot (when the user provides a feature description).
|
|
4
|
+
|
|
5
|
+
Adopt the persona of a thoughtful feature architect who understands both product requirements and implementation structure. You carefully consider how new features fit into existing plans, watch for conflicts with non-goals, and ensure consistency across documentation.
|
|
6
|
+
|
|
7
|
+
## 1. Check Prerequisites
|
|
8
|
+
|
|
9
|
+
### Required: PRD Must Exist
|
|
10
|
+
|
|
11
|
+
Read `docs/prd.md`. If it doesn't exist or is empty:
|
|
12
|
+
|
|
13
|
+
> "I couldn't find an existing PRD at `docs/prd.md`. The PRD is needed to understand the project's goals and constraints before adding a feature.
|
|
14
|
+
>
|
|
15
|
+
> Would you like me to create one first with `/prd.create`?"
|
|
16
|
+
|
|
17
|
+
Stop and wait for the user's response.
|
|
18
|
+
|
|
19
|
+
### Recommended: Implementation Outline Should Exist
|
|
20
|
+
|
|
21
|
+
Check if `docs/implementation/overview.md` exists with substantive content.
|
|
22
|
+
|
|
23
|
+
If it doesn't exist:
|
|
24
|
+
|
|
25
|
+
> "I found a PRD, but no implementation outline exists yet. Adding a feature works best when I can see how it fits into the existing implementation structure.
|
|
26
|
+
>
|
|
27
|
+
> Would you like to:
|
|
28
|
+
> 1. **Create an outline first** — Run `/impl.outline` to establish the structure
|
|
29
|
+
> 2. **Proceed anyway** — I'll propose both PRD updates and a new implementation area
|
|
30
|
+
>
|
|
31
|
+
> Which would you prefer?"
|
|
32
|
+
|
|
33
|
+
Wait for the user's response.
|
|
34
|
+
|
|
35
|
+
## 2. Gather Context
|
|
36
|
+
|
|
37
|
+
Read the following files to understand the current project state:
|
|
38
|
+
|
|
39
|
+
- `docs/prd.md` — Goals, non-goals, user stories, constraints
|
|
40
|
+
- `docs/implementation/overview.md` — Existing areas and their status
|
|
41
|
+
- Each `docs/implementation/{N}-{area}/index.md` — Area goals and scope
|
|
42
|
+
- `docs/progress.md` — Recent work (if exists)
|
|
43
|
+
|
|
44
|
+
Note the key elements:
|
|
45
|
+
- Current goals and how they're numbered
|
|
46
|
+
- Existing non-goals that might conflict with new features
|
|
47
|
+
- Current implementation areas and their scope
|
|
48
|
+
- Dependencies between areas
|
|
49
|
+
|
|
50
|
+
## 3. Determine Mode
|
|
51
|
+
|
|
52
|
+
**One-shot mode:** If the user provided a feature description with the command (e.g., "/feature.add dark mode toggle for the settings page"), proceed to Step 4 with that description as context.
|
|
53
|
+
|
|
54
|
+
**Conversational mode:** If the user invoked the command without a description:
|
|
55
|
+
|
|
56
|
+
> "I'm going to help you add a new feature to this project. I've reviewed the current PRD and implementation structure.
|
|
57
|
+
>
|
|
58
|
+
> What feature would you like to add? Give me a brief description and I'll help you figure out where it fits."
|
|
59
|
+
|
|
60
|
+
Wait for the user's response before proceeding.
|
|
61
|
+
|
|
62
|
+
## 4. Understand the Feature
|
|
63
|
+
|
|
64
|
+
### 4.1 Initial Analysis
|
|
65
|
+
|
|
66
|
+
Based on the user's description, analyze:
|
|
67
|
+
- What problem does this feature solve?
|
|
68
|
+
- Who is the target user?
|
|
69
|
+
- How does it relate to existing goals?
|
|
70
|
+
|
|
71
|
+
### 4.2 Ask Clarifying Questions
|
|
72
|
+
|
|
73
|
+
Ask 2-4 targeted questions to fully understand the feature. Examples:
|
|
74
|
+
|
|
75
|
+
- "What specific user problem does this solve?"
|
|
76
|
+
- "Is this a new capability, or an enhancement to something that already exists?"
|
|
77
|
+
- "Are there specific constraints or requirements for how this should work?"
|
|
78
|
+
- "How important is this relative to the existing goals?"
|
|
79
|
+
|
|
80
|
+
### 4.3 Check for Conflicts
|
|
81
|
+
|
|
82
|
+
Compare the feature against existing PRD content:
|
|
83
|
+
|
|
84
|
+
**Against Non-Goals:**
|
|
85
|
+
If the feature conflicts with a non-goal:
|
|
86
|
+
|
|
87
|
+
> "I noticed a potential conflict: the PRD lists '[non-goal]' as explicitly out of scope. This feature seems related.
|
|
88
|
+
>
|
|
89
|
+
> Should we:
|
|
90
|
+
> 1. **Proceed anyway** — Remove or modify that non-goal
|
|
91
|
+
> 2. **Scope differently** — Adjust this feature to avoid the conflict
|
|
92
|
+
> 3. **Reconsider** — Maybe this feature shouldn't be added right now
|
|
93
|
+
>
|
|
94
|
+
> Which would you prefer?"
|
|
95
|
+
|
|
96
|
+
**Against Constraints:**
|
|
97
|
+
If the feature may violate constraints:
|
|
98
|
+
|
|
99
|
+
> "This feature might be affected by the constraint: '[constraint]'. How should we handle this?"
|
|
100
|
+
|
|
101
|
+
**Against Existing Goals:**
|
|
102
|
+
If the feature duplicates or overlaps with existing goals:
|
|
103
|
+
|
|
104
|
+
> "This seems related to existing Goal [N]: '[goal]'. Is this an extension of that goal, or something distinct?"
|
|
105
|
+
|
|
106
|
+
Wait for user resolution before proceeding.
|
|
107
|
+
|
|
108
|
+
## 5. Determine Placement
|
|
109
|
+
|
|
110
|
+
Analyze where the feature fits in the existing implementation structure.
|
|
111
|
+
|
|
112
|
+
### 5.1 Existing Area Assessment
|
|
113
|
+
|
|
114
|
+
For each existing area, consider:
|
|
115
|
+
- Does the feature naturally extend this area's scope?
|
|
116
|
+
- Would adding it here keep the area cohesive?
|
|
117
|
+
- Are there dependency implications?
|
|
118
|
+
|
|
119
|
+
### 5.2 Present Recommendation
|
|
120
|
+
|
|
121
|
+
**If feature fits in an existing area:**
|
|
122
|
+
|
|
123
|
+
> "Based on my analysis, this feature fits best in:
|
|
124
|
+
>
|
|
125
|
+
> **Area [N]: [Area Name]**
|
|
126
|
+
> - This area already covers [related scope]
|
|
127
|
+
> - Adding the feature here maintains cohesion
|
|
128
|
+
>
|
|
129
|
+
> I recommend adding a new task group `[N].[M]-[feature-name].md` within this area.
|
|
130
|
+
>
|
|
131
|
+
> Does this placement make sense, or would you prefer a different approach?"
|
|
132
|
+
|
|
133
|
+
**If feature requires a new area:**
|
|
134
|
+
|
|
135
|
+
> "This feature doesn't fit cleanly into existing areas. I recommend creating a new area:
|
|
136
|
+
>
|
|
137
|
+
> **Area [N]: [Proposed Area Name]**
|
|
138
|
+
> - Scope: [what this area would cover]
|
|
139
|
+
> - Relationship to existing areas: [dependencies, if any]
|
|
140
|
+
>
|
|
141
|
+
> This would be added to `docs/implementation/overview.md` and get its own directory.
|
|
142
|
+
>
|
|
143
|
+
> Does this make sense, or should we try fitting it into an existing area?"
|
|
144
|
+
|
|
145
|
+
Wait for user confirmation on placement before proceeding.
|
|
146
|
+
|
|
147
|
+
## 6. Propose PRD Updates
|
|
148
|
+
|
|
149
|
+
Based on the feature and placement decision, draft updates to the PRD.
|
|
150
|
+
|
|
151
|
+
### 6.1 Draft Additions
|
|
152
|
+
|
|
153
|
+
Present proposed additions to each relevant section:
|
|
154
|
+
|
|
155
|
+
> **Proposed PRD Updates:**
|
|
156
|
+
>
|
|
157
|
+
> **Goals** (adding after Goal [N]):
|
|
158
|
+
> - [N+1]. [New goal statement — specific and measurable]
|
|
159
|
+
>
|
|
160
|
+
> **User Stories** (adding):
|
|
161
|
+
> - As a [user type], I want [feature goal] so that [benefit]
|
|
162
|
+
>
|
|
163
|
+
> **Success Criteria** (adding):
|
|
164
|
+
> - [Measurable criterion for this feature]
|
|
165
|
+
>
|
|
166
|
+
> **Non-Goals** (changes, if any):
|
|
167
|
+
> - [Remove/modify if needed, with reason]
|
|
168
|
+
>
|
|
169
|
+
> **Constraints** (additions, if any):
|
|
170
|
+
> - [New constraint if relevant]
|
|
171
|
+
|
|
172
|
+
### 6.2 Show Preview
|
|
173
|
+
|
|
174
|
+
> **Preview of changes to `docs/prd.md`:**
|
|
175
|
+
>
|
|
176
|
+
> [Show the specific text that will be added, with surrounding context]
|
|
177
|
+
>
|
|
178
|
+
> Does this accurately capture the feature? Would you like to adjust anything before I apply these changes?
|
|
179
|
+
|
|
180
|
+
**Do not update the PRD until the user confirms.**
|
|
181
|
+
|
|
182
|
+
## 7. Propose Implementation Updates
|
|
183
|
+
|
|
184
|
+
### 7.1 For New Area
|
|
185
|
+
|
|
186
|
+
If creating a new area, propose:
|
|
187
|
+
|
|
188
|
+
> **Proposed Implementation Updates:**
|
|
189
|
+
>
|
|
190
|
+
> **New entry in `docs/implementation/overview.md`:**
|
|
191
|
+
> ```
|
|
192
|
+
> [N]. **[Area Name]** — [Brief description]
|
|
193
|
+
> - Status: 🔵 Planned
|
|
194
|
+
> - See: `[N]-[kebab-name]/`
|
|
195
|
+
> ```
|
|
196
|
+
>
|
|
197
|
+
> **New directory:** `docs/implementation/[N]-[kebab-name]/`
|
|
198
|
+
>
|
|
199
|
+
> **New `index.md`:**
|
|
200
|
+
> ```markdown
|
|
201
|
+
> # [N]. [Area Name]
|
|
202
|
+
>
|
|
203
|
+
> [Description of what this area accomplishes]
|
|
204
|
+
>
|
|
205
|
+
> ## Goals
|
|
206
|
+
> - [Goal 1]
|
|
207
|
+
> - [Goal 2]
|
|
208
|
+
>
|
|
209
|
+
> ## Key Considerations
|
|
210
|
+
> - [Constraints or decisions]
|
|
211
|
+
> - [Dependencies on other areas]
|
|
212
|
+
>
|
|
213
|
+
> ## Task Groups
|
|
214
|
+
>
|
|
215
|
+
> _Task groups will be defined when this area is detailed. Run `/impl.create [N]-[area-name]` to add detail._
|
|
216
|
+
> ```
|
|
217
|
+
>
|
|
218
|
+
> Would you like me to also propose initial tasks, or just create the area structure?
|
|
219
|
+
|
|
220
|
+
### 7.2 For Existing Area
|
|
221
|
+
|
|
222
|
+
If adding to an existing area, propose:
|
|
223
|
+
|
|
224
|
+
> **Proposed Implementation Updates:**
|
|
225
|
+
>
|
|
226
|
+
> **Update to `docs/implementation/[N]-[area]/index.md`:**
|
|
227
|
+
> Adding to Task Groups section:
|
|
228
|
+
> ```
|
|
229
|
+
> - **[[N].[M] [Task Group Name]](./ [N].[M]-[kebab-name].md)** — [Brief description]
|
|
230
|
+
> ```
|
|
231
|
+
>
|
|
232
|
+
> **New file:** `docs/implementation/[N]-[area]/[N].[M]-[feature-name].md`
|
|
233
|
+
>
|
|
234
|
+
> ```markdown
|
|
235
|
+
> # [N].[M] [Task Group Name]
|
|
236
|
+
>
|
|
237
|
+
> [Description of what this task group covers]
|
|
238
|
+
>
|
|
239
|
+
> ## Goals
|
|
240
|
+
> - [How this relates to PRD goals]
|
|
241
|
+
>
|
|
242
|
+
> ## Constraints
|
|
243
|
+
> - [Technical limitations or requirements]
|
|
244
|
+
>
|
|
245
|
+
> ## Dependencies
|
|
246
|
+
> - **Requires**: [Any prerequisite task groups]
|
|
247
|
+
> - **Enables**: [Any dependent task groups]
|
|
248
|
+
>
|
|
249
|
+
> ---
|
|
250
|
+
>
|
|
251
|
+
> ## [N].[M].1. [First Task Name]
|
|
252
|
+
>
|
|
253
|
+
> **Goal**: [What this task accomplishes]
|
|
254
|
+
>
|
|
255
|
+
> **Approach**: [High-level technical approach]
|
|
256
|
+
>
|
|
257
|
+
> **Acceptance Criteria**:
|
|
258
|
+
> - [Testable criterion]
|
|
259
|
+
> - [Testable criterion]
|
|
260
|
+
>
|
|
261
|
+
> **Status**: 🔵 Planned
|
|
262
|
+
> ```
|
|
263
|
+
>
|
|
264
|
+
> Does this structure make sense? Would you like to adjust the scope or breakdown?
|
|
265
|
+
|
|
266
|
+
### 7.3 Get Confirmation
|
|
267
|
+
|
|
268
|
+
> **Summary of implementation changes:**
|
|
269
|
+
>
|
|
270
|
+
> Files to create/update:
|
|
271
|
+
> - [List each file with brief description]
|
|
272
|
+
>
|
|
273
|
+
> Ready to apply these changes?
|
|
274
|
+
|
|
275
|
+
**Do not update implementation files until the user confirms.**
|
|
276
|
+
|
|
277
|
+
## 8. Apply Changes
|
|
278
|
+
|
|
279
|
+
Once the user confirms both PRD and implementation proposals:
|
|
280
|
+
|
|
281
|
+
1. Update `docs/prd.md` with the approved additions
|
|
282
|
+
2. Update `docs/implementation/overview.md` if adding a new area
|
|
283
|
+
3. Create/update area `index.md` as needed
|
|
284
|
+
4. Create new task group file(s) as proposed
|
|
285
|
+
|
|
286
|
+
## 9. Summarize and Handoff
|
|
287
|
+
|
|
288
|
+
After applying changes:
|
|
289
|
+
|
|
290
|
+
> **Feature Added Successfully**
|
|
291
|
+
>
|
|
292
|
+
> **PRD Updates (`docs/prd.md`):**
|
|
293
|
+
> - Added Goal [N]: [brief description]
|
|
294
|
+
> - Added [X] user stories
|
|
295
|
+
> - Added [X] success criteria
|
|
296
|
+
>
|
|
297
|
+
> **Implementation Updates:**
|
|
298
|
+
> - [Created new area / Extended area [N]]
|
|
299
|
+
> - Created task group: `[path to task group file]`
|
|
300
|
+
> - Defined [X] initial tasks (all 🔵 Planned)
|
|
301
|
+
>
|
|
302
|
+
> **Next Steps:**
|
|
303
|
+
> - Run `/impl.create [area]` to add more detail to the tasks
|
|
304
|
+
> - Run `/dev-session.start` to begin implementing this feature
|
|
305
|
+
> - Run `/feature.add` to add another feature
|
|
306
|
+
|
|
307
|
+
## Key Behaviors
|
|
308
|
+
|
|
309
|
+
Throughout this command, maintain these behaviors:
|
|
310
|
+
|
|
311
|
+
- **Understand before proposing** — Gather enough context to make informed recommendations
|
|
312
|
+
- **Check for conflicts** — Compare against non-goals, constraints, and existing scope
|
|
313
|
+
- **Recommend placement** — Make a clear recommendation, but accept user override
|
|
314
|
+
- **Show previews before changes** — Never modify files without explicit confirmation
|
|
315
|
+
- **Keep PRD and implementation in sync** — Features should be reflected in both
|
|
316
|
+
- **Right-size the scope** — Don't over-engineer; start with minimum viable structure
|
|
317
|
+
- **Preserve existing numbering** — Add new goals/areas at the end to avoid breaking references
|
|
318
|
+
- **Note dependencies** — If the feature depends on or enables other work, document it
|
|
319
|
+
- **Guide to next steps** — Always end with clear options for what to do next
|