macca-method 2.1.1 → 2.1.2
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/macca-lock.json +1 -1
- package/.agents/skills/_shared/references/brainstorm-session.md +5 -5
- package/.agents/skills/_shared/references/invocation-policy.md +20 -20
- package/.agents/skills/_shared/references/output-ownership.md +11 -11
- package/.agents/skills/_shared/references/scope-rules.md +1 -1
- package/.agents/skills/_shared/references/skill-catalog.md +20 -20
- package/.agents/skills/_shared/scripts/validate-skills.py +37 -15
- package/.agents/skills/add-feature/SKILL.md +9 -3
- package/.agents/skills/antislop-copywriting/SKILL.md +372 -0
- package/.agents/skills/brainstorm-api/SKILL.md +28 -16
- package/.agents/skills/brainstorm-api/assets/api.template.md +35 -15
- package/.agents/skills/brainstorm-architecture/SKILL.md +35 -15
- package/.agents/skills/brainstorm-architecture/assets/architecture.template.md +44 -25
- package/.agents/skills/brainstorm-prd/SKILL.md +47 -17
- package/.agents/skills/brainstorm-prd/assets/PRD.template.md +47 -23
- package/.agents/skills/brainstorm-rules/SKILL.md +36 -19
- package/.agents/skills/brainstorm-rules/assets/rules.template.md +32 -18
- package/.agents/skills/brainstorm-schema/SKILL.md +18 -8
- package/.agents/skills/brainstorm-schema/assets/schema.template.md +25 -10
- package/.agents/skills/brainstorm-styleguide/SKILL.md +37 -19
- package/.agents/skills/brainstorm-styleguide/assets/StyleGuide.template.md +78 -60
- package/.agents/skills/brainstorm-task/SKILL.md +27 -14
- package/.agents/skills/brainstorm-task/assets/Task.template.md +29 -18
- package/.agents/skills/bug-fix/SKILL.md +25 -1
- package/.agents/skills/code-review/SKILL.md +7 -7
- package/.agents/skills/code-review/references/review-checklist.md +21 -10
- package/.agents/skills/developer/SKILL.md +8 -0
- package/.agents/skills/developer/references/execute-task.md +13 -7
- package/.agents/skills/help/SKILL.md +32 -20
- package/.agents/skills/meet/SKILL.md +9 -4
- package/.agents/skills/quick-dev/SKILL.md +27 -22
- package/.agents/skills/release-readiness/SKILL.md +17 -13
- package/.agents/skills/skill-creator/LICENSE.txt +202 -0
- package/.agents/skills/skill-creator/SKILL.md +485 -0
- package/.agents/skills/skill-creator/agents/analyzer.md +274 -0
- package/.agents/skills/skill-creator/agents/comparator.md +202 -0
- package/.agents/skills/skill-creator/agents/grader.md +223 -0
- package/.agents/skills/skill-creator/assets/eval_review.html +146 -0
- package/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/.agents/skills/skill-creator/references/schemas.md +441 -0
- package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
- package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
- package/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
- package/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
- package/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
- package/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
- package/.agents/skills/skill-creator/scripts/utils.py +47 -0
- package/.agents/skills/spec-audit/SKILL.md +28 -1
- package/.agents/skills/spec-compliance/SKILL.md +31 -18
- package/.agents/skills/spec-init/SKILL.md +29 -17
- package/README.md +158 -122
- package/bin/macca-method.js +1378 -1077
- package/package.json +40 -40
- package/scripts/run-skill-validator.js +27 -9
- package/scripts/test-install.js +599 -357
- package/scripts/test-upgrade-legacy.js +119 -100
- package/scripts/validate-skill-behavior.js +175 -64
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**MACCA** is an AI-based software development system that works from **written specifications**, not guesses. Before a single line of code exists, all important decisions are already documented. AI reads those documents before coding, then verifies the result after coding.
|
|
4
4
|
|
|
5
|
-
> **Macca** comes from Bugis and means
|
|
5
|
+
> **Macca** comes from Bugis and means _smart, intelligent, capable_. In Bugis-Makassar philosophy, intelligence is always paired with noble character — a moral identity carried everywhere.
|
|
6
6
|
|
|
7
7
|

|
|
8
8
|
|
|
@@ -55,6 +55,7 @@ All planning output documents are stored in `project-context/` in your project.
|
|
|
55
55
|
## 3. Planning Skills
|
|
56
56
|
|
|
57
57
|
Planning skills run as evidence-first interview sessions. AI reads applicable upstream specs first and asks only material decisions that are still unknown. At the start of each session, AI announces the topic count, then asks two things if not already saved:
|
|
58
|
+
|
|
58
59
|
1. **Pacing**: (A) one by one · (B) three at a time · (C) all at once
|
|
59
60
|
2. **Recommendations**: should AI provide suggested answers for each question?
|
|
60
61
|
|
|
@@ -80,6 +81,7 @@ Depth is inferred from existing context and can be overridden; it does not add a
|
|
|
80
81
|
**Topic count:** 15 topics
|
|
81
82
|
|
|
82
83
|
**Topics covered:**
|
|
84
|
+
|
|
83
85
|
1. Project Goal — long-term vision and what makes the project unique
|
|
84
86
|
2. Target Users — user personas, demographics, pain points
|
|
85
87
|
3. Problem Being Solved — real problem, current workaround, and its cost/limitations
|
|
@@ -90,13 +92,14 @@ Depth is inferred from existing context and can be overridden; it does not add a
|
|
|
90
92
|
8. Non-Functional Requirements — performance, security, scalability, accessibility, availability
|
|
91
93
|
9. Success Metrics & Rollout — baseline, target, timeframe, measurement source, owner, launch strategy
|
|
92
94
|
10. Acceptance Criteria — concrete conditions for each feature
|
|
93
|
-
11. Non-Goals — what will
|
|
95
|
+
11. Non-Goals — what will _not_ be built
|
|
94
96
|
12. Assumptions — unverified conditions
|
|
95
97
|
13. User Stories — prioritized workflows from the user perspective
|
|
96
98
|
14. Stakeholders — owners and responsibilities
|
|
97
99
|
15. Open Questions — unresolved decisions and risks
|
|
98
100
|
|
|
99
101
|
**Important behavior:**
|
|
102
|
+
|
|
100
103
|
- Use `Traceability ID` (`FEAT-*`, `BR-*`, `AC-*`, `NFR-*`, `US-*`) so each requirement can be traced to tasks and code
|
|
101
104
|
- Do not overwrite existing files without confirmation
|
|
102
105
|
|
|
@@ -118,6 +121,7 @@ Depth is inferred from existing context and can be overridden; it does not add a
|
|
|
118
121
|
**Topic count:** 10 topics
|
|
119
122
|
|
|
120
123
|
**Topics covered:**
|
|
124
|
+
|
|
121
125
|
1. System Context — systems and external services that interact
|
|
122
126
|
2. Tech Stack — frontend, backend, database, hosting, CI/CD, plus strategic dependency/license/health/lock-in/exit evaluation
|
|
123
127
|
3. Folder Structure — project file and directory organization
|
|
@@ -130,6 +134,7 @@ Depth is inferred from existing context and can be overridden; it does not add a
|
|
|
130
134
|
10. Architecture Decision Records — major decisions and their reasoning
|
|
131
135
|
|
|
132
136
|
**Important behavior:**
|
|
137
|
+
|
|
133
138
|
- Every decision must be defensible with reasoning
|
|
134
139
|
- The `Tech Stack` and `Folder Structure` fields are mandatory references for `spec-compliance` (SC-02) and `developer` (Step 2)
|
|
135
140
|
|
|
@@ -151,6 +156,7 @@ Depth is inferred from existing context and can be overridden; it does not add a
|
|
|
151
156
|
**Topic count:** 5 topics
|
|
152
157
|
|
|
153
158
|
**Topics covered:**
|
|
159
|
+
|
|
154
160
|
1. Persistence Conventions — identity, naming, audit/version metadata, deletion, retention
|
|
155
161
|
2. Entity/Storage Map — relational, document, key-value, graph, event-store, or mixed
|
|
156
162
|
3. Fields & Data Types — datastore-native validation, PII, volume, growth, payload size
|
|
@@ -158,6 +164,7 @@ Depth is inferred from existing context and can be overridden; it does not add a
|
|
|
158
164
|
5. Access Patterns & Evolution — indexes/projections, consistency, migration, backfill, compatibility, recovery
|
|
159
165
|
|
|
160
166
|
**Important behavior:**
|
|
167
|
+
|
|
161
168
|
- Give each persisted entity a `Traceability ID` (`DATA-*`)
|
|
162
169
|
- Datastore-native names, tenancy, concurrency, retention, and migration constraints are verified by `spec-compliance` (SC-03)
|
|
163
170
|
|
|
@@ -179,6 +186,7 @@ Depth is inferred from existing context and can be overridden; it does not add a
|
|
|
179
186
|
**Topic count:** 5 topics
|
|
180
187
|
|
|
181
188
|
**Topics covered:**
|
|
189
|
+
|
|
182
190
|
1. Entry Point, Versioning, Deprecation & Auth — protocol-native compatibility and lifecycle
|
|
183
191
|
2. Error Catalog — protocol-native errors, retryability, timeout interaction, client action
|
|
184
192
|
3. Operations — REST endpoints, GraphQL operations, RPC procedures, events, or mixed contracts
|
|
@@ -186,6 +194,7 @@ Depth is inferred from existing context and can be overridden; it does not add a
|
|
|
186
194
|
5. Flow & Reliability — pagination/streaming, rate limits, retries, SLOs, and contract-test invariants
|
|
187
195
|
|
|
188
196
|
**Important behavior:**
|
|
197
|
+
|
|
189
198
|
- Give each operation a `Traceability ID` (`API-*`)
|
|
190
199
|
- Agreed request and response formats are a **contract** verified by `spec-compliance` (SC-04) during coding
|
|
191
200
|
|
|
@@ -207,6 +216,7 @@ Depth is inferred from existing context and can be overridden; it does not add a
|
|
|
207
216
|
**Topic count:** 8 topics
|
|
208
217
|
|
|
209
218
|
**Topics covered:**
|
|
219
|
+
|
|
210
220
|
1. CSS Framework — Tailwind CSS (v3/v4), Bootstrap, CSS Modules, or custom
|
|
211
221
|
2. Color Palette — primary, secondary, accent, status colors (error/success/warning/info), dark mode
|
|
212
222
|
3. Typography — font family, heading and body sizes, line height, font weight
|
|
@@ -217,6 +227,7 @@ Depth is inferred from existing context and can be overridden; it does not add a
|
|
|
217
227
|
8. Accessibility, Localization & Operational States — keyboard/focus/screen reader/reduced motion; loading/empty/error/forbidden/offline; locales/RTL; UI performance
|
|
218
228
|
|
|
219
229
|
**Important behavior:**
|
|
230
|
+
|
|
220
231
|
- Agreed colors and spacing are a **contract** — `spec-compliance` (SC-06) flags arbitrary values outside this list
|
|
221
232
|
|
|
222
233
|
</details>
|
|
@@ -237,6 +248,7 @@ Depth is inferred from existing context and can be overridden; it does not add a
|
|
|
237
248
|
**Topic count:** 7 topics
|
|
238
249
|
|
|
239
250
|
**Topics covered:**
|
|
251
|
+
|
|
240
252
|
1. AI Persona & Tech Stack — main technologies, preferred libraries, favored and avoided patterns
|
|
241
253
|
2. Naming Conventions — variables, functions, components, files, folders, constants
|
|
242
254
|
3. Code Style — formatting (Prettier/ESLint), max function length, `console.log` rules, early return
|
|
@@ -248,6 +260,7 @@ Depth is inferred from existing context and can be overridden; it does not add a
|
|
|
248
260
|
Conditional rules are generated only when applicable: structured logging, migrations, feature flags, generated code, and secret rotation.
|
|
249
261
|
|
|
250
262
|
**Important behavior:**
|
|
263
|
+
|
|
251
264
|
- The `[FORBIDDEN]` section is the first thing `developer` reads before coding
|
|
252
265
|
- If the `[FORBIDDEN]` section is missing, `spec-compliance` records it as a MINOR finding
|
|
253
266
|
|
|
@@ -269,16 +282,19 @@ Conditional rules are generated only when applicable: structured logging, migrat
|
|
|
269
282
|
**User clarification count:** 3 topics plus one automatic document-completeness check
|
|
270
283
|
|
|
271
284
|
**Clarification topics:**
|
|
285
|
+
|
|
272
286
|
1. Phase Priority Order — implementation order, which features must finish first
|
|
273
287
|
2. Task Granularity — how small should tasks be? One file, one endpoint, or one full feature?
|
|
274
288
|
3. Execution Rules — stop for confirmation after each task, or continue automatically by phase?
|
|
275
289
|
4. Verify Available Documents — AI checks spec completeness itself before creating `Task.md`
|
|
276
290
|
|
|
277
291
|
**Two operation modes:**
|
|
292
|
+
|
|
278
293
|
- **Generate New** — create `Task.md` from scratch based on all available specs
|
|
279
294
|
- **Add Phase Mode** — append a new phase below existing `Task.md` content (called by `add-feature`, does not overwrite old content)
|
|
280
295
|
|
|
281
296
|
**Important behavior:**
|
|
297
|
+
|
|
282
298
|
- Tasks are **not created from guesses** — all tasks are derived from the spec documents
|
|
283
299
|
- Every task has concrete, verifiable `Acceptance Criteria`
|
|
284
300
|
- Testing order follows `rules.md`: test-first when explicitly selected, otherwise test-with-change or the project's approved workflow
|
|
@@ -307,18 +323,21 @@ Read `.agents/developer-config.json`. If `name` or `project` is missing, AI asks
|
|
|
307
323
|
|
|
308
324
|
**Additional skills & MCP setup** (`references/onboarding.md`)
|
|
309
325
|
|
|
310
|
-
|
|
326
|
+
_Additional Skills:_
|
|
327
|
+
|
|
311
328
|
- If `additionalSkills` already exists in config → use it directly
|
|
312
|
-
- If not → AI asks once:
|
|
329
|
+
- If not → AI asks once: _"Are there any additional skills for this project?"_
|
|
313
330
|
- For every named skill, AI **first searches the workspace itself** (`.agents/skills/`, `.github/skills/`, `.opencode/skills/`). It only asks you for the path if the skill is not found.
|
|
314
331
|
- When working on a relevant task, AI **must read** `SKILL.md` from that skill before writing code.
|
|
315
332
|
|
|
316
|
-
|
|
333
|
+
_MCP (Model Context Protocol):_
|
|
334
|
+
|
|
317
335
|
- If `availableMCPs` already exists in config → use it directly
|
|
318
|
-
- If not → AI asks once:
|
|
336
|
+
- If not → AI asks once: _"Which MCPs are available in your workspace?"_
|
|
319
337
|
- Only listed MCPs will be used.
|
|
320
338
|
|
|
321
339
|
**Developer scope** (`references/onboarding.md`)
|
|
340
|
+
|
|
322
341
|
- If `developerPreferences.scope` already exists → use it directly
|
|
323
342
|
- If not → AI asks once:
|
|
324
343
|
```
|
|
@@ -330,6 +349,7 @@ Read `.agents/developer-config.json`. If `name` or `project` is missing, AI asks
|
|
|
330
349
|
- This scope is enforced in every phase: AI will not create/change files outside the scope.
|
|
331
350
|
|
|
332
351
|
**Work mode** (`references/onboarding.md`)
|
|
352
|
+
|
|
333
353
|
- If `developerPreferences.workMode` already exists → use it directly
|
|
334
354
|
- If not → AI asks once:
|
|
335
355
|
```
|
|
@@ -346,19 +366,20 @@ Read `.agents/developer-config.json`. If `name` or `project` is missing, AI asks
|
|
|
346
366
|
|
|
347
367
|
**Selecting relevant specs** (`references/execute-task.md`)
|
|
348
368
|
|
|
349
|
-
| Condition
|
|
350
|
-
|
|
351
|
-
| All tasks (always)
|
|
352
|
-
| Task touches database/model | + `schema.md`
|
|
353
|
-
| Task touches API/endpoint
|
|
354
|
-
| Task touches UI/component
|
|
355
|
-
| Requirement is unclear
|
|
369
|
+
| Condition | Read |
|
|
370
|
+
| --------------------------- | ----------------------------- |
|
|
371
|
+
| All tasks (always) | `rules.md`, `architecture.md` |
|
|
372
|
+
| Task touches database/model | + `schema.md` |
|
|
373
|
+
| Task touches API/endpoint | + `api.md` |
|
|
374
|
+
| Task touches UI/component | + `StyleGuide.md` |
|
|
375
|
+
| Requirement is unclear | + `PRD.md` |
|
|
356
376
|
|
|
357
377
|
Scope enforcement: if `scope=frontend`, AI does not touch backend files. If `scope=backend`, AI does not touch frontend files.
|
|
358
378
|
|
|
359
379
|
**Executing tasks** (`references/execute-task.md`)
|
|
360
380
|
|
|
361
381
|
For each task:
|
|
382
|
+
|
|
362
383
|
1. Understand the task and acceptance criteria
|
|
363
384
|
2. Check the ladder: does it need to be built? Does it already exist in the codebase? Is it in the standard library? (YAGNI)
|
|
364
385
|
3. Write an I/O contract for non-trivial functions
|
|
@@ -372,11 +393,13 @@ For each task:
|
|
|
372
393
|
6. Run validation, update `Task.md` (`[ ]` → `[x]`)
|
|
373
394
|
|
|
374
395
|
Developer loads workflow references by state, not all at once:
|
|
396
|
+
|
|
375
397
|
- `onboarding.md` only for missing setup or plan-first
|
|
376
398
|
- `execute-task.md` only for the current task
|
|
377
399
|
- `close-phase.md` only when closing a phase/project
|
|
378
400
|
|
|
379
401
|
**Closing a phase** (`references/close-phase.md`)
|
|
402
|
+
|
|
380
403
|
1. Show a phase summary
|
|
381
404
|
2. Verify the applicable Phase Definition of Done; mark genuine non-applicable items with a reason
|
|
382
405
|
3. If there is a plan file for this phase → update plan status: `in-progress` → `code-review`
|
|
@@ -385,6 +408,7 @@ Developer loads workflow references by state, not all at once:
|
|
|
385
408
|
6. Complete quality-gate DoD items, then offer the next phase
|
|
386
409
|
|
|
387
410
|
**MCPs used (if listed in `availableMCPs`):**
|
|
411
|
+
|
|
388
412
|
- `context7` or equivalent docs MCP — current installed-version library documentation
|
|
389
413
|
- `codebase-memory-mcp` or equivalent graph/symbol tooling — codebase discovery and relationships
|
|
390
414
|
- Other registered MCPs only when relevant to the current task
|
|
@@ -410,9 +434,10 @@ Same as `developer`. Reads `.agents/developer-config.json`, greets by name and p
|
|
|
410
434
|
**Step 0b & 0c — Additional Skills, MCP, Scope**
|
|
411
435
|
Same setup policy as `developer`. Reads from config if already set and asks only for missing required setup.
|
|
412
436
|
|
|
413
|
-
**Step 1 — Pre-flight summary**
|
|
437
|
+
**Step 1 — Pre-flight summary** _(unique to quick-dev)_
|
|
414
438
|
|
|
415
439
|
Before any code is written, AI shows:
|
|
440
|
+
|
|
416
441
|
```
|
|
417
442
|
Quick Dev — Pre-flight
|
|
418
443
|
───────────────────────
|
|
@@ -425,6 +450,7 @@ Assumptions (will proceed unless corrected):
|
|
|
425
450
|
Need confirmation before proceeding: ← omit if none
|
|
426
451
|
[?] [blocking question]
|
|
427
452
|
```
|
|
453
|
+
|
|
428
454
|
- Non-blocking ambiguities go under "Assumptions", not as questions
|
|
429
455
|
- Missing specs (e.g. no `StyleGuide.md` but task touches UI) are flagged here
|
|
430
456
|
- Waits only when a blocking ambiguity exists; otherwise proceeds in the same turn with listed assumptions
|
|
@@ -437,11 +463,11 @@ Loads the same task-execution workflow as `developer`: scope check → delta app
|
|
|
437
463
|
|
|
438
464
|
**Step 4 — Update Task.md**
|
|
439
465
|
|
|
440
|
-
| Condition
|
|
441
|
-
|
|
442
|
-
| Related item found, `[ ]` | Mark `[x]`, add brief note
|
|
443
|
-
| Related item found, `[x]` | Add sub-note about the refinement
|
|
444
|
-
| No related item
|
|
466
|
+
| Condition | Action |
|
|
467
|
+
| ------------------------- | ------------------------------------------------------------------ |
|
|
468
|
+
| Related item found, `[ ]` | Mark `[x]`, add brief note |
|
|
469
|
+
| Related item found, `[x]` | Add sub-note about the refinement |
|
|
470
|
+
| No related item | Append to active phase as `[x]` with tag `(quick-fix: YYYY-MM-DD)` |
|
|
445
471
|
|
|
446
472
|
**Step 5 — Quality gates**
|
|
447
473
|
Runs full `spec-compliance` then `code-review`. Both follow `fixMode` from config.
|
|
@@ -449,6 +475,7 @@ Runs full `spec-compliance` then `code-review`. Both follow `fixMode` from confi
|
|
|
449
475
|
**Important behavior:** quick-dev is a bounded router, not a separate implementation philosophy. It follows the same shared implementation principles, testing policy, and approval gates as `developer`, but only for small, clearly anchored work. Anything broader routes back to `developer`.
|
|
450
476
|
|
|
451
477
|
**Step 6 — Final report**
|
|
478
|
+
|
|
452
479
|
```
|
|
453
480
|
Quick Dev — Done
|
|
454
481
|
─────────────────
|
|
@@ -473,16 +500,16 @@ Remaining ambiguities: ← omit if none
|
|
|
473
500
|
|
|
474
501
|
**Checklist (8 items):**
|
|
475
502
|
|
|
476
|
-
| ID
|
|
477
|
-
|
|
478
|
-
| SC-01 | PRD Compliance
|
|
479
|
-
| SC-02 | Architecture Compliance | stack, boundaries, patterns, auth, observability/rollback/recovery when touched
|
|
480
|
-
| SC-03 | Schema Compliance
|
|
481
|
-
| SC-04 | API Compliance
|
|
482
|
-
| SC-05 | Rules Compliance
|
|
483
|
-
| SC-06 | StyleGuide Compliance
|
|
484
|
-
| SC-07 | Task Completion
|
|
485
|
-
| SC-08 | Scope Compliance
|
|
503
|
+
| ID | Aspect | Documents Read |
|
|
504
|
+
| ----- | ----------------------- | -------------------------------------------------------------------------------------------- |
|
|
505
|
+
| SC-01 | PRD Compliance | scope, business rules, acceptance/NFR, metrics/rollout and degraded behavior when applicable |
|
|
506
|
+
| SC-02 | Architecture Compliance | stack, boundaries, patterns, auth, observability/rollback/recovery when touched |
|
|
507
|
+
| SC-03 | Schema Compliance | datastore-native names, validation, tenancy, concurrency, retention and evolution |
|
|
508
|
+
| SC-04 | API Compliance | protocol-native operations, errors, auth, reliability, lifecycle and contract invariants |
|
|
509
|
+
| SC-05 | Rules Compliance | `[FORBIDDEN]`, naming, security, testing and applicable operational conventions |
|
|
510
|
+
| SC-06 | StyleGuide Compliance | tokens, responsive behavior, accessibility, localization and operational states |
|
|
511
|
+
| SC-07 | Task Completion | acceptance criteria, traceability and applicable Phase Definition of Done |
|
|
512
|
+
| SC-08 | Scope Compliance | `developer-config.json` — frontend/backend scope respected, no files outside scope |
|
|
486
513
|
|
|
487
514
|
**Severity:** `💥 BLOCKER` → fix now, re-run | `🔴 MAJOR` → fix before the next phase | `⚠️ MINOR` → discuss | `✅ PASS` → continue to `code-review`
|
|
488
515
|
|
|
@@ -500,39 +527,42 @@ Remaining ambiguities: ← omit if none
|
|
|
500
527
|
**Called when:** Automatically after `spec-compliance` is clean. Can also be called manually any time.
|
|
501
528
|
|
|
502
529
|
**Fix mode (runtime default + can be set in config):**
|
|
530
|
+
|
|
503
531
|
```
|
|
504
532
|
A) Report first — show all findings, wait for confirmation before fixing
|
|
505
533
|
B) Fix now — automatically fix BLOCKER/MAJOR, full report at the end
|
|
506
534
|
```
|
|
535
|
+
|
|
507
536
|
If this field is missing, the default is `report-first`. To change it, the user or config workflow can set `codeReviewPreferences.fixMode` in `developer-config.json`.
|
|
508
537
|
|
|
509
538
|
**Phase 1 — 27-Item Code Quality:**
|
|
510
539
|
|
|
511
|
-
| Tier
|
|
512
|
-
|
|
513
|
-
| 💥 BLOCKER | CR-01 Wrong imports · CR-02 Runtime errors · CR-03 Null/undefined · CR-04 SQL injection · CR-05 Deprecated methods
|
|
514
|
-
| 🔴 MAJOR
|
|
515
|
-
| ⚠️ MINOR
|
|
516
|
-
| ℹ️ INFO
|
|
540
|
+
| Tier | Item |
|
|
541
|
+
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
542
|
+
| 💥 BLOCKER | CR-01 Wrong imports · CR-02 Runtime errors · CR-03 Null/undefined · CR-04 SQL injection · CR-05 Deprecated methods |
|
|
543
|
+
| 🔴 MAJOR | CR-06 Duplicate function · CR-07 Unused code · CR-08 Duplicate logic · CR-09 Obsolete code · CR-10 Inconsistent naming · CR-11 Ignoring existing code · CR-12 Missing dependency · CR-13 Dependency conflict · CR-14 Memory leaks · CR-15 Security ignored · CR-16 Missing required rate-limit handling · CR-17 Missing tests required by `rules.md` |
|
|
544
|
+
| ⚠️ MINOR | CR-18 Edge cases · CR-19 Happy path only · CR-20 Performance · CR-21 Outdated pattern · CR-22 Under-engineering · CR-23 Over-engineering · CR-24 Environment assumptions |
|
|
545
|
+
| ℹ️ INFO | CR-25 Missing comments · CR-26 Jargon · CR-27 Comment quality |
|
|
517
546
|
|
|
518
547
|
**Phase 2 — 10 Security Essentials:**
|
|
519
548
|
|
|
520
|
-
| ID
|
|
521
|
-
|
|
522
|
-
| SEC-01 | Injection Prevention — SQL, shell, eval
|
|
523
|
-
| SEC-02 | Authentication — password hashing, cookie attributes
|
|
524
|
-
| SEC-03 | Authorization — deny-by-default, ownership checks, mass assignment
|
|
525
|
-
| SEC-04 | XSS Prevention — innerHTML, dangerouslySetInnerHTML
|
|
526
|
-
| SEC-05 | API Security — rate limiting, CORS, JWT verification
|
|
527
|
-
| SEC-06 | Data Protection & Logging — no sensitive logs, no hardcoded secrets
|
|
528
|
-
| SEC-07 | Error Handling Security — fail-closed, no swallowed exceptions
|
|
529
|
-
| SEC-08 | Input Validation — body/params/query/headers/cookies
|
|
549
|
+
| ID | Aspect |
|
|
550
|
+
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
551
|
+
| SEC-01 | Injection Prevention — SQL, shell, eval |
|
|
552
|
+
| SEC-02 | Authentication — password hashing, cookie attributes |
|
|
553
|
+
| SEC-03 | Authorization — deny-by-default, ownership checks, mass assignment |
|
|
554
|
+
| SEC-04 | XSS Prevention — innerHTML, dangerouslySetInnerHTML |
|
|
555
|
+
| SEC-05 | API Security — rate limiting, CORS, JWT verification |
|
|
556
|
+
| SEC-06 | Data Protection & Logging — no sensitive logs, no hardcoded secrets |
|
|
557
|
+
| SEC-07 | Error Handling Security — fail-closed, no swallowed exceptions |
|
|
558
|
+
| SEC-08 | Input Validation — body/params/query/headers/cookies |
|
|
530
559
|
| SEC-09 | Framework-Specific Security — AI reads `architecture.md` to detect the framework: **Next.js** (`NEXT_PUBLIC_*`, Server Actions, middleware, wildcard image domains), **Laravel** (CSRF, Eloquent, `.env`), **Django** (`ALLOWED_HOSTS`, `DEBUG`, `SECRET_KEY`), **Express/NestJS** (`helmet`, CORS, body limits), **Rails** (strong params) |
|
|
531
|
-
| SEC-10 | Dependency Vulnerabilities — packages with critical/high CVEs (`npm audit`, `pip audit`, `composer audit`, etc.)
|
|
560
|
+
| SEC-10 | Dependency Vulnerabilities — packages with critical/high CVEs (`npm audit`, `pip audit`, `composer audit`, etc.) |
|
|
532
561
|
|
|
533
562
|
**Format for each finding:** Where? → If not fixed? → If fixed? → Recommended fix
|
|
534
563
|
|
|
535
564
|
**Update plan after review completes** (if a plan file exists for this phase):
|
|
565
|
+
|
|
536
566
|
- **Plan-level deviation exists** (wrong library, pattern not followed, scope changed, approach differs from the plan) → add a note to the plan + change status: `code-review` → `done`
|
|
537
567
|
- **No plan deviation** (only code quality issues: naming, formatting, security hardening) → change status only: `code-review` → `done`, with no note
|
|
538
568
|
|
|
@@ -558,6 +588,7 @@ If this field is missing, the default is `report-first`. To change it, the user
|
|
|
558
588
|
- Plans in `project-context/plans/` — list all plan files and their statuses (`review` / `in-progress` / `code-review` / `done`)
|
|
559
589
|
|
|
560
590
|
**Output format:**
|
|
591
|
+
|
|
561
592
|
```
|
|
562
593
|
Checking your project now...
|
|
563
594
|
|
|
@@ -594,6 +625,7 @@ Recommended next steps: ...
|
|
|
594
625
|
**Called when:** A bug needs to be fixed.
|
|
595
626
|
|
|
596
627
|
**Workflow:**
|
|
628
|
+
|
|
597
629
|
1. You describe the bug (symptoms, location, reproduction steps, error message)
|
|
598
630
|
2. AI checks `bug-log.md` — has it happened before?
|
|
599
631
|
- **Identical** → apply the same fix (ask for confirmation first)
|
|
@@ -618,6 +650,7 @@ Recommended next steps: ...
|
|
|
618
650
|
**Called when:** A new feature needs to be added to an existing project.
|
|
619
651
|
|
|
620
652
|
**Workflow:**
|
|
653
|
+
|
|
621
654
|
1. You describe the new feature (name, function, users, reason)
|
|
622
655
|
2. AI reads all specs in `project-context/`
|
|
623
656
|
3. AI shows an impact analysis — which documents are affected (including `plans/`)
|
|
@@ -642,10 +675,10 @@ Recommended next steps: ...
|
|
|
642
675
|
**Two modes:**
|
|
643
676
|
|
|
644
677
|
**Project Mode** — audit `project-context/`
|
|
645
|
-
Checks consistency
|
|
678
|
+
Checks consistency _between_ documents: persisted entities with no supporting operation? Features with no task? PRD metrics with no observability signal? Rollout without rollback? Architecture decisions conflicting with rules? Traceability IDs referenced but missing?
|
|
646
679
|
|
|
647
680
|
**Framework Mode** — audit MACCA itself
|
|
648
|
-
Checks consistency
|
|
681
|
+
Checks consistency _between_ skill instructions: are README, skill docs, and workflow aligned, or do they conflict?
|
|
649
682
|
|
|
650
683
|
**What it checks:** direct conflicts → workflow drift → inconsistencies → ambiguities
|
|
651
684
|
|
|
@@ -663,6 +696,7 @@ Checks consistency *between* skill instructions: are README, skill docs, and wor
|
|
|
663
696
|
**Called when:** The project already exists but has no spec documents yet.
|
|
664
697
|
|
|
665
698
|
**Two modes:**
|
|
699
|
+
|
|
666
700
|
```
|
|
667
701
|
Mode A — Batch Generate: scan the full codebase, generate everything at once.
|
|
668
702
|
Mode B — Guided Generate: one document → you review → confirm → continue.
|
|
@@ -673,8 +707,9 @@ Mode B — Guided Generate: one document → you review → confirm → continue
|
|
|
673
707
|
`PRD.md` is created last because it is synthesized from observed behavior, not guessed intent.
|
|
674
708
|
|
|
675
709
|
**Each generated document includes:**
|
|
710
|
+
|
|
676
711
|
- **Evidence Inputs** — files/sources used as the basis for each claim
|
|
677
|
-
- **Confidence Level** per claim:
|
|
712
|
+
- **Confidence Level** per claim: _High_ (seen directly in code) / _Medium_ (strong inference) / _Low_ (guess, needs verification)
|
|
678
713
|
- **Confidence Summary** — summary of strong facts, inferences, and what still needs manual verification
|
|
679
714
|
- **Missing Decisions** — choices that cannot be proven from code, with the recommended owning brainstorm skill
|
|
680
715
|
|
|
@@ -692,6 +727,7 @@ Mode B — Guided Generate: one document → you review → confirm → continue
|
|
|
692
727
|
**How it works:** Provide agenda, desired outcome, hard constraints, optional evidence, and participants in one setup. In one response, every selected persona gives exactly one evidence/assumption-labeled recommendation in a fixed order. @Galbi then summarizes decisions, open questions, action items, and artifact handoffs before closing automatically. A second round requires a new `meet` invocation.
|
|
693
728
|
|
|
694
729
|
**Available personas:**
|
|
730
|
+
|
|
695
731
|
- `@Galbi` — Project Manager: scope, priorities, business impact
|
|
696
732
|
- `@Fachri` — Tech Lead: technical decisions, trade-offs, security
|
|
697
733
|
- `@Akram` — UI/UX Designer: usability, visual consistency, accessibility
|
|
@@ -730,13 +766,13 @@ Verdicts: `READY`, `CONDITIONAL`, or `NOT READY`. Missing required evidence is `
|
|
|
730
766
|
|
|
731
767
|
## 6. The MACCA AI Team
|
|
732
768
|
|
|
733
|
-
| Persona
|
|
734
|
-
|
|
735
|
-
| **@Galbi**
|
|
736
|
-
| **@Fachri**
|
|
737
|
-
| **@Akram**
|
|
738
|
-
| **@Firdaus** | Expert Developer | `developer`, `quick-dev`
|
|
739
|
-
| **@Ikhsan**
|
|
769
|
+
| Persona | Role | Skills |
|
|
770
|
+
| ------------ | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
771
|
+
| **@Galbi** | Project Manager | `brainstorm-prd`, `brainstorm-task`, `add-feature`, `help`, `meet` |
|
|
772
|
+
| **@Fachri** | Tech Lead | `brainstorm-architecture`, `brainstorm-api`, `brainstorm-schema`, `brainstorm-rules`, `spec-init`, `spec-audit`, `spec-compliance`, `code-review`, `release-readiness` |
|
|
773
|
+
| **@Akram** | UI/UX Designer | `brainstorm-styleguide` |
|
|
774
|
+
| **@Firdaus** | Expert Developer | `developer`, `quick-dev` |
|
|
775
|
+
| **@Ikhsan** | Debugger | `bug-fix` |
|
|
740
776
|
|
|
741
777
|
> **Persona Rule:** Do not swap the persona assigned to a skill. Its instructions, tone, and responsibilities are designed for that role.
|
|
742
778
|
|
|
@@ -932,13 +968,13 @@ Use the skill help
|
|
|
932
968
|
|
|
933
969
|
You normally do not need to remember skill names. OpenCode and Copilot advertise each skill's `name` and `description`, then the model selects a relevant skill. Requests that can mutate broad source-of-truth documents or start implementation require clear user intent; read-only routing and bounded workflows may activate automatically.
|
|
934
970
|
|
|
935
|
-
| Invocation policy
|
|
936
|
-
|
|
937
|
-
| Explicit intent
|
|
938
|
-
| Explicit implementation intent
|
|
939
|
-
| Model-auto router
|
|
940
|
-
| Both direct and automatic/orchestrated | `brainstorm-task`, `bug-fix`, `code-review`, `spec-audit`, `release-readiness`, `help`, `meet`
|
|
941
|
-
| Primarily orchestrated
|
|
971
|
+
| Invocation policy | Skills |
|
|
972
|
+
| -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
973
|
+
| Explicit intent | `brainstorm-prd`, `brainstorm-architecture`, `brainstorm-schema`, `brainstorm-api`, `brainstorm-styleguide`, `brainstorm-rules`, `add-feature`, `spec-init` |
|
|
974
|
+
| Explicit implementation intent | `developer` — phrases such as "implement Phase 2" are sufficient; the skill name is not required |
|
|
975
|
+
| Model-auto router | `quick-dev` for bounded small implementation requests that still map clearly to the current project context |
|
|
976
|
+
| Both direct and automatic/orchestrated | `brainstorm-task`, `bug-fix`, `code-review`, `spec-audit`, `release-readiness`, `help`, `meet` |
|
|
977
|
+
| Primarily orchestrated | `spec-compliance`, called by execution/remediation workflows |
|
|
942
978
|
|
|
943
979
|
Agent Skills has no portable `user-invocable` or `disable-model-invocation` field. Copilot VS Code supports these as vendor extensions, but OpenCode ignores them. MACCA therefore keeps canonical frontmatter portable and enforces intent through descriptions, scope checks, and confirmation gates. Host-specific slash commands or permissions may be added as optional adapters, never as the only safety mechanism.
|
|
944
980
|
|
|
@@ -982,17 +1018,17 @@ your-project/
|
|
|
982
1018
|
|
|
983
1019
|
Each installed skills folder contains `_shared` plus these 18 MACCA skills: `add-feature`, `brainstorm-api`, `brainstorm-architecture`, `brainstorm-prd`, `brainstorm-rules`, `brainstorm-schema`, `brainstorm-styleguide`, `brainstorm-task`, `bug-fix`, `code-review`, `developer`, `help`, `meet`, `quick-dev`, `release-readiness`, `spec-audit`, `spec-compliance`, and `spec-init`.
|
|
984
1020
|
|
|
985
|
-
| AI Tool
|
|
986
|
-
|
|
987
|
-
| GitHub Copilot | `.github/skills/`
|
|
988
|
-
| Cursor
|
|
989
|
-
| Claude Code
|
|
990
|
-
| Windsurf
|
|
991
|
-
| Gemini CLI
|
|
992
|
-
| OpenCode
|
|
993
|
-
| Kilo Code
|
|
994
|
-
| Codex (OpenAI) | `.agents/skills/`
|
|
995
|
-
| Kimi CLI
|
|
1021
|
+
| AI Tool | Skills Folder |
|
|
1022
|
+
| -------------- | ------------------- |
|
|
1023
|
+
| GitHub Copilot | `.github/skills/` |
|
|
1024
|
+
| Cursor | `.cursor/skills/` |
|
|
1025
|
+
| Claude Code | `.claude/skills/` |
|
|
1026
|
+
| Windsurf | `.windsurf/skills/` |
|
|
1027
|
+
| Gemini CLI | `.gemini/skills/` |
|
|
1028
|
+
| OpenCode | `.opencode/skills/` |
|
|
1029
|
+
| Kilo Code | `.kilo/skills/` |
|
|
1030
|
+
| Codex (OpenAI) | `.agents/skills/` |
|
|
1031
|
+
| Kimi CLI | `.agents/skills/` |
|
|
996
1032
|
|
|
997
1033
|
The installer validates path containment, refuses symlink escapes and unowned collisions, preserves `developer-config.json`, detects local drift through SHA-256 hashes, and journals install/upgrade transactions for recovery. CI runs the full package/install/upgrade suite on Ubuntu, Windows, and macOS with Node 18 and 22.
|
|
998
1034
|
|
|
@@ -1046,19 +1082,19 @@ The `.agents/developer-config.json` file is shared config across skills. All ski
|
|
|
1046
1082
|
}
|
|
1047
1083
|
```
|
|
1048
1084
|
|
|
1049
|
-
| Field
|
|
1050
|
-
|
|
1051
|
-
| `name`
|
|
1052
|
-
| `project`
|
|
1053
|
-
| `languagePreferences`
|
|
1054
|
-
| `developerPreferences.workMode`
|
|
1055
|
-
| `developerPreferences.scope`
|
|
1056
|
-
| `brainstormPreferences.discussionMode`
|
|
1057
|
-
| `brainstormPreferences.recommendations` | brainstorm-* skills
|
|
1058
|
-
| `brainstormPreferences.discoveryDepth`
|
|
1059
|
-
| `codeReviewPreferences.fixMode`
|
|
1060
|
-
| `additionalSkills`
|
|
1061
|
-
| `availableMCPs`
|
|
1085
|
+
| Field | Filled by | Description |
|
|
1086
|
+
| --------------------------------------- | --------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
|
1087
|
+
| `name` | `developer` (Step 0) | Asked once |
|
|
1088
|
+
| `project` | `developer` (Step 0) | Asked once |
|
|
1089
|
+
| `languagePreferences` | installer / first skill | Communication language and document language |
|
|
1090
|
+
| `developerPreferences.workMode` | `developer` (`references/onboarding.md` § Work Mode) | `"direct"` or `"plan-first"` |
|
|
1091
|
+
| `developerPreferences.scope` | `developer` (`references/onboarding.md` § Developer Scope) | `"frontend"`, `"backend"`, or `"fullstack"` |
|
|
1092
|
+
| `brainstormPreferences.discussionMode` | brainstorm-* skills | `"one-by-one"`, `"three-at-a-time"`, or `"all-at-once"` |
|
|
1093
|
+
| `brainstormPreferences.recommendations` | brainstorm-* skills | `true` = AI gives suggested answers for each question |
|
|
1094
|
+
| `brainstormPreferences.discoveryDepth` | brainstorm-* skills | `"quick"`, `"standard"`, or `"critical"`; inferred when absent, user-overridable |
|
|
1095
|
+
| `codeReviewPreferences.fixMode` | user / config runtime | `"report-first"` or `"fix-then-report"` |
|
|
1096
|
+
| `additionalSkills` | `developer` (`references/onboarding.md` § Additional Skills and MCPs) | AI searches for the path in the workspace first, then asks only if it is not found |
|
|
1097
|
+
| `availableMCPs` | `developer` (`references/onboarding.md` § Additional Skills and MCPs) | Available MCPs; only listed MCPs are used |
|
|
1062
1098
|
|
|
1063
1099
|
**Rule:** all skills must **merge**, not overwrite the file. Unknown fields must be preserved.
|
|
1064
1100
|
|
|
@@ -1069,39 +1105,39 @@ The `.agents/developer-config.json` file is shared config across skills. All ski
|
|
|
1069
1105
|
<details>
|
|
1070
1106
|
<summary><strong>Glossary & Traceability ID</strong></summary>
|
|
1071
1107
|
|
|
1072
|
-
| Term
|
|
1073
|
-
|
|
1074
|
-
| **Skill**
|
|
1075
|
-
| **Spec**
|
|
1076
|
-
| **Subagent**
|
|
1077
|
-
| **project-context/**
|
|
1078
|
-
| **[FORBIDDEN]**
|
|
1079
|
-
| **[SELF-REVIEW]**
|
|
1080
|
-
| **Traceability ID**
|
|
1081
|
-
| **Acceptance Criteria** | Concrete conditions for a task to be considered done
|
|
1082
|
-
| **scope**
|
|
1083
|
-
| **fixMode**
|
|
1084
|
-
| **discoveryDepth**
|
|
1085
|
-
| **availableMCPs**
|
|
1086
|
-
| **Confidence Level**
|
|
1087
|
-
| **Evidence Inputs**
|
|
1088
|
-
| **Plan status**
|
|
1089
|
-
| **Plan deviation**
|
|
1090
|
-
| **Definition of Done**
|
|
1091
|
-
| **Release readiness**
|
|
1108
|
+
| Term | Explanation |
|
|
1109
|
+
| ----------------------- | -------------------------------------------------------------------------------------------------------------- |
|
|
1110
|
+
| **Skill** | Full instructions for AI — like an SOP for AI |
|
|
1111
|
+
| **Spec** | Planning document containing all decisions before coding |
|
|
1112
|
+
| **Subagent** | Helper agent for focused exploration/analysis |
|
|
1113
|
+
| **project-context/** | Folder where all spec documents are stored |
|
|
1114
|
+
| **[FORBIDDEN]** | Section in `rules.md` — technical prohibitions scanned by AI before coding |
|
|
1115
|
+
| **[SELF-REVIEW]** | Short developer reflection after each task: security risk, performance, spec assumption |
|
|
1116
|
+
| **Traceability ID** | Stable label (`FEAT-01`, `API-03`) for tracing requirements from PRD to implementation |
|
|
1117
|
+
| **Acceptance Criteria** | Concrete conditions for a task to be considered done |
|
|
1118
|
+
| **scope** | Developer work boundary: frontend-only, backend-only, or fullstack |
|
|
1119
|
+
| **fixMode** | `code-review` preference: report first or fix immediately |
|
|
1120
|
+
| **discoveryDepth** | Brainstorm detail level independent from question batching: quick/standard/critical |
|
|
1121
|
+
| **availableMCPs** | MCPs listed and available for use in this project |
|
|
1122
|
+
| **Confidence Level** | In `spec-init`: High/Medium/Low for claims derived from codebase analysis |
|
|
1123
|
+
| **Evidence Inputs** | In `spec-init`: files/sources used as evidence for a claim |
|
|
1124
|
+
| **Plan status** | Plan file lifecycle status: `review` → `in-progress` → `code-review` → `done` |
|
|
1125
|
+
| **Plan deviation** | Implementation drift from decisions in the plan (library, pattern, scope) — recorded by `code-review` if found |
|
|
1126
|
+
| **Definition of Done** | Phase-level evidence checklist derived from applicable specs and quality gates |
|
|
1127
|
+
| **Release readiness** | Report-only operational verdict for a specific candidate and target environment |
|
|
1092
1128
|
|
|
1093
1129
|
**Traceability ID Scheme:**
|
|
1094
1130
|
|
|
1095
|
-
| Prefix
|
|
1096
|
-
|
|
1097
|
-
| `FEAT-01` | Main feature in `PRD.md`
|
|
1098
|
-
| `BR-01`
|
|
1099
|
-
| `NFR-01`
|
|
1100
|
-
| `AC-01`
|
|
1101
|
-
| `US-01`
|
|
1131
|
+
| Prefix | Used for |
|
|
1132
|
+
| --------- | ------------------------------------------------------------------ |
|
|
1133
|
+
| `FEAT-01` | Main feature in `PRD.md` |
|
|
1134
|
+
| `BR-01` | Business rule in `PRD.md` |
|
|
1135
|
+
| `NFR-01` | Non-functional requirement in `PRD.md` |
|
|
1136
|
+
| `AC-01` | Acceptance Criteria in `PRD.md` |
|
|
1137
|
+
| `US-01` | User story in `PRD.md` |
|
|
1102
1138
|
| `DATA-01` | Datastore-native entity/aggregate/collection/stream in `schema.md` |
|
|
1103
|
-
| `API-01`
|
|
1104
|
-
| `RULE-01` | Rule in `rules.md` referenced across documents
|
|
1139
|
+
| `API-01` | REST/GraphQL/RPC/event operation in `api.md` |
|
|
1140
|
+
| `RULE-01` | Rule in `rules.md` referenced across documents |
|
|
1105
1141
|
|
|
1106
1142
|
</details>
|
|
1107
1143
|
|
|
@@ -1163,12 +1199,12 @@ No. Scope, work mode, additional skills, MCPs, review mode, brainstorm pacing, r
|
|
|
1163
1199
|
|
|
1164
1200
|
When you choose `plan-first`, AI creates a plan file in `project-context/plans/phase-[N]-[slug].md` before coding starts. The plan has a status header that is updated automatically through this lifecycle:
|
|
1165
1201
|
|
|
1166
|
-
| Status
|
|
1167
|
-
|
|
1168
|
-
| `review`
|
|
1169
|
-
| `in-progress` | Coding starts after you type `start`.
|
|
1170
|
-
| `code-review` | All tasks in the phase are complete and are being reviewed by `code-review`.
|
|
1171
|
-
| `done`
|
|
1202
|
+
| Status | Meaning |
|
|
1203
|
+
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1204
|
+
| `review` | The plan was just created — you read and review it first. Type `start` if you agree. |
|
|
1205
|
+
| `in-progress` | Coding starts after you type `start`. |
|
|
1206
|
+
| `code-review` | All tasks in the phase are complete and are being reviewed by `code-review`. |
|
|
1207
|
+
| `done` | Code review is complete. If implementation deviated from the plan (wrong library, different pattern), AI adds a note to the plan. If there is no deviation, status changes to `done` with no note. |
|
|
1172
1208
|
|
|
1173
1209
|
Plans are also recognized by `help` (displayed with status) and `add-feature` (updated if the phase is affected).
|
|
1174
1210
|
|