specsmd 0.0.0-dev
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 +397 -0
- package/bin/cli.js +21 -0
- package/flows/aidlc/README.md +372 -0
- package/flows/aidlc/agents/construction-agent.md +80 -0
- package/flows/aidlc/agents/inception-agent.md +97 -0
- package/flows/aidlc/agents/master-agent.md +61 -0
- package/flows/aidlc/agents/operations-agent.md +89 -0
- package/flows/aidlc/commands/construction-agent.md +63 -0
- package/flows/aidlc/commands/inception-agent.md +55 -0
- package/flows/aidlc/commands/master-agent.md +47 -0
- package/flows/aidlc/commands/operations-agent.md +77 -0
- package/flows/aidlc/context-config.yaml +67 -0
- package/flows/aidlc/memory-bank.yaml +104 -0
- package/flows/aidlc/quick-start.md +322 -0
- package/flows/aidlc/skills/construction/bolt-list.md +163 -0
- package/flows/aidlc/skills/construction/bolt-replan.md +345 -0
- package/flows/aidlc/skills/construction/bolt-start.md +414 -0
- package/flows/aidlc/skills/construction/bolt-status.md +185 -0
- package/flows/aidlc/skills/construction/navigator.md +196 -0
- package/flows/aidlc/skills/inception/bolt-plan.md +359 -0
- package/flows/aidlc/skills/inception/context.md +171 -0
- package/flows/aidlc/skills/inception/intent-create.md +211 -0
- package/flows/aidlc/skills/inception/intent-list.md +124 -0
- package/flows/aidlc/skills/inception/navigator.md +207 -0
- package/flows/aidlc/skills/inception/requirements.md +227 -0
- package/flows/aidlc/skills/inception/review.md +248 -0
- package/flows/aidlc/skills/inception/story-create.md +304 -0
- package/flows/aidlc/skills/inception/units.md +278 -0
- package/flows/aidlc/skills/master/analyze-context.md +239 -0
- package/flows/aidlc/skills/master/answer-question.md +141 -0
- package/flows/aidlc/skills/master/explain-flow.md +158 -0
- package/flows/aidlc/skills/master/project-init.md +281 -0
- package/flows/aidlc/skills/master/route-request.md +126 -0
- package/flows/aidlc/skills/operations/build.md +237 -0
- package/flows/aidlc/skills/operations/deploy.md +259 -0
- package/flows/aidlc/skills/operations/monitor.md +265 -0
- package/flows/aidlc/skills/operations/navigator.md +209 -0
- package/flows/aidlc/skills/operations/verify.md +224 -0
- package/flows/aidlc/templates/construction/bolt-template.md +205 -0
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +49 -0
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +55 -0
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +67 -0
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +62 -0
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt.md +528 -0
- package/flows/aidlc/templates/construction/bolt-types/simple-construction-bolt.md +342 -0
- package/flows/aidlc/templates/construction/bolt-types/spike-bolt.md +240 -0
- package/flows/aidlc/templates/construction/construction-log-template.md +129 -0
- package/flows/aidlc/templates/construction/standards/coding-standards.md +29 -0
- package/flows/aidlc/templates/construction/standards/system-architecture.md +22 -0
- package/flows/aidlc/templates/construction/standards/tech-stack.md +19 -0
- package/flows/aidlc/templates/inception/inception-log-template.md +134 -0
- package/flows/aidlc/templates/inception/project/README.md +55 -0
- package/flows/aidlc/templates/inception/requirements-template.md +144 -0
- package/flows/aidlc/templates/inception/stories-template.md +38 -0
- package/flows/aidlc/templates/inception/story-template.md +147 -0
- package/flows/aidlc/templates/inception/system-context-template.md +29 -0
- package/flows/aidlc/templates/inception/unit-brief-template.md +177 -0
- package/flows/aidlc/templates/inception/units-template.md +52 -0
- package/flows/aidlc/templates/standards/catalog.yaml +345 -0
- package/flows/aidlc/templates/standards/coding-standards.guide.md +553 -0
- package/flows/aidlc/templates/standards/data-stack.guide.md +162 -0
- package/flows/aidlc/templates/standards/tech-stack.guide.md +280 -0
- package/lib/InstallerFactory.js +36 -0
- package/lib/analytics/env-detector.js +92 -0
- package/lib/analytics/index.js +22 -0
- package/lib/analytics/machine-id.js +33 -0
- package/lib/analytics/tracker.js +227 -0
- package/lib/cli-utils.js +342 -0
- package/lib/constants.js +32 -0
- package/lib/installer.js +402 -0
- package/lib/installers/AntigravityInstaller.js +22 -0
- package/lib/installers/ClaudeInstaller.js +85 -0
- package/lib/installers/ClineInstaller.js +21 -0
- package/lib/installers/CodexInstaller.js +21 -0
- package/lib/installers/CopilotInstaller.js +113 -0
- package/lib/installers/CursorInstaller.js +63 -0
- package/lib/installers/GeminiInstaller.js +75 -0
- package/lib/installers/KiroInstaller.js +22 -0
- package/lib/installers/OpenCodeInstaller.js +22 -0
- package/lib/installers/RooInstaller.js +22 -0
- package/lib/installers/ToolInstaller.js +73 -0
- package/lib/installers/WindsurfInstaller.js +76 -0
- package/lib/markdown-validator.ts +175 -0
- package/lib/yaml-validator.ts +99 -0
- package/package.json +117 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Coding Standards
|
|
2
|
+
|
|
3
|
+
## General Principles
|
|
4
|
+
|
|
5
|
+
- {e.g., DRY, KISS, SOLID}
|
|
6
|
+
- {e.g., Clean Code practices}
|
|
7
|
+
|
|
8
|
+
## Naming Conventions
|
|
9
|
+
|
|
10
|
+
- Variables: {e.g., camelCase}
|
|
11
|
+
- Functions: {e.g., camelCase}
|
|
12
|
+
- Classes: {e.g., PascalCase}
|
|
13
|
+
- Files: {e.g., kebab-case}
|
|
14
|
+
|
|
15
|
+
## Formatting
|
|
16
|
+
|
|
17
|
+
- Indentation: {e.g., 2 spaces}
|
|
18
|
+
- Line Length: {e.g., 80 characters}
|
|
19
|
+
- Braces: {e.g., K&R style}
|
|
20
|
+
|
|
21
|
+
## Comments & Documentation
|
|
22
|
+
|
|
23
|
+
- {e.g., JSDoc for functions}
|
|
24
|
+
- {e.g., Explain WHY, not WHAT}
|
|
25
|
+
|
|
26
|
+
## Testing
|
|
27
|
+
|
|
28
|
+
- {e.g., Unit tests for all business logic}
|
|
29
|
+
- {e.g., Integration tests for API endpoints}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# System Architecture
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
{High-level system description}
|
|
6
|
+
|
|
7
|
+
## Architecture Diagram
|
|
8
|
+
|
|
9
|
+
{Mermaid diagram or description}
|
|
10
|
+
|
|
11
|
+
## Components
|
|
12
|
+
|
|
13
|
+
- {Component 1}: {Purpose}
|
|
14
|
+
- {Component 2}: {Purpose}
|
|
15
|
+
|
|
16
|
+
## Data Flow
|
|
17
|
+
|
|
18
|
+
{How data moves through the system}
|
|
19
|
+
|
|
20
|
+
## Technology Stack
|
|
21
|
+
|
|
22
|
+
{Languages, frameworks, databases, etc.}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Tech Stack
|
|
2
|
+
|
|
3
|
+
## Core Technologies
|
|
4
|
+
|
|
5
|
+
- Language: {e.g., TypeScript, Python}
|
|
6
|
+
- Framework: {e.g., React, Next.js, Django}
|
|
7
|
+
- Database: {e.g., PostgreSQL, MongoDB}
|
|
8
|
+
|
|
9
|
+
## Infrastructure
|
|
10
|
+
|
|
11
|
+
- Cloud Provider: {e.g., AWS, GCP}
|
|
12
|
+
- Containerization: {e.g., Docker, Kubernetes}
|
|
13
|
+
- CI/CD: {e.g., GitHub Actions}
|
|
14
|
+
|
|
15
|
+
## Tools & Libraries
|
|
16
|
+
|
|
17
|
+
- Testing: {e.g., Jest, Pytest}
|
|
18
|
+
- Linting: {e.g., ESLint, Pylint}
|
|
19
|
+
- Documentation: {e.g., MkDocs, Storybook}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# Inception Log Template
|
|
2
|
+
|
|
3
|
+
Use this template to track inception progress and decisions for an intent.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Location
|
|
8
|
+
|
|
9
|
+
`{intents-path}/{intent}/inception-log.md`
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Template
|
|
14
|
+
|
|
15
|
+
```markdown
|
|
16
|
+
---
|
|
17
|
+
intent: {NNN}-{intent-name}
|
|
18
|
+
created: {YYYY-MM-DDTHH:MM:SSZ}
|
|
19
|
+
completed: {YYYY-MM-DDTHH:MM:SSZ or null}
|
|
20
|
+
status: {in-progress | complete}
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Inception Log: {intent-name}
|
|
24
|
+
|
|
25
|
+
## Overview
|
|
26
|
+
|
|
27
|
+
**Intent**: {brief description}
|
|
28
|
+
**Type**: {green-field | brown-field | defect-fix | refactoring}
|
|
29
|
+
**Created**: {date}
|
|
30
|
+
|
|
31
|
+
## Artifacts Created
|
|
32
|
+
|
|
33
|
+
| Artifact | Status | File |
|
|
34
|
+
|----------|--------|------|
|
|
35
|
+
| Requirements | ✅ | requirements.md |
|
|
36
|
+
| System Context | ✅ | system-context.md |
|
|
37
|
+
| Units | ✅ | units/{unit-name}/unit-brief.md |
|
|
38
|
+
| Stories | ✅ | units/{unit-name}/stories/*.md |
|
|
39
|
+
| Bolt Plan | ✅ | memory-bank/bolts/bolt-*.md |
|
|
40
|
+
|
|
41
|
+
## Summary
|
|
42
|
+
|
|
43
|
+
| Metric | Count |
|
|
44
|
+
|--------|-------|
|
|
45
|
+
| Functional Requirements | {n} |
|
|
46
|
+
| Non-Functional Requirements | {n} |
|
|
47
|
+
| Units | {n} |
|
|
48
|
+
| Stories | {n} |
|
|
49
|
+
| Bolts Planned | {n} |
|
|
50
|
+
|
|
51
|
+
## Units Breakdown
|
|
52
|
+
|
|
53
|
+
| Unit | Stories | Bolts | Priority |
|
|
54
|
+
|------|---------|-------|----------|
|
|
55
|
+
| {unit-1} | {n} | {n} | Must |
|
|
56
|
+
| {unit-2} | {n} | {n} | Should |
|
|
57
|
+
|
|
58
|
+
## Decision Log
|
|
59
|
+
|
|
60
|
+
| Date | Decision | Rationale | Approved |
|
|
61
|
+
|------|----------|-----------|----------|
|
|
62
|
+
|
|
63
|
+
## Scope Changes
|
|
64
|
+
|
|
65
|
+
| Date | Change | Reason | Impact |
|
|
66
|
+
|------|--------|--------|--------|
|
|
67
|
+
|
|
68
|
+
## Ready for Construction
|
|
69
|
+
|
|
70
|
+
**Checklist**:
|
|
71
|
+
- [ ] All requirements documented
|
|
72
|
+
- [ ] System context defined
|
|
73
|
+
- [ ] Units decomposed
|
|
74
|
+
- [ ] Stories created for all units
|
|
75
|
+
- [ ] Bolts planned
|
|
76
|
+
- [ ] Human review complete
|
|
77
|
+
|
|
78
|
+
## Next Steps
|
|
79
|
+
|
|
80
|
+
1. Begin Construction Phase
|
|
81
|
+
2. Start with Unit: {first-unit}
|
|
82
|
+
3. Execute: `/specsmd-construction-agent --unit="{first-unit}"`
|
|
83
|
+
|
|
84
|
+
## Dependencies
|
|
85
|
+
|
|
86
|
+
{Execution order based on unit dependencies}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## When to Create
|
|
92
|
+
|
|
93
|
+
Create this file when:
|
|
94
|
+
|
|
95
|
+
1. Intent is created (intent-create skill)
|
|
96
|
+
2. Initialize with basic metadata and empty sections
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## When to Update
|
|
101
|
+
|
|
102
|
+
Update this file when:
|
|
103
|
+
|
|
104
|
+
1. An artifact is completed (update Artifacts Created table)
|
|
105
|
+
2. A decision is made during inception (add to Decision Log)
|
|
106
|
+
3. Scope changes (add to Scope Changes)
|
|
107
|
+
4. Inception completes (mark status complete, fill summary)
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Decision Log Examples
|
|
112
|
+
|
|
113
|
+
```markdown
|
|
114
|
+
## Decision Log
|
|
115
|
+
|
|
116
|
+
| Date | Decision | Rationale | Approved |
|
|
117
|
+
|------|----------|-----------|----------|
|
|
118
|
+
| 2025-12-07 | Split auth into 2 units | Separation of concerns | Yes |
|
|
119
|
+
| 2025-12-07 | Use JWT over sessions | Stateless API requirement | Yes |
|
|
120
|
+
| 2025-12-08 | Add MFA to scope | Security requirement from review | Yes |
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Scope Changes Examples
|
|
126
|
+
|
|
127
|
+
```markdown
|
|
128
|
+
## Scope Changes
|
|
129
|
+
|
|
130
|
+
| Date | Change | Reason | Impact |
|
|
131
|
+
|------|--------|--------|--------|
|
|
132
|
+
| 2025-12-08 | Added MFA stories | Security requirement | +2 stories, +1 bolt |
|
|
133
|
+
| 2025-12-09 | Removed social login | Out of scope for MVP | -3 stories, -1 bolt |
|
|
134
|
+
```
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Project Context
|
|
2
|
+
|
|
3
|
+
This directory contains project-level context and metadata.
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
The `memory-bank/project/` directory stores information about your overall project that persists across all intents and units.
|
|
8
|
+
|
|
9
|
+
## Files to Create
|
|
10
|
+
|
|
11
|
+
- **project-brief.md**: High-level project overview, goals, and scope
|
|
12
|
+
- **tech-stack.md**: Technology choices and rationale
|
|
13
|
+
- **team.md**: Team structure and roles
|
|
14
|
+
- **conventions.md**: Coding standards, naming conventions, etc.
|
|
15
|
+
|
|
16
|
+
## Example: project-brief.md
|
|
17
|
+
|
|
18
|
+
```markdown
|
|
19
|
+
---
|
|
20
|
+
created: 2024-11-22
|
|
21
|
+
updated: 2024-11-22
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# Project Brief
|
|
25
|
+
|
|
26
|
+
## Project Name
|
|
27
|
+
{Your project name}
|
|
28
|
+
|
|
29
|
+
## Overview
|
|
30
|
+
{Brief description of what this project does}
|
|
31
|
+
|
|
32
|
+
## Business Goals
|
|
33
|
+
- {Goal 1}
|
|
34
|
+
- {Goal 2}
|
|
35
|
+
|
|
36
|
+
## Target Users
|
|
37
|
+
{Who will use this system}
|
|
38
|
+
|
|
39
|
+
## Success Criteria
|
|
40
|
+
- {Measurable criterion 1}
|
|
41
|
+
- {Measurable criterion 2}
|
|
42
|
+
|
|
43
|
+
## Timeline
|
|
44
|
+
- Inception: {dates}
|
|
45
|
+
- Construction: {dates}
|
|
46
|
+
- Launch: {target date}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Getting Started
|
|
50
|
+
|
|
51
|
+
1. Create `project-brief.md` with your project overview
|
|
52
|
+
2. Document your tech stack in `tech-stack.md`
|
|
53
|
+
3. Add any other project-level context as needed
|
|
54
|
+
|
|
55
|
+
These files will be referenced by agents throughout the AI-DLC workflow.
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Requirements Template
|
|
2
|
+
|
|
3
|
+
Use this template when documenting requirements for an intent.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Frontmatter
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
---
|
|
11
|
+
intent: {NNN}-{intent-name}
|
|
12
|
+
phase: inception
|
|
13
|
+
status: draft|in-progress|complete
|
|
14
|
+
created: {YYYY-MM-DDTHH:MM:SSZ}
|
|
15
|
+
updated: {YYYY-MM-DDTHH:MM:SSZ}
|
|
16
|
+
---
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Note: All naming is derived from folder names. No prefix field needed.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Content
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
# Requirements: {Intent Name}
|
|
27
|
+
|
|
28
|
+
## Intent Overview
|
|
29
|
+
|
|
30
|
+
{High-level description of what this intent aims to achieve}
|
|
31
|
+
|
|
32
|
+
## Business Goals
|
|
33
|
+
|
|
34
|
+
| Goal | Success Metric | Priority |
|
|
35
|
+
|------|----------------|----------|
|
|
36
|
+
| {Goal 1} | {How to measure success} | Must |
|
|
37
|
+
| {Goal 2} | {How to measure success} | Should |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Functional Requirements
|
|
42
|
+
|
|
43
|
+
### FR-1: {Requirement Title}
|
|
44
|
+
- **Description**: {What the system must do}
|
|
45
|
+
- **Acceptance Criteria**: {Measurable conditions for success}
|
|
46
|
+
- **Priority**: Must/Should/Could
|
|
47
|
+
- **Related Stories**: {Story IDs when defined}
|
|
48
|
+
|
|
49
|
+
### FR-2: {Requirement Title}
|
|
50
|
+
- **Description**: {What the system must do}
|
|
51
|
+
- **Acceptance Criteria**: {Measurable conditions for success}
|
|
52
|
+
- **Priority**: Must/Should/Could
|
|
53
|
+
- **Related Stories**: {Story IDs when defined}
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Non-Functional Requirements
|
|
58
|
+
|
|
59
|
+
### Performance
|
|
60
|
+
| Requirement | Metric | Target |
|
|
61
|
+
|-------------|--------|--------|
|
|
62
|
+
| Response Time | p95 latency | < 200ms |
|
|
63
|
+
| Throughput | Requests/second | > 1000 |
|
|
64
|
+
|
|
65
|
+
### Scalability
|
|
66
|
+
| Requirement | Metric | Target |
|
|
67
|
+
|-------------|--------|--------|
|
|
68
|
+
| Concurrent Users | Active sessions | 10,000 |
|
|
69
|
+
| Data Volume | Records | 10M+ |
|
|
70
|
+
|
|
71
|
+
### Security
|
|
72
|
+
| Requirement | Standard | Notes |
|
|
73
|
+
|-------------|----------|-------|
|
|
74
|
+
| Authentication | OAuth 2.0 / JWT | {details} |
|
|
75
|
+
| Authorization | RBAC | {details} |
|
|
76
|
+
| Data Protection | AES-256 | {details} |
|
|
77
|
+
|
|
78
|
+
### Reliability
|
|
79
|
+
| Requirement | Metric | Target |
|
|
80
|
+
|-------------|--------|--------|
|
|
81
|
+
| Availability | Uptime | 99.9% |
|
|
82
|
+
| Recovery | RTO | < 1 hour |
|
|
83
|
+
|
|
84
|
+
### Compliance
|
|
85
|
+
| Requirement | Standard | Notes |
|
|
86
|
+
|-------------|----------|-------|
|
|
87
|
+
| {Regulation} | {Standard} | {details} |
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Constraints
|
|
92
|
+
|
|
93
|
+
### Technical Constraints
|
|
94
|
+
|
|
95
|
+
**Project-wide standards**: Required standards will be loaded from memory-bank standards folder by Construction Agent
|
|
96
|
+
|
|
97
|
+
**Intent-specific constraints** (only list constraints unique to this feature):
|
|
98
|
+
- {Constraint specific to this intent, not covered by standards}
|
|
99
|
+
|
|
100
|
+
### Business Constraints
|
|
101
|
+
- {Constraint 1: e.g., budget limitation}
|
|
102
|
+
- {Constraint 2: e.g., timeline requirement}
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Assumptions
|
|
107
|
+
|
|
108
|
+
| Assumption | Risk if Invalid | Mitigation |
|
|
109
|
+
|------------|-----------------|------------|
|
|
110
|
+
| {Assumption 1} | {What happens if wrong} | {How to mitigate} |
|
|
111
|
+
| {Assumption 2} | {What happens if wrong} | {How to mitigate} |
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Open Questions
|
|
116
|
+
|
|
117
|
+
| Question | Owner | Due Date | Resolution |
|
|
118
|
+
|----------|-------|----------|------------|
|
|
119
|
+
| {Question 1} | {Who} | {When} | {Pending/Resolved} |
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Priority Definitions
|
|
125
|
+
|
|
126
|
+
| Priority | Meaning |
|
|
127
|
+
|----------|---------|
|
|
128
|
+
| **Must** | Required for MVP, system unusable without |
|
|
129
|
+
| **Should** | Important, significant value but not blocking |
|
|
130
|
+
| **Could** | Nice to have, enhances experience |
|
|
131
|
+
| **Won't** | Out of scope for this intent |
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Requirement Quality Checklist
|
|
136
|
+
|
|
137
|
+
Before marking requirements complete, verify:
|
|
138
|
+
|
|
139
|
+
- [ ] All requirements are testable (measurable, not vague)
|
|
140
|
+
- [ ] Acceptance criteria are binary (pass/fail)
|
|
141
|
+
- [ ] NFRs have specific metrics and targets
|
|
142
|
+
- [ ] Dependencies are identified
|
|
143
|
+
- [ ] Constraints are documented
|
|
144
|
+
- [ ] Assumptions are stated and risks assessed
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
intent: {NNN}-{intent-name}
|
|
3
|
+
phase: inception
|
|
4
|
+
status: stories-created
|
|
5
|
+
updated: {YYYY-MM-DDTHH:MM:SSZ}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# {Intent Name} - Stories
|
|
9
|
+
|
|
10
|
+
## User Stories
|
|
11
|
+
|
|
12
|
+
### Story-1: {Title}
|
|
13
|
+
|
|
14
|
+
**As a** {user type}
|
|
15
|
+
**I want** {goal}
|
|
16
|
+
**So that** {benefit}
|
|
17
|
+
|
|
18
|
+
**Acceptance Criteria**:
|
|
19
|
+
|
|
20
|
+
- [ ] {Criterion 1}
|
|
21
|
+
- [ ] {Criterion 2}
|
|
22
|
+
|
|
23
|
+
**Priority**: High/Medium/Low
|
|
24
|
+
**Estimate**: {T-shirt size: S/M/L/XL}
|
|
25
|
+
|
|
26
|
+
### Story-2: {Title}
|
|
27
|
+
|
|
28
|
+
...
|
|
29
|
+
|
|
30
|
+
## Technical Stories
|
|
31
|
+
|
|
32
|
+
### Tech-Story-1: {Title}
|
|
33
|
+
|
|
34
|
+
**Description**: {What needs to be done technically}
|
|
35
|
+
**Rationale**: {Why this is needed}
|
|
36
|
+
**Acceptance Criteria**:
|
|
37
|
+
|
|
38
|
+
- [ ] {Criterion}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Story Template
|
|
2
|
+
|
|
3
|
+
Use this template when creating individual story files during story creation.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Frontmatter
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
---
|
|
11
|
+
id: {SSS}-{title-slug}
|
|
12
|
+
unit: {UUU}-{unit-name}
|
|
13
|
+
intent: {NNN}-{intent-name}
|
|
14
|
+
status: draft
|
|
15
|
+
priority: must|should|could
|
|
16
|
+
created: {YYYY-MM-DDTHH:MM:SSZ}
|
|
17
|
+
assigned_bolt: null
|
|
18
|
+
implemented: false
|
|
19
|
+
---
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Content
|
|
25
|
+
|
|
26
|
+
```markdown
|
|
27
|
+
# Story: {SSS}-{title-slug}
|
|
28
|
+
|
|
29
|
+
## User Story
|
|
30
|
+
|
|
31
|
+
**As a** {user role}
|
|
32
|
+
**I want** {goal/action}
|
|
33
|
+
**So that** {benefit/reason}
|
|
34
|
+
|
|
35
|
+
## Acceptance Criteria
|
|
36
|
+
|
|
37
|
+
- [ ] **Given** {precondition}, **When** {action}, **Then** {expected outcome}
|
|
38
|
+
- [ ] **Given** {precondition}, **When** {action}, **Then** {expected outcome}
|
|
39
|
+
- [ ] **Given** {precondition}, **When** {action}, **Then** {expected outcome}
|
|
40
|
+
|
|
41
|
+
## Technical Notes
|
|
42
|
+
|
|
43
|
+
{Implementation hints, constraints, or considerations}
|
|
44
|
+
|
|
45
|
+
## Dependencies
|
|
46
|
+
|
|
47
|
+
### Requires
|
|
48
|
+
- {Other stories this depends on, or "None"}
|
|
49
|
+
|
|
50
|
+
### Enables
|
|
51
|
+
- {Stories that depend on this, or "None"}
|
|
52
|
+
|
|
53
|
+
## Edge Cases
|
|
54
|
+
|
|
55
|
+
| Scenario | Expected Behavior |
|
|
56
|
+
|----------|-------------------|
|
|
57
|
+
| {edge case 1} | {behavior} |
|
|
58
|
+
| {edge case 2} | {behavior} |
|
|
59
|
+
|
|
60
|
+
## Out of Scope
|
|
61
|
+
|
|
62
|
+
- {What this story does NOT cover}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Priority Levels
|
|
68
|
+
|
|
69
|
+
| Priority | Meaning | Criteria |
|
|
70
|
+
|----------|---------|----------|
|
|
71
|
+
| `must` | Required for MVP | System unusable without this |
|
|
72
|
+
| `should` | Important | Significant value, not blocking |
|
|
73
|
+
| `could` | Nice to have | Enhances experience |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Status Values
|
|
78
|
+
|
|
79
|
+
| Status | Meaning |
|
|
80
|
+
|--------|---------|
|
|
81
|
+
| `draft` | Story written, needs review |
|
|
82
|
+
| `ready` | Reviewed, ready for bolt |
|
|
83
|
+
| `in-progress` | Being implemented in a bolt |
|
|
84
|
+
| `implemented` | Code complete |
|
|
85
|
+
| `tested` | Tests passing |
|
|
86
|
+
| `done` | All acceptance criteria met |
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Example
|
|
91
|
+
|
|
92
|
+
```yaml
|
|
93
|
+
---
|
|
94
|
+
id: 001-user-signup
|
|
95
|
+
unit: 001-auth-service
|
|
96
|
+
intent: 001-user-authentication
|
|
97
|
+
status: ready
|
|
98
|
+
priority: must
|
|
99
|
+
created: 2024-12-05T10:00:00Z
|
|
100
|
+
assigned_bolt: 001-auth-service
|
|
101
|
+
implemented: false
|
|
102
|
+
---
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
```markdown
|
|
106
|
+
# Story: 001-user-signup
|
|
107
|
+
|
|
108
|
+
## User Story
|
|
109
|
+
|
|
110
|
+
**As a** new user
|
|
111
|
+
**I want** to register with my email and password
|
|
112
|
+
**So that** I can access the application
|
|
113
|
+
|
|
114
|
+
## Acceptance Criteria
|
|
115
|
+
|
|
116
|
+
- [ ] **Given** I am on the registration page, **When** I enter valid email and password, **Then** my account is created and I receive a confirmation email
|
|
117
|
+
- [ ] **Given** I enter an email that already exists, **When** I submit registration, **Then** I see an error message "Email already registered"
|
|
118
|
+
- [ ] **Given** I enter a password less than 8 characters, **When** I submit, **Then** I see validation error
|
|
119
|
+
|
|
120
|
+
## Technical Notes
|
|
121
|
+
|
|
122
|
+
- Password must be hashed with bcrypt (cost factor 12)
|
|
123
|
+
- Email validation should use RFC 5322 compliant regex
|
|
124
|
+
- Rate limit registration to 5 attempts per IP per hour
|
|
125
|
+
|
|
126
|
+
## Dependencies
|
|
127
|
+
|
|
128
|
+
### Requires
|
|
129
|
+
- None (first story)
|
|
130
|
+
|
|
131
|
+
### Enables
|
|
132
|
+
- 002-user-login (User login)
|
|
133
|
+
- 003-email-verification (Email verification)
|
|
134
|
+
|
|
135
|
+
## Edge Cases
|
|
136
|
+
|
|
137
|
+
| Scenario | Expected Behavior |
|
|
138
|
+
|----------|-------------------|
|
|
139
|
+
| SQL injection in email | Safely escaped, validation fails |
|
|
140
|
+
| Very long email (255+ chars) | Validation error |
|
|
141
|
+
| Unicode in password | Allowed, properly encoded |
|
|
142
|
+
|
|
143
|
+
## Out of Scope
|
|
144
|
+
|
|
145
|
+
- Social login (OAuth) - separate story
|
|
146
|
+
- Password reset - separate story
|
|
147
|
+
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
intent: {NNN}-{intent-name}
|
|
3
|
+
phase: inception
|
|
4
|
+
status: context-defined
|
|
5
|
+
updated: {YYYY-MM-DDTHH:MM:SSZ}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# {Intent Name} - System Context
|
|
9
|
+
|
|
10
|
+
## System Overview
|
|
11
|
+
|
|
12
|
+
{High-level description of what we are building}
|
|
13
|
+
|
|
14
|
+
## Context Diagram
|
|
15
|
+
|
|
16
|
+
{Mermaid diagram showing System, Users, and External Systems}
|
|
17
|
+
|
|
18
|
+
## External Integrations
|
|
19
|
+
|
|
20
|
+
- **System A**: {Purpose of integration}
|
|
21
|
+
- **System B**: {Purpose of integration}
|
|
22
|
+
|
|
23
|
+
## High-Level Constraints
|
|
24
|
+
|
|
25
|
+
- {e.g., Must run on AWS, Must use existing Auth provider}
|
|
26
|
+
|
|
27
|
+
## Key NFR Goals
|
|
28
|
+
|
|
29
|
+
- {High-level performance/security goals to guide construction}
|