up-cc 0.1.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/agents/up-depurador.md +357 -0
- package/agents/up-executor.md +409 -0
- package/agents/up-pesquisador-projeto.md +358 -0
- package/agents/up-planejador.md +390 -0
- package/agents/up-roteirista.md +401 -0
- package/agents/up-sintetizador.md +232 -0
- package/agents/up-verificador.md +357 -0
- package/bin/install.js +709 -0
- package/bin/lib/core.cjs +270 -0
- package/bin/up-tools.cjs +1361 -0
- package/commands/adicionar-fase.md +33 -0
- package/commands/ajuda.md +131 -0
- package/commands/discutir-fase.md +35 -0
- package/commands/executar-fase.md +40 -0
- package/commands/novo-projeto.md +39 -0
- package/commands/pausar.md +33 -0
- package/commands/planejar-fase.md +43 -0
- package/commands/progresso.md +33 -0
- package/commands/rapido.md +40 -0
- package/commands/remover-fase.md +34 -0
- package/commands/retomar.md +35 -0
- package/commands/verificar-trabalho.md +35 -0
- package/package.json +32 -0
- package/references/checkpoints.md +358 -0
- package/references/git-integration.md +208 -0
- package/references/questioning.md +156 -0
- package/references/ui-brand.md +124 -0
- package/templates/config.json +6 -0
- package/templates/continue-here.md +78 -0
- package/templates/project.md +184 -0
- package/templates/requirements.md +129 -0
- package/templates/roadmap.md +131 -0
- package/templates/state.md +130 -0
- package/templates/summary.md +174 -0
- package/workflows/discutir-fase.md +324 -0
- package/workflows/executar-fase.md +277 -0
- package/workflows/executar-plano.md +192 -0
- package/workflows/novo-projeto.md +561 -0
- package/workflows/pausar.md +111 -0
- package/workflows/planejar-fase.md +208 -0
- package/workflows/progresso.md +226 -0
- package/workflows/rapido.md +209 -0
- package/workflows/retomar.md +231 -0
- package/workflows/verificar-trabalho.md +261 -0
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
<overview>
|
|
2
|
+
Plans execute autonomously. Checkpoints formalize interaction points where human verification or decisions are needed.
|
|
3
|
+
|
|
4
|
+
**Core principle:** Claude automates everything with CLI/API. Checkpoints are for verification and decisions, not manual work.
|
|
5
|
+
|
|
6
|
+
**Golden rules:**
|
|
7
|
+
1. **If Claude can run it, Claude runs it** - Never ask user to execute CLI commands, start servers, or run builds
|
|
8
|
+
2. **Claude sets up the verification environment** - Start dev servers, seed databases, configure env vars
|
|
9
|
+
3. **User only does what requires human judgment** - Visual checks, UX evaluation, "does this feel right?"
|
|
10
|
+
4. **Secrets come from user, automation comes from Claude** - Ask for API keys, then Claude uses them via CLI
|
|
11
|
+
</overview>
|
|
12
|
+
|
|
13
|
+
<checkpoint_types>
|
|
14
|
+
|
|
15
|
+
<type name="human-verify">
|
|
16
|
+
## checkpoint:human-verify (Most Common - 90%)
|
|
17
|
+
|
|
18
|
+
**When:** Claude completed automated work, human confirms it works correctly.
|
|
19
|
+
|
|
20
|
+
**Use for:**
|
|
21
|
+
- Visual UI checks (layout, styling, responsiveness)
|
|
22
|
+
- Interactive flows (click through wizard, test user flows)
|
|
23
|
+
- Functional verification (feature works as expected)
|
|
24
|
+
- Audio/video playback quality
|
|
25
|
+
- Animation smoothness
|
|
26
|
+
- Accessibility testing
|
|
27
|
+
|
|
28
|
+
**Structure:**
|
|
29
|
+
```xml
|
|
30
|
+
<task type="checkpoint:human-verify" gate="blocking">
|
|
31
|
+
<what-built>[What Claude automated and deployed/built]</what-built>
|
|
32
|
+
<how-to-verify>
|
|
33
|
+
[Exact steps to test - URLs, commands, expected behavior]
|
|
34
|
+
</how-to-verify>
|
|
35
|
+
<resume-signal>[How to continue - "approved", "yes", or describe issues]</resume-signal>
|
|
36
|
+
</task>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**Example: UI Component**
|
|
40
|
+
```xml
|
|
41
|
+
<task type="auto">
|
|
42
|
+
<name>Build responsive dashboard layout</name>
|
|
43
|
+
<files>src/components/Dashboard.tsx, src/app/dashboard/page.tsx</files>
|
|
44
|
+
<action>Create dashboard with sidebar, header, and content area.</action>
|
|
45
|
+
<verify>npm run build succeeds, no TypeScript errors</verify>
|
|
46
|
+
</task>
|
|
47
|
+
|
|
48
|
+
<task type="auto">
|
|
49
|
+
<name>Start dev server for verification</name>
|
|
50
|
+
<action>Run `npm run dev` in background, wait for "ready" message</action>
|
|
51
|
+
<verify>curl http://localhost:3000 returns 200</verify>
|
|
52
|
+
</task>
|
|
53
|
+
|
|
54
|
+
<task type="checkpoint:human-verify" gate="blocking">
|
|
55
|
+
<what-built>Responsive dashboard layout - dev server running at http://localhost:3000</what-built>
|
|
56
|
+
<how-to-verify>
|
|
57
|
+
Visit http://localhost:3000/dashboard and verify:
|
|
58
|
+
1. Desktop (>1024px): Sidebar left, content right, header top
|
|
59
|
+
2. Tablet (768px): Sidebar collapses to hamburger menu
|
|
60
|
+
3. Mobile (375px): Single column layout, bottom nav appears
|
|
61
|
+
</how-to-verify>
|
|
62
|
+
<resume-signal>Type "approved" or describe layout issues</resume-signal>
|
|
63
|
+
</task>
|
|
64
|
+
```
|
|
65
|
+
</type>
|
|
66
|
+
|
|
67
|
+
<type name="decision">
|
|
68
|
+
## checkpoint:decision (9%)
|
|
69
|
+
|
|
70
|
+
**When:** Human must make choice that affects implementation direction.
|
|
71
|
+
|
|
72
|
+
**Use for:**
|
|
73
|
+
- Technology selection (which auth provider, which database)
|
|
74
|
+
- Architecture decisions (monorepo vs separate repos)
|
|
75
|
+
- Design choices (color scheme, layout approach)
|
|
76
|
+
- Feature prioritization (which variant to build)
|
|
77
|
+
|
|
78
|
+
**Structure:**
|
|
79
|
+
```xml
|
|
80
|
+
<task type="checkpoint:decision" gate="blocking">
|
|
81
|
+
<decision>[What's being decided]</decision>
|
|
82
|
+
<context>[Why this decision matters]</context>
|
|
83
|
+
<options>
|
|
84
|
+
<option id="option-a">
|
|
85
|
+
<name>[Option name]</name>
|
|
86
|
+
<pros>[Benefits]</pros>
|
|
87
|
+
<cons>[Tradeoffs]</cons>
|
|
88
|
+
</option>
|
|
89
|
+
<option id="option-b">
|
|
90
|
+
<name>[Option name]</name>
|
|
91
|
+
<pros>[Benefits]</pros>
|
|
92
|
+
<cons>[Tradeoffs]</cons>
|
|
93
|
+
</option>
|
|
94
|
+
</options>
|
|
95
|
+
<resume-signal>[How to indicate choice]</resume-signal>
|
|
96
|
+
</task>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**Example: Auth Provider Selection**
|
|
100
|
+
```xml
|
|
101
|
+
<task type="checkpoint:decision" gate="blocking">
|
|
102
|
+
<decision>Select authentication provider</decision>
|
|
103
|
+
<context>Need user authentication. Three options with different tradeoffs.</context>
|
|
104
|
+
<options>
|
|
105
|
+
<option id="supabase">
|
|
106
|
+
<name>Supabase Auth</name>
|
|
107
|
+
<pros>Built-in with Supabase DB, generous free tier, row-level security</pros>
|
|
108
|
+
<cons>Less customizable UI, tied to Supabase ecosystem</cons>
|
|
109
|
+
</option>
|
|
110
|
+
<option id="clerk">
|
|
111
|
+
<name>Clerk</name>
|
|
112
|
+
<pros>Beautiful pre-built UI, best developer experience</pros>
|
|
113
|
+
<cons>Paid after 10k MAU, vendor lock-in</cons>
|
|
114
|
+
</option>
|
|
115
|
+
</options>
|
|
116
|
+
<resume-signal>Select: supabase or clerk</resume-signal>
|
|
117
|
+
</task>
|
|
118
|
+
```
|
|
119
|
+
</type>
|
|
120
|
+
|
|
121
|
+
<type name="human-action">
|
|
122
|
+
## checkpoint:human-action (1% - Rare)
|
|
123
|
+
|
|
124
|
+
**When:** Action has NO CLI/API and requires human-only interaction, OR Claude hit an authentication gate.
|
|
125
|
+
|
|
126
|
+
**Use ONLY for:**
|
|
127
|
+
- **Authentication gates** - Claude tried CLI/API but needs credentials
|
|
128
|
+
- Email verification links
|
|
129
|
+
- SMS 2FA codes
|
|
130
|
+
- Manual account approvals
|
|
131
|
+
- OAuth app approvals (web-based)
|
|
132
|
+
|
|
133
|
+
**Do NOT use for:**
|
|
134
|
+
- Deploying (use CLI)
|
|
135
|
+
- Creating webhooks/databases (use API/CLI)
|
|
136
|
+
- Running builds/tests (use Bash tool)
|
|
137
|
+
- Creating files (use Write tool)
|
|
138
|
+
|
|
139
|
+
**Structure:**
|
|
140
|
+
```xml
|
|
141
|
+
<task type="checkpoint:human-action" gate="blocking">
|
|
142
|
+
<action>[What human must do - Claude already did everything automatable]</action>
|
|
143
|
+
<instructions>
|
|
144
|
+
[What Claude already automated]
|
|
145
|
+
[The ONE thing requiring human action]
|
|
146
|
+
</instructions>
|
|
147
|
+
<verification>[What Claude can check afterward]</verification>
|
|
148
|
+
<resume-signal>[How to continue]</resume-signal>
|
|
149
|
+
</task>
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**Example: Authentication Gate**
|
|
153
|
+
```xml
|
|
154
|
+
<task type="checkpoint:human-action" gate="blocking">
|
|
155
|
+
<action>Authenticate Vercel CLI so I can continue deployment</action>
|
|
156
|
+
<instructions>
|
|
157
|
+
I tried to deploy but got authentication error.
|
|
158
|
+
Run: vercel login
|
|
159
|
+
This will open your browser - complete the authentication flow.
|
|
160
|
+
</instructions>
|
|
161
|
+
<verification>vercel whoami returns your account email</verification>
|
|
162
|
+
<resume-signal>Type "done" when authenticated</resume-signal>
|
|
163
|
+
</task>
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
**Key distinction:** Auth gates are created dynamically when Claude encounters auth errors. NOT pre-planned.
|
|
167
|
+
</type>
|
|
168
|
+
</checkpoint_types>
|
|
169
|
+
|
|
170
|
+
<execution_protocol>
|
|
171
|
+
|
|
172
|
+
When Claude encounters `type="checkpoint:*"`:
|
|
173
|
+
|
|
174
|
+
1. **Stop immediately** - do not proceed to next task
|
|
175
|
+
2. **Display checkpoint clearly** using the format below
|
|
176
|
+
3. **Wait for user response** - do not hallucinate completion
|
|
177
|
+
4. **Verify if possible** - check files, run tests, whatever is specified
|
|
178
|
+
5. **Resume execution** - continue to next task only after confirmation
|
|
179
|
+
|
|
180
|
+
**For checkpoint:human-verify:**
|
|
181
|
+
```
|
|
182
|
+
╔═══════════════════════════════════════════════════════╗
|
|
183
|
+
║ CHECKPOINT: Verification Required ║
|
|
184
|
+
╚═══════════════════════════════════════════════════════╝
|
|
185
|
+
|
|
186
|
+
Progress: 5/8 tasks complete
|
|
187
|
+
Task: Responsive dashboard layout
|
|
188
|
+
|
|
189
|
+
Built: Responsive dashboard at /dashboard
|
|
190
|
+
|
|
191
|
+
How to verify:
|
|
192
|
+
1. Visit: http://localhost:3000/dashboard
|
|
193
|
+
2. Desktop (>1024px): Sidebar visible, content fills remaining space
|
|
194
|
+
3. Tablet (768px): Sidebar collapses to icons
|
|
195
|
+
4. Mobile (375px): Sidebar hidden, hamburger menu appears
|
|
196
|
+
|
|
197
|
+
────────────────────────────────────────────────────────
|
|
198
|
+
-> YOUR ACTION: Type "approved" or describe issues
|
|
199
|
+
────────────────────────────────────────────────────────
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**For checkpoint:decision:**
|
|
203
|
+
```
|
|
204
|
+
╔═══════════════════════════════════════════════════════╗
|
|
205
|
+
║ CHECKPOINT: Decision Required ║
|
|
206
|
+
╚═══════════════════════════════════════════════════════╝
|
|
207
|
+
|
|
208
|
+
Progress: 2/6 tasks complete
|
|
209
|
+
Task: Select authentication provider
|
|
210
|
+
|
|
211
|
+
Decision: Which auth provider should we use?
|
|
212
|
+
|
|
213
|
+
Options:
|
|
214
|
+
1. supabase - Built-in with our DB, free tier
|
|
215
|
+
2. clerk - Best DX, paid after 10k users
|
|
216
|
+
|
|
217
|
+
────────────────────────────────────────────────────────
|
|
218
|
+
-> YOUR ACTION: Select supabase or clerk
|
|
219
|
+
────────────────────────────────────────────────────────
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
**For checkpoint:human-action:**
|
|
223
|
+
```
|
|
224
|
+
╔═══════════════════════════════════════════════════════╗
|
|
225
|
+
║ CHECKPOINT: Action Required ║
|
|
226
|
+
╚═══════════════════════════════════════════════════════╝
|
|
227
|
+
|
|
228
|
+
Progress: 3/8 tasks complete
|
|
229
|
+
Task: Deploy to Vercel
|
|
230
|
+
|
|
231
|
+
Attempted: vercel --yes
|
|
232
|
+
Error: Not authenticated
|
|
233
|
+
|
|
234
|
+
What you need to do:
|
|
235
|
+
1. Run: vercel login
|
|
236
|
+
2. Complete browser authentication
|
|
237
|
+
3. Return here when done
|
|
238
|
+
|
|
239
|
+
I'll verify: vercel whoami returns your account
|
|
240
|
+
|
|
241
|
+
────────────────────────────────────────────────────────
|
|
242
|
+
-> YOUR ACTION: Type "done" when authenticated
|
|
243
|
+
────────────────────────────────────────────────────────
|
|
244
|
+
```
|
|
245
|
+
</execution_protocol>
|
|
246
|
+
|
|
247
|
+
<authentication_gates>
|
|
248
|
+
|
|
249
|
+
**Auth gate = Claude tried CLI/API, got auth error.** Not a failure - a gate requiring human input.
|
|
250
|
+
|
|
251
|
+
**Pattern:** Claude tries automation -> auth error -> creates checkpoint:human-action -> user authenticates -> Claude retries -> continues
|
|
252
|
+
|
|
253
|
+
**Gate protocol:**
|
|
254
|
+
1. Recognize it's not a failure - missing auth is expected
|
|
255
|
+
2. Stop current task - don't retry repeatedly
|
|
256
|
+
3. Create checkpoint:human-action dynamically
|
|
257
|
+
4. Provide exact authentication steps
|
|
258
|
+
5. Verify authentication works
|
|
259
|
+
6. Retry the original task
|
|
260
|
+
7. Continue normally
|
|
261
|
+
|
|
262
|
+
</authentication_gates>
|
|
263
|
+
|
|
264
|
+
<writing_guidelines>
|
|
265
|
+
|
|
266
|
+
**DO:**
|
|
267
|
+
- Automate everything with CLI/API before checkpoint
|
|
268
|
+
- Be specific: "Visit https://myapp.vercel.app" not "check deployment"
|
|
269
|
+
- Number verification steps
|
|
270
|
+
- State expected outcomes: "You should see X"
|
|
271
|
+
|
|
272
|
+
**DON'T:**
|
|
273
|
+
- Ask human to do work Claude can automate
|
|
274
|
+
- Assume knowledge: "Configure the usual settings"
|
|
275
|
+
- Skip steps: "Set up database" (too vague)
|
|
276
|
+
- Mix multiple verifications in one checkpoint
|
|
277
|
+
|
|
278
|
+
**Placement:**
|
|
279
|
+
- **After automation completes** - not before Claude does the work
|
|
280
|
+
- **After UI buildout** - before declaring phase complete
|
|
281
|
+
- **Before dependent work** - decisions before implementation
|
|
282
|
+
|
|
283
|
+
</writing_guidelines>
|
|
284
|
+
|
|
285
|
+
<anti_patterns>
|
|
286
|
+
|
|
287
|
+
### BAD: Asking user to start dev server
|
|
288
|
+
|
|
289
|
+
```xml
|
|
290
|
+
<task type="checkpoint:human-verify" gate="blocking">
|
|
291
|
+
<what-built>Dashboard component</what-built>
|
|
292
|
+
<how-to-verify>
|
|
293
|
+
1. Run: npm run dev
|
|
294
|
+
2. Visit: http://localhost:3000/dashboard
|
|
295
|
+
</how-to-verify>
|
|
296
|
+
</task>
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
**Why bad:** Claude can run `npm run dev`. User should only visit URLs.
|
|
300
|
+
|
|
301
|
+
### GOOD: Claude starts server, user visits
|
|
302
|
+
|
|
303
|
+
```xml
|
|
304
|
+
<task type="auto">
|
|
305
|
+
<name>Start dev server</name>
|
|
306
|
+
<action>Run `npm run dev` in background</action>
|
|
307
|
+
<verify>curl localhost:3000 returns 200</verify>
|
|
308
|
+
</task>
|
|
309
|
+
|
|
310
|
+
<task type="checkpoint:human-verify" gate="blocking">
|
|
311
|
+
<what-built>Dashboard at http://localhost:3000/dashboard (server running)</what-built>
|
|
312
|
+
<how-to-verify>
|
|
313
|
+
Visit http://localhost:3000/dashboard and verify:
|
|
314
|
+
1. Layout matches design
|
|
315
|
+
2. No console errors
|
|
316
|
+
</how-to-verify>
|
|
317
|
+
</task>
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### BAD: Too many checkpoints
|
|
321
|
+
|
|
322
|
+
```xml
|
|
323
|
+
<task type="auto">Create schema</task>
|
|
324
|
+
<task type="checkpoint:human-verify">Check schema</task>
|
|
325
|
+
<task type="auto">Create API route</task>
|
|
326
|
+
<task type="checkpoint:human-verify">Check API</task>
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### GOOD: Single checkpoint at end
|
|
330
|
+
|
|
331
|
+
```xml
|
|
332
|
+
<task type="auto">Create schema</task>
|
|
333
|
+
<task type="auto">Create API route</task>
|
|
334
|
+
<task type="auto">Create UI form</task>
|
|
335
|
+
|
|
336
|
+
<task type="checkpoint:human-verify">
|
|
337
|
+
<what-built>Complete auth flow (schema + API + UI)</what-built>
|
|
338
|
+
<how-to-verify>Test full flow: register, login, access protected page</how-to-verify>
|
|
339
|
+
</task>
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
</anti_patterns>
|
|
343
|
+
|
|
344
|
+
<summary>
|
|
345
|
+
|
|
346
|
+
**The golden rule:** If Claude CAN automate it, Claude MUST automate it.
|
|
347
|
+
|
|
348
|
+
**Checkpoint priority:**
|
|
349
|
+
1. **checkpoint:human-verify** (90%) - Claude automated everything, human confirms correctness
|
|
350
|
+
2. **checkpoint:decision** (9%) - Human makes architectural/technology choices
|
|
351
|
+
3. **checkpoint:human-action** (1%) - Truly unavoidable manual steps with no API/CLI
|
|
352
|
+
|
|
353
|
+
**When NOT to use checkpoints:**
|
|
354
|
+
- Things Claude can verify programmatically (tests, builds)
|
|
355
|
+
- File operations (Claude can read files)
|
|
356
|
+
- Code correctness (tests and static analysis)
|
|
357
|
+
- Anything automatable via CLI/API
|
|
358
|
+
</summary>
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
<overview>
|
|
2
|
+
Git integration for UP framework.
|
|
3
|
+
</overview>
|
|
4
|
+
|
|
5
|
+
<core_principle>
|
|
6
|
+
|
|
7
|
+
**Commit outcomes, not process.**
|
|
8
|
+
|
|
9
|
+
The git log should read like a changelog of what shipped, not a diary of planning activity.
|
|
10
|
+
</core_principle>
|
|
11
|
+
|
|
12
|
+
<commit_points>
|
|
13
|
+
|
|
14
|
+
| Event | Commit? | Why |
|
|
15
|
+
| ----------------------- | ------- | ------------------------------------------------ |
|
|
16
|
+
| BRIEF + ROADMAP created | YES | Project initialization |
|
|
17
|
+
| PLAN.md created | NO | Intermediate - commit with plan completion |
|
|
18
|
+
| RESEARCH.md created | NO | Intermediate |
|
|
19
|
+
| **Task completed** | YES | Atomic unit of work (1 commit per task) |
|
|
20
|
+
| **Plan completed** | YES | Metadata commit (SUMMARY + STATE + ROADMAP) |
|
|
21
|
+
| Handoff created | YES | WIP state preserved |
|
|
22
|
+
|
|
23
|
+
</commit_points>
|
|
24
|
+
|
|
25
|
+
<git_check>
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
[ -d .git ] && echo "GIT_EXISTS" || echo "NO_GIT"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
If NO_GIT: Run `git init` silently. UP projects always get their own repo.
|
|
32
|
+
</git_check>
|
|
33
|
+
|
|
34
|
+
<commit_formats>
|
|
35
|
+
|
|
36
|
+
<format name="initialization">
|
|
37
|
+
## Project Initialization (brief + roadmap together)
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
docs: initialize [project-name] ([N] phases)
|
|
41
|
+
|
|
42
|
+
[One-liner from PROJECT.md]
|
|
43
|
+
|
|
44
|
+
Phases:
|
|
45
|
+
1. [phase-name]: [goal]
|
|
46
|
+
2. [phase-name]: [goal]
|
|
47
|
+
3. [phase-name]: [goal]
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
What to commit:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs: initialize [project-name] ([N] phases)" --files .plano/
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
</format>
|
|
57
|
+
|
|
58
|
+
<format name="task-completion">
|
|
59
|
+
## Task Completion (During Plan Execution)
|
|
60
|
+
|
|
61
|
+
Each task gets its own commit immediately after completion.
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
{type}({phase}-{plan}): {task-name}
|
|
65
|
+
|
|
66
|
+
- [Key change 1]
|
|
67
|
+
- [Key change 2]
|
|
68
|
+
- [Key change 3]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Commit types:**
|
|
72
|
+
- `feat` - New feature/functionality
|
|
73
|
+
- `fix` - Bug fix
|
|
74
|
+
- `test` - Test-only (TDD RED phase)
|
|
75
|
+
- `refactor` - Code cleanup (TDD REFACTOR phase)
|
|
76
|
+
- `chore` - Dependencies, config, tooling
|
|
77
|
+
- `docs` - Documentation
|
|
78
|
+
|
|
79
|
+
**Examples:**
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# Standard task
|
|
83
|
+
git add src/api/auth.ts src/types/user.ts
|
|
84
|
+
git commit -m "feat(08-02): create user registration endpoint
|
|
85
|
+
|
|
86
|
+
- POST /auth/register validates email and password
|
|
87
|
+
- Checks for duplicate users
|
|
88
|
+
- Returns JWT token on success
|
|
89
|
+
"
|
|
90
|
+
|
|
91
|
+
# TDD task - RED phase
|
|
92
|
+
git add src/__tests__/jwt.test.ts
|
|
93
|
+
git commit -m "test(07-02): add failing test for JWT generation
|
|
94
|
+
|
|
95
|
+
- Tests token contains user ID claim
|
|
96
|
+
- Tests token expires in 1 hour
|
|
97
|
+
- Tests signature verification
|
|
98
|
+
"
|
|
99
|
+
|
|
100
|
+
# TDD task - GREEN phase
|
|
101
|
+
git add src/utils/jwt.ts
|
|
102
|
+
git commit -m "feat(07-02): implement JWT generation
|
|
103
|
+
|
|
104
|
+
- Uses jose library for signing
|
|
105
|
+
- Includes user ID and expiry claims
|
|
106
|
+
- Signs with HS256 algorithm
|
|
107
|
+
"
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
</format>
|
|
111
|
+
|
|
112
|
+
<format name="plan-completion">
|
|
113
|
+
## Plan Completion (After All Tasks Done)
|
|
114
|
+
|
|
115
|
+
After all tasks committed, one final metadata commit captures plan completion.
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
docs({phase}-{plan}): complete [plan-name] plan
|
|
119
|
+
|
|
120
|
+
Tasks completed: [N]/[N]
|
|
121
|
+
- [Task 1 name]
|
|
122
|
+
- [Task 2 name]
|
|
123
|
+
- [Task 3 name]
|
|
124
|
+
|
|
125
|
+
SUMMARY: .plano/phases/XX-name/{phase}-{plan}-SUMMARY.md
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
What to commit:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
node "$HOME/.claude/up/bin/up-tools.cjs" commit "docs({phase}-{plan}): complete [plan-name] plan" --files .plano/phases/XX-name/{phase}-{plan}-PLAN.md .plano/phases/XX-name/{phase}-{plan}-SUMMARY.md .plano/STATE.md .plano/ROADMAP.md
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Note:** Code files NOT included - already committed per-task.
|
|
135
|
+
|
|
136
|
+
</format>
|
|
137
|
+
|
|
138
|
+
<format name="handoff">
|
|
139
|
+
## Handoff (WIP)
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
wip: [phase-name] paused at task [X]/[Y]
|
|
143
|
+
|
|
144
|
+
Current: [task name]
|
|
145
|
+
[If blocked:] Blocked: [reason]
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
What to commit:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
node "$HOME/.claude/up/bin/up-tools.cjs" commit "wip: [phase-name] paused at task [X]/[Y]" --files .plano/
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
</format>
|
|
155
|
+
</commit_formats>
|
|
156
|
+
|
|
157
|
+
<example_log>
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
# Phase 04 - Checkout
|
|
161
|
+
1a2b3c docs(04-01): complete checkout flow plan
|
|
162
|
+
4d5e6f feat(04-01): add webhook signature verification
|
|
163
|
+
7g8h9i feat(04-01): implement payment session creation
|
|
164
|
+
0j1k2l feat(04-01): create checkout page component
|
|
165
|
+
|
|
166
|
+
# Phase 03 - Products
|
|
167
|
+
3m4n5o docs(03-02): complete product listing plan
|
|
168
|
+
6p7q8r feat(03-02): add pagination controls
|
|
169
|
+
9s0t1u feat(03-02): implement search and filters
|
|
170
|
+
2v3w4x feat(03-01): create product catalog schema
|
|
171
|
+
|
|
172
|
+
# Phase 02 - Auth
|
|
173
|
+
5y6z7a docs(02-02): complete token refresh plan
|
|
174
|
+
8b9c0d feat(02-02): implement refresh token rotation
|
|
175
|
+
1e2f3g test(02-02): add failing test for token refresh
|
|
176
|
+
4h5i6j docs(02-01): complete JWT setup plan
|
|
177
|
+
7k8l9m feat(02-01): add JWT generation and validation
|
|
178
|
+
0n1o2p chore(02-01): install jose library
|
|
179
|
+
|
|
180
|
+
# Phase 01 - Foundation
|
|
181
|
+
3q4r5s docs(01-01): complete scaffold plan
|
|
182
|
+
6t7u8v feat(01-01): configure Tailwind and globals
|
|
183
|
+
9w0x1y feat(01-01): set up Prisma with database
|
|
184
|
+
2z3a4b feat(01-01): create Next.js 15 project
|
|
185
|
+
|
|
186
|
+
# Initialization
|
|
187
|
+
5c6d7e docs: initialize ecommerce-app (5 phases)
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Each plan produces 2-4 commits (tasks + metadata). Clear, granular, bisectable.
|
|
191
|
+
|
|
192
|
+
</example_log>
|
|
193
|
+
|
|
194
|
+
<anti_patterns>
|
|
195
|
+
|
|
196
|
+
**Still don't commit (intermediate artifacts):**
|
|
197
|
+
- PLAN.md creation (commit with plan completion)
|
|
198
|
+
- RESEARCH.md (intermediate)
|
|
199
|
+
- Minor planning tweaks
|
|
200
|
+
|
|
201
|
+
**Do commit (outcomes):**
|
|
202
|
+
- Each task completion (feat/fix/test/refactor)
|
|
203
|
+
- Plan completion metadata (docs)
|
|
204
|
+
- Project initialization (docs)
|
|
205
|
+
|
|
206
|
+
**Key principle:** Commit working code and shipped outcomes, not planning process.
|
|
207
|
+
|
|
208
|
+
</anti_patterns>
|