macca-method 2.1.2 → 3.0.0-rc.1

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.
Files changed (89) hide show
  1. package/.agents/macca-lock.json +2 -1
  2. package/.agents/macca-managed-skills.txt +1 -0
  3. package/.agents/skills/_shared/references/additional-skills.md +17 -1
  4. package/.agents/skills/_shared/references/brainstorm-session.md +61 -21
  5. package/.agents/skills/_shared/references/config-mutation.md +58 -18
  6. package/.agents/skills/_shared/references/fix-mode.md +21 -7
  7. package/.agents/skills/_shared/references/human-loop.md +2 -0
  8. package/.agents/skills/_shared/references/implementation-principles.md +4 -0
  9. package/.agents/skills/_shared/references/interaction-contract.md +33 -0
  10. package/.agents/skills/_shared/references/invocation-policy.md +14 -3
  11. package/.agents/skills/_shared/references/language-config.md +24 -4
  12. package/.agents/skills/_shared/references/output-ownership.md +12 -5
  13. package/.agents/skills/_shared/references/planning-principles.md +35 -0
  14. package/.agents/skills/_shared/references/scope-delta.md +21 -0
  15. package/.agents/skills/_shared/references/scope-rules.md +1 -1
  16. package/.agents/skills/_shared/references/skill-catalog.md +30 -13
  17. package/.agents/skills/_shared/references/workspace-safety.md +11 -0
  18. package/.agents/skills/_shared/scripts/config-file.js +132 -0
  19. package/.agents/skills/_shared/scripts/config-validator.js +164 -0
  20. package/.agents/skills/_shared/scripts/read-preferences.js +128 -0
  21. package/.agents/skills/add-feature/SKILL.md +24 -18
  22. package/.agents/skills/brainstorm-api/SKILL.md +24 -23
  23. package/.agents/skills/brainstorm-api/assets/api.template.md +11 -23
  24. package/.agents/skills/brainstorm-architecture/SKILL.md +41 -48
  25. package/.agents/skills/brainstorm-architecture/assets/architecture.template.md +24 -16
  26. package/.agents/skills/brainstorm-prd/SKILL.md +26 -28
  27. package/.agents/skills/brainstorm-prd/assets/PRD.template.md +10 -9
  28. package/.agents/skills/brainstorm-rules/SKILL.md +42 -46
  29. package/.agents/skills/brainstorm-rules/assets/rules.template.md +8 -8
  30. package/.agents/skills/brainstorm-schema/SKILL.md +17 -17
  31. package/.agents/skills/brainstorm-schema/assets/schema.template.md +9 -8
  32. package/.agents/skills/brainstorm-styleguide/SKILL.md +27 -26
  33. package/.agents/skills/brainstorm-styleguide/assets/StyleGuide.template.md +27 -51
  34. package/.agents/skills/brainstorm-task/SKILL.md +53 -37
  35. package/.agents/skills/brainstorm-task/assets/Task.template.md +11 -12
  36. package/.agents/skills/bug-fix/SKILL.md +78 -175
  37. package/.agents/skills/bug-fix/assets/bug-log.template.md +61 -0
  38. package/.agents/skills/code-review/SKILL.md +14 -6
  39. package/.agents/skills/code-review/references/review-checklist.md +24 -44
  40. package/.agents/skills/developer/SKILL.md +23 -25
  41. package/.agents/skills/developer/references/close-phase.md +11 -6
  42. package/.agents/skills/developer/references/execute-task.md +15 -8
  43. package/.agents/skills/developer/references/onboarding.md +16 -19
  44. package/.agents/skills/help/SKILL.md +49 -49
  45. package/.agents/skills/meet/SKILL.md +37 -85
  46. package/.agents/skills/quick-dev/SKILL.md +40 -75
  47. package/.agents/skills/release-readiness/SKILL.md +1 -1
  48. package/.agents/skills/setup-macca-method/SKILL.md +79 -0
  49. package/.agents/skills/spec-audit/SKILL.md +21 -17
  50. package/.agents/skills/spec-compliance/SKILL.md +36 -18
  51. package/.agents/skills/spec-init/SKILL.md +53 -22
  52. package/CHANGELOG.md +31 -0
  53. package/README.md +92 -1195
  54. package/bin/macca-method.js +833 -286
  55. package/docs/configuration.md +174 -0
  56. package/docs/troubleshooting.md +180 -0
  57. package/docs/workflows.md +175 -0
  58. package/package.json +48 -4
  59. package/scripts/lib/npm-command.js +76 -0
  60. package/scripts/test-cli-setup.js +869 -0
  61. package/scripts/test-config.js +320 -0
  62. package/scripts/test-install.js +63 -28
  63. package/scripts/test-installer-safety.js +545 -0
  64. package/scripts/test-npm-command.js +143 -0
  65. package/scripts/test-package-safety.js +252 -0
  66. package/scripts/test-preferences.js +475 -0
  67. package/scripts/test-upgrade-legacy.js +11 -21
  68. package/scripts/validate-docs.js +166 -0
  69. package/scripts/validate-package.js +285 -0
  70. package/scripts/validate-skill-behavior.js +914 -12
  71. package/.agents/skills/antislop-copywriting/SKILL.md +0 -372
  72. package/.agents/skills/skill-creator/LICENSE.txt +0 -202
  73. package/.agents/skills/skill-creator/SKILL.md +0 -485
  74. package/.agents/skills/skill-creator/agents/analyzer.md +0 -274
  75. package/.agents/skills/skill-creator/agents/comparator.md +0 -202
  76. package/.agents/skills/skill-creator/agents/grader.md +0 -223
  77. package/.agents/skills/skill-creator/assets/eval_review.html +0 -146
  78. package/.agents/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  79. package/.agents/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  80. package/.agents/skills/skill-creator/references/schemas.md +0 -441
  81. package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
  82. package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  83. package/.agents/skills/skill-creator/scripts/generate_report.py +0 -326
  84. package/.agents/skills/skill-creator/scripts/improve_description.py +0 -247
  85. package/.agents/skills/skill-creator/scripts/package_skill.py +0 -136
  86. package/.agents/skills/skill-creator/scripts/quick_validate.py +0 -103
  87. package/.agents/skills/skill-creator/scripts/run_eval.py +0 -310
  88. package/.agents/skills/skill-creator/scripts/run_loop.py +0 -328
  89. package/.agents/skills/skill-creator/scripts/utils.py +0 -47
package/README.md CHANGED
@@ -1,1248 +1,145 @@
1
1
  # MACCA — Method
2
2
 
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.
3
+ **Plan, build, and check software with AI using written requirements.** MACCA is a collection of skills that helps your coding assistant turn an idea into a plan, implement approved work, and check the result against your decisions. It supports new projects and existing codebases.
4
4
 
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.
5
+ You describe the goal and make important decisions. Your AI assistant guides the technical work, records the relevant agreements, and explains what was checked and what remains uncertain. You can ask for plain-language explanations or technical detail.
6
6
 
7
- ![MACCA Method](image-macca-method.webp)
8
-
9
- ---
10
-
11
- ## Table of Contents
12
-
13
- 1. [Problem Solved](#1-problem-solved)
14
- 2. [How It Works](#2-how-it-works)
15
- 3. [Planning Skills](#3-planning-skills)
16
- 4. [Execution Skills](#4-execution-skills)
17
- 5. [Utility Skills](#5-utility-skills)
18
- 6. [The MACCA AI Team](#6-the-macca-ai-team)
19
- 7. [Workflow](#7-workflow)
20
- 8. [Installation & Usage](#8-installation--usage)
21
- 9. [Configuration](#9-configuration)
22
- 10. [Frequently Asked Questions](#10-frequently-asked-questions)
23
- 11. [License](#11-license)
24
-
25
- ---
26
-
27
- ## 1. Problem Solved
28
-
29
- When using AI for coding without clear guidance, these problems are common:
30
-
31
- - AI writes code that does not match business needs
32
- - Each AI session seems to "forget" previous project context
33
- - There is no code standard — each file is written in a different style
34
- - It is hard to know when a feature is truly done
35
- - The same bugs appear again and again
36
-
37
- **MACCA solves this** by writing all decisions first in spec documents: features, database, API, UI, and code standards. AI reads those documents before coding, then verifies the result after coding.
38
-
39
- ---
40
-
41
- ## 2. How It Works
42
-
43
- MACCA uses **skills** — structured instructions given to AI to perform specific tasks. Each skill has a clear responsibility and does not overlap.
44
-
45
- Skills use progressive disclosure: only names/descriptions are advertised initially, the selected `SKILL.md` loads on demand, and long templates/checklists load only at the phase that needs them. This keeps discovery complete without placing every workflow and output template in context at once.
46
-
47
- The full project flow is documented in [Workflow](#7-workflow). `brainstorm-styleguide` is optional and additive; it never replaces `brainstorm-schema`, `brainstorm-api`, or `brainstorm-rules`.
48
-
49
- All planning output documents are stored in `project-context/` in your project.
50
-
51
- > **Any time:** you can call `help` to see project status and recommended next steps, or `meet` for one structured round of multi-persona input before continuing.
52
-
53
- ---
54
-
55
- ## 3. Planning Skills
56
-
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
-
59
- 1. **Pacing**: (A) one by one · (B) three at a time · (C) all at once
60
- 2. **Recommendations**: should AI provide suggested answers for each question?
61
-
62
- These choices are saved and reused. Discovery depth is separate from pacing:
63
-
64
- - **quick** — only when you explicitly identify disposable prototype/internal experiment work
65
- - **standard** — default production depth
66
- - **critical** — automatic deeper security, failure, recovery, and operational detail for payments, sensitive/regulated data, multi-tenancy, public uploads/webhooks, privileged administration, or high availability
67
-
68
- Depth is inferred from existing context and can be overridden; it does not add a mandatory setup question. Mandatory safety topics are never skipped.
69
-
70
- ---
71
-
72
- <details>
73
- <summary><strong>brainstorm-prd</strong> — Create PRD.md (Product Requirements Document)</summary>
74
-
75
- **Persona:** @Galbi — Project Manager
76
-
77
- **Called when:** Starting a new project for the first time. If `PRD.md` already exists, AI asks before overwriting it.
78
-
79
- **Output:** `project-context/PRD.md`
80
-
81
- **Topic count:** 15 topics
82
-
83
- **Topics covered:**
84
-
85
- 1. Project Goal — long-term vision and what makes the project unique
86
- 2. Target Users — user personas, demographics, pain points
87
- 3. Problem Being Solved — real problem, current workaround, and its cost/limitations
88
- 4. Main Features (MVP) — minimum features required in the first version
89
- 5. Business Rules — rules that must never be broken (for example: stock cannot go negative)
90
- 6. User Flow — happy path, failure scenarios, and degraded behavior
91
- 7. Design & Technical Requirements — platform, references, integrations, preferences
92
- 8. Non-Functional Requirements — performance, security, scalability, accessibility, availability
93
- 9. Success Metrics & Rollout — baseline, target, timeframe, measurement source, owner, launch strategy
94
- 10. Acceptance Criteria — concrete conditions for each feature
95
- 11. Non-Goals — what will _not_ be built
96
- 12. Assumptions — unverified conditions
97
- 13. User Stories — prioritized workflows from the user perspective
98
- 14. Stakeholders — owners and responsibilities
99
- 15. Open Questions — unresolved decisions and risks
100
-
101
- **Important behavior:**
102
-
103
- - Use `Traceability ID` (`FEAT-*`, `BR-*`, `AC-*`, `NFR-*`, `US-*`) so each requirement can be traced to tasks and code
104
- - Do not overwrite existing files without confirmation
105
-
106
- </details>
107
-
108
- ---
109
-
110
- <details>
111
- <summary><strong>brainstorm-architecture</strong> — Create architecture.md (System Architecture)</summary>
112
-
113
- **Persona:** @Fachri — Tech Lead
114
-
115
- **Called when:** After `PRD.md` is complete. **Required** before `brainstorm-schema` and `brainstorm-api`.
116
-
117
- **Read before starting:** `project-context/PRD.md`
118
-
119
- **Output:** `project-context/architecture.md`
120
-
121
- **Topic count:** 10 topics
122
-
123
- **Topics covered:**
124
-
125
- 1. System Context — systems and external services that interact
126
- 2. Tech Stack — frontend, backend, database, hosting, CI/CD, plus strategic dependency/license/health/lock-in/exit evaluation
127
- 3. Folder Structure — project file and directory organization
128
- 4. Design Patterns — architecture patterns (MVC, Clean Architecture, Feature-based, Hexagonal)
129
- 5. Authentication & Authorization — login method, JWT/session, RBAC
130
- 6. API Style — REST, GraphQL, or tRPC
131
- 7. State Management — Zustand, Redux, Context API, etc.
132
- 8. Security & Abuse Cases — required risk screen; depth increases for sensitive systems
133
- 9. Deployment & Operations — environments, deployment, observability, owner/runbook, rollback, and critical-system recovery/RPO/RTO
134
- 10. Architecture Decision Records — major decisions and their reasoning
135
-
136
- **Important behavior:**
137
-
138
- - Every decision must be defensible with reasoning
139
- - The `Tech Stack` and `Folder Structure` fields are mandatory references for `spec-compliance` (SC-02) and `developer` (Step 2)
140
-
141
- </details>
142
-
143
- ---
144
-
145
- <details>
146
- <summary><strong>brainstorm-schema</strong> — Create schema.md (Database Design)</summary>
147
-
148
- **Persona:** @Fachri — Tech Lead
149
-
150
- **Called when:** After `architecture.md` is complete.
151
-
152
- **Read before starting:** `project-context/PRD.md`, `project-context/architecture.md`
153
-
154
- **Output:** `project-context/schema.md`
155
-
156
- **Topic count:** 5 topics
157
-
158
- **Topics covered:**
159
-
160
- 1. Persistence Conventions — identity, naming, audit/version metadata, deletion, retention
161
- 2. Entity/Storage Map — relational, document, key-value, graph, event-store, or mixed
162
- 3. Fields & Data Types — datastore-native validation, PII, volume, growth, payload size
163
- 4. Relationships & Placement — references/embedding/edges/aggregates plus tenancy and concurrency
164
- 5. Access Patterns & Evolution — indexes/projections, consistency, migration, backfill, compatibility, recovery
165
-
166
- **Important behavior:**
167
-
168
- - Give each persisted entity a `Traceability ID` (`DATA-*`)
169
- - Datastore-native names, tenancy, concurrency, retention, and migration constraints are verified by `spec-compliance` (SC-03)
170
-
171
- </details>
172
-
173
- ---
174
-
175
- <details>
176
- <summary><strong>brainstorm-api</strong> — Create api.md (API Endpoint Contract)</summary>
177
-
178
- **Persona:** @Fachri — Tech Lead
179
-
180
- **Called when:** After applicable architecture/data decisions, or after architecture for a frontend consumer contract.
181
-
182
- **Read before starting:** `project-context/PRD.md`, `project-context/architecture.md`, and `project-context/schema.md` when a provider/full contract needs persisted data details.
183
-
184
- **Output:** `project-context/api.md`
185
-
186
- **Topic count:** 5 topics
187
-
188
- **Topics covered:**
189
-
190
- 1. Entry Point, Versioning, Deprecation & Auth — protocol-native compatibility and lifecycle
191
- 2. Error Catalog — protocol-native errors, retryability, timeout interaction, client action
192
- 3. Operations — REST endpoints, GraphQL operations, RPC procedures, events, or mixed contracts
193
- 4. Input/Output/Event Details — examples, validation, authorization, idempotency/replay
194
- 5. Flow & Reliability — pagination/streaming, rate limits, retries, SLOs, and contract-test invariants
195
-
196
- **Important behavior:**
197
-
198
- - Give each operation a `Traceability ID` (`API-*`)
199
- - Agreed request and response formats are a **contract** verified by `spec-compliance` (SC-04) during coding
200
-
201
- </details>
202
-
203
- ---
204
-
205
- <details>
206
- <summary><strong>brainstorm-styleguide</strong> — Create StyleGuide.md (UI/UX Design Guide)</summary>
207
-
208
- **Persona:** @Akram — UI/UX Designer
209
-
210
- **Called when:** After `PRD.md` and `architecture.md` are clear. **Optional** — skip if the project has no UI.
211
-
212
- **Read before starting:** `project-context/PRD.md`, `project-context/architecture.md`
213
-
214
- **Output:** `project-context/StyleGuide.md`
215
-
216
- **Topic count:** 8 topics
217
-
218
- **Topics covered:**
219
-
220
- 1. CSS Framework — Tailwind CSS (v3/v4), Bootstrap, CSS Modules, or custom
221
- 2. Color Palette — primary, secondary, accent, status colors (error/success/warning/info), dark mode
222
- 3. Typography — font family, heading and body sizes, line height, font weight
223
- 4. Spacing System — spacing scale used (4px, 8px, 16px, 24px, etc.)
224
- 5. Component Styles — button, card, form input, modal, table — styling and states
225
- 6. Responsive & Breakpoints — sm/md/lg/xl breakpoints and layout changes
226
- 7. Icons & Assets — icon library, image formats, asset naming conventions
227
- 8. Accessibility, Localization & Operational States — keyboard/focus/screen reader/reduced motion; loading/empty/error/forbidden/offline; locales/RTL; UI performance
228
-
229
- **Important behavior:**
230
-
231
- - Agreed colors and spacing are a **contract** — `spec-compliance` (SC-06) flags arbitrary values outside this list
232
-
233
- </details>
234
-
235
- ---
236
-
237
- <details>
238
- <summary><strong>brainstorm-rules</strong> — Create rules.md (Code Standards / Code Constitution)</summary>
239
-
240
- **Persona:** @Fachri — Tech Lead
241
-
242
- **Called when:** Any time, but ideally before coding starts.
243
-
244
- **Read before starting:** `project-context/architecture.md`, `project-context/PRD.md`, `project-context/schema.md`, `project-context/api.md`
245
-
246
- **Output:** `project-context/rules.md`
247
-
248
- **Topic count:** 7 topics
249
-
250
- **Topics covered:**
251
-
252
- 1. AI Persona & Tech Stack — main technologies, preferred libraries, favored and avoided patterns
253
- 2. Naming Conventions — variables, functions, components, files, folders, constants
254
- 3. Code Style — formatting (Prettier/ESLint), max function length, `console.log` rules, early return
255
- 4. Testing Strategy — minimum coverage, testing tools, TDD approach
256
- 5. Security Rules — token storage, input validation, secret management
257
- 6. Git Workflow — commit message convention, branching strategy
258
- 7. `[FORBIDDEN]` Section — list of technical prohibitions that AI **must scan** before writing code
259
-
260
- Conditional rules are generated only when applicable: structured logging, migrations, feature flags, generated code, and secret rotation.
261
-
262
- **Important behavior:**
263
-
264
- - The `[FORBIDDEN]` section is the first thing `developer` reads before coding
265
- - If the `[FORBIDDEN]` section is missing, `spec-compliance` records it as a MINOR finding
266
-
267
- </details>
268
-
269
- ---
270
-
271
- <details>
272
- <summary><strong>brainstorm-task</strong> — Create Task.md (Phased Work Plan)</summary>
273
-
274
- **Persona:** @Galbi — Project Manager
275
-
276
- **Called when:** After all spec documents are complete. Also called automatically by `add-feature` to add a new phase.
277
-
278
- **Read before starting:** All documents in `project-context/` (PRD, architecture, schema, api, rules, StyleGuide)
279
-
280
- **Output:** `project-context/Task.md`
281
-
282
- **User clarification count:** 3 topics plus one automatic document-completeness check
283
-
284
- **Clarification topics:**
285
-
286
- 1. Phase Priority Order — implementation order, which features must finish first
287
- 2. Task Granularity — how small should tasks be? One file, one endpoint, or one full feature?
288
- 3. Execution Rules — stop for confirmation after each task, or continue automatically by phase?
289
- 4. Verify Available Documents — AI checks spec completeness itself before creating `Task.md`
290
-
291
- **Two operation modes:**
292
-
293
- - **Generate New** — create `Task.md` from scratch based on all available specs
294
- - **Add Phase Mode** — append a new phase below existing `Task.md` content (called by `add-feature`, does not overwrite old content)
295
-
296
- **Important behavior:**
297
-
298
- - Tasks are **not created from guesses** — all tasks are derived from the spec documents
299
- - Every task has concrete, verifiable `Acceptance Criteria`
300
- - Testing order follows `rules.md`: test-first when explicitly selected, otherwise test-with-change or the project's approved workflow
301
- - Every task has a `Traceability ID` that links it to requirements in the specs
302
- - Every phase receives a Definition of Done derived from applicable specs: validation, security, migration/recovery, observability, docs/rollout, `spec-compliance`, and `code-review`
303
-
304
- </details>
305
-
306
- ---
307
-
308
- ## 4. Execution Skills
309
-
310
- ---
311
-
312
- <details>
313
- <summary><strong>developer</strong> — Execute tasks from Task.md phase by phase</summary>
314
-
315
- **Persona:** @Firdaus — Expert Developer
316
-
317
- **Called when:** After `Task.md` exists and is ready to execute.
318
-
319
- **Full workflow:**
320
-
321
- **Step 0 — Identify name & project**
322
- Read `.agents/developer-config.json`. If `name` or `project` is missing, AI asks once and saves the answer.
323
-
324
- **Additional skills & MCP setup** (`references/onboarding.md`)
325
-
326
- _Additional Skills:_
327
-
328
- - If `additionalSkills` already exists in config → use it directly
329
- - If not → AI asks once: _"Are there any additional skills for this project?"_
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.
331
- - When working on a relevant task, AI **must read** `SKILL.md` from that skill before writing code.
332
-
333
- _MCP (Model Context Protocol):_
334
-
335
- - If `availableMCPs` already exists in config → use it directly
336
- - If not → AI asks once: _"Which MCPs are available in your workspace?"_
337
- - Only listed MCPs will be used.
338
-
339
- **Developer scope** (`references/onboarding.md`)
340
-
341
- - If `developerPreferences.scope` already exists → use it directly
342
- - If not → AI asks once:
343
- ```
344
- What is your work scope in this project?
345
- A) Frontend only — do not touch backend/API/database
346
- B) Backend only — do not touch UI/frontend
347
- C) Fullstack — work across the whole stack
348
- ```
349
- - This scope is enforced in every phase: AI will not create/change files outside the scope.
350
-
351
- **Work mode** (`references/onboarding.md`)
352
-
353
- - If `developerPreferences.workMode` already exists → use it directly
354
- - If not → AI asks once:
355
- ```
356
- A) Code now — start immediately
357
- B) Plan first — write a plan first for your review
358
- ```
359
- - **Plan-first mode:** AI creates a plan file in `project-context/plans/phase-[N]-[slug].md` with a status header at the top. Plan status changes through this lifecycle:
360
- ```
361
- status: review ← when the plan is first created (you review it first)
362
- status: in-progress ← when you type "start"
363
- status: code-review ← when all tasks in the phase are complete
364
- status: done ← when code-review is complete
365
- ```
366
-
367
- **Selecting relevant specs** (`references/execute-task.md`)
368
-
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` |
376
-
377
- Scope enforcement: if `scope=frontend`, AI does not touch backend files. If `scope=backend`, AI does not touch frontend files.
378
-
379
- **Executing tasks** (`references/execute-task.md`)
380
-
381
- For each task:
382
-
383
- 1. Understand the task and acceptance criteria
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)
385
- 3. Write an I/O contract for non-trivial functions
386
- 4. Follow the testing workflow in `rules.md`: test-first only when selected, otherwise test-with-change or the approved project policy
387
- 5. After finishing, write `[SELF-REVIEW]`:
388
- ```
389
- 1. Security risk: [1 potential issue — or "none identified"]
390
- 2. Performance bottleneck: [1 area — or "none identified"]
391
- 3. Spec assumption: [1 assumption — or "none"]
392
- ```
393
- 6. Run validation, update `Task.md` (`[ ]` → `[x]`)
394
-
395
- Developer loads workflow references by state, not all at once:
396
-
397
- - `onboarding.md` only for missing setup or plan-first
398
- - `execute-task.md` only for the current task
399
- - `close-phase.md` only when closing a phase/project
400
-
401
- **Closing a phase** (`references/close-phase.md`)
402
-
403
- 1. Show a phase summary
404
- 2. Verify the applicable Phase Definition of Done; mark genuine non-applicable items with a reason
405
- 3. If there is a plan file for this phase → update plan status: `in-progress` → `code-review`
406
- 4. Run `spec-compliance` automatically
407
- 5. If clean, run `code-review` automatically
408
- 6. Complete quality-gate DoD items, then offer the next phase
409
-
410
- **MCPs used (if listed in `availableMCPs`):**
411
-
412
- - `context7` or equivalent docs MCP — current installed-version library documentation
413
- - `codebase-memory-mcp` or equivalent graph/symbol tooling — codebase discovery and relationships
414
- - Other registered MCPs only when relevant to the current task
415
-
416
- </details>
417
-
418
- ---
419
-
420
- <details>
421
- <summary><strong>quick-dev</strong> — Execute a single focused task directly, without phase ceremony</summary>
422
-
423
- **Persona:** @Firdaus — Expert Developer
424
-
425
- **Called when:** A small, targeted change is needed (color fix, layout tweak, copy edit, minor logic adjustment) and it still maps cleanly to the current project context. It avoids full phase ceremony, but keeps the same quality gates.
426
-
427
- **Not for:** new features, database migrations, new API endpoints, or changes touching more than 5 files — use `developer` instead.
428
-
429
- **Full workflow:**
430
-
431
- **Step 0 — Identity**
432
- Same as `developer`. Reads `.agents/developer-config.json`, greets by name and project.
433
-
434
- **Step 0b & 0c — Additional Skills, MCP, Scope**
435
- Same setup policy as `developer`. Reads from config if already set and asks only for missing required setup.
436
-
437
- **Step 1 — Pre-flight summary** _(unique to quick-dev)_
438
-
439
- Before any code is written, AI shows:
440
-
441
- ```
442
- Quick Dev — Pre-flight
443
- ───────────────────────
444
- Task : [concise interpretation]
445
- Specs : [specs to read]
446
- Files :
447
- ~ [path/file] (modify)
448
- Assumptions (will proceed unless corrected):
449
- [~] [assumption]
450
- Need confirmation before proceeding: ← omit if none
451
- [?] [blocking question]
452
- ```
453
-
454
- - Non-blocking ambiguities go under "Assumptions", not as questions
455
- - Missing specs (e.g. no `StyleGuide.md` but task touches UI) are flagged here
456
- - Waits only when a blocking ambiguity exists; otherwise proceeds in the same turn with listed assumptions
457
-
458
- **Step 2 — Read relevant specs**
459
- Same table as `developer` — reads only what the task needs.
460
-
461
- **Step 3 — Execute**
462
- Loads the same task-execution workflow as `developer`: scope check → delta approval if needed → clarify only blocking ambiguity → I/O contract for non-trivial logic → code → `[SELF-REVIEW]` → validate.
463
-
464
- **Step 4 — Update Task.md**
465
-
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)` |
471
-
472
- **Step 5 — Quality gates**
473
- Runs full `spec-compliance` then `code-review`. Both follow `fixMode` from config.
474
-
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`.
476
-
477
- **Step 6 — Final report**
478
-
479
- ```
480
- Quick Dev — Done
481
- ─────────────────
482
- Task : [description]
483
- Files : [changed files]
484
- Validated : [check and result]
485
- Assumptions used: [~] ...
486
- Remaining ambiguities: ← omit if none
487
- [!] ...
488
- ```
489
-
490
- </details>
491
-
492
- ---
493
-
494
- <details>
495
- <summary><strong>spec-compliance</strong> — Verify code against all spec documents</summary>
496
-
497
- **Persona:** @Fachri — Tech Lead
498
-
499
- **Called when:** Automatically after each completed phase by `developer`. Runs **before** `code-review`.
500
-
501
- **Checklist (8 items):**
502
-
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 |
513
-
514
- **Severity:** `💥 BLOCKER` → fix now, re-run | `🔴 MAJOR` → fix before the next phase | `⚠️ MINOR` → discuss | `✅ PASS` → continue to `code-review`
515
-
516
- **Note:** SC-07 is N/A when run from `bug-fix`.
517
-
518
- </details>
519
-
520
- ---
521
-
522
- <details>
523
- <summary><strong>code-review</strong> — Code quality and security review</summary>
524
-
525
- **Persona:** @Fachri — Tech Lead
526
-
527
- **Called when:** Automatically after `spec-compliance` is clean. Can also be called manually any time.
528
-
529
- **Fix mode (runtime default + can be set in config):**
530
-
531
- ```
532
- A) Report first — show all findings, wait for confirmation before fixing
533
- B) Fix now — automatically fix BLOCKER/MAJOR, full report at the end
534
- ```
535
-
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`.
537
-
538
- **Phase 1 — 27-Item Code Quality:**
539
-
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 |
546
-
547
- **Phase 2 — 10 Security Essentials:**
7
+ > **Macca** means *smart, intelligent, capable* in Bugis—a name inspired by intelligence paired with good character.
548
8
 
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 |
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) |
560
- | SEC-10 | Dependency Vulnerabilities — packages with critical/high CVEs (`npm audit`, `pip audit`, `composer audit`, etc.) |
561
-
562
- **Format for each finding:** Where? → If not fixed? → If fixed? → Recommended fix
563
-
564
- **Update plan after review completes** (if a plan file exists for this phase):
565
-
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`
567
- - **No plan deviation** (only code quality issues: naming, formatting, security hardening) → change status only: `code-review` → `done`, with no note
568
-
569
- </details>
570
-
571
- ---
572
-
573
- ## 5. Utility Skills
574
-
575
- ---
576
-
577
- <details>
578
- <summary><strong>help</strong> — Project status dashboard and next-step guidance</summary>
579
-
580
- **Persona:** @Galbi — Project Manager
581
-
582
- **Called when:** Any time, especially if you are unsure where to start.
583
-
584
- **What it checks:**
585
-
586
- - Spec documents in `project-context/` — `PRD.md`, `StyleGuide.md`, `architecture.md`, `schema.md`, `api.md`, `rules.md`, `Task.md` (count `[ ]` vs `[x]`)
587
- - Developer config in `.agents/developer-config.json` — `name`, `project`, `scope`, `workMode`, `additionalSkills`, `availableMCPs`
588
- - Plans in `project-context/plans/` — list all plan files and their statuses (`review` / `in-progress` / `code-review` / `done`)
589
-
590
- **Output format:**
591
-
592
- ```
593
- Checking your project now...
594
-
595
- Spec Documents
596
- [✓] PRD.md — Product requirements
597
- [✓] architecture.md — System architecture
598
- [ ] schema.md — Not created yet
599
- ...
600
-
601
- Developer Config
602
- [✓] name: Firdaus
603
- [✓] scope: fullstack
604
- [✓] workMode: plan-first
605
- [✓] additionalSkills: 2 skills
606
- [ ] availableMCPs: not configured
607
-
608
- Plans
609
- [✓] phase-1-setup.md (status: done)
610
- [✓] phase-2-auth.md (status: in-progress)
611
-
612
- Status: [project status summary]
613
- Recommended next steps: ...
614
- ```
615
-
616
- </details>
617
-
618
- ---
619
-
620
- <details>
621
- <summary><strong>bug-fix</strong> — Diagnose, fix, and document bugs</summary>
622
-
623
- **Persona:** @Ikhsan — Debugger
624
-
625
- **Called when:** A bug needs to be fixed.
626
-
627
- **Workflow:**
628
-
629
- 1. You describe the bug (symptoms, location, reproduction steps, error message)
630
- 2. AI checks `bug-log.md` — has it happened before?
631
- - **Identical** → apply the same fix (ask for confirmation first)
632
- - **Similar but different** → diagnose again
633
- - **New** → continue to diagnosis
634
- 3. AI reads the broken file + all callers of shared code — one root-cause fix is better than many guards in each caller
635
- 4. AI formulates and explains the root cause → wait for confirmation before fixing
636
- 5. Apply the fix → run `spec-compliance` + `code-review`
637
- 6. You confirm the bug is resolved
638
- 7. AI adds regression prevention (test, rule/spec update)
639
- 8. AI records it in `project-context/bug-log.md` ← **only after your confirmation, never automatically**
640
-
641
- </details>
642
-
643
- ---
644
-
645
- <details>
646
- <summary><strong>add-feature</strong> — Add a new feature to an existing project</summary>
647
-
648
- **Persona:** @Galbi — Project Manager
649
-
650
- **Called when:** A new feature needs to be added to an existing project.
651
-
652
- **Workflow:**
653
-
654
- 1. You describe the new feature (name, function, users, reason)
655
- 2. AI reads all specs in `project-context/`
656
- 3. AI shows an impact analysis — which documents are affected (including `plans/`)
657
- 4. You confirm the analysis
658
- 5. AI updates **all** affected documents:
659
- - `PRD.md` → `architecture.md` → `schema.md` → `api.md` → `StyleGuide.md` → `rules.md`
660
- - `project-context/plans/` — if a plan file exists for an affected phase, add a `## Feature Addition: [name]` section without overwriting old content
661
- 6. AI calls `brainstorm-task` (Add Phase Mode) to add new phases and tasks to `Task.md`
662
- 7. Continue with `developer`
663
-
664
- **Absolute rule:** every affected document must be updated — none may be skipped.
665
-
666
- </details>
667
-
668
- ---
669
-
670
- <details>
671
- <summary><strong>spec-audit</strong> — Check consistency across documents</summary>
672
-
673
- **Persona:** @Fachri — Tech Lead
674
-
675
- **Two modes:**
676
-
677
- **Project Mode** — audit `project-context/`
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?
679
-
680
- **Framework Mode** — audit MACCA itself
681
- Checks consistency _between_ skill instructions: are README, skill docs, and workflow aligned, or do they conflict?
682
-
683
- **What it checks:** direct conflicts → workflow drift → inconsistencies → ambiguities
684
-
685
- **Finding format:** Where? → Why is it a problem? → Specific recommended fix + reasoning
686
-
687
- </details>
688
-
689
- ---
690
-
691
- <details>
692
- <summary><strong>spec-init</strong> — Generate all specs from an existing codebase</summary>
693
-
694
- **Persona:** @Fachri — Tech Lead
695
-
696
- **Called when:** The project already exists but has no spec documents yet.
697
-
698
- **Two modes:**
699
-
700
- ```
701
- Mode A — Batch Generate: scan the full codebase, generate everything at once.
702
- Mode B — Guided Generate: one document → you review → confirm → continue.
703
- ```
704
-
705
- **Generation order:** `architecture.md` → `rules.md` → `schema.md` → `api.md` → `StyleGuide.md` → `PRD.md`
706
-
707
- `PRD.md` is created last because it is synthesized from observed behavior, not guessed intent.
708
-
709
- **Each generated document includes:**
710
-
711
- - **Evidence Inputs** — files/sources used as the basis for each claim
712
- - **Confidence Level** per claim: _High_ (seen directly in code) / _Medium_ (strong inference) / _Low_ (guess, needs verification)
713
- - **Confidence Summary** — summary of strong facts, inferences, and what still needs manual verification
714
- - **Missing Decisions** — choices that cannot be proven from code, with the recommended owning brainstorm skill
715
-
716
- </details>
717
-
718
- ---
719
-
720
- <details>
721
- <summary><strong>meet</strong> — Single-round multi-persona team meeting</summary>
722
-
723
- **Persona:** @Galbi (facilitator)
724
-
725
- **Called when:** Any time you need perspectives from several specialties at once.
726
-
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.
728
-
729
- **Available personas:**
730
-
731
- - `@Galbi` — Project Manager: scope, priorities, business impact
732
- - `@Fachri` — Tech Lead: technical decisions, trade-offs, security
733
- - `@Akram` — UI/UX Designer: usability, visual consistency, accessibility
734
- - `@Firdaus` — Developer: feasibility, complexity estimates
735
- - `@Ikhsan` — Debugger: risks, edge cases, potential bugs
736
-
737
- </details>
738
-
739
- ---
740
-
741
- <details>
742
- <summary><strong>release-readiness</strong> — Production release evidence gate</summary>
743
-
744
- **Persona:** @Fachri — Tech Lead
745
-
746
- **Called when:** The user asks whether a candidate is ready to ship, before production release, or after all Task.md phases are complete.
747
-
748
- **Behavior:** Report-only. It never deploys, publishes, applies migrations, rotates secrets, or changes production.
749
-
750
- It consumes existing quality evidence instead of repeating complete reviews, then checks:
751
-
752
- 1. Scope, acceptance criteria, Definition of Done, and unresolved quality findings
753
- 2. Build, tests, type/lint checks, and candidate-specific smoke tests
754
- 3. Environment configuration and secrets
755
- 4. Migration, backfill, backup, validation, and recovery
756
- 5. Deployment ownership, rollback, and feature flags
757
- 6. Logs, metrics, traces, alerts, health checks, runbooks, and incident ownership
758
- 7. Compatibility, deprecation, version, changelog, and consumer communication
759
- 8. Accessibility and operational UI states when UI changed
760
-
761
- Verdicts: `READY`, `CONDITIONAL`, or `NOT READY`. Missing required evidence is `NOT VERIFIED`, never an assumed pass.
762
-
763
- </details>
764
-
765
- ---
766
-
767
- ## 6. The MACCA AI Team
768
-
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` |
776
-
777
- > **Persona Rule:** Do not swap the persona assigned to a skill. Its instructions, tone, and responsibilities are designed for that role.
778
-
779
- ---
780
-
781
- ## 7. Workflow
782
-
783
- ![MACCA Workflow](flow.webp)
784
-
785
- `brainstorm-styleguide` branches from `brainstorm-architecture` as an optional UI input, then feeds back into `brainstorm-rules`. It does not skip `brainstorm-schema`, `brainstorm-api`, or `brainstorm-rules`.
786
-
787
- <details>
788
- <summary><strong>New Project</strong> — Start from scratch</summary>
789
-
790
- ```
791
- Step 1: Define product requirements
792
- → Call: brainstorm-prd
793
- → Output: project-context/PRD.md
794
-
795
- Step 2: Define architecture
796
- → Call: brainstorm-architecture ← REQUIRED before continuing
797
- → Output: project-context/architecture.md
798
-
799
- Step 3a: Design the database (if any)
800
- → Call: brainstorm-schema
801
- → Output: project-context/schema.md
802
-
803
- Step 3b: Define the API (if any)
804
- → Call: brainstorm-api
805
- → Output: project-context/api.md
806
-
807
- Step 3c: Define the UI design (optional)
808
- → Call: brainstorm-styleguide
809
- → Output: project-context/StyleGuide.md
810
- → Adds UI constraints only; it does not replace Step 3a, Step 3b, or Step 4
811
-
812
- Step 4: Set code standards
813
- → Call: brainstorm-rules
814
- → Output: project-context/rules.md
815
-
816
- Step 5: Check consistency (recommended)
817
- → Call: spec-audit (project mode)
818
-
819
- Step 6: Create the work plan
820
- → Call: brainstorm-task
821
- → Output: project-context/Task.md
822
-
823
- Step 7: Start coding
824
- → Call: developer
825
- → Per task: code → validate → [SELF-REVIEW]
826
- → Per phase: spec-compliance → code-review → next phase
827
- → If all tasks are complete but broader maintenance, hardening, optimization, or unclear follow-up work remain: keep using `developer` (post-task / maintenance mode)
828
- → For small targeted fixes (color, layout, copy, minor logic) with a clear anchor to existing work: use `quick-dev`; if the scope is broader or the traceability anchor is unclear, stay in `developer`
829
-
830
- Step 8: Prepare a production release
831
- → Call: spec-audit (final project consistency)
832
- → Call: release-readiness (report-only operational gate)
833
- ```
834
-
835
- > Not sure where to start? Call `help`.
836
-
837
- </details>
838
-
839
- ---
840
-
841
- <details>
842
- <summary><strong>Existing Project / Boilerplate</strong> — Codebase exists, specs do not</summary>
843
-
844
- ```
845
- Step 1: Generate specs from the existing codebase
846
- → Call: spec-init
847
- → Mode A (Batch): create all documents at once
848
- → Mode B (Guided): one document → review → continue
849
-
850
- Generation order: architecture.md → rules.md → schema.md → api.md → StyleGuide.md → PRD.md
851
-
852
- Step 2: Review & correct
853
- → Pay attention to items with Confidence: Low and any assumption sections
854
-
855
- Step 3: Check consistency
856
- → Call: spec-audit (project mode)
857
-
858
- Step 4: Create the work plan
859
- → Call: brainstorm-task
860
-
861
- Step 5: Start coding
862
- → Call: developer
863
- ```
864
-
865
- </details>
866
-
867
- ---
868
-
869
- <details>
870
- <summary><strong>Add a New Feature</strong></summary>
871
-
872
- ```
873
- → Call: add-feature
874
-
875
- What happens:
876
- 1. You describe the new feature
877
- 2. AI reads all existing specs
878
- 3. AI shows an impact analysis (affected documents + plans)
879
- 4. You confirm the analysis
880
- 5. AI updates ALL affected documents (none are skipped)
881
- 6. AI calls brainstorm-task to add new phases & tasks
882
- 7. Continue with developer
883
- ```
884
-
885
- </details>
886
-
887
- ---
888
-
889
- <details>
890
- <summary><strong>Fix a Bug</strong></summary>
891
-
892
- ```
893
- → Call: bug-fix
894
-
895
- What happens:
896
- 1. You describe the bug
897
- 2. AI checks bug-log.md — has it happened before?
898
- 3. AI checks all callers of the broken code
899
- 4. AI explains the root cause and proposed fix → explicit approval is required before the first code change
900
- 5. Apply the fix → spec-compliance + code-review
901
- 6. You confirm the bug is resolved
902
- 7. AI adds regression prevention
903
- 8. If prevention changed code/specs, AI validates it and reruns affected checks
904
- 9. AI records it in bug-log.md ← only after your confirmation
905
- ```
906
-
907
- </details>
908
-
909
- ---
9
+ ![MACCA Method](image-macca-method.webp)
910
10
 
911
- ## 8. Installation & Usage
11
+ [Quick start](#quick-start) · [How it works](#how-it-works) · [Skills](#choose-a-skill) · [Settings](#settings) · [Support](#support-and-limits) · [Documentation](#documentation)
912
12
 
913
- **Prerequisites:** Node.js 18+ with `npx`, plus GitHub Copilot in VS Code (or another supported AI tool).
13
+ ## Quick start
914
14
 
915
- ### Installation
15
+ **Requirements:** Node.js **22+** with `npx`, and a supported AI coding host. The configured test matrix covers Node.js 22 and 24 on Linux, Windows, and macOS; see [support and limits](#support-and-limits).
916
16
 
917
- Use `macca-method` if you want the full bootstrap: skill files, interactive AI-tool selection, `developer-config.json`, and language preferences.
17
+ > Source candidate: **3.0.0-rc.1**, an unpublished prerelease, not a stable release. `@latest` below selects the published npm package. Review the [changelog](CHANGELOG.md) and [2.x migration notes](docs/troubleshooting.md#migrate-from-2x-to-the-3x-candidate) before testing this candidate.
918
18
 
919
- This is the supported cross-platform path for Windows, Linux, and macOS.
19
+ Run this from your project directory:
920
20
 
921
21
  ```bash
922
22
  npx macca-method@latest install
923
23
  ```
924
24
 
925
- `@latest` always resolves from the newest version published on npm. Pushing changes to GitHub does not update the install command until a newer npm package is published.
25
+ 1. Choose your AI host, such as OpenCode, GitHub Copilot, Claude Code, Cursor, Windsurf, Gemini CLI, Kilo Code, Codex, or Kimi CLI.
26
+ 2. Choose your communication language. Document language defaults to the same language; name and project labels are optional.
27
+ 3. Restart your AI host so it discovers the installed skills.
28
+ 4. Describe what you need. If unsure, ask: **“Use the help skill to recommend my next step.”**
926
29
 
927
- The CLI asks you to choose the AI tool, then prompts for the developer name, project name, and language preferences.
30
+ The installer adds the skill collection and shared configuration. Planning skills create `project-context/` documents later, when requested; installation does not generate your project specifications or application code.
928
31
 
929
- To see the supported AI tool names before installing, run:
32
+ Use the MACCA installer for the complete collection. Individual skill-folder installation is not supported because the skills depend on shared resources. For flags, host folder locations, and unattended installation, see [installation help](docs/troubleshooting.md).
930
33
 
931
- ```bash
932
- npx macca-method@latest --list-tools
933
- ```
34
+ ## Start with a request
934
35
 
935
- You can also do unattended installs, for example:
36
+ You normally do not need to memorize skill names. Tell your assistant what you want; naming a skill explicitly also works.
936
37
 
937
- ```bash
938
- npx macca-method@latest install --tool github-copilot --tool codex --yes
939
- ```
38
+ | Your situation | Example request |
39
+ | --- | --- |
40
+ | A new idea | “I want an expense tracker for my shop. Help me define what it needs. Explain technical choices simply.” |
41
+ | Existing code without specs | “Use spec-init to document what this project already does and identify missing decisions.” |
42
+ | Ready to build | “Implement the approved first phase and run its required checks.” |
43
+ | A small change | “Change the submit label to Save. Keep the existing behavior and verify the change.” |
44
+ | A bug | “Saving twice creates duplicate records. Diagnose the cause and propose a fix.” |
45
+ | Several perspectives | “Use meet with Fachri and Firdaus to recommend how to prevent duplicate saves. Keep the current stack; discussion only.” |
46
+ | Preferences | “Use setup-macca-method to change only the document language to English.” |
940
47
 
941
- Use the MACCA installer for this release. The skills currently depend on the sibling `_shared` collection and `.agents/developer-config.json`; installing individual skill folders with a generic skill installer is not supported until self-contained build artifacts are published.
48
+ Clear requests authorize their stated scope—not unrelated features, destructive operations, or deployment. The assistant asks when an important decision or required approval is missing.
942
49
 
943
- ### Update to the Latest Version
50
+ ## How it works
944
51
 
945
- ```bash
946
- npx macca-method@latest upgrade
947
- ```
52
+ **Understand → record decisions → plan tasks → implement → verify.**
948
53
 
949
- Run this whenever you want to refresh an existing MACCA setup to the newest published skills.
54
+ - **For a new project:** define the product and architecture, add only applicable data/API/UI contracts, establish rules, and plan tasks.
55
+ - **For existing code:** draft evidence-backed baseline specs first. Review missing decisions and preserve completed work; plan implementation only for approved gaps.
56
+ - **During implementation:** work from the relevant specs, validate changes, then check specification compliance and code quality at the required task, bug, or phase boundary.
57
+ - **When requirements change:** record the approved change and synchronize the affected specs before closing the phase.
950
58
 
951
- If the installed project was created from a newer unpublished/local build, `upgrade` now refuses an older npm package instead of silently downgrading the skill folders.
59
+ Documents live in `project-context/`, including `PRD.md`, `architecture.md`, `rules.md`, and `Task.md`. Data, API, and UI documents are included when relevant. A stateless API does not need an invented database schema.
952
60
 
953
- The updater uses the MACCA files inside `.agents/` to know which installed skill folders should be refreshed.
61
+ **Simple, but not careless.** MACCA favors the smallest solution that meets approved needs and applicable best practices. Extra infrastructure needs a concrete reason. Security, data integrity, accessibility, meaningful testing, and necessary recovery are not optional shortcuts.
954
62
 
955
- > Upgrade from `1.1.0`: the updater fingerprints the official published payload before adopting an unmarked legacy skill. Byte-identical legacy copies are migrated automatically, including the previous OpenCode location and meeting-skill rename. Modified or unknown folders are never overwritten; back them up or move them, then rerun upgrade.
63
+ **Checks, not empty ceremony.** Clean results get a concise summary. In the default `report-first` mode, actionable review fixes need approval; a clean review does not ask you to approve nonexistent fixes. Missing evidence is reported as **not verified**, not a pass.
956
64
 
957
- > `project-context/` and `developer-config.json` are **not touched** during upgrade.
65
+ See [the workflow guide](docs/workflows.md) for prerequisites, approvals, and what happens when work is blocked.
958
66
 
959
- `2.0.x` is the major-release line for the skill naming, workflow contract, progressive disclosure, and release-check changes. The published `1.1.0` OpenCode layout is covered by an automated upgrade test. For reproducible CI/bootstrap, pin the desired version; for interactive upgrades, use `@latest` as shown above.
67
+ ## Choose a skill
960
68
 
961
- ### How to Call a Skill
69
+ These **19 skills** work together with defined responsibilities and boundaries for shared files. Open the linked instruction only when you need its detailed contract.
962
70
 
963
- ```
964
- Use the skill brainstorm-prd
965
- Use the skill developer
966
- Use the skill help
967
- ```
968
-
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.
970
-
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 |
71
+ | Need | Skill |
72
+ | --- | --- |
73
+ | Set up, inspect, or change preferences | [`setup-macca-method`](.agents/skills/setup-macca-method/SKILL.md) |
74
+ | Find the next step or see project status | [`help`](.agents/skills/help/SKILL.md) |
75
+ | Discuss a decision from selected perspectives | [`meet`](.agents/skills/meet/SKILL.md) |
76
+ | Define product needs and success criteria | [`brainstorm-prd`](.agents/skills/brainstorm-prd/SKILL.md) |
77
+ | Choose the system structure and technical approach | [`brainstorm-architecture`](.agents/skills/brainstorm-architecture/SKILL.md) |
78
+ | Plan persistent data | [`brainstorm-schema`](.agents/skills/brainstorm-schema/SKILL.md) |
79
+ | Define API or integration contracts | [`brainstorm-api`](.agents/skills/brainstorm-api/SKILL.md) |
80
+ | Define relevant UI and accessibility conventions | [`brainstorm-styleguide`](.agents/skills/brainstorm-styleguide/SKILL.md) |
81
+ | Establish project coding and testing rules | [`brainstorm-rules`](.agents/skills/brainstorm-rules/SKILL.md) |
82
+ | Turn approved requirements into verifiable tasks | [`brainstorm-task`](.agents/skills/brainstorm-task/SKILL.md) |
83
+ | Document an existing codebase | [`spec-init`](.agents/skills/spec-init/SKILL.md) |
84
+ | Implement phases or broader maintenance | [`developer`](.agents/skills/developer/SKILL.md) |
85
+ | Make one small change anchored to existing tasks | [`quick-dev`](.agents/skills/quick-dev/SKILL.md) |
86
+ | Diagnose, fix, and verify a bug | [`bug-fix`](.agents/skills/bug-fix/SKILL.md) |
87
+ | Plan an approved new feature across affected specs | [`add-feature`](.agents/skills/add-feature/SKILL.md) |
88
+ | Check code against applicable specs | [`spec-compliance`](.agents/skills/spec-compliance/SKILL.md) |
89
+ | Review code quality and security | [`code-review`](.agents/skills/code-review/SKILL.md) |
90
+ | Check consistency between documents | [`spec-audit`](.agents/skills/spec-audit/SKILL.md) |
91
+ | Assess release evidence without deploying | [`release-readiness`](.agents/skills/release-readiness/SKILL.md) |
978
92
 
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.
93
+ The AI personas organize responsibilities: **Galbi** handles planning and coordination, **Fachri** technical design and reviews, **Akram** UI/UX, **Firdaus** implementation, and **Ikhsan** debugging. They are AI roles, not a guarantee of independent human review.
980
94
 
981
- ### Folder Structure
95
+ ## Settings
982
96
 
983
- The example below reflects `npx macca-method@latest install`. It creates shared MACCA files in `.agents/`, a namespaced MACCA lock, and one or more agent-specific skill folders based on the AI tools you selected.
97
+ Preferences are shared through `.agents/developer-config.json`. You do not need to edit JSON yourself:
984
98
 
99
+ ```text
100
+ Show my MACCA settings.
101
+ Use setup-macca-method to change only the document language to English.
102
+ Save my preference to review a plan before coding.
985
103
  ```
986
- your-project/
987
- ├── .agents/
988
- │ ├── developer-config.json ← shared config across skills
989
- │ ├── macca-tools.txt ← tools selected during install
990
- │ ├── macca-managed-skills.txt ← internal manifest used by MACCA updates
991
- │ ├── macca-lock.json ← MACCA package/version manifest
992
- │ ├── macca-state.json ← hashes of installer-managed metadata
993
- │ ├── macca-transaction.json ← exists only during/recovering an interrupted atomic update
994
- │ └── skills/ ← if Codex or Kimi is selected
995
-
996
- ├── .github/skills/ ← if GitHub Copilot is selected
997
- ├── .cursor/skills/ ← if Cursor is selected
998
- ├── .claude/skills/ ← if Claude Code is selected
999
- ├── .windsurf/skills/ ← if Windsurf is selected
1000
- ├── .gemini/skills/ ← if Gemini CLI is selected
1001
- ├── .opencode/skills/ ← if OpenCode is selected
1002
- ├── .kilo/skills/ ← if Kilo Code is selected
1003
-
1004
- ├── project-context/
1005
- │ ├── PRD.md
1006
- │ ├── architecture.md
1007
- │ ├── schema.md
1008
- │ ├── api.md
1009
- │ ├── rules.md
1010
- │ ├── StyleGuide.md
1011
- │ ├── Task.md
1012
- │ ├── bug-log.md ← created when the first bug appears
1013
- │ └── plans/ ← per-phase plans (plan-first mode)
1014
- │ └── phase-1-setup.md
1015
-
1016
- └── ... (your project code)
1017
- ```
1018
-
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`.
1020
104
 
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/` |
105
+ Setup is optional for ordinary work. Showing settings does not create a missing configuration file. A targeted change preserves unrelated preferences; it does not translate existing documents or grant extra tool permissions.
1032
106
 
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.
107
+ See [configuration](docs/configuration.md) for all supported preferences, skill/MCP restrictions, and validation.
1034
108
 
1035
- ---
109
+ ## Update and diagnose
1036
110
 
1037
- ## 9. Configuration
1038
-
1039
- <details>
1040
- <summary><strong>developer-config.json — Full Schema</strong></summary>
1041
-
1042
- The `.agents/developer-config.json` file is shared config across skills. All skills read and update this file by **merge**, never by overwriting the whole file.
1043
-
1044
- ```json
1045
- {
1046
- "name": "User name",
1047
- "project": "Project name",
1048
- "languagePreferences": {
1049
- "communication": {
1050
- "raw": "English",
1051
- "normalized": "english"
1052
- },
1053
- "documents": {
1054
- "raw": "English",
1055
- "normalized": "english"
1056
- }
1057
- },
1058
- "developerPreferences": {
1059
- "workMode": "direct",
1060
- "scope": "fullstack"
1061
- },
1062
- "brainstormPreferences": {
1063
- "discussionMode": "one-by-one",
1064
- "recommendations": true,
1065
- "discoveryDepth": "standard"
1066
- },
1067
- "codeReviewPreferences": {
1068
- "fixMode": "report-first"
1069
- },
1070
- "additionalSkills": [
1071
- {
1072
- "name": "laravel-best-practices",
1073
- "purpose": "Use when writing Laravel code",
1074
- "paths": {
1075
- "copilot": ".github/skills/laravel-best-practices/SKILL.md",
1076
- "opencode": ".opencode/skills/laravel-best-practices/SKILL.md",
1077
- "codex": ".agents/skills/laravel-best-practices/SKILL.md"
1078
- }
1079
- }
1080
- ],
1081
- "availableMCPs": ["context7", "supabase"]
1082
- }
111
+ ```bash
112
+ npx macca-method@latest upgrade
113
+ npx macca-method@latest doctor
1083
114
  ```
1084
115
 
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 |
1098
-
1099
- **Rule:** all skills must **merge**, not overwrite the file. Unknown fields must be preserved.
1100
-
1101
- </details>
1102
-
1103
- ---
1104
-
1105
- <details>
1106
- <summary><strong>Glossary & Traceability ID</strong></summary>
1107
-
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 |
1128
-
1129
- **Traceability ID Scheme:**
1130
-
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` |
1138
- | `DATA-01` | Datastore-native entity/aggregate/collection/stream in `schema.md` |
1139
- | `API-01` | REST/GraphQL/RPC/event operation in `api.md` |
1140
- | `RULE-01` | Rule in `rules.md` referenced across documents |
1141
-
1142
- </details>
1143
-
1144
- ---
1145
-
1146
- ## 10. Frequently Asked Questions
1147
-
1148
- <details>
1149
- <summary>Do all spec documents need to be complete before coding?</summary>
1150
-
1151
- They do not need to be perfect. `architecture.md` is the hard execution prerequisite; `rules.md` and applicable PRD/schema/API/StyleGuide contracts are strongly recommended and missing required contracts create explicit verification gaps. The more complete the applicable specs are, the more accurately AI can work.
1152
-
1153
- </details>
1154
-
1155
- <details>
1156
- <summary>Can this be used for an existing project?</summary>
1157
-
1158
- Yes. Use `spec-init` — AI reads the codebase and generates evidence-backed specs. Every claim gets a confidence level and evidence source; decisions that cannot be proven are listed under `Missing Decisions` with the owning brainstorm skill.
1159
-
1160
- </details>
1161
-
1162
- <details>
1163
- <summary>Can AI make mistakes?</summary>
1164
-
1165
- Yes. That is why `spec-compliance` and `code-review` run after every phase. In the default `report-first` mode, AI reports all findings and waits for `fix`/approval before editing; in `fix-then-report`, actionable blocker/major findings are repaired and validated automatically.
1166
-
1167
- </details>
1168
-
1169
- <details>
1170
- <summary>What is [SELF-REVIEW]?</summary>
1171
-
1172
- After each task is complete, the developer writes a short reflection: 1 potential security risk, 1 performance bottleneck, and 1 spec assumption. The goal is to expose hidden guesses before formal verification.
1173
-
1174
- </details>
1175
-
1176
- <details>
1177
- <summary>When does developer write tests before implementation?</summary>
1178
-
1179
- When `rules.md` selects TDD/test-first, the developer writes the failing test before implementation so behavior is explicit. Other projects may use test-with-change or another approved workflow; `Task.md`, `developer`, and `code-review` all follow that selected policy.
1180
-
1181
- </details>
1182
-
1183
- <details>
1184
- <summary>Is bug-log updated automatically?</summary>
1185
-
1186
- No. A bug is recorded only after **you confirm** that it is resolved. AI does not write to `bug-log` without permission.
1187
-
1188
- </details>
1189
-
1190
- <details>
1191
- <summary>Do I need to choose developer preferences in every session?</summary>
1192
-
1193
- No. Scope, work mode, additional skills, MCPs, review mode, brainstorm pacing, recommendations, and discovery depth are saved or inferred and reused. Future sessions ask only for missing material decisions.
1194
-
1195
- </details>
1196
-
1197
- <details>
1198
- <summary>What is plan-first mode and where is the plan stored?</summary>
1199
-
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:
1201
-
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. |
1208
-
1209
- Plans are also recognized by `help` (displayed with status) and `add-feature` (updated if the phase is affected).
1210
-
1211
- </details>
1212
-
1213
- <details>
1214
- <summary>What is scope in developer?</summary>
1215
-
1216
- Scope sets the AI work boundary: **Frontend only** (does not touch `routes/`, `controllers/`, `migrations/`), **Backend only** (does not touch `components/`, `pages/`, `styles/`), or **Fullstack** (no restriction). It is enforced in `developer` before coding and in `spec-compliance` (SC-08) after coding.
1217
-
1218
- </details>
1219
-
1220
- <details>
1221
- <summary>How do additional skills work?</summary>
1222
-
1223
- These are project-specific skills (for example `laravel-best-practices`). `developer` asks once. AI searches the workspace first, then asks you only if the skill is not found. When working on a relevant task, AI must read that skill's `SKILL.md` before writing code.
116
+ `upgrade` refreshes managed skills with modification and recovery checks. Review or back up local modifications before choosing to overwrite them. `doctor` inspects installation health without changing files or performing recovery.
1224
117
 
1225
- </details>
118
+ Restart your AI host after installing or upgrading skills. Preference-only changes apply on the next configuration read.
1226
119
 
1227
- <details>
1228
- <summary>How is spec-audit different from spec-compliance?</summary>
120
+ `@latest` uses the newest **published npm package**. Local or GitHub changes are not available through that command until a new package is published. Pin a version when reproducibility matters.
1229
121
 
1230
- - `spec-compliance` code vs spec. Runs after coding.
1231
- - `spec-audit` — spec document vs spec document. Runs before coding or any time you suspect inconsistencies.
122
+ The 3.x prerelease uses the **`next`** channel; it does not replace stable `latest`. Check `npm view macca-method dist-tags` before selecting a release. To try the published candidate, use `npx macca-method@next install` or pin `@3.0.0-rc.1`. Review the [breaking changes and migration notes](CHANGELOG.md) first.
1232
123
 
1233
- Analogy: `spec-compliance` is inspection of the built result against the blueprint. `spec-audit` is cross-checking the blueprints against each other.
124
+ See [troubleshooting](docs/troubleshooting.md) for error messages, safe recovery, and platform-specific paths.
1234
125
 
1235
- </details>
126
+ ## Support and limits
1236
127
 
1237
- <details>
1238
- <summary>Why is security review in code-review, not only in developer?</summary>
128
+ - The installer targets **local project directories** on Linux, Windows, and macOS. Windows UNC/network and device paths are unsupported; symlinked project ancestors are rejected with guidance.
129
+ - CI is configured for **three operating systems × Node.js 22/24**. That configuration is not proof of a successful run on every combination. Local validation so far is Linux-based; other platform claims need corresponding run evidence.
130
+ - Skill instructions guide the assistant; they are not a sandbox or a guarantee of correct code. Results depend on the host, model, permissions, context, and verification actually performed.
131
+ - Passing structural checks does not prove every conversation works correctly. Required missing evidence must remain visible, and important outcomes should be checked before release.
132
+ - Commit, push, publication, deployment, and destructive operations require their own appropriate authorization. A successful review is not permission to perform them.
1239
133
 
1240
- Developer has baseline security responsibility: `[FORBIDDEN]` in `rules.md` and `[SELF-REVIEW]`, which records a possible security risk. But `code-review` is the formal checkpoint with 10 deeper security items (SEC-01–SEC-10), including framework-specific checks and dependency CVEs. These two layers complement each other.
134
+ ## Documentation
1241
135
 
1242
- </details>
136
+ - [Workflows](docs/workflows.md) — new/existing projects, implementation, features, bugs, meetings, and release checks.
137
+ - [Configuration](docs/configuration.md) — saved preferences, examples, authorization, and validator usage.
138
+ - [Troubleshooting](docs/troubleshooting.md) — installation flags, upgrades, errors, recovery, and platform limits.
139
+ - [Behavioral evaluation scenarios](https://github.com/firdaus12p/MACCA-METHOD/blob/main/evals/README.md) — repository-only test scenarios and evidence requirements; definitions are not passing results.
1243
140
 
1244
- ---
141
+ For contributors, repository validation requires Node.js 22+ and Python 3. See [maintainer checks](docs/troubleshooting.md#maintainer-checks-from-a-source-checkout).
1245
142
 
1246
- ## 11. License
143
+ ## License
1247
144
 
1248
- MIT License — free to use, modify, and distribute.
145
+ [MIT](LICENSE) — free to use, modify, and distribute.