chati-dev 1.4.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -24
- package/framework/agents/build/dev.md +343 -0
- package/framework/agents/clarity/architect.md +112 -0
- package/framework/agents/clarity/brief.md +182 -0
- package/framework/agents/clarity/brownfield-wu.md +181 -0
- package/framework/agents/clarity/detail.md +110 -0
- package/framework/agents/clarity/greenfield-wu.md +153 -0
- package/framework/agents/clarity/ux.md +112 -0
- package/framework/config.yaml +3 -3
- package/framework/constitution.md +31 -1
- package/framework/context/governance.md +37 -0
- package/framework/context/protocols.md +34 -0
- package/framework/context/quality.md +27 -0
- package/framework/context/root.md +24 -0
- package/framework/data/entity-registry.yaml +1 -1
- package/framework/domains/agents/architect.yaml +51 -0
- package/framework/domains/agents/brief.yaml +47 -0
- package/framework/domains/agents/brownfield-wu.yaml +49 -0
- package/framework/domains/agents/detail.yaml +47 -0
- package/framework/domains/agents/dev.yaml +49 -0
- package/framework/domains/agents/devops.yaml +43 -0
- package/framework/domains/agents/greenfield-wu.yaml +47 -0
- package/framework/domains/agents/orchestrator.yaml +49 -0
- package/framework/domains/agents/phases.yaml +47 -0
- package/framework/domains/agents/qa-implementation.yaml +43 -0
- package/framework/domains/agents/qa-planning.yaml +44 -0
- package/framework/domains/agents/tasks.yaml +48 -0
- package/framework/domains/agents/ux.yaml +50 -0
- package/framework/domains/constitution.yaml +77 -0
- package/framework/domains/global.yaml +64 -0
- package/framework/domains/workflows/brownfield-discovery.yaml +16 -0
- package/framework/domains/workflows/brownfield-fullstack.yaml +26 -0
- package/framework/domains/workflows/brownfield-service.yaml +22 -0
- package/framework/domains/workflows/brownfield-ui.yaml +22 -0
- package/framework/domains/workflows/greenfield-fullstack.yaml +26 -0
- package/framework/hooks/constitution-guard.js +101 -0
- package/framework/hooks/mode-governance.js +92 -0
- package/framework/hooks/model-governance.js +76 -0
- package/framework/hooks/prism-engine.js +89 -0
- package/framework/hooks/session-digest.js +60 -0
- package/framework/hooks/settings.json +44 -0
- package/framework/i18n/en.yaml +3 -3
- package/framework/i18n/es.yaml +3 -3
- package/framework/i18n/fr.yaml +3 -3
- package/framework/i18n/pt.yaml +3 -3
- package/framework/intelligence/decision-engine.md +1 -1
- package/framework/migrations/v1.4-to-v2.0.yaml +167 -0
- package/framework/migrations/v2.0-to-v2.0.1.yaml +132 -0
- package/framework/orchestrator/chati.md +284 -6
- package/framework/tasks/architect-api-design.md +63 -0
- package/framework/tasks/architect-consolidate.md +47 -0
- package/framework/tasks/architect-db-design.md +73 -0
- package/framework/tasks/architect-design.md +95 -0
- package/framework/tasks/architect-security-review.md +62 -0
- package/framework/tasks/architect-stack-selection.md +53 -0
- package/framework/tasks/brief-consolidate.md +249 -0
- package/framework/tasks/brief-constraint-identify.md +277 -0
- package/framework/tasks/brief-extract-requirements.md +339 -0
- package/framework/tasks/brief-stakeholder-map.md +176 -0
- package/framework/tasks/brief-validate-completeness.md +121 -0
- package/framework/tasks/brownfield-wu-architecture-map.md +394 -0
- package/framework/tasks/brownfield-wu-deep-discovery.md +312 -0
- package/framework/tasks/brownfield-wu-dependency-scan.md +359 -0
- package/framework/tasks/brownfield-wu-migration-plan.md +483 -0
- package/framework/tasks/brownfield-wu-report.md +325 -0
- package/framework/tasks/brownfield-wu-risk-assess.md +424 -0
- package/framework/tasks/detail-acceptance-criteria.md +372 -0
- package/framework/tasks/detail-consolidate.md +138 -0
- package/framework/tasks/detail-edge-case-analysis.md +300 -0
- package/framework/tasks/detail-expand-prd.md +389 -0
- package/framework/tasks/detail-nfr-extraction.md +223 -0
- package/framework/tasks/dev-code-review.md +404 -0
- package/framework/tasks/dev-consolidate.md +543 -0
- package/framework/tasks/dev-debug.md +322 -0
- package/framework/tasks/dev-implement.md +252 -0
- package/framework/tasks/dev-iterate.md +411 -0
- package/framework/tasks/dev-pr-prepare.md +497 -0
- package/framework/tasks/dev-refactor.md +342 -0
- package/framework/tasks/dev-test-write.md +306 -0
- package/framework/tasks/devops-ci-setup.md +412 -0
- package/framework/tasks/devops-consolidate.md +712 -0
- package/framework/tasks/devops-deploy-config.md +598 -0
- package/framework/tasks/devops-monitoring-setup.md +658 -0
- package/framework/tasks/devops-release-prepare.md +673 -0
- package/framework/tasks/greenfield-wu-analyze-empty.md +169 -0
- package/framework/tasks/greenfield-wu-report.md +266 -0
- package/framework/tasks/greenfield-wu-scaffold-detection.md +203 -0
- package/framework/tasks/greenfield-wu-tech-stack-assess.md +255 -0
- package/framework/tasks/orchestrator-deviation.md +260 -0
- package/framework/tasks/orchestrator-escalate.md +276 -0
- package/framework/tasks/orchestrator-handoff.md +243 -0
- package/framework/tasks/orchestrator-health.md +372 -0
- package/framework/tasks/orchestrator-mode-switch.md +262 -0
- package/framework/tasks/orchestrator-resume.md +189 -0
- package/framework/tasks/orchestrator-route.md +169 -0
- package/framework/tasks/orchestrator-spawn-terminal.md +358 -0
- package/framework/tasks/orchestrator-status.md +260 -0
- package/framework/tasks/orchestrator-suggest-mode.md +372 -0
- package/framework/tasks/phases-breakdown.md +91 -0
- package/framework/tasks/phases-dependency-mapping.md +67 -0
- package/framework/tasks/phases-mvp-scoping.md +94 -0
- package/framework/tasks/qa-impl-consolidate.md +522 -0
- package/framework/tasks/qa-impl-performance-test.md +487 -0
- package/framework/tasks/qa-impl-regression-check.md +413 -0
- package/framework/tasks/qa-impl-sast-scan.md +402 -0
- package/framework/tasks/qa-impl-test-execute.md +344 -0
- package/framework/tasks/qa-impl-verdict.md +339 -0
- package/framework/tasks/qa-planning-consolidate.md +309 -0
- package/framework/tasks/qa-planning-coverage-plan.md +338 -0
- package/framework/tasks/qa-planning-gate-define.md +339 -0
- package/framework/tasks/qa-planning-risk-matrix.md +631 -0
- package/framework/tasks/qa-planning-test-strategy.md +217 -0
- package/framework/tasks/tasks-acceptance-write.md +75 -0
- package/framework/tasks/tasks-consolidate.md +57 -0
- package/framework/tasks/tasks-decompose.md +80 -0
- package/framework/tasks/tasks-estimate.md +66 -0
- package/framework/tasks/ux-a11y-check.md +49 -0
- package/framework/tasks/ux-component-map.md +55 -0
- package/framework/tasks/ux-consolidate.md +46 -0
- package/framework/tasks/ux-user-flow.md +46 -0
- package/framework/tasks/ux-wireframe.md +76 -0
- package/package.json +2 -2
- package/scripts/bundle-framework.js +2 -0
- package/scripts/changelog-generator.js +222 -0
- package/scripts/codebase-mapper.js +728 -0
- package/scripts/commit-message-generator.js +167 -0
- package/scripts/coverage-analyzer.js +260 -0
- package/scripts/dependency-analyzer.js +280 -0
- package/scripts/framework-analyzer.js +308 -0
- package/scripts/generate-constitution-domain.js +253 -0
- package/scripts/health-check.js +481 -0
- package/scripts/ide-sync.js +327 -0
- package/scripts/performance-analyzer.js +325 -0
- package/scripts/plan-tracker.js +278 -0
- package/scripts/populate-entity-registry.js +481 -0
- package/scripts/pr-review.js +317 -0
- package/scripts/rollback-manager.js +310 -0
- package/scripts/stuck-detector.js +343 -0
- package/scripts/test-quality-assessment.js +257 -0
- package/scripts/validate-agents.js +367 -0
- package/scripts/validate-tasks.js +465 -0
- package/src/autonomy/autonomous-gate.js +293 -0
- package/src/autonomy/index.js +51 -0
- package/src/autonomy/mode-manager.js +225 -0
- package/src/autonomy/mode-suggester.js +283 -0
- package/src/autonomy/progress-reporter.js +268 -0
- package/src/autonomy/safety-net.js +320 -0
- package/src/context/bracket-tracker.js +79 -0
- package/src/context/domain-loader.js +107 -0
- package/src/context/engine.js +144 -0
- package/src/context/formatter.js +184 -0
- package/src/context/index.js +4 -0
- package/src/context/layers/l0-constitution.js +28 -0
- package/src/context/layers/l1-global.js +37 -0
- package/src/context/layers/l2-agent.js +39 -0
- package/src/context/layers/l3-workflow.js +42 -0
- package/src/context/layers/l4-task.js +24 -0
- package/src/decision/analyzer.js +167 -0
- package/src/decision/engine.js +270 -0
- package/src/decision/index.js +38 -0
- package/src/decision/registry-healer.js +450 -0
- package/src/decision/registry-updater.js +330 -0
- package/src/gates/circuit-breaker.js +119 -0
- package/src/gates/g1-planning-complete.js +153 -0
- package/src/gates/g2-qa-planning.js +153 -0
- package/src/gates/g3-implementation.js +188 -0
- package/src/gates/g4-qa-implementation.js +207 -0
- package/src/gates/g5-deploy-ready.js +180 -0
- package/src/gates/gate-base.js +144 -0
- package/src/gates/index.js +46 -0
- package/src/installer/brownfield-upgrader.js +249 -0
- package/src/installer/core.js +82 -11
- package/src/installer/file-hasher.js +51 -0
- package/src/installer/manifest.js +117 -0
- package/src/installer/templates.js +17 -15
- package/src/installer/transaction.js +229 -0
- package/src/installer/validator.js +18 -1
- package/src/intelligence/registry-manager.js +2 -2
- package/src/memory/agent-memory.js +255 -0
- package/src/memory/gotchas-injector.js +72 -0
- package/src/memory/gotchas.js +361 -0
- package/src/memory/index.js +35 -0
- package/src/memory/search.js +233 -0
- package/src/memory/session-digest.js +239 -0
- package/src/merger/env-merger.js +112 -0
- package/src/merger/index.js +56 -0
- package/src/merger/replace-merger.js +51 -0
- package/src/merger/yaml-merger.js +127 -0
- package/src/orchestrator/agent-selector.js +285 -0
- package/src/orchestrator/deviation-handler.js +350 -0
- package/src/orchestrator/handoff-engine.js +271 -0
- package/src/orchestrator/index.js +67 -0
- package/src/orchestrator/intent-classifier.js +264 -0
- package/src/orchestrator/pipeline-manager.js +492 -0
- package/src/orchestrator/pipeline-state.js +223 -0
- package/src/orchestrator/session-manager.js +409 -0
- package/src/tasks/executor.js +195 -0
- package/src/tasks/handoff.js +226 -0
- package/src/tasks/index.js +4 -0
- package/src/tasks/loader.js +210 -0
- package/src/tasks/router.js +182 -0
- package/src/terminal/collector.js +216 -0
- package/src/terminal/index.js +30 -0
- package/src/terminal/isolation.js +129 -0
- package/src/terminal/monitor.js +277 -0
- package/src/terminal/spawner.js +269 -0
- package/src/upgrade/checker.js +1 -1
- package/src/wizard/i18n.js +3 -3
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: architect-design
|
|
3
|
+
agent: architect
|
|
4
|
+
trigger: detail
|
|
5
|
+
phase: clarity
|
|
6
|
+
requires_input: false
|
|
7
|
+
parallelizable: true
|
|
8
|
+
outputs: [architecture.yaml]
|
|
9
|
+
handoff_to: architect-stack-selection
|
|
10
|
+
autonomous_gate: true
|
|
11
|
+
criteria:
|
|
12
|
+
- System architecture defined (layers, components, boundaries)
|
|
13
|
+
- Design patterns selected and justified
|
|
14
|
+
- Component responsibilities documented
|
|
15
|
+
---
|
|
16
|
+
# Design System Architecture
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
Design the high-level system architecture including layers, components, patterns, and boundaries.
|
|
20
|
+
|
|
21
|
+
## Prerequisites
|
|
22
|
+
- `prd.yaml` with complete requirements
|
|
23
|
+
|
|
24
|
+
## Steps
|
|
25
|
+
|
|
26
|
+
### 1. Choose Architectural Style
|
|
27
|
+
Options: Layered, Microservices, Event-Driven, Serverless
|
|
28
|
+
For MVP blog platform: **Layered Architecture** (simple, team-appropriate)
|
|
29
|
+
|
|
30
|
+
### 2. Define Layers
|
|
31
|
+
- **Presentation**: React components, pages, routing
|
|
32
|
+
- **Application**: Business logic, use cases (post creation, search)
|
|
33
|
+
- **Domain**: Core entities (User, Post) with validation rules
|
|
34
|
+
- **Data Access**: Repository pattern, Supabase client
|
|
35
|
+
- **Infrastructure**: External services (Supabase, WordPress API)
|
|
36
|
+
|
|
37
|
+
### 3. Define Core Components
|
|
38
|
+
- Authentication Service
|
|
39
|
+
- Post Service
|
|
40
|
+
- Search Service
|
|
41
|
+
- WordPress Integration Service
|
|
42
|
+
- Image Upload Service
|
|
43
|
+
|
|
44
|
+
### 4. Apply Design Patterns
|
|
45
|
+
- Repository pattern for data access
|
|
46
|
+
- Service layer for business logic
|
|
47
|
+
- Adapter pattern for WordPress API
|
|
48
|
+
- Observer pattern for real-time updates (future)
|
|
49
|
+
|
|
50
|
+
### 5. Define Module Boundaries
|
|
51
|
+
Clear separation between auth, posts, search modules.
|
|
52
|
+
|
|
53
|
+
### 6. Document Component Interactions
|
|
54
|
+
ASCII diagram showing component relationships.
|
|
55
|
+
|
|
56
|
+
### 7. Define Data Flow
|
|
57
|
+
Request → Route → Service → Repository → Database
|
|
58
|
+
|
|
59
|
+
### 8. Plan for Non-Functional Requirements
|
|
60
|
+
- Caching strategy
|
|
61
|
+
- Error handling approach
|
|
62
|
+
- Logging strategy
|
|
63
|
+
|
|
64
|
+
### 9. Document Architecture Decisions
|
|
65
|
+
ADRs for major decisions.
|
|
66
|
+
|
|
67
|
+
### 10. Generate Architecture Document
|
|
68
|
+
|
|
69
|
+
## Output Format
|
|
70
|
+
```yaml
|
|
71
|
+
# architecture.yaml
|
|
72
|
+
architectural_style: layered_architecture
|
|
73
|
+
layers:
|
|
74
|
+
- name: presentation
|
|
75
|
+
technologies: [React, React Router, TanStack Query]
|
|
76
|
+
- name: application
|
|
77
|
+
technologies: [Custom services]
|
|
78
|
+
- name: domain
|
|
79
|
+
technologies: [TypeScript classes, Zod validation]
|
|
80
|
+
- name: data
|
|
81
|
+
technologies: [Supabase client]
|
|
82
|
+
- name: infrastructure
|
|
83
|
+
technologies: [Supabase, WordPress API]
|
|
84
|
+
components:
|
|
85
|
+
- name: AuthService
|
|
86
|
+
layer: application
|
|
87
|
+
responsibilities: [register, login, logout, validate token]
|
|
88
|
+
dependencies: [SupabaseClient]
|
|
89
|
+
patterns:
|
|
90
|
+
- Repository pattern
|
|
91
|
+
- Service layer
|
|
92
|
+
- Adapter pattern
|
|
93
|
+
data_flow: |
|
|
94
|
+
User Action → React Component → Service Layer → Supabase Client → PostgreSQL
|
|
95
|
+
```
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: architect-security-review
|
|
3
|
+
agent: architect
|
|
4
|
+
trigger: architect-db-design
|
|
5
|
+
phase: clarity
|
|
6
|
+
requires_input: false
|
|
7
|
+
parallelizable: false
|
|
8
|
+
outputs: [security-review.yaml]
|
|
9
|
+
handoff_to: architect-consolidate
|
|
10
|
+
autonomous_gate: true
|
|
11
|
+
criteria:
|
|
12
|
+
- OWASP Top 10 threats addressed
|
|
13
|
+
- Authentication and authorization design reviewed
|
|
14
|
+
- Data protection measures defined
|
|
15
|
+
---
|
|
16
|
+
# Security Architecture Review
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
Review architecture for security vulnerabilities and define protection measures.
|
|
20
|
+
|
|
21
|
+
## Steps
|
|
22
|
+
Address OWASP Top 10:
|
|
23
|
+
1. Injection: Parameterized queries (Supabase handles)
|
|
24
|
+
2. Broken Auth: JWT with expiration, bcrypt password hashing
|
|
25
|
+
3. Sensitive Data Exposure: HTTPS, encrypted passwords
|
|
26
|
+
4. XML External Entities: N/A (no XML)
|
|
27
|
+
5. Broken Access Control: Authorization checks in API
|
|
28
|
+
6. Security Misconfiguration: Security headers, CSP
|
|
29
|
+
7. XSS: Content sanitization, CSP headers
|
|
30
|
+
8. Insecure Deserialization: N/A (JSON only)
|
|
31
|
+
9. Using Components with Known Vulnerabilities: Dependency scanning
|
|
32
|
+
10. Insufficient Logging: Structured logging, audit trail
|
|
33
|
+
|
|
34
|
+
Document authentication flow, authorization matrix, data encryption.
|
|
35
|
+
|
|
36
|
+
## Output Format
|
|
37
|
+
```yaml
|
|
38
|
+
# security-review.yaml
|
|
39
|
+
owasp_top_10:
|
|
40
|
+
injection:
|
|
41
|
+
mitigation: Supabase uses parameterized queries
|
|
42
|
+
broken_auth:
|
|
43
|
+
mitigation: JWT with 7-day expiry, bcrypt hashing (12 rounds)
|
|
44
|
+
sensitive_data:
|
|
45
|
+
mitigation: HTTPS only, passwords hashed, no plaintext secrets
|
|
46
|
+
xss:
|
|
47
|
+
mitigation: React escapes by default, CSP headers
|
|
48
|
+
broken_access_control:
|
|
49
|
+
mitigation: Authorization middleware checks user_id match
|
|
50
|
+
authentication_flow:
|
|
51
|
+
- User submits credentials
|
|
52
|
+
- Server validates against database
|
|
53
|
+
- JWT issued with user_id claim
|
|
54
|
+
- Client stores in localStorage
|
|
55
|
+
- Client includes in Authorization header
|
|
56
|
+
- Server validates signature and expiration
|
|
57
|
+
authorization_matrix:
|
|
58
|
+
create_post: authenticated user
|
|
59
|
+
edit_post: post owner only
|
|
60
|
+
delete_post: post owner only
|
|
61
|
+
view_post: anyone (if published)
|
|
62
|
+
```
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: architect-stack-selection
|
|
3
|
+
agent: architect
|
|
4
|
+
trigger: architect-design
|
|
5
|
+
phase: clarity
|
|
6
|
+
requires_input: false
|
|
7
|
+
parallelizable: false
|
|
8
|
+
outputs: [stack-selection.yaml]
|
|
9
|
+
handoff_to: architect-api-design
|
|
10
|
+
autonomous_gate: true
|
|
11
|
+
criteria:
|
|
12
|
+
- Specific technologies chosen for each layer
|
|
13
|
+
- Choices justified with technical reasoning
|
|
14
|
+
- Compatibility verified
|
|
15
|
+
---
|
|
16
|
+
# Select Technology Stack
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
Choose specific technologies for each architectural layer based on requirements and constraints.
|
|
20
|
+
|
|
21
|
+
## Steps
|
|
22
|
+
From brief: React frontend, Supabase backend (BaaS), PostgreSQL database.
|
|
23
|
+
|
|
24
|
+
Expand with specific versions and libraries:
|
|
25
|
+
- Frontend: React 18.2, Vite 5.x, TypeScript 5.x, TanStack Query, React Hook Form, Zod
|
|
26
|
+
- Backend: Supabase (auth, database, storage)
|
|
27
|
+
- Database: PostgreSQL 15+ (via Supabase)
|
|
28
|
+
- UI: Tailwind CSS, Headless UI
|
|
29
|
+
- Testing: Vitest, React Testing Library, Playwright
|
|
30
|
+
|
|
31
|
+
Document rationale for each choice.
|
|
32
|
+
|
|
33
|
+
## Output Format
|
|
34
|
+
```yaml
|
|
35
|
+
# stack-selection.yaml
|
|
36
|
+
frontend:
|
|
37
|
+
framework: React 18.2 (team expertise, large ecosystem)
|
|
38
|
+
build_tool: Vite 5 (fast HMR, modern)
|
|
39
|
+
language: TypeScript 5 (type safety)
|
|
40
|
+
state: TanStack Query (server state caching)
|
|
41
|
+
forms: React Hook Form (performance)
|
|
42
|
+
validation: Zod (runtime validation, type inference)
|
|
43
|
+
ui: Tailwind CSS (utility-first, rapid development)
|
|
44
|
+
backend:
|
|
45
|
+
platform: Supabase (BaaS, addresses team skill gap)
|
|
46
|
+
auth: Supabase Auth (JWT-based)
|
|
47
|
+
database: PostgreSQL 15 (via Supabase)
|
|
48
|
+
storage: Supabase Storage (image uploads)
|
|
49
|
+
testing:
|
|
50
|
+
unit: Vitest (Vite-native, fast)
|
|
51
|
+
integration: React Testing Library
|
|
52
|
+
e2e: Playwright (cross-browser)
|
|
53
|
+
```
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: brief-consolidate
|
|
3
|
+
agent: brief
|
|
4
|
+
trigger: brief-constraint-identify
|
|
5
|
+
phase: clarity
|
|
6
|
+
requires_input: false
|
|
7
|
+
parallelizable: false
|
|
8
|
+
outputs: [brief.yaml]
|
|
9
|
+
handoff_to: detail
|
|
10
|
+
autonomous_gate: false
|
|
11
|
+
criteria:
|
|
12
|
+
- All requirements consolidated and prioritized
|
|
13
|
+
- MVP scope clearly defined
|
|
14
|
+
- User approval obtained
|
|
15
|
+
- Completeness score >= 95%
|
|
16
|
+
---
|
|
17
|
+
# Consolidate Brief Document
|
|
18
|
+
|
|
19
|
+
## Purpose
|
|
20
|
+
Compile all requirements gathering work into a comprehensive brief document for user approval.
|
|
21
|
+
|
|
22
|
+
## Prerequisites
|
|
23
|
+
- `requirements-raw.yaml`
|
|
24
|
+
- `validation-report.yaml`
|
|
25
|
+
- `stakeholder-map.yaml`
|
|
26
|
+
- `constraints.yaml`
|
|
27
|
+
|
|
28
|
+
## Steps
|
|
29
|
+
|
|
30
|
+
### 1. Load All Artifacts
|
|
31
|
+
Read all prerequisite files and verify completeness.
|
|
32
|
+
|
|
33
|
+
### 2. Create Executive Summary
|
|
34
|
+
5-7 sentence overview covering:
|
|
35
|
+
- Project vision and goals
|
|
36
|
+
- Target users
|
|
37
|
+
- Key features
|
|
38
|
+
- Success criteria
|
|
39
|
+
- Timeline and budget
|
|
40
|
+
|
|
41
|
+
### 3. Consolidate Requirements
|
|
42
|
+
Merge and deduplicate requirements from all sources:
|
|
43
|
+
- Functional requirements with priorities
|
|
44
|
+
- Non-functional requirements with metrics
|
|
45
|
+
- All resolved constraints
|
|
46
|
+
- Success criteria
|
|
47
|
+
|
|
48
|
+
### 4. Define MVP Scope
|
|
49
|
+
Clearly separate:
|
|
50
|
+
- **MVP (Phase 1)**: Must-have features for launch
|
|
51
|
+
- **Phase 2**: Important but can wait
|
|
52
|
+
- **Future**: Nice-to-have, long-term vision
|
|
53
|
+
|
|
54
|
+
### 5. Document Personas
|
|
55
|
+
Include all validated personas with:
|
|
56
|
+
- Goals and pain points
|
|
57
|
+
- User journeys (high-level)
|
|
58
|
+
- Priority ranking
|
|
59
|
+
|
|
60
|
+
### 6. Include Stakeholder Map
|
|
61
|
+
Reference key stakeholders and decision makers.
|
|
62
|
+
|
|
63
|
+
### 7. Document Assumptions and Risks
|
|
64
|
+
- All assumptions made
|
|
65
|
+
- Key risks identified
|
|
66
|
+
- Mitigation strategies
|
|
67
|
+
|
|
68
|
+
### 8. Calculate Completeness Score
|
|
69
|
+
Verify all required elements present:
|
|
70
|
+
- Functional requirements (20%)
|
|
71
|
+
- Non-functional requirements (15%)
|
|
72
|
+
- Constraints (15%)
|
|
73
|
+
- Personas (15%)
|
|
74
|
+
- Success criteria (15%)
|
|
75
|
+
- MVP scope (20%)
|
|
76
|
+
|
|
77
|
+
### 9. Present to User for Approval
|
|
78
|
+
- Show executive summary
|
|
79
|
+
- Highlight MVP scope
|
|
80
|
+
- Point out key trade-offs made
|
|
81
|
+
- Ask for explicit approval
|
|
82
|
+
|
|
83
|
+
### 10. Generate Final Brief
|
|
84
|
+
Create polished, presentation-ready document.
|
|
85
|
+
|
|
86
|
+
## Decision Points
|
|
87
|
+
- **User Requests Changes**: Iterate on requirements before proceeding
|
|
88
|
+
- **Unclear Priorities**: Ask user to rank requirements
|
|
89
|
+
|
|
90
|
+
## Error Handling
|
|
91
|
+
- **Incomplete Data**: Request missing information before finalizing
|
|
92
|
+
- **User Unavailable for Approval**: Document and proceed with flag
|
|
93
|
+
|
|
94
|
+
## Output Format
|
|
95
|
+
```yaml
|
|
96
|
+
# brief.yaml
|
|
97
|
+
timestamp: 2026-02-13T14:00:00Z
|
|
98
|
+
status: approved
|
|
99
|
+
approved_by: Product Owner
|
|
100
|
+
approved_at: 2026-02-13T14:00:00Z
|
|
101
|
+
|
|
102
|
+
executive_summary: |
|
|
103
|
+
Building a modern blogging platform for content creators to publish and
|
|
104
|
+
manage posts, integrated with existing WordPress content via API. Target
|
|
105
|
+
users are bloggers and site administrators. MVP includes user authentication,
|
|
106
|
+
post creation/editing, full-text search, and WordPress integration. Success
|
|
107
|
+
measured by 1000 users in first month and 4.5/5 satisfaction rating.
|
|
108
|
+
3-month timeline with $60k budget and 2-developer team using React +
|
|
109
|
+
Supabase.
|
|
110
|
+
|
|
111
|
+
project_vision: |
|
|
112
|
+
Create an intuitive, fast blogging platform that empowers content creators
|
|
113
|
+
to focus on writing while providing powerful tools for discovery and engagement.
|
|
114
|
+
|
|
115
|
+
functional_requirements:
|
|
116
|
+
mvp:
|
|
117
|
+
- FR-001: User registration with email/password
|
|
118
|
+
- FR-002: User login with JWT authentication
|
|
119
|
+
- FR-003: Create blog posts with title, content, tags, and images
|
|
120
|
+
- FR-004: Edit and delete own posts
|
|
121
|
+
- FR-005: Full-text search by keyword, tag, or author
|
|
122
|
+
- FR-006: View post details
|
|
123
|
+
- FR-007: Integration with WordPress API to display existing content
|
|
124
|
+
phase_2:
|
|
125
|
+
- FR-008: Admin moderation interface
|
|
126
|
+
- FR-009: Comment system
|
|
127
|
+
- FR-010: User profiles and bios
|
|
128
|
+
- FR-011: Post analytics and views
|
|
129
|
+
future:
|
|
130
|
+
- FR-012: Social sharing
|
|
131
|
+
- FR-013: Email notifications
|
|
132
|
+
- FR-014: Draft auto-save
|
|
133
|
+
- FR-015: Rich text editor with embeds
|
|
134
|
+
|
|
135
|
+
non_functional_requirements:
|
|
136
|
+
performance:
|
|
137
|
+
- NFR-001: Page load time <2 seconds (P0)
|
|
138
|
+
- NFR-002: Search results in <1 second (P1)
|
|
139
|
+
scalability:
|
|
140
|
+
- NFR-003: Support 10,000 concurrent users (P1)
|
|
141
|
+
security:
|
|
142
|
+
- NFR-004: HTTPS for all connections (P0)
|
|
143
|
+
- NFR-005: Password hashing with bcrypt (P0)
|
|
144
|
+
- NFR-006: GDPR compliant (P0)
|
|
145
|
+
- NFR-007: XSS and SQL injection protection (P0)
|
|
146
|
+
usability:
|
|
147
|
+
- NFR-008: Mobile responsive (P0)
|
|
148
|
+
- NFR-009: Accessible (WCAG 2.1 AA) (P1)
|
|
149
|
+
reliability:
|
|
150
|
+
- NFR-010: 99.5% uptime (P1)
|
|
151
|
+
|
|
152
|
+
constraints:
|
|
153
|
+
technical:
|
|
154
|
+
- React frontend (team expertise)
|
|
155
|
+
- Supabase backend (BaaS to address team skill gap)
|
|
156
|
+
- WordPress API integration (existing content)
|
|
157
|
+
timeline:
|
|
158
|
+
- MVP launch: May 13, 2026 (3 months)
|
|
159
|
+
budget:
|
|
160
|
+
- Development: $60,000 (600 hours @ $100/hr)
|
|
161
|
+
- Hosting: $200/month
|
|
162
|
+
team:
|
|
163
|
+
- 2 React developers
|
|
164
|
+
- No backend expertise
|
|
165
|
+
regulatory:
|
|
166
|
+
- GDPR compliance required
|
|
167
|
+
|
|
168
|
+
personas:
|
|
169
|
+
- name: Sarah (Content Creator)
|
|
170
|
+
role: Blogger
|
|
171
|
+
goals: [Write easily, Reach audience, Build following]
|
|
172
|
+
pain_points: [Slow tools, Complex formatting, Poor analytics]
|
|
173
|
+
priority: primary
|
|
174
|
+
- name: Mike (Administrator)
|
|
175
|
+
role: Site Admin
|
|
176
|
+
goals: [Maintain quality, Manage users, Monitor health]
|
|
177
|
+
pain_points: [Manual moderation, Limited tools]
|
|
178
|
+
priority: secondary
|
|
179
|
+
- name: Emily (Reader)
|
|
180
|
+
role: Visitor
|
|
181
|
+
goals: [Discover content, Easy reading, Save favorites]
|
|
182
|
+
pain_points: [Hard to find content, Cluttered UI]
|
|
183
|
+
priority: primary
|
|
184
|
+
|
|
185
|
+
success_criteria:
|
|
186
|
+
business:
|
|
187
|
+
- 1000 registered users in first month
|
|
188
|
+
- 500 published posts in first month
|
|
189
|
+
technical:
|
|
190
|
+
- <2s average page load time
|
|
191
|
+
- 99.5% uptime
|
|
192
|
+
- Zero critical security vulnerabilities
|
|
193
|
+
user:
|
|
194
|
+
- 4.5/5 user satisfaction rating
|
|
195
|
+
- <5 minutes to publish first post (new user)
|
|
196
|
+
|
|
197
|
+
assumptions:
|
|
198
|
+
- WordPress API is stable and documented
|
|
199
|
+
- Supabase free tier sufficient for MVP
|
|
200
|
+
- Team available full-time (100 hours/month each)
|
|
201
|
+
- No major requirement changes during development
|
|
202
|
+
|
|
203
|
+
risks:
|
|
204
|
+
- risk: Team unfamiliar with Supabase
|
|
205
|
+
mitigation: 1-week learning phase, thorough documentation review
|
|
206
|
+
- risk: WordPress API changes
|
|
207
|
+
mitigation: Implement adapter pattern for easy updates
|
|
208
|
+
- risk: Scope creep
|
|
209
|
+
mitigation: Strict MVP scope, feature freeze after approval
|
|
210
|
+
|
|
211
|
+
mvp_scope:
|
|
212
|
+
included:
|
|
213
|
+
- User authentication (registration, login, JWT)
|
|
214
|
+
- Post management (create, edit, delete, view)
|
|
215
|
+
- Full-text search
|
|
216
|
+
- WordPress integration (read-only)
|
|
217
|
+
- Mobile responsive UI
|
|
218
|
+
excluded:
|
|
219
|
+
- Comments (phase 2)
|
|
220
|
+
- Admin moderation (phase 2)
|
|
221
|
+
- Analytics (phase 2)
|
|
222
|
+
- Social features (future)
|
|
223
|
+
|
|
224
|
+
estimated_effort:
|
|
225
|
+
total_hours: 480
|
|
226
|
+
breakdown:
|
|
227
|
+
setup_and_infrastructure: 40 hours
|
|
228
|
+
authentication: 60 hours
|
|
229
|
+
post_management: 120 hours
|
|
230
|
+
search: 60 hours
|
|
231
|
+
wordpress_integration: 40 hours
|
|
232
|
+
ui_ux: 100 hours
|
|
233
|
+
testing: 60 hours
|
|
234
|
+
buffer: 120 hours (20%)
|
|
235
|
+
|
|
236
|
+
timeline:
|
|
237
|
+
start_date: 2026-02-14
|
|
238
|
+
mvp_launch: 2026-05-13
|
|
239
|
+
duration_weeks: 12
|
|
240
|
+
|
|
241
|
+
completeness_score: 96
|
|
242
|
+
approval_status: approved
|
|
243
|
+
next_phase: detail
|
|
244
|
+
handoff_note: |
|
|
245
|
+
Brief approved. MVP scope defined and constrained to fit 3-month timeline
|
|
246
|
+
with 2-developer team. Key trade-off: Using Supabase BaaS to address
|
|
247
|
+
backend skill gap. Next step: Detail agent to expand into full PRD with
|
|
248
|
+
technical specifications.
|
|
249
|
+
```
|