hool-cli 0.8.0 → 0.9.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.
- package/dist/adapters/adapters.test.js +1 -0
- package/dist/adapters/adapters.test.js.map +1 -1
- package/dist/adapters/claude-code.js +23 -8
- package/dist/adapters/claude-code.js.map +1 -1
- package/dist/adapters/types.d.ts +2 -0
- package/dist/core/scaffold.d.ts +9 -4
- package/dist/core/scaffold.js +289 -66
- package/dist/core/scaffold.js.map +1 -1
- package/dist/core/templates.d.ts +2 -0
- package/dist/core/templates.js +31 -0
- package/dist/core/templates.js.map +1 -1
- package/dist/e2e.test.js +251 -0
- package/dist/e2e.test.js.map +1 -1
- package/dist/index.js +46 -17
- package/dist/index.js.map +1 -1
- package/dist/mcps/mcps.test.js +1 -0
- package/dist/mcps/mcps.test.js.map +1 -1
- package/package.json +4 -8
- package/presets/solo/NEXT-v0.1-context-mcp.md +95 -0
- package/presets/solo/docs/workflow-reference.md +784 -0
- package/presets/solo/mcps/README.md +129 -0
- package/presets/solo/mcps/testing-by-domain.md +138 -0
- package/presets/solo/memory/be-dev/best-practices.md +0 -0
- package/presets/solo/memory/be-dev/cold.md +4 -0
- package/presets/solo/memory/be-dev/hot.md +0 -0
- package/presets/solo/memory/be-dev/issues.md +0 -0
- package/presets/solo/memory/be-tech-lead/best-practices.md +0 -0
- package/presets/solo/memory/be-tech-lead/cold.md +4 -0
- package/presets/solo/memory/be-tech-lead/hot.md +0 -0
- package/presets/solo/memory/be-tech-lead/issues.md +0 -0
- package/presets/solo/memory/fe-dev/best-practices.md +0 -0
- package/presets/solo/memory/fe-dev/cold.md +4 -0
- package/presets/solo/memory/fe-dev/hot.md +0 -0
- package/presets/solo/memory/fe-dev/issues.md +0 -0
- package/presets/solo/memory/fe-tech-lead/best-practices.md +0 -0
- package/presets/solo/memory/fe-tech-lead/cold.md +4 -0
- package/presets/solo/memory/fe-tech-lead/hot.md +0 -0
- package/presets/solo/memory/fe-tech-lead/issues.md +0 -0
- package/presets/solo/memory/forensic/best-practices.md +0 -0
- package/presets/solo/memory/forensic/cold.md +4 -0
- package/presets/solo/memory/forensic/hot.md +0 -0
- package/presets/solo/memory/forensic/issues.md +0 -0
- package/presets/solo/memory/product-lead/best-practices.md +0 -0
- package/presets/solo/memory/product-lead/cold.md +5 -0
- package/presets/solo/memory/product-lead/hot.md +0 -0
- package/presets/solo/memory/product-lead/issues.md +0 -0
- package/presets/solo/memory/qa/best-practices.md +0 -0
- package/presets/solo/memory/qa/cold.md +4 -0
- package/presets/solo/memory/qa/hot.md +0 -0
- package/presets/solo/memory/qa/issues.md +0 -0
- package/presets/solo/operations/bugs.md +10 -0
- package/presets/solo/operations/current-phase.md +8 -0
- package/presets/solo/operations/inconsistencies.md +8 -0
- package/presets/solo/operations/issues.md +11 -0
- package/presets/solo/operations/metrics.md +4 -0
- package/presets/solo/operations/needs-human-review.md +8 -0
- package/presets/solo/operations/task-board.md +10 -0
- package/presets/team/agents/claude/be-dev.md +166 -0
- package/presets/team/agents/claude/be-tech-lead.md +233 -0
- package/presets/team/agents/claude/fe-dev.md +202 -0
- package/presets/team/agents/claude/fe-tech-lead.md +229 -0
- package/presets/team/agents/claude/forensic.md +158 -0
- package/presets/team/agents/claude/governor.md +99 -0
- package/presets/team/agents/claude/product-lead.md +601 -0
- package/presets/team/agents/claude/qa.md +155 -0
- package/presets/team/cli/git-setup.md +175 -0
- package/presets/team/hooks/completion-checklist.sh +39 -0
- package/presets/team/hooks/governor-trigger.sh +30 -0
- package/presets/team/hooks/identity-reminder.sh +30 -0
- package/presets/team/hooks/login-nudge.sh +64 -0
- package/presets/team/hooks/metrics.sh +23 -0
- package/presets/team/mcps/mcps.json +144 -0
- package/presets/team/mcps/testing-by-domain.md +68 -0
- package/presets/team/prompts/claude-md.md +185 -0
- package/presets/team/settings/claude-settings.json +89 -0
- package/presets/team/skills/architect.md +75 -0
- package/presets/team/skills/auditor.md +89 -0
- package/presets/team/skills/brainstormer.md +53 -0
- package/presets/team/skills/code-reviewer.md +77 -0
- package/presets/team/skills/contract-negotiator.md +98 -0
- package/presets/team/skills/designer.md +87 -0
- package/presets/team/skills/root-cause-analyst.md +85 -0
- package/presets/team/skills/speccer.md +85 -0
- package/presets/team/skills/tdd-implementer.md +104 -0
- package/presets/team/skills/test-engineer.md +87 -0
- package/presets/team/templates/memory/best-practices.md +6 -0
- package/presets/team/templates/memory/client-preferences.md +14 -0
- package/presets/team/templates/memory/cold.md +5 -0
- package/presets/team/templates/memory/governor-feedback.md +5 -0
- package/presets/team/templates/memory/hot.md +12 -0
- package/presets/team/templates/memory/identity.md +22 -0
- package/presets/team/templates/memory/issues.md +9 -0
- package/presets/team/templates/memory/operational-knowledge.md +19 -0
- package/presets/team/templates/memory/picked-tasks.md +6 -0
- package/presets/team/templates/memory/skill.md +10 -0
- package/presets/team/templates/memory/task-log.md +17 -0
- package/presets/team/templates/operations/bugs.md +17 -0
- package/presets/team/templates/operations/client-preferences.md +21 -0
- package/presets/team/templates/operations/current-phase.md +4 -0
- package/presets/team/templates/operations/governor-feedback.md +11 -0
- package/presets/team/templates/operations/governor-log.md +14 -0
- package/presets/team/templates/operations/governor-rules.md +22 -0
- package/presets/team/templates/operations/human-feedback.md +7 -0
- package/presets/team/templates/operations/inconsistencies.md +12 -0
- package/presets/team/templates/operations/issues.md +13 -0
- package/presets/team/templates/operations/metrics.md +4 -0
- package/presets/team/templates/operations/needs-human-review.md +11 -0
- package/presets/team/templates/operations/task-board.md +11 -0
- package/presets/team/templates/phases/00-init/project-profile.md +45 -0
- package/presets/team/templates/phases/01-brainstorm/brainstorm.md +33 -0
- package/presets/team/templates/phases/02-spec/spec.md +28 -0
- package/presets/team/templates/phases/03-design/design.md +26 -0
- package/presets/team/templates/phases/04-architecture/architecture.md +26 -0
- package/presets/team/templates/phases/05-contracts/_index.md +20 -0
- package/presets/team/templates/phases/09-qa/test-plan.md +29 -0
- package/presets/team/templates/phases/12-retrospective/retrospective.md +24 -0
- /package/{agents → presets/solo/agents}/claude/be-dev.md +0 -0
- /package/{agents → presets/solo/agents}/claude/be-tech-lead.md +0 -0
- /package/{agents → presets/solo/agents}/claude/fe-dev.md +0 -0
- /package/{agents → presets/solo/agents}/claude/fe-tech-lead.md +0 -0
- /package/{agents → presets/solo/agents}/claude/forensic.md +0 -0
- /package/{agents → presets/solo/agents}/claude/governor.md +0 -0
- /package/{agents → presets/solo/agents}/claude/qa.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/be-dev.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/be-tech-lead.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/fe-dev.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/fe-tech-lead.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/forensic.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/governor.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/qa.md +0 -0
- /package/{hooks → presets/solo/hooks}/agent-checklist.sh +0 -0
- /package/{hooks → presets/solo/hooks}/block-pl-src-write.sh +0 -0
- /package/{hooks → presets/solo/hooks}/inject-pl-context.sh +0 -0
- /package/{hooks → presets/solo/hooks}/pre-compact.sh +0 -0
- /package/{hooks → presets/solo/hooks}/run-if-profile.sh +0 -0
- /package/{hooks → presets/solo/hooks}/session-start.sh +0 -0
- /package/{hooks → presets/solo/hooks}/suggest-compact.sh +0 -0
- /package/{hooks → presets/solo/hooks}/track-prompt-count.sh +0 -0
- /package/{prompts → presets/solo/prompts}/agents/05-fe-tech-lead.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/06-be-tech-lead.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/08-be-dev.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/08-fe-dev.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/10-qa.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/11-forensic.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/governor.md +0 -0
- /package/{prompts → presets/solo/prompts}/checklists/code-review.md +0 -0
- /package/{prompts → presets/solo/prompts}/orchestrator.md +0 -0
- /package/{prompts → presets/solo/prompts}/skills/01-brainstorm.md +0 -0
- /package/{prompts → presets/solo/prompts}/skills/02-spec.md +0 -0
- /package/{prompts → presets/solo/prompts}/skills/03-design.md +0 -0
- /package/{prompts → presets/solo/prompts}/skills/04-architecture.md +0 -0
- /package/{rules → presets/solo/rules}/cursor/be-dev.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/be-tech-lead.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/fe-dev.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/fe-tech-lead.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/forensic.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/governor.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/qa.mdc +0 -0
- /package/{settings → presets/solo/settings}/be-dev.json +0 -0
- /package/{settings → presets/solo/settings}/be-tech-lead.json +0 -0
- /package/{settings → presets/solo/settings}/claude-settings.json +0 -0
- /package/{settings → presets/solo/settings}/fe-dev.json +0 -0
- /package/{settings → presets/solo/settings}/fe-tech-lead.json +0 -0
- /package/{settings → presets/solo/settings}/forensic.json +0 -0
- /package/{settings → presets/solo/settings}/governor.json +0 -0
- /package/{settings → presets/solo/settings}/qa.json +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Task Log: {{AGENT_NAME}}
|
|
2
|
+
|
|
3
|
+
<!-- Detailed description of what was done per task. -->
|
|
4
|
+
<!-- Unlike cold.md (summaries) this contains full detail: -->
|
|
5
|
+
<!-- - What files were created/modified/deleted -->
|
|
6
|
+
<!-- - What decisions were made and why -->
|
|
7
|
+
<!-- - What issues were encountered -->
|
|
8
|
+
<!-- - Evidence (test results, screenshots, response bodies) -->
|
|
9
|
+
|
|
10
|
+
<!-- Format: -->
|
|
11
|
+
<!-- ## TASK-XXX: [title] -->
|
|
12
|
+
<!-- **Date**: YYYY-MM-DD -->
|
|
13
|
+
<!-- **Status**: complete | partial | blocked -->
|
|
14
|
+
<!-- **Files changed**: list -->
|
|
15
|
+
<!-- **What was done**: detailed description -->
|
|
16
|
+
<!-- **Decisions made**: any non-obvious choices -->
|
|
17
|
+
<!-- **Issues**: any problems encountered -->
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Bugs
|
|
2
|
+
|
|
3
|
+
<!-- Bug reports from QA and user-reported issues. -->
|
|
4
|
+
<!-- QA writes new bugs. Forensic updates with diagnosis. Devs implement fixes. -->
|
|
5
|
+
|
|
6
|
+
<!-- Format: -->
|
|
7
|
+
<!-- ## BUG-XXX: [title] -->
|
|
8
|
+
<!-- - **Found by**: qa | user -->
|
|
9
|
+
<!-- - **Severity**: critical | high | medium | low -->
|
|
10
|
+
<!-- - **Type**: functional | visual | performance | security -->
|
|
11
|
+
<!-- - **Spec reference**: US-XXX / TC-XXX -->
|
|
12
|
+
<!-- - **Steps to reproduce**: -->
|
|
13
|
+
<!-- 1. [step] -->
|
|
14
|
+
<!-- - **Expected**: [what should happen] -->
|
|
15
|
+
<!-- - **Actual**: [what actually happens] -->
|
|
16
|
+
<!-- - **Evidence**: [screenshot or response body] -->
|
|
17
|
+
<!-- - **Status**: open | diagnosed | fixing | fixed | closed -->
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Client Preferences
|
|
2
|
+
|
|
3
|
+
<!-- Global client preferences. PL percolates relevant entries to per-agent client-preferences.md. -->
|
|
4
|
+
|
|
5
|
+
## Tech Stack
|
|
6
|
+
<!-- e.g., "Use TypeScript", "Use Tailwind CSS", "PostgreSQL for DB" -->
|
|
7
|
+
|
|
8
|
+
## Coding Style
|
|
9
|
+
<!-- e.g., "Arrow functions only", "No classes", "Always use pnpm" -->
|
|
10
|
+
|
|
11
|
+
## Product Constraints
|
|
12
|
+
<!-- e.g., "Must work offline", "No third-party analytics", "GDPR compliant" -->
|
|
13
|
+
|
|
14
|
+
## Git Remotes
|
|
15
|
+
<!-- Captured during Phase 0 init -->
|
|
16
|
+
<!-- frontend: https://github.com/user/project-frontend.git (or "local only") -->
|
|
17
|
+
<!-- backend: https://github.com/user/project-backend.git (or "local only") -->
|
|
18
|
+
|
|
19
|
+
## Integrations
|
|
20
|
+
<!-- External APIs, services, SDKs needed -->
|
|
21
|
+
<!-- e.g., "Stripe (test key available)", "SendGrid (TBD)" -->
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Governor Feedback — General Patterns
|
|
2
|
+
|
|
3
|
+
<!-- General patterns the Governor identifies across agents. -->
|
|
4
|
+
<!-- Per-agent feedback goes to .hool/memory/<agent>/governor-feedback.md -->
|
|
5
|
+
<!-- This file captures systemic/cross-cutting patterns. -->
|
|
6
|
+
|
|
7
|
+
<!-- Format: -->
|
|
8
|
+
<!-- ## Pattern: [name] -->
|
|
9
|
+
<!-- - **Frequency**: how many times, which agents -->
|
|
10
|
+
<!-- - **Root cause**: why this keeps happening -->
|
|
11
|
+
<!-- - **Corrective action**: what needs to change -->
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Governor Log
|
|
2
|
+
|
|
3
|
+
<!-- Governor's audit trail. Each audit cycle adds an entry. -->
|
|
4
|
+
|
|
5
|
+
<!-- Format: -->
|
|
6
|
+
<!-- ## Audit [N] — YYYY-MM-DD -->
|
|
7
|
+
<!-- - **Trigger**: periodic | manual | suspicious -->
|
|
8
|
+
<!-- - **Agents scanned**: list -->
|
|
9
|
+
<!-- - **Violations found**: count -->
|
|
10
|
+
<!-- - **Details**: -->
|
|
11
|
+
<!-- - [VIOLATION] agent: description -->
|
|
12
|
+
<!-- - **Feedback written to**: list of agents -->
|
|
13
|
+
<!-- - **Rules added**: count (or "none") -->
|
|
14
|
+
<!-- - **Escalations**: count (or "none") -->
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Governor Rules
|
|
2
|
+
|
|
3
|
+
<!-- Hard rules that all agents must follow. Governor audits against these. -->
|
|
4
|
+
<!-- Governor can APPEND new rules but NEVER modify or remove existing ones. -->
|
|
5
|
+
|
|
6
|
+
## Core Rules
|
|
7
|
+
|
|
8
|
+
- [CRITICAL] No agent may modify its own prompt file or any other agent's prompt file. Escalate to needs-human-review.md.
|
|
9
|
+
- [CRITICAL] Product Lead must NEVER edit files in src/frontend/ or src/backend/ directly. Always message the assigned teammate.
|
|
10
|
+
- [CRITICAL] Devs must NEVER make architectural decisions. Follow LLD exactly. Message lead if something should change.
|
|
11
|
+
- [CRITICAL] No agent may modify governor-rules.md except the Governor (append only) or a human.
|
|
12
|
+
- [HIGH] All agents must update their memory files (cold.md, hot.md, task-log.md) before going idle.
|
|
13
|
+
- [HIGH] All agents must read governor-feedback.md before starting work and verify they don't repeat violations.
|
|
14
|
+
- [HIGH] Devs must follow TDD: write tests before implementation. Implementation-first is a violation.
|
|
15
|
+
- [HIGH] FE Dev and FE Lead commit to src/frontend/ git only. BE Dev and BE Lead commit to src/backend/ git only. Cross-repo commits are violations.
|
|
16
|
+
- [HIGH] Contracts in .hool/phases/05-contracts/ are the source of truth for API shapes. Any deviation by devs is a violation.
|
|
17
|
+
- [MEDIUM] All agents must read their client-preferences.md before making decisions and honour preferences.
|
|
18
|
+
- [MEDIUM] No agent may create files outside their writable paths.
|
|
19
|
+
- [MEDIUM] Agents must use teammate messaging for real-time coordination, not file-based routing.
|
|
20
|
+
|
|
21
|
+
## Added Rules
|
|
22
|
+
<!-- Governor appends new rules below this line -->
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Inconsistencies
|
|
2
|
+
|
|
3
|
+
<!-- Doc-vs-doc and doc-vs-code inconsistencies. -->
|
|
4
|
+
<!-- Written by leads (review), devs (implementation), and PL (cross-check). -->
|
|
5
|
+
|
|
6
|
+
<!-- Format: -->
|
|
7
|
+
<!-- ## INC-XXX: [title] -->
|
|
8
|
+
<!-- - **Found by**: [agent] -->
|
|
9
|
+
<!-- - **Type**: spec-vs-code | contract-vs-code | design-vs-code | doc-vs-doc -->
|
|
10
|
+
<!-- - **Source A**: [what doc A says] — file: [path] -->
|
|
11
|
+
<!-- - **Source B**: [what doc B / code says] — file: [path] -->
|
|
12
|
+
<!-- - **Resolution**: [how it was resolved] | pending -->
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Issues
|
|
2
|
+
|
|
3
|
+
<!-- Known issues, tech debt patterns, and systemic problems. -->
|
|
4
|
+
<!-- Written by Forensic (pattern detection), devs (code-level debt), and leads (architectural debt). -->
|
|
5
|
+
|
|
6
|
+
<!-- Format: -->
|
|
7
|
+
<!-- ## ISS-XXX: [title] -->
|
|
8
|
+
<!-- - **Found by**: [agent] -->
|
|
9
|
+
<!-- - **Type**: bug-pattern | tech-debt | design-flaw -->
|
|
10
|
+
<!-- - **Description**: what's happening and why -->
|
|
11
|
+
<!-- - **Affected files**: list -->
|
|
12
|
+
<!-- - **Fix strategy**: how to fix properly -->
|
|
13
|
+
<!-- - **Related bugs**: BUG-XXX, BUG-YYY -->
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Needs Human Review
|
|
2
|
+
|
|
3
|
+
<!-- Items requiring human decision or approval. -->
|
|
4
|
+
<!-- Agents write here when they encounter ambiguity, need process changes, or have structural suggestions. -->
|
|
5
|
+
|
|
6
|
+
<!-- Format: -->
|
|
7
|
+
<!-- ## [date] [agent]: [title] -->
|
|
8
|
+
<!-- - **Context**: why this needs human input -->
|
|
9
|
+
<!-- - **Options**: what the choices are -->
|
|
10
|
+
<!-- - **Recommendation**: agent's suggested option (if any) -->
|
|
11
|
+
<!-- - **Status**: pending | reviewed | resolved -->
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Task Board
|
|
2
|
+
|
|
3
|
+
## Current Phase Tasks
|
|
4
|
+
<!-- Tasks for the active phase. Created by leads (Phase 6) or PL. -->
|
|
5
|
+
<!-- Format: - [ ] TASK-XXX: description | assigned: agent | files: list | depends: task-ids | contract: ref | spec: ref -->
|
|
6
|
+
|
|
7
|
+
## Completed Tasks
|
|
8
|
+
<!-- Moved here when done -->
|
|
9
|
+
|
|
10
|
+
## Blocked Tasks
|
|
11
|
+
<!-- Tasks that can't proceed. Include reason. -->
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Project Profile
|
|
2
|
+
|
|
3
|
+
## Project
|
|
4
|
+
- **Name**: {{PROJECT_NAME}}
|
|
5
|
+
- **Type**: web-app | api-only | cli-tool | animation | browser-game | mobile | desktop | other
|
|
6
|
+
- **Description**: {{ONE_LINE_DESCRIPTION}}
|
|
7
|
+
|
|
8
|
+
## Mode
|
|
9
|
+
- **Execution mode**: interactive | full-hool
|
|
10
|
+
|
|
11
|
+
## Applicable Phases
|
|
12
|
+
| # | Phase | Applies | Notes |
|
|
13
|
+
|---|-------|---------|-------|
|
|
14
|
+
| 0 | Init | yes | — |
|
|
15
|
+
| 1 | Brainstorm | yes | — |
|
|
16
|
+
| 2 | Spec | yes | — |
|
|
17
|
+
| 3 | Design | {{yes/no}} | Skip for API-only, CLI |
|
|
18
|
+
| 4 | Architecture | yes | — |
|
|
19
|
+
| 5 | Contracts | {{yes/no}} | Skip if no FE-BE split |
|
|
20
|
+
| 6 | Tasks | yes | — |
|
|
21
|
+
| 7 | Implementation | yes | — |
|
|
22
|
+
| 8 | Review | yes | — |
|
|
23
|
+
| 9 | QA | yes | — |
|
|
24
|
+
| 10 | Forensic | yes | On-demand (bug loop) |
|
|
25
|
+
| 11 | Ship | yes | — |
|
|
26
|
+
| 12 | Retrospective | yes | — |
|
|
27
|
+
|
|
28
|
+
## Active Agents
|
|
29
|
+
| Agent | Active | Reason |
|
|
30
|
+
|-------|--------|--------|
|
|
31
|
+
| Product Lead | yes | Always |
|
|
32
|
+
| BE Tech Lead | {{yes/no}} | {{reason}} |
|
|
33
|
+
| FE Tech Lead | {{yes/no}} | {{reason}} |
|
|
34
|
+
| BE Dev | {{yes/no}} | {{reason}} |
|
|
35
|
+
| FE Dev | {{yes/no}} | {{reason}} |
|
|
36
|
+
| QA | yes | Always |
|
|
37
|
+
| Forensic | yes | Always |
|
|
38
|
+
| Governor | yes | Always |
|
|
39
|
+
|
|
40
|
+
## Git Remotes
|
|
41
|
+
- **Frontend**: {{url or "local only"}}
|
|
42
|
+
- **Backend**: {{url or "local only"}}
|
|
43
|
+
|
|
44
|
+
## Hard Constraints
|
|
45
|
+
<!-- e.g., "Must run on Node 18+", "60fps minimum for animations" -->
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Brainstorm
|
|
2
|
+
|
|
3
|
+
## Vision
|
|
4
|
+
<!-- One sentence: what is this? -->
|
|
5
|
+
|
|
6
|
+
## Users
|
|
7
|
+
<!-- Who uses it and why? -->
|
|
8
|
+
|
|
9
|
+
## Core Journeys
|
|
10
|
+
<!-- 3-5 critical user paths -->
|
|
11
|
+
1.
|
|
12
|
+
2.
|
|
13
|
+
3.
|
|
14
|
+
|
|
15
|
+
## Constraints
|
|
16
|
+
### Technical
|
|
17
|
+
### Business
|
|
18
|
+
### User
|
|
19
|
+
|
|
20
|
+
## Scope Boundary
|
|
21
|
+
### In (MVP)
|
|
22
|
+
### Out (Deferred)
|
|
23
|
+
|
|
24
|
+
## Risks
|
|
25
|
+
<!-- Top 3 assumptions that could be wrong -->
|
|
26
|
+
1.
|
|
27
|
+
2.
|
|
28
|
+
3.
|
|
29
|
+
|
|
30
|
+
## Integrations
|
|
31
|
+
<!-- External dependencies and status -->
|
|
32
|
+
| Service | Purpose | Status |
|
|
33
|
+
|---------|---------|--------|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Spec
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
<!-- What this feature set does -->
|
|
5
|
+
|
|
6
|
+
## User Stories
|
|
7
|
+
|
|
8
|
+
### US-001: [Story Title]
|
|
9
|
+
**As a** [role]
|
|
10
|
+
**I want to** [action]
|
|
11
|
+
**So that** [benefit]
|
|
12
|
+
|
|
13
|
+
#### Acceptance Criteria
|
|
14
|
+
- [ ] AC-1: GIVEN [pre] WHEN [action] THEN [result]
|
|
15
|
+
|
|
16
|
+
#### Edge Cases
|
|
17
|
+
- EC-1: [scenario] → [expected behavior]
|
|
18
|
+
|
|
19
|
+
## Data Model
|
|
20
|
+
<!-- High-level entity relationships -->
|
|
21
|
+
|
|
22
|
+
## Non-Functional Requirements
|
|
23
|
+
### Performance
|
|
24
|
+
### Security
|
|
25
|
+
### Accessibility
|
|
26
|
+
|
|
27
|
+
## Open Questions
|
|
28
|
+
<!-- Anything needing user clarification -->
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Design
|
|
2
|
+
|
|
3
|
+
## Design System
|
|
4
|
+
### Colors
|
|
5
|
+
### Typography
|
|
6
|
+
### Spacing
|
|
7
|
+
### Border Radius
|
|
8
|
+
### Shadows
|
|
9
|
+
### Breakpoints
|
|
10
|
+
|
|
11
|
+
## Screen Inventory
|
|
12
|
+
| Screen | Route | Description | Design Card |
|
|
13
|
+
|--------|-------|-------------|-------------|
|
|
14
|
+
|
|
15
|
+
## Component System
|
|
16
|
+
### Atoms
|
|
17
|
+
### Molecules
|
|
18
|
+
### Organisms
|
|
19
|
+
### Templates/Layouts
|
|
20
|
+
|
|
21
|
+
## Interaction Patterns
|
|
22
|
+
### Form Submission
|
|
23
|
+
### Error Display
|
|
24
|
+
### Loading States
|
|
25
|
+
### Empty States
|
|
26
|
+
### Transitions
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Architecture (Shared)
|
|
2
|
+
|
|
3
|
+
## Tech Stack
|
|
4
|
+
| Layer | Choice | Why |
|
|
5
|
+
|-------|--------|-----|
|
|
6
|
+
| Frontend | | |
|
|
7
|
+
| Backend | | |
|
|
8
|
+
| Database | | |
|
|
9
|
+
| Auth | | |
|
|
10
|
+
| Deployment | | |
|
|
11
|
+
|
|
12
|
+
## System Diagram
|
|
13
|
+
<!-- Text-based system diagram showing major components -->
|
|
14
|
+
|
|
15
|
+
## Module Breakdown
|
|
16
|
+
<!-- Logical modules/packages for both FE and BE -->
|
|
17
|
+
|
|
18
|
+
## Cross-Cutting Concerns
|
|
19
|
+
### Authentication Flow
|
|
20
|
+
### Error Handling Strategy
|
|
21
|
+
### Logging Strategy
|
|
22
|
+
### Environment Configuration
|
|
23
|
+
|
|
24
|
+
## Decisions
|
|
25
|
+
<!-- Non-obvious architectural decisions with trade-offs -->
|
|
26
|
+
<!-- See skills/architect.md for decision format -->
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# API Contracts Index
|
|
2
|
+
|
|
3
|
+
<!-- Master list of all API contracts, grouped by domain. -->
|
|
4
|
+
<!-- Each domain has its own file with full endpoint specifications. -->
|
|
5
|
+
|
|
6
|
+
## Domains
|
|
7
|
+
| Domain | File | Endpoints |
|
|
8
|
+
|--------|------|-----------|
|
|
9
|
+
|
|
10
|
+
## Conventions
|
|
11
|
+
- **Base URL**: `/api/v1/`
|
|
12
|
+
- **Auth**: Bearer token in Authorization header
|
|
13
|
+
- **Error format**: `{ "error": "ERROR_CODE", "message": "Human readable", "details": [...] }`
|
|
14
|
+
- **Pagination**: `?page=1&limit=20` → `{ "data": [...], "meta": { "page": 1, "limit": 20, "total": 100 } }`
|
|
15
|
+
- **Timestamps**: ISO 8601 format
|
|
16
|
+
|
|
17
|
+
## Agreement
|
|
18
|
+
- **BE Lead (POC)**: [agreed / pending]
|
|
19
|
+
- **FE Lead (Rebuttal)**: [agreed / pending]
|
|
20
|
+
- **Date**: [YYYY-MM-DD]
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Test Plan
|
|
2
|
+
|
|
3
|
+
## Coverage Matrix
|
|
4
|
+
| Spec Ref | Acceptance Criterion | Test Case(s) | Type | Status |
|
|
5
|
+
|----------|---------------------|--------------|------|--------|
|
|
6
|
+
|
|
7
|
+
## Test Infrastructure
|
|
8
|
+
- **Unit test framework**: {{framework}}
|
|
9
|
+
- **Integration test framework**: {{framework}}
|
|
10
|
+
- **E2E test framework**: {{framework}}
|
|
11
|
+
- **Visual testing**: Playwright screenshots vs design cards
|
|
12
|
+
- **Test data**: {{strategy}}
|
|
13
|
+
|
|
14
|
+
## Test Cases
|
|
15
|
+
<!-- For projects with >10 cases, split into cases/ directory -->
|
|
16
|
+
|
|
17
|
+
### TC-001: [Test Name]
|
|
18
|
+
- **Type**: unit | integration | e2e | visual
|
|
19
|
+
- **Source**: US-XXX/AC-X
|
|
20
|
+
- **Precondition**: [setup]
|
|
21
|
+
- **Steps**:
|
|
22
|
+
1. [action]
|
|
23
|
+
- **Expected**: [result]
|
|
24
|
+
- **Edge variant**: [if applicable]
|
|
25
|
+
|
|
26
|
+
## Execution Results
|
|
27
|
+
<!-- Filled during test execution -->
|
|
28
|
+
| Run | Date | Unit | Integration | E2E | Visual | Bugs Found |
|
|
29
|
+
|-----|------|------|-------------|-----|--------|------------|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Retrospective — {{CYCLE_NAME}}
|
|
2
|
+
|
|
3
|
+
## Cross-Agent Patterns
|
|
4
|
+
<!-- Patterns observed across multiple agents -->
|
|
5
|
+
|
|
6
|
+
## Plan vs Reality
|
|
7
|
+
<!-- Where spec/architecture diverged from what was built -->
|
|
8
|
+
|
|
9
|
+
## What Went Well
|
|
10
|
+
<!-- Things that worked smoothly -->
|
|
11
|
+
|
|
12
|
+
## What Didn't
|
|
13
|
+
<!-- Things that caused friction, rework, or confusion -->
|
|
14
|
+
|
|
15
|
+
## Suggested Process Changes
|
|
16
|
+
<!-- Severity: high | medium | low -->
|
|
17
|
+
- **[severity]** [suggestion] — reason: [why]
|
|
18
|
+
|
|
19
|
+
## Metrics
|
|
20
|
+
- Bugs found: {{count}}
|
|
21
|
+
- Inconsistencies logged: {{count}}
|
|
22
|
+
- Tasks planned vs actual: {{planned}} / {{actual}}
|
|
23
|
+
- Phases that caused rework: {{list}}
|
|
24
|
+
- Governor violations: {{count}}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|