dev-playbooks 1.7.4 → 2.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/README.md +33 -0
- package/package.json +1 -1
- package/skills/_shared/references/approval-configuration-guide.md +285 -0
- package/skills/_shared/references/document-template-decision-log.md +137 -0
- package/skills/_shared/references/document-template-design.md +202 -0
- package/skills/_shared/references/document-template-project-profile.md +159 -0
- package/skills/_shared/references/document-template-proposal.md +226 -0
- package/skills/_shared/references/document-template-tasks.md +181 -0
- package/skills/_shared/references/document-template-verification.md +186 -0
package/README.md
CHANGED
|
@@ -31,6 +31,39 @@ AI coding assistants are powerful, but often **unpredictable**:
|
|
|
31
31
|
|
|
32
32
|
---
|
|
33
33
|
|
|
34
|
+
## ✨ v2.0.0 New Features: Human-Friendly Document Templates
|
|
35
|
+
|
|
36
|
+
**Core Philosophy**: In the AI era, humans need concise information to make decisions, not reading thousands of lines of AI-generated documents.
|
|
37
|
+
|
|
38
|
+
### Bottom Line Up Front (30-second understanding)
|
|
39
|
+
|
|
40
|
+
Every document (proposal, design, tasks, verification) has a brief summary at the top:
|
|
41
|
+
- ✅ **What will result**: List changes in plain language
|
|
42
|
+
- ❌ **What won't result**: Clearly state what won't change
|
|
43
|
+
- 📝 **One-sentence summary**: Understandable even for non-technical people
|
|
44
|
+
|
|
45
|
+
### Alignment Check (Uncover hidden requirements)
|
|
46
|
+
|
|
47
|
+
In the proposal phase, guide users through questions:
|
|
48
|
+
- 👤 **Who are you?**: Quick Starter / Platform Builder / Rapid Validator
|
|
49
|
+
- 🎯 **What do you want?**: Explicit requirements + hidden requirements
|
|
50
|
+
- 💡 **Multi-perspective recommendations**: Different recommendations based on different roles
|
|
51
|
+
|
|
52
|
+
### Default Approval Mechanism (Reduce decision fatigue)
|
|
53
|
+
|
|
54
|
+
- ⏰ **User silence = agreement**: Auto-approve after timeout
|
|
55
|
+
- 🎛️ **Configurable timeout**: proposal 48h / design 24h / tasks 24h / verification 12h
|
|
56
|
+
- 🔒 **Retain control**: Users can reject or customize at any time
|
|
57
|
+
|
|
58
|
+
### Project-Level Documents (Knowledge retention)
|
|
59
|
+
|
|
60
|
+
- 📋 **User Profile** (project-profile.md): Record role, requirements, constraints, preferences
|
|
61
|
+
- 📝 **Decision Log** (decision-log.md): Record all important decisions for retrospection
|
|
62
|
+
|
|
63
|
+
**See**: `docs/v2.0.0-changelog.md`
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
34
67
|
## How It Works
|
|
35
68
|
|
|
36
69
|
**Hard constraint**: Test Owner and Coder **must work in separate conversations**. This is not a suggestion. Coder cannot modify `tests/**`. "Done" is defined by tests/build verification, not AI self-evaluation.
|
package/package.json
CHANGED
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
# Approval Configuration Guide
|
|
2
|
+
|
|
3
|
+
> This document explains how to configure the approval mechanism, including default approval, timeout settings, etc.
|
|
4
|
+
|
|
5
|
+
## Configuration File Location
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
.devbooks/config.yaml
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Configuration Example
|
|
12
|
+
|
|
13
|
+
```yaml
|
|
14
|
+
# Approval configuration
|
|
15
|
+
approval:
|
|
16
|
+
# Default approval strategy
|
|
17
|
+
# - auto_approve: Auto-approve after timeout (default)
|
|
18
|
+
# - require_explicit: Must explicitly approve
|
|
19
|
+
# - disabled: Disable approval mechanism
|
|
20
|
+
default_strategy: auto_approve
|
|
21
|
+
|
|
22
|
+
# Timeout (hours)
|
|
23
|
+
timeout:
|
|
24
|
+
proposal: 48 # Proposal needs 48 hours
|
|
25
|
+
design: 24 # Design needs 24 hours
|
|
26
|
+
tasks: 24 # Tasks needs 24 hours
|
|
27
|
+
verification: 12 # Verification needs 12 hours
|
|
28
|
+
|
|
29
|
+
# Whether explicit approval is required
|
|
30
|
+
require_explicit:
|
|
31
|
+
proposal: true # Proposal must be explicitly approved
|
|
32
|
+
design: false # Design can be auto-approved
|
|
33
|
+
tasks: false # Tasks can be auto-approved
|
|
34
|
+
verification: false # Verification can be auto-approved
|
|
35
|
+
|
|
36
|
+
# Approval methods
|
|
37
|
+
approval_methods:
|
|
38
|
+
- cli # Command-line approval
|
|
39
|
+
- chat # Chat approval
|
|
40
|
+
- auto # Auto-approval
|
|
41
|
+
|
|
42
|
+
# Notification methods
|
|
43
|
+
notification:
|
|
44
|
+
- terminal # Terminal notification
|
|
45
|
+
# - desktop # Desktop notification (optional)
|
|
46
|
+
# - email # Email notification (optional)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Configuration Details
|
|
50
|
+
|
|
51
|
+
### 1. Default Approval Strategy
|
|
52
|
+
|
|
53
|
+
| Strategy | Description | Use Case |
|
|
54
|
+
|----------|-------------|----------|
|
|
55
|
+
| `auto_approve` | Auto-approve after timeout | Most cases (recommended) |
|
|
56
|
+
| `require_explicit` | Must explicitly approve | High-risk projects |
|
|
57
|
+
| `disabled` | Disable approval mechanism | Complete trust in AI |
|
|
58
|
+
|
|
59
|
+
### 2. Timeout Settings
|
|
60
|
+
|
|
61
|
+
- **Proposal**: 48 hours (needs more time to think)
|
|
62
|
+
- **Design**: 24 hours (technical details)
|
|
63
|
+
- **Tasks**: 24 hours (task breakdown)
|
|
64
|
+
- **Verification**: 12 hours (acceptance results)
|
|
65
|
+
|
|
66
|
+
**Recommendations**:
|
|
67
|
+
- Personal projects: Can shorten timeout (e.g., 12/6/6/3 hours)
|
|
68
|
+
- Team projects: Keep default timeout
|
|
69
|
+
- High-risk projects: Extend timeout (e.g., 72/48/48/24 hours)
|
|
70
|
+
|
|
71
|
+
### 3. Explicit Approval Required
|
|
72
|
+
|
|
73
|
+
- **true**: Must explicitly approve, won't auto-approve
|
|
74
|
+
- **false**: Auto-approve after timeout
|
|
75
|
+
|
|
76
|
+
**Recommendations**:
|
|
77
|
+
- Set Proposal to true (important decisions)
|
|
78
|
+
- Set other phases to false (reduce burden)
|
|
79
|
+
|
|
80
|
+
### 4. Approval Methods
|
|
81
|
+
|
|
82
|
+
#### CLI Approval
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Approve
|
|
86
|
+
devbooks approve <change-id> --stage proposal
|
|
87
|
+
|
|
88
|
+
# Reject
|
|
89
|
+
devbooks reject <change-id> --stage proposal --reason "reason"
|
|
90
|
+
|
|
91
|
+
# Revise
|
|
92
|
+
devbooks revise <change-id> --stage proposal
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
#### Chat Approval
|
|
96
|
+
|
|
97
|
+
Say directly in chat:
|
|
98
|
+
- "agree" / "approve"
|
|
99
|
+
- "disagree" / "reject"
|
|
100
|
+
- "I want to modify XXX"
|
|
101
|
+
|
|
102
|
+
#### Auto-approval
|
|
103
|
+
|
|
104
|
+
Auto-approve after timeout (based on configuration)
|
|
105
|
+
|
|
106
|
+
### 5. Notification Methods
|
|
107
|
+
|
|
108
|
+
- **terminal**: Terminal notification (default)
|
|
109
|
+
- **desktop**: Desktop notification (requires additional configuration)
|
|
110
|
+
- **email**: Email notification (requires additional configuration)
|
|
111
|
+
|
|
112
|
+
## Approval Process
|
|
113
|
+
|
|
114
|
+
### 1. Creation Phase
|
|
115
|
+
|
|
116
|
+
After AI creates a document, it adds an approval block at the end:
|
|
117
|
+
|
|
118
|
+
```markdown
|
|
119
|
+
## ✅ Approval Process
|
|
120
|
+
|
|
121
|
+
**Current status**:
|
|
122
|
+
- 📝 Status: Pending approval
|
|
123
|
+
- ⏰ Created at: 2026-01-19 10:00
|
|
124
|
+
- ⏰ Timeout at: 2026-01-20 10:00 (after 24 hours)
|
|
125
|
+
|
|
126
|
+
**If you agree**:
|
|
127
|
+
- [ ] ✅ Approve, start next phase
|
|
128
|
+
|
|
129
|
+
**If you disagree**:
|
|
130
|
+
- [ ] ❌ Reject, explain reason
|
|
131
|
+
|
|
132
|
+
**Default choice**: ✅ Approve (auto-approved after 24 hours)
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 2. Notification Phase
|
|
136
|
+
|
|
137
|
+
System reminds users through configured notification methods:
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
⏰ Reminder: Proposal pending approval
|
|
141
|
+
- Change: 20260119-1000-add-feature-x
|
|
142
|
+
- Phase: Proposal
|
|
143
|
+
- Timeout at: 2026-01-20 10:00 (23 hours remaining)
|
|
144
|
+
- Action: devbooks approve 20260119-1000-add-feature-x --stage proposal
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### 3. Approval Phase
|
|
148
|
+
|
|
149
|
+
Users can approve through:
|
|
150
|
+
|
|
151
|
+
- **CLI**: `devbooks approve <change-id> --stage proposal`
|
|
152
|
+
- **Chat**: Say "agree" directly
|
|
153
|
+
- **Auto**: Do nothing, wait for timeout
|
|
154
|
+
|
|
155
|
+
### 4. Timeout Phase
|
|
156
|
+
|
|
157
|
+
If timeout and configured as `auto_approve`, system auto-approves:
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
✅ Auto-approved: Proposal
|
|
161
|
+
- Change: 20260119-1000-add-feature-x
|
|
162
|
+
- Phase: Proposal
|
|
163
|
+
- Reason: Auto-approved after timeout (24 hours)
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### 5. Recording Phase
|
|
167
|
+
|
|
168
|
+
All approval actions are recorded in approval history:
|
|
169
|
+
|
|
170
|
+
```markdown
|
|
171
|
+
## Approval History
|
|
172
|
+
|
|
173
|
+
| Time | Phase | Action | Actor | Reason |
|
|
174
|
+
|------|-------|--------|-------|--------|
|
|
175
|
+
| 2026-01-19 10:00 | Proposal | Created | AI | - |
|
|
176
|
+
| 2026-01-20 10:00 | Proposal | Auto-approved | System | 24-hour timeout |
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## FAQ
|
|
180
|
+
|
|
181
|
+
### Q1: How to disable auto-approval?
|
|
182
|
+
|
|
183
|
+
Modify configuration file:
|
|
184
|
+
|
|
185
|
+
```yaml
|
|
186
|
+
approval:
|
|
187
|
+
default_strategy: require_explicit
|
|
188
|
+
require_explicit:
|
|
189
|
+
proposal: true
|
|
190
|
+
design: true
|
|
191
|
+
tasks: true
|
|
192
|
+
verification: true
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Q2: How to shorten timeout?
|
|
196
|
+
|
|
197
|
+
Modify configuration file:
|
|
198
|
+
|
|
199
|
+
```yaml
|
|
200
|
+
approval:
|
|
201
|
+
timeout:
|
|
202
|
+
proposal: 12
|
|
203
|
+
design: 6
|
|
204
|
+
tasks: 6
|
|
205
|
+
verification: 3
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Q3: How to view pending approvals?
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
devbooks status
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Output:
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
Pending approvals:
|
|
218
|
+
- 20260119-1000-add-feature-x (Proposal, 23 hours remaining)
|
|
219
|
+
- 20260119-1100-fix-bug-y (Design, 5 hours remaining)
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Q4: How to batch approve?
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
devbooks approve --all
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Q5: How to revoke approval?
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
devbooks revoke <change-id> --stage proposal
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## Best Practices
|
|
235
|
+
|
|
236
|
+
### 1. Personal Projects
|
|
237
|
+
|
|
238
|
+
```yaml
|
|
239
|
+
approval:
|
|
240
|
+
default_strategy: auto_approve
|
|
241
|
+
timeout:
|
|
242
|
+
proposal: 12
|
|
243
|
+
design: 6
|
|
244
|
+
tasks: 6
|
|
245
|
+
verification: 3
|
|
246
|
+
require_explicit:
|
|
247
|
+
proposal: false
|
|
248
|
+
design: false
|
|
249
|
+
tasks: false
|
|
250
|
+
verification: false
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### 2. Team Projects
|
|
254
|
+
|
|
255
|
+
```yaml
|
|
256
|
+
approval:
|
|
257
|
+
default_strategy: auto_approve
|
|
258
|
+
timeout:
|
|
259
|
+
proposal: 48
|
|
260
|
+
design: 24
|
|
261
|
+
tasks: 24
|
|
262
|
+
verification: 12
|
|
263
|
+
require_explicit:
|
|
264
|
+
proposal: true
|
|
265
|
+
design: false
|
|
266
|
+
tasks: false
|
|
267
|
+
verification: false
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### 3. High-risk Projects
|
|
271
|
+
|
|
272
|
+
```yaml
|
|
273
|
+
approval:
|
|
274
|
+
default_strategy: require_explicit
|
|
275
|
+
timeout:
|
|
276
|
+
proposal: 72
|
|
277
|
+
design: 48
|
|
278
|
+
tasks: 48
|
|
279
|
+
verification: 24
|
|
280
|
+
require_explicit:
|
|
281
|
+
proposal: true
|
|
282
|
+
design: true
|
|
283
|
+
tasks: true
|
|
284
|
+
verification: true
|
|
285
|
+
```
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Decision Log Document Template
|
|
2
|
+
|
|
3
|
+
> This template defines the standard structure for decision-log.md, used to record all important decisions for easy retrospection and learning.
|
|
4
|
+
|
|
5
|
+
## File Location
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
<truth-root>/specs/_meta/decision-log.md
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Standard Structure
|
|
12
|
+
|
|
13
|
+
```markdown
|
|
14
|
+
# Decision Log: <Project Name>
|
|
15
|
+
|
|
16
|
+
> **Purpose**: Record all important decisions for easy retrospection and learning
|
|
17
|
+
|
|
18
|
+
## Decision #001: [Decision Title]
|
|
19
|
+
|
|
20
|
+
**Decision time**: YYYY-MM-DD
|
|
21
|
+
**Decision phase**: Proposal / Design / Tasks / Verification
|
|
22
|
+
**Decision maker**: User / AI recommendation / Default
|
|
23
|
+
|
|
24
|
+
**Background**:
|
|
25
|
+
[Why this decision needs to be made]
|
|
26
|
+
|
|
27
|
+
**Options**:
|
|
28
|
+
- Option A: [Description]
|
|
29
|
+
- Advantages: [Advantages]
|
|
30
|
+
- Disadvantages: [Disadvantages]
|
|
31
|
+
- Suitable for: [What scenarios]
|
|
32
|
+
|
|
33
|
+
- Option B: [Description]
|
|
34
|
+
- Advantages: [Advantages]
|
|
35
|
+
- Disadvantages: [Disadvantages]
|
|
36
|
+
- Suitable for: [What scenarios]
|
|
37
|
+
|
|
38
|
+
**Decision**:
|
|
39
|
+
Choose option [X]
|
|
40
|
+
|
|
41
|
+
**Reason**:
|
|
42
|
+
- [Reason 1]
|
|
43
|
+
- [Reason 2]
|
|
44
|
+
- [Reason 3]
|
|
45
|
+
|
|
46
|
+
**Impact**:
|
|
47
|
+
- ✅ [Positive impact]
|
|
48
|
+
- ⚠️ [Negative impact]
|
|
49
|
+
- ⚠️ [Risk]
|
|
50
|
+
|
|
51
|
+
**Subsequent evolution**:
|
|
52
|
+
- YYYY-MM-DD: [Evolution record]
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Decision #002: [Decision Title]
|
|
57
|
+
|
|
58
|
+
...
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Decision Template
|
|
63
|
+
|
|
64
|
+
**Decision #XXX: [Decision Title]**
|
|
65
|
+
|
|
66
|
+
**Decision time**: YYYY-MM-DD
|
|
67
|
+
**Decision phase**: Proposal / Design / Tasks / Verification
|
|
68
|
+
**Decision maker**: User / AI recommendation / Default
|
|
69
|
+
|
|
70
|
+
**Background**:
|
|
71
|
+
[Why this decision needs to be made]
|
|
72
|
+
|
|
73
|
+
**Options**:
|
|
74
|
+
- Option A: [Description]
|
|
75
|
+
- Option B: [Description]
|
|
76
|
+
- Option C: [Description]
|
|
77
|
+
|
|
78
|
+
**Decision**:
|
|
79
|
+
Choose option X
|
|
80
|
+
|
|
81
|
+
**Reason**:
|
|
82
|
+
- [Reason 1]
|
|
83
|
+
- [Reason 2]
|
|
84
|
+
- [Reason 3]
|
|
85
|
+
|
|
86
|
+
**Impact**:
|
|
87
|
+
- ✅ [Positive impact]
|
|
88
|
+
- ⚠️ [Negative impact]
|
|
89
|
+
- ⚠️ [Risk]
|
|
90
|
+
|
|
91
|
+
**Subsequent evolution**:
|
|
92
|
+
- YYYY-MM-DD: [Evolution record]
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Usage Guide
|
|
96
|
+
|
|
97
|
+
### 1. Who writes Decision Log?
|
|
98
|
+
|
|
99
|
+
- **proposal-author**: Records decisions from Proposal phase
|
|
100
|
+
- **design-doc**: Records decisions from Design phase
|
|
101
|
+
- **implementation-plan**: Records decisions from Tasks phase
|
|
102
|
+
- **archiver**: Organizes decision log during archiving
|
|
103
|
+
|
|
104
|
+
### 2. Who reads Decision Log?
|
|
105
|
+
|
|
106
|
+
| Skill | Reading Purpose |
|
|
107
|
+
|-------|-----------------|
|
|
108
|
+
| proposal-author | Understand historical decisions, avoid repeated discussions |
|
|
109
|
+
| design-doc | Understand historical reasons for technology selection |
|
|
110
|
+
| impact-analysis | Assess long-term impact of decisions |
|
|
111
|
+
| archiver | Organize decision log, build knowledge base |
|
|
112
|
+
|
|
113
|
+
### 3. Purpose of Decision Log
|
|
114
|
+
|
|
115
|
+
- **Knowledge retention**: Record background, reasons, and impact of decisions
|
|
116
|
+
- **Avoid repetition**: Avoid repeated discussions of the same issues
|
|
117
|
+
- **Learning and improvement**: Review subsequent evolution of decisions, learn lessons
|
|
118
|
+
- **Team collaboration**: Help new members quickly understand project's decision history
|
|
119
|
+
|
|
120
|
+
### 4. Decision Log Update Frequency
|
|
121
|
+
|
|
122
|
+
- **Real-time updates**: Record immediately when important decisions are made
|
|
123
|
+
- **Regular review**: Review monthly, update "Subsequent evolution" section
|
|
124
|
+
- **Archiving organization**: Organize decision log during each archiving, remove outdated decisions
|
|
125
|
+
|
|
126
|
+
### 5. What decisions need to be recorded?
|
|
127
|
+
|
|
128
|
+
**Decisions to record**:
|
|
129
|
+
- Technology selection (choosing A over B)
|
|
130
|
+
- Architecture design (choosing solution A over solution B)
|
|
131
|
+
- Important trade-offs (sacrificing X for Y)
|
|
132
|
+
- Boundary conditions (explicitly not doing something)
|
|
133
|
+
|
|
134
|
+
**Decisions not to record**:
|
|
135
|
+
- Obvious decisions (like using Git for version control)
|
|
136
|
+
- Temporary decisions (like variable naming)
|
|
137
|
+
- Reversible decisions (like code formatting)
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# Design Document Template
|
|
2
|
+
|
|
3
|
+
> This template defines the standard structure for design.md to ensure designs are clear, implementable, and verifiable.
|
|
4
|
+
|
|
5
|
+
## File Location
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
<change-root>/<change-id>/design.md
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Standard Structure
|
|
12
|
+
|
|
13
|
+
```markdown
|
|
14
|
+
# <Change Title> - Design Document
|
|
15
|
+
|
|
16
|
+
## 🎯 Bottom Line Up Front (30-second read)
|
|
17
|
+
|
|
18
|
+
**This design will result in**:
|
|
19
|
+
- ✅ [Change 1 that will happen]
|
|
20
|
+
- ✅ [Change 2 that will happen]
|
|
21
|
+
- ✅ [Change 3 that will happen]
|
|
22
|
+
|
|
23
|
+
**This design will NOT result in**:
|
|
24
|
+
- ❌ [What won't happen 1]
|
|
25
|
+
- ❌ [What won't happen 2]
|
|
26
|
+
|
|
27
|
+
**Difference from Proposal**:
|
|
28
|
+
- 📝 Proposal said "[Proposal content]"
|
|
29
|
+
- 🎨 Design says "[Specific implementation approach]"
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 🤔 Requirements Alignment Check (2-minute read)
|
|
34
|
+
|
|
35
|
+
> Purpose: Confirm the design meets your needs
|
|
36
|
+
|
|
37
|
+
### Quick Check
|
|
38
|
+
|
|
39
|
+
**In the Proposal phase you chose**:
|
|
40
|
+
- Role: [Role name]
|
|
41
|
+
- Solution: [Solution name]
|
|
42
|
+
|
|
43
|
+
**Changes in the Design phase**:
|
|
44
|
+
- ⚠️ [New issues or constraints discovered]
|
|
45
|
+
- ✅ [Suggested adjustments]
|
|
46
|
+
- ⚠️ Trade-offs: [Explain trade-offs]
|
|
47
|
+
|
|
48
|
+
**Need your confirmation**:
|
|
49
|
+
- [ ] ✅ Agree with adjustments ([reason])
|
|
50
|
+
- [ ] ❌ Disagree, continue with original plan ([reason])
|
|
51
|
+
- [ ] 🤔 I need more information
|
|
52
|
+
|
|
53
|
+
**Default choice**: ✅ Agree with adjustments (auto-approved after 24 hours)
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## ✅ Approval Process (1 minute)
|
|
58
|
+
|
|
59
|
+
**Current status**:
|
|
60
|
+
- 📝 Status: Pending approval
|
|
61
|
+
- ⏰ Created at: [time]
|
|
62
|
+
- ⏰ Timeout at: [time] (after 24 hours)
|
|
63
|
+
|
|
64
|
+
**If you agree**:
|
|
65
|
+
- [ ] ✅ Approve design, start implementation
|
|
66
|
+
|
|
67
|
+
**If you disagree**:
|
|
68
|
+
- [ ] ❌ Reject design, reason: [reason]
|
|
69
|
+
|
|
70
|
+
**Default choice**: ✅ Approve design (auto-approved after 24 hours)
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 📋 Detailed Design (AI reading)
|
|
75
|
+
|
|
76
|
+
### What (What to do)
|
|
77
|
+
|
|
78
|
+
#### Objective
|
|
79
|
+
|
|
80
|
+
[Describe the design objective]
|
|
81
|
+
|
|
82
|
+
#### Scope
|
|
83
|
+
|
|
84
|
+
[Explain the design scope]
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
### Constraints
|
|
89
|
+
|
|
90
|
+
#### Technical Constraints
|
|
91
|
+
|
|
92
|
+
| Constraint | Description | Impact |
|
|
93
|
+
|------------|-------------|--------|
|
|
94
|
+
| [Constraint1] | [Description] | [Impact] |
|
|
95
|
+
|
|
96
|
+
#### Business Constraints
|
|
97
|
+
|
|
98
|
+
| Constraint | Description | Impact |
|
|
99
|
+
|------------|-------------|--------|
|
|
100
|
+
| [Constraint1] | [Description] | [Impact] |
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
### Architecture
|
|
105
|
+
|
|
106
|
+
#### Component Diagram
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
[Use Mermaid or text to describe component relationships]
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
#### Data Flow
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
[Describe data flow]
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
#### Interface Design
|
|
119
|
+
|
|
120
|
+
| Interface | Input | Output | Description |
|
|
121
|
+
|-----------|-------|--------|-------------|
|
|
122
|
+
| [Interface1] | [Input] | [Output] | [Description] |
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
### Acceptance Criteria
|
|
127
|
+
|
|
128
|
+
#### AC-001: [Acceptance Criteria Title]
|
|
129
|
+
|
|
130
|
+
**Description**: [One-sentence description]
|
|
131
|
+
|
|
132
|
+
**Acceptance conditions**:
|
|
133
|
+
- [ ] [Condition 1]
|
|
134
|
+
- [ ] [Condition 2]
|
|
135
|
+
|
|
136
|
+
**Testing approach**: [Explain how to test]
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
### Documentation Impact
|
|
141
|
+
|
|
142
|
+
#### Documents to Update
|
|
143
|
+
|
|
144
|
+
| Document | Update Reason | Priority |
|
|
145
|
+
|----------|---------------|----------|
|
|
146
|
+
| [Document1] | [Reason] | P0 |
|
|
147
|
+
|
|
148
|
+
#### Documents Not Requiring Updates
|
|
149
|
+
|
|
150
|
+
- [ ] This change is an internal refactoring and doesn't affect user-visible functionality
|
|
151
|
+
- [ ] This change only fixes bugs and doesn't introduce new features
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
### Architecture Impact
|
|
156
|
+
|
|
157
|
+
#### New Dependencies
|
|
158
|
+
|
|
159
|
+
| Dependency | Version | Purpose | Risk |
|
|
160
|
+
|------------|---------|---------|------|
|
|
161
|
+
| [Dependency1] | [Version] | [Purpose] | [Risk] |
|
|
162
|
+
|
|
163
|
+
#### Modified Modules
|
|
164
|
+
|
|
165
|
+
| Module | Modification Type | Impact Scope |
|
|
166
|
+
|--------|-------------------|--------------|
|
|
167
|
+
| [Module1] | [Add/Modify/Delete] | [Impact scope] |
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Approval History
|
|
172
|
+
|
|
173
|
+
| Time | Phase | Action | Actor | Reason |
|
|
174
|
+
|------|-------|--------|-------|--------|
|
|
175
|
+
| [Time] | Design | Created | AI | - |
|
|
176
|
+
| [Time] | Design | Approved | User | [Reason] |
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Usage Guide
|
|
180
|
+
|
|
181
|
+
### 1. Purpose of Bottom Line Up Front
|
|
182
|
+
|
|
183
|
+
- **30-second quick understanding**: Let users immediately know the core content of the design
|
|
184
|
+
- **Comparison with Proposal**: Clearly explain the difference between design and proposal
|
|
185
|
+
- **Reduce cognitive load**: Use plain language, avoid technical jargon
|
|
186
|
+
|
|
187
|
+
### 2. Purpose of Requirements Alignment Check
|
|
188
|
+
|
|
189
|
+
- **Lightweight alignment**: Only requires user confirmation when new issues or constraints are discovered
|
|
190
|
+
- **Quick decision**: In most cases, users only need to confirm "agree" or "disagree"
|
|
191
|
+
- **Retain control**: Users can reject adjustments at any time
|
|
192
|
+
|
|
193
|
+
### 3. Purpose of Detailed Design
|
|
194
|
+
|
|
195
|
+
- **AI reading**: Provides complete technical details for AI reference
|
|
196
|
+
- **Humans can skip**: Humans only need to read "Bottom Line Up Front" and "Requirements Alignment Check" sections
|
|
197
|
+
|
|
198
|
+
### 4. Purpose of Acceptance Criteria
|
|
199
|
+
|
|
200
|
+
- **Testable**: Each acceptance criterion should be testable
|
|
201
|
+
- **Traceable**: Acceptance criteria should correspond to Proposal objectives
|
|
202
|
+
- **Verifiable**: Acceptance criteria should clearly explain how to verify
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# Project Profile Document Template
|
|
2
|
+
|
|
3
|
+
> This template defines the standard structure for project-profile.md, used to record user profiles, core requirements, and decision preferences.
|
|
4
|
+
|
|
5
|
+
## File Location
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
<truth-root>/specs/_meta/project-profile.md
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Standard Structure
|
|
12
|
+
|
|
13
|
+
```markdown
|
|
14
|
+
# Project Profile: <Project Name>
|
|
15
|
+
|
|
16
|
+
## 👤 Who are you? (Role positioning)
|
|
17
|
+
|
|
18
|
+
**Current role**: [Quick starter / Platform builder / Fast validator / Other]
|
|
19
|
+
|
|
20
|
+
**Role characteristics**:
|
|
21
|
+
- Core needs: [Simple, fast, good enough / Scalable, high quality / Fastest to see results]
|
|
22
|
+
- Technical preference: [Out-of-the-box / Architecture-first / Prototype-first]
|
|
23
|
+
- Time budget: [1-2 days / 1-2 weeks / Unlimited]
|
|
24
|
+
- Technical level: [Beginner / Intermediate / Advanced]
|
|
25
|
+
|
|
26
|
+
**Role evolution**:
|
|
27
|
+
- [Date]: [Role] (Initial)
|
|
28
|
+
- [Date]: [Role] (Upgraded) ← If upgraded
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 🎯 What do you want? (Core requirements)
|
|
33
|
+
|
|
34
|
+
### Explicit Requirements (What you clearly stated)
|
|
35
|
+
|
|
36
|
+
**Functional requirements**:
|
|
37
|
+
- ✅ [Requirement 1]
|
|
38
|
+
- ✅ [Requirement 2]
|
|
39
|
+
- ❌ Don't need [Requirement 3]
|
|
40
|
+
|
|
41
|
+
**Non-functional requirements**:
|
|
42
|
+
- ✅ Accuracy >[X]%
|
|
43
|
+
- ✅ Performance <[X] seconds
|
|
44
|
+
- ✅ Memory <[X]MB
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
### Hidden Requirements (What you need but didn't say)
|
|
49
|
+
|
|
50
|
+
**Team collaboration**:
|
|
51
|
+
- Team size: [X] people
|
|
52
|
+
- Need shared cache: [Yes / No]
|
|
53
|
+
- Decision reason: [Reason]
|
|
54
|
+
|
|
55
|
+
**CI/CD integration**:
|
|
56
|
+
- Have CI: [Yes / No]
|
|
57
|
+
- Need integration: [Yes / No]
|
|
58
|
+
- Decision reason: [Reason]
|
|
59
|
+
|
|
60
|
+
**Offline usage**:
|
|
61
|
+
- Need offline: [Yes / No]
|
|
62
|
+
- Decision reason: [Reason]
|
|
63
|
+
|
|
64
|
+
**Multi-project support**:
|
|
65
|
+
- Multi-project: [Yes / No]
|
|
66
|
+
- Decision reason: [Reason]
|
|
67
|
+
|
|
68
|
+
**Historical version analysis**:
|
|
69
|
+
- Need it: [Yes / No]
|
|
70
|
+
- Decision reason: [Reason]
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 🚫 What don't you want? (Boundaries)
|
|
75
|
+
|
|
76
|
+
**Explicitly not doing**:
|
|
77
|
+
- ❌ [Thing not to do 1]
|
|
78
|
+
- ❌ [Thing not to do 2]
|
|
79
|
+
|
|
80
|
+
**Technical constraints**:
|
|
81
|
+
- ✅ Can install new tools
|
|
82
|
+
- ❌ Can't use cloud services
|
|
83
|
+
- ✅ Can use space (<[X]MB)
|
|
84
|
+
|
|
85
|
+
**Time constraints**:
|
|
86
|
+
- ⏰ Must complete within [X] weeks
|
|
87
|
+
- ⏰ Each milestone <[X] days
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 🧭 Your North Star (Long-term goals)
|
|
92
|
+
|
|
93
|
+
**Long-term vision**:
|
|
94
|
+
[Describe long-term vision]
|
|
95
|
+
|
|
96
|
+
**Core values**:
|
|
97
|
+
- [Value 1] > [Value 2]
|
|
98
|
+
- [Value 3] > [Value 4]
|
|
99
|
+
|
|
100
|
+
**What not to do**:
|
|
101
|
+
- Don't do [Thing 1] (Reason: [Reason])
|
|
102
|
+
- Don't do [Thing 2] (Reason: [Reason])
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 📊 Decision Preferences (Historical decisions)
|
|
107
|
+
|
|
108
|
+
**Technology selection preference**:
|
|
109
|
+
- Tendency: [Mature and stable / Cutting edge]
|
|
110
|
+
- Example: [Example]
|
|
111
|
+
|
|
112
|
+
**Architecture preference**:
|
|
113
|
+
- Tendency: [Simple and direct / Complex and flexible]
|
|
114
|
+
- Example: [Example]
|
|
115
|
+
|
|
116
|
+
**Quality preference**:
|
|
117
|
+
- Tendency: [Accuracy / Performance]
|
|
118
|
+
- Example: [Example]
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 🔄 Profile Update Log
|
|
123
|
+
|
|
124
|
+
| Date | Change | Reason |
|
|
125
|
+
|------|--------|--------|
|
|
126
|
+
| [Date] | Created profile | Project initialization |
|
|
127
|
+
| [Date] | Role upgrade: [Old role] → [New role] | [Reason] |
|
|
128
|
+
| [Date] | New requirement: [Requirement] | [Reason] |
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Usage Guide
|
|
132
|
+
|
|
133
|
+
### 1. Who writes Project Profile?
|
|
134
|
+
|
|
135
|
+
- **Initialization**: brownfield-bootstrap skill creates it during project initialization
|
|
136
|
+
- **Updates**: proposal-author skill updates it with each proposal
|
|
137
|
+
- **Maintenance**: archiver skill syncs updates during archiving
|
|
138
|
+
|
|
139
|
+
### 2. Who reads Project Profile?
|
|
140
|
+
|
|
141
|
+
| Skill | Reading Purpose |
|
|
142
|
+
|-------|-----------------|
|
|
143
|
+
| proposal-author | Understand user profile, recommend suitable solutions |
|
|
144
|
+
| design-doc | Understand technical preferences, choose suitable architecture |
|
|
145
|
+
| implementation-plan | Understand time constraints, create reasonable plans |
|
|
146
|
+
| archiver | Update profile, record decision evolution |
|
|
147
|
+
|
|
148
|
+
### 3. Purpose of Profile
|
|
149
|
+
|
|
150
|
+
- **Personalized recommendations**: Recommend suitable solutions based on user profile
|
|
151
|
+
- **Decision consistency**: Ensure all decisions align with user's long-term goals
|
|
152
|
+
- **Knowledge retention**: Record user's decision preferences, avoid repeated questions
|
|
153
|
+
|
|
154
|
+
### 4. Profile Update Frequency
|
|
155
|
+
|
|
156
|
+
- **Initialization**: When project is created
|
|
157
|
+
- **Role upgrade**: When user requirements undergo major changes
|
|
158
|
+
- **New requirements**: When new hidden requirements are discovered
|
|
159
|
+
- **Regular review**: Review quarterly to ensure profile accuracy
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
# Proposal Document Template
|
|
2
|
+
|
|
3
|
+
> This template defines the standard structure for proposal.md to ensure proposals are clear, reviewable, and actionable.
|
|
4
|
+
|
|
5
|
+
## File Location
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
<change-root>/<change-id>/proposal.md
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Standard Structure
|
|
12
|
+
|
|
13
|
+
```markdown
|
|
14
|
+
# <Change Title>
|
|
15
|
+
|
|
16
|
+
## 🎯 Executive Summary (30-second read)
|
|
17
|
+
|
|
18
|
+
**This proposal will result in**:
|
|
19
|
+
- ✅ [Change 1 in plain language]
|
|
20
|
+
- ✅ [Change 2 in plain language]
|
|
21
|
+
- ✅ [Change 3 in plain language]
|
|
22
|
+
|
|
23
|
+
**This proposal will NOT result in**:
|
|
24
|
+
- ❌ [What won't change 1]
|
|
25
|
+
- ❌ [What won't change 2]
|
|
26
|
+
|
|
27
|
+
**One-sentence summary**: [Explain this change in plain language]
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 🤔 Alignment Check (5-minute read)
|
|
32
|
+
|
|
33
|
+
> Purpose: Ensure direction is correct and uncover hidden requirements
|
|
34
|
+
|
|
35
|
+
### Who are you? (Role identification)
|
|
36
|
+
|
|
37
|
+
Please select the description that best fits you:
|
|
38
|
+
|
|
39
|
+
- [ ] **Quick Starter**: Just want to implement features quickly, no hassle
|
|
40
|
+
- Core needs: Simple, fast, good enough
|
|
41
|
+
- Tech preference: Out-of-the-box, no complex configuration
|
|
42
|
+
|
|
43
|
+
- [ ] **Platform Builder**: Want to develop it into a platform serving more users
|
|
44
|
+
- Core needs: Scalable, high quality, multi-scenario
|
|
45
|
+
- Tech preference: Architecture first, quality first
|
|
46
|
+
|
|
47
|
+
- [ ] **Rapid Validator**: Want to quickly validate ideas, uncertain if useful
|
|
48
|
+
- Core needs: See results fastest, can optimize later
|
|
49
|
+
- Tech preference: Prototype first, rapid iteration
|
|
50
|
+
|
|
51
|
+
**If you're unsure**: Default to "Quick Starter", can upgrade later.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
### What do you want? (Core requirements)
|
|
56
|
+
|
|
57
|
+
**Basic requirements** (all roles need):
|
|
58
|
+
- [x] [Requirement 1]
|
|
59
|
+
- [x] [Requirement 2]
|
|
60
|
+
|
|
61
|
+
**Advanced requirements** (select based on role):
|
|
62
|
+
- [ ] [Advanced requirement 1]
|
|
63
|
+
- [ ] [Advanced requirement 2]
|
|
64
|
+
|
|
65
|
+
**If you're unsure**: Only check basic requirements, advanced can be added later.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
### What might you have missed? (Hidden requirements)
|
|
70
|
+
|
|
71
|
+
> Purpose: Help you discover potentially overlooked requirements
|
|
72
|
+
|
|
73
|
+
#### Hidden Requirement 1: [Requirement name]
|
|
74
|
+
|
|
75
|
+
**Question**: [Guide user thinking with a question]
|
|
76
|
+
|
|
77
|
+
**Why it matters**: [Explain why this requirement is important]
|
|
78
|
+
|
|
79
|
+
**Please select**:
|
|
80
|
+
- [ ] [Option A]
|
|
81
|
+
- [ ] [Option B]
|
|
82
|
+
|
|
83
|
+
**Default selection**: [Option A]
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
### 🎯 Based on your selection, recommended approach
|
|
88
|
+
|
|
89
|
+
**If you selected "Quick Starter"**:
|
|
90
|
+
Recommended approach: Simple and sufficient version
|
|
91
|
+
- [Approach description]
|
|
92
|
+
- Trade-off: [Explain trade-off]
|
|
93
|
+
|
|
94
|
+
**If you selected "Platform Builder"**:
|
|
95
|
+
Recommended approach: Complete platform version
|
|
96
|
+
- [Approach description]
|
|
97
|
+
- Trade-off: [Explain trade-off]
|
|
98
|
+
|
|
99
|
+
**If you made no selection**:
|
|
100
|
+
Default approach: Quick Starter version
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## ✅ Approval Process (1 minute)
|
|
105
|
+
|
|
106
|
+
### Quick Approval (Recommended)
|
|
107
|
+
|
|
108
|
+
**If you agree with the recommended approach**:
|
|
109
|
+
- [ ] ✅ I agree with the recommended approach, start immediately
|
|
110
|
+
|
|
111
|
+
**If you want to customize**:
|
|
112
|
+
- [ ] 🔧 I want to customize the approach (need to fill in the table below)
|
|
113
|
+
|
|
114
|
+
**If you're unsure**:
|
|
115
|
+
- [ ] 🤔 I need more information
|
|
116
|
+
|
|
117
|
+
**Default selection**: ✅ I agree with the recommended approach (auto-approve after 24 hours)
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 📋 Detailed Proposal (AI reading)
|
|
122
|
+
|
|
123
|
+
### Why (Why change)
|
|
124
|
+
|
|
125
|
+
#### Problem Description
|
|
126
|
+
|
|
127
|
+
[Describe the current problem]
|
|
128
|
+
|
|
129
|
+
#### Impact
|
|
130
|
+
|
|
131
|
+
[Explain the scope and severity of the problem]
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
### What (What to change)
|
|
136
|
+
|
|
137
|
+
#### Objectives
|
|
138
|
+
|
|
139
|
+
[Describe the objectives of the change]
|
|
140
|
+
|
|
141
|
+
#### Scope
|
|
142
|
+
|
|
143
|
+
[Explain the scope of the change]
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
### Impact (Impact Analysis)
|
|
148
|
+
|
|
149
|
+
#### Affected Modules
|
|
150
|
+
|
|
151
|
+
| Module | Impact Type | Impact Level |
|
|
152
|
+
|--------|-------------|--------------|
|
|
153
|
+
| [Module1] | [Add/Modify/Delete] | [High/Medium/Low] |
|
|
154
|
+
|
|
155
|
+
#### Risks
|
|
156
|
+
|
|
157
|
+
| Risk | Probability | Impact | Mitigation |
|
|
158
|
+
|------|-------------|--------|------------|
|
|
159
|
+
| [Risk1] | [High/Medium/Low] | [High/Medium/Low] | [Mitigation] |
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
### Alternatives (Alternative Approaches)
|
|
164
|
+
|
|
165
|
+
#### Approach A: [Approach name]
|
|
166
|
+
|
|
167
|
+
**Advantages**:
|
|
168
|
+
- [Advantage1]
|
|
169
|
+
|
|
170
|
+
**Disadvantages**:
|
|
171
|
+
- [Disadvantage1]
|
|
172
|
+
|
|
173
|
+
**Suitable for**: [What scenarios]
|
|
174
|
+
|
|
175
|
+
#### Approach B: [Approach name]
|
|
176
|
+
|
|
177
|
+
**Advantages**:
|
|
178
|
+
- [Advantage1]
|
|
179
|
+
|
|
180
|
+
**Disadvantages**:
|
|
181
|
+
- [Disadvantage1]
|
|
182
|
+
|
|
183
|
+
**Suitable for**: [What scenarios]
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
### Decision
|
|
188
|
+
|
|
189
|
+
**Selected approach**: [Approach name]
|
|
190
|
+
|
|
191
|
+
**Rationale**: [Explain selection rationale]
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Approval History
|
|
196
|
+
|
|
197
|
+
| Time | Stage | Action | Actor | Reason |
|
|
198
|
+
|------|-------|--------|-------|--------|
|
|
199
|
+
| [Time] | Proposal | Created | AI | - |
|
|
200
|
+
| [Time] | Proposal | Approved | User | [Reason] |
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Usage Guide
|
|
204
|
+
|
|
205
|
+
### 1. Purpose of Executive Summary
|
|
206
|
+
|
|
207
|
+
- **30-second quick understanding**: Let users immediately know "what will result, what won't result"
|
|
208
|
+
- **Reduce cognitive load**: Use plain language, avoid technical jargon
|
|
209
|
+
- **Set expectations**: Clearly state scope of changes
|
|
210
|
+
|
|
211
|
+
### 2. Purpose of Alignment Check
|
|
212
|
+
|
|
213
|
+
- **Role identification**: Help users clarify their role and requirements
|
|
214
|
+
- **Uncover hidden requirements**: Guide users to think about potentially overlooked requirements through questions
|
|
215
|
+
- **Multi-perspective recommendations**: Provide different recommendations based on different roles
|
|
216
|
+
|
|
217
|
+
### 3. Purpose of Approval Process
|
|
218
|
+
|
|
219
|
+
- **Default approval**: User silence = agreement (auto-approve after 24 hours)
|
|
220
|
+
- **Reduce decision burden**: Most cases don't require manual approval
|
|
221
|
+
- **Retain control**: Users can reject or customize at any time
|
|
222
|
+
|
|
223
|
+
### 4. Purpose of Detailed Proposal
|
|
224
|
+
|
|
225
|
+
- **AI reading**: Provide complete technical details for AI reference
|
|
226
|
+
- **Humans can skip**: Humans only need to read "Executive Summary" and "Alignment Check" sections
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# Tasks Document Template
|
|
2
|
+
|
|
3
|
+
> This template defines the standard structure for tasks.md to ensure tasks are clear, executable, and trackable.
|
|
4
|
+
|
|
5
|
+
## File Location
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
<change-root>/<change-id>/tasks.md
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Standard Structure
|
|
12
|
+
|
|
13
|
+
```markdown
|
|
14
|
+
# <Change Title> - Task Plan
|
|
15
|
+
|
|
16
|
+
## 🎯 Bottom Line Up Front (30-second read)
|
|
17
|
+
|
|
18
|
+
**This task will result in**:
|
|
19
|
+
- ✅ [Feature 1 to be implemented]
|
|
20
|
+
- ✅ [Feature 2 to be implemented]
|
|
21
|
+
- ✅ Development time: [X-Y days]
|
|
22
|
+
|
|
23
|
+
**This task will NOT result in**:
|
|
24
|
+
- ❌ [What won't be modified 1]
|
|
25
|
+
- ❌ [What won't be affected 2]
|
|
26
|
+
|
|
27
|
+
**Difference from Design**:
|
|
28
|
+
- 📝 Design said "[Design content]"
|
|
29
|
+
- 🔨 Tasks says "Implement in [X] milestones"
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## ⚡ Quick Approval (30 seconds)
|
|
34
|
+
|
|
35
|
+
**Task breakdown**:
|
|
36
|
+
- MP1: [Milestone 1] ([X-Y days])
|
|
37
|
+
- MP2: [Milestone 2] ([X-Y days])
|
|
38
|
+
- MP3: [Milestone 3] ([X-Y days])
|
|
39
|
+
|
|
40
|
+
**If you agree**:
|
|
41
|
+
- [ ] ✅ Agree with task breakdown, start implementation
|
|
42
|
+
|
|
43
|
+
**If you want to adjust**:
|
|
44
|
+
- [ ] 🔧 I want to adjust priorities (please explain)
|
|
45
|
+
- [ ] 🔧 I want to adjust timeline (please explain)
|
|
46
|
+
|
|
47
|
+
**Default choice**: ✅ Agree with task breakdown (auto-approved after 24 hours)
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## ✅ Approval Process (1 minute)
|
|
52
|
+
|
|
53
|
+
**Current status**:
|
|
54
|
+
- 📝 Status: Pending approval
|
|
55
|
+
- ⏰ Created at: [time]
|
|
56
|
+
- ⏰ Timeout at: [time] (after 24 hours)
|
|
57
|
+
|
|
58
|
+
**If you agree**:
|
|
59
|
+
- [ ] ✅ Approve task plan, start implementation
|
|
60
|
+
|
|
61
|
+
**If you disagree**:
|
|
62
|
+
- [ ] ❌ Reject task plan, reason: [reason]
|
|
63
|
+
|
|
64
|
+
**Default choice**: ✅ Approve task plan (auto-approved after 24 hours)
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 📋 Detailed Tasks (AI reading)
|
|
69
|
+
|
|
70
|
+
### Main Plan
|
|
71
|
+
|
|
72
|
+
#### MP1: [Milestone 1 Title]
|
|
73
|
+
|
|
74
|
+
**Objective**: [Describe milestone objective]
|
|
75
|
+
|
|
76
|
+
**Task list**:
|
|
77
|
+
- [ ] Task 1.1: [Task description]
|
|
78
|
+
- Estimated time: [X hours]
|
|
79
|
+
- Dependencies: None
|
|
80
|
+
- Acceptance criteria: [Acceptance criteria]
|
|
81
|
+
|
|
82
|
+
- [ ] Task 1.2: [Task description]
|
|
83
|
+
- Estimated time: [X hours]
|
|
84
|
+
- Dependencies: Task 1.1
|
|
85
|
+
- Acceptance criteria: [Acceptance criteria]
|
|
86
|
+
|
|
87
|
+
**Milestone acceptance**:
|
|
88
|
+
- [ ] [Acceptance condition 1]
|
|
89
|
+
- [ ] [Acceptance condition 2]
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
#### MP2: [Milestone 2 Title]
|
|
94
|
+
|
|
95
|
+
**Objective**: [Describe milestone objective]
|
|
96
|
+
|
|
97
|
+
**Task list**:
|
|
98
|
+
- [ ] Task 2.1: [Task description]
|
|
99
|
+
- Estimated time: [X hours]
|
|
100
|
+
- Dependencies: MP1
|
|
101
|
+
- Acceptance criteria: [Acceptance criteria]
|
|
102
|
+
|
|
103
|
+
**Milestone acceptance**:
|
|
104
|
+
- [ ] [Acceptance condition 1]
|
|
105
|
+
- [ ] [Acceptance condition 2]
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
### Temp Plan
|
|
110
|
+
|
|
111
|
+
> Temporary tasks discovered during implementation
|
|
112
|
+
|
|
113
|
+
- [ ] Temp 1: [Temporary task description]
|
|
114
|
+
- Discovered at: [time]
|
|
115
|
+
- Reason: [Why this task is needed]
|
|
116
|
+
- Estimated time: [X hours]
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
### Checkpoint
|
|
121
|
+
|
|
122
|
+
> Record key decisions and issues during implementation
|
|
123
|
+
|
|
124
|
+
#### Checkpoint 1: [time]
|
|
125
|
+
|
|
126
|
+
**Issue**: [Issue encountered]
|
|
127
|
+
|
|
128
|
+
**Decision**: [Decision made]
|
|
129
|
+
|
|
130
|
+
**Impact**: [Impact on task plan]
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
### Progress Tracking
|
|
135
|
+
|
|
136
|
+
| Milestone | Status | Completed at | Notes |
|
|
137
|
+
|-----------|--------|--------------|-------|
|
|
138
|
+
| MP1 | ✅ Completed | [time] | - |
|
|
139
|
+
| MP2 | 🔄 In progress | - | - |
|
|
140
|
+
| MP3 | ⏳ Pending | - | - |
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Approval History
|
|
145
|
+
|
|
146
|
+
| Time | Phase | Action | Actor | Reason |
|
|
147
|
+
|------|-------|--------|-------|--------|
|
|
148
|
+
| [Time] | Tasks | Created | AI | - |
|
|
149
|
+
| [Time] | Tasks | Approved | User | [Reason] |
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Usage Guide
|
|
153
|
+
|
|
154
|
+
### 1. Purpose of Bottom Line Up Front
|
|
155
|
+
|
|
156
|
+
- **30-second quick understanding**: Let users immediately know the core content of the task
|
|
157
|
+
- **Time estimation**: Clearly state development time
|
|
158
|
+
- **Reduce cognitive load**: Use plain language, avoid technical jargon
|
|
159
|
+
|
|
160
|
+
### 2. Purpose of Quick Approval
|
|
161
|
+
|
|
162
|
+
- **Task breakdown**: Break large tasks into manageable milestones
|
|
163
|
+
- **Quick decision**: Users only need to confirm "agree" or "adjust"
|
|
164
|
+
- **Default approval**: Auto-approved after 24 hours
|
|
165
|
+
|
|
166
|
+
### 3. Purpose of Main Plan
|
|
167
|
+
|
|
168
|
+
- **Structured**: Organize tasks by milestones
|
|
169
|
+
- **Trackable**: Each task has clear acceptance criteria
|
|
170
|
+
- **Parallelizable**: Clearly define dependencies between tasks
|
|
171
|
+
|
|
172
|
+
### 4. Purpose of Temp Plan
|
|
173
|
+
|
|
174
|
+
- **Flexibility**: Record temporary tasks discovered during implementation
|
|
175
|
+
- **Traceable**: Explain why this task is needed
|
|
176
|
+
|
|
177
|
+
### 5. Purpose of Checkpoint
|
|
178
|
+
|
|
179
|
+
- **Decision recording**: Record key decisions during implementation
|
|
180
|
+
- **Issue tracking**: Record issues encountered and solutions
|
|
181
|
+
- **Knowledge retention**: Provide reference for similar future tasks
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# Verification Document Template
|
|
2
|
+
|
|
3
|
+
> This template defines the standard structure for verification.md to ensure acceptance is clear, testable, and traceable.
|
|
4
|
+
|
|
5
|
+
## File Location
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
<change-root>/<change-id>/verification.md
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Standard Structure
|
|
12
|
+
|
|
13
|
+
```markdown
|
|
14
|
+
# <Change Title> - Verification Document
|
|
15
|
+
|
|
16
|
+
## 🎯 Bottom Line Up Front (30-second read)
|
|
17
|
+
|
|
18
|
+
**This verification will result in**:
|
|
19
|
+
- ✅ Run [X] test cases
|
|
20
|
+
- ✅ Verify accuracy >[X]%
|
|
21
|
+
- ✅ Verify performance <[X] seconds
|
|
22
|
+
|
|
23
|
+
**This verification will NOT result in**:
|
|
24
|
+
- ❌ Won't modify code
|
|
25
|
+
- ❌ Won't affect functionality
|
|
26
|
+
|
|
27
|
+
**Acceptance criteria**:
|
|
28
|
+
- ✅ All tests pass
|
|
29
|
+
- ✅ Accuracy >[X]%
|
|
30
|
+
- ✅ Performance <[X] seconds
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## ✅ Verification Approval (30 seconds)
|
|
35
|
+
|
|
36
|
+
**Test results**:
|
|
37
|
+
- ✅ Unit tests: [X]/[Y] passed
|
|
38
|
+
- ✅ Integration tests: [X]/[Y] passed
|
|
39
|
+
- ✅ Performance tests: Passed ([X] seconds)
|
|
40
|
+
|
|
41
|
+
**If you agree**:
|
|
42
|
+
- [ ] ✅ Verification passed, ready to archive
|
|
43
|
+
|
|
44
|
+
**If you disagree**:
|
|
45
|
+
- [ ] ❌ Verification failed (please explain reason)
|
|
46
|
+
|
|
47
|
+
**Default choice**: ✅ Verification passed (auto-approved after 12 hours)
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## ✅ Approval Process (1 minute)
|
|
52
|
+
|
|
53
|
+
**Current status**:
|
|
54
|
+
- 📝 Status: Pending approval
|
|
55
|
+
- ⏰ Created at: [time]
|
|
56
|
+
- ⏰ Timeout at: [time] (after 12 hours)
|
|
57
|
+
|
|
58
|
+
**If you agree**:
|
|
59
|
+
- [ ] ✅ Approve verification, start archiving
|
|
60
|
+
|
|
61
|
+
**If you disagree**:
|
|
62
|
+
- [ ] ❌ Reject verification, reason: [reason]
|
|
63
|
+
|
|
64
|
+
**Default choice**: ✅ Approve verification (auto-approved after 12 hours)
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 📋 Detailed Verification (AI reading)
|
|
69
|
+
|
|
70
|
+
### Test Coverage
|
|
71
|
+
|
|
72
|
+
#### Unit Tests
|
|
73
|
+
|
|
74
|
+
| Test Case | Status | Description |
|
|
75
|
+
|-----------|--------|-------------|
|
|
76
|
+
| test_xxx_1 | ✅ Passed | [Description] |
|
|
77
|
+
| test_xxx_2 | ✅ Passed | [Description] |
|
|
78
|
+
|
|
79
|
+
**Coverage**: [X]%
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
#### Integration Tests
|
|
84
|
+
|
|
85
|
+
| Test Case | Status | Description |
|
|
86
|
+
|-----------|--------|-------------|
|
|
87
|
+
| test_integration_1 | ✅ Passed | [Description] |
|
|
88
|
+
| test_integration_2 | ✅ Passed | [Description] |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
#### Performance Tests
|
|
93
|
+
|
|
94
|
+
| Metric | Target | Actual | Status |
|
|
95
|
+
|--------|--------|--------|--------|
|
|
96
|
+
| Response time | <[X]ms | [Y]ms | ✅ Passed |
|
|
97
|
+
| Throughput | >[X] QPS | [Y] QPS | ✅ Passed |
|
|
98
|
+
| Memory usage | <[X]MB | [Y]MB | ✅ Passed |
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
### Acceptance Criteria Traceability
|
|
103
|
+
|
|
104
|
+
#### AC-001: [Acceptance Criteria Title]
|
|
105
|
+
|
|
106
|
+
**Source**: design.md AC-001
|
|
107
|
+
|
|
108
|
+
**Acceptance conditions**:
|
|
109
|
+
- [x] [Condition 1] - Test case: test_xxx_1
|
|
110
|
+
- [x] [Condition 2] - Test case: test_xxx_2
|
|
111
|
+
|
|
112
|
+
**Verification result**: ✅ Passed
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
#### AC-002: [Acceptance Criteria Title]
|
|
117
|
+
|
|
118
|
+
**Source**: design.md AC-002
|
|
119
|
+
|
|
120
|
+
**Acceptance conditions**:
|
|
121
|
+
- [x] [Condition 1] - Test case: test_xxx_3
|
|
122
|
+
- [x] [Condition 2] - Test case: test_xxx_4
|
|
123
|
+
|
|
124
|
+
**Verification result**: ✅ Passed
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
### Regression Testing
|
|
129
|
+
|
|
130
|
+
#### Existing Functionality Verification
|
|
131
|
+
|
|
132
|
+
| Feature | Test Case | Status | Description |
|
|
133
|
+
|---------|-----------|--------|-------------|
|
|
134
|
+
| [Feature 1] | test_regression_1 | ✅ Passed | Not affected |
|
|
135
|
+
| [Feature 2] | test_regression_2 | ✅ Passed | Not affected |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
### Documentation Verification
|
|
140
|
+
|
|
141
|
+
#### Documentation Update Check
|
|
142
|
+
|
|
143
|
+
- [x] README.md updated
|
|
144
|
+
- [x] User documentation updated
|
|
145
|
+
- [x] API documentation updated
|
|
146
|
+
- [x] CHANGELOG.md updated
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Approval History
|
|
151
|
+
|
|
152
|
+
| Time | Phase | Action | Actor | Reason |
|
|
153
|
+
|------|-------|--------|-------|--------|
|
|
154
|
+
| [Time] | Verification | Created | AI | - |
|
|
155
|
+
| [Time] | Verification | Approved | User | [Reason] |
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Usage Guide
|
|
159
|
+
|
|
160
|
+
### 1. Purpose of Bottom Line Up Front
|
|
161
|
+
|
|
162
|
+
- **30-second quick understanding**: Let users immediately know the core content of verification
|
|
163
|
+
- **Test results**: Clearly state test results
|
|
164
|
+
- **Reduce cognitive load**: Use plain language, avoid technical jargon
|
|
165
|
+
|
|
166
|
+
### 2. Purpose of Verification Approval
|
|
167
|
+
|
|
168
|
+
- **Quick decision**: Users only need to confirm "pass" or "fail"
|
|
169
|
+
- **Default approval**: Auto-approved after 12 hours (shorter than other phases)
|
|
170
|
+
- **Retain control**: Users can reject verification at any time
|
|
171
|
+
|
|
172
|
+
### 3. Purpose of Acceptance Criteria Traceability
|
|
173
|
+
|
|
174
|
+
- **Traceable**: Each acceptance criterion should correspond to an AC in Design
|
|
175
|
+
- **Verifiable**: Each acceptance condition should have a corresponding test case
|
|
176
|
+
- **Completeness check**: Ensure all ACs are verified
|
|
177
|
+
|
|
178
|
+
### 4. Purpose of Regression Testing
|
|
179
|
+
|
|
180
|
+
- **Prevent breakage**: Ensure existing functionality is not affected
|
|
181
|
+
- **Quality assurance**: Ensure changes don't introduce new issues
|
|
182
|
+
|
|
183
|
+
### 5. Purpose of Documentation Verification
|
|
184
|
+
|
|
185
|
+
- **Documentation sync**: Ensure documentation is in sync with code
|
|
186
|
+
- **User experience**: Ensure users can correctly use new features
|