specky-sdd 3.2.0 → 3.2.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/README.md +42 -54
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -1
- package/dist/templates/templates/analysis.md +55 -0
- package/dist/templates/templates/api-docs.md +40 -0
- package/dist/templates/templates/bugfix.md +46 -0
- package/dist/templates/templates/checklist.md +29 -0
- package/dist/templates/templates/compliance.md +28 -0
- package/dist/templates/templates/constitution.md +57 -0
- package/dist/templates/templates/cross-analysis.md +46 -0
- package/dist/templates/templates/data-model.md +35 -0
- package/dist/templates/templates/design.md +104 -0
- package/dist/templates/templates/devcontainer.md +36 -0
- package/dist/templates/templates/dockerfile.md +34 -0
- package/dist/templates/templates/journey.md +73 -0
- package/dist/templates/templates/onboarding.md +49 -0
- package/dist/templates/templates/research.md +39 -0
- package/dist/templates/templates/runbook.md +40 -0
- package/dist/templates/templates/specification.md +50 -0
- package/dist/templates/templates/sync-report.md +44 -0
- package/dist/templates/templates/tasks.md +39 -0
- package/dist/templates/templates/terraform.md +38 -0
- package/dist/templates/templates/test-stub.md +34 -0
- package/dist/templates/templates/user-stories.md +39 -0
- package/dist/templates/templates/verification.md +33 -0
- package/dist/templates/templates/work-items.md +27 -0
- package/package.json +1 -1
- package/media/specky-icon-128.png +0 -0
- package/media/specky-icon-256.png +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<!-- markdownlint-disable -->
|
|
2
|
+
# Data Model: {{title}}
|
|
3
|
+
|
|
4
|
+
**Feature**: {{feature_id}}
|
|
5
|
+
**Date**: {{date}}
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Entities
|
|
10
|
+
|
|
11
|
+
{{#each entities}}
|
|
12
|
+
### {{name}}
|
|
13
|
+
|
|
14
|
+
**Description**: {{description}}
|
|
15
|
+
|
|
16
|
+
| Attribute | Type | Required | Description |
|
|
17
|
+
|-----------|------|----------|-------------|
|
|
18
|
+
{{#each attributes}}
|
|
19
|
+
| {{name}} | {{type}} | {{required}} | {{description}} |
|
|
20
|
+
{{/each}}
|
|
21
|
+
|
|
22
|
+
{{/each}}
|
|
23
|
+
|
|
24
|
+
## Relationships
|
|
25
|
+
|
|
26
|
+
```mermaid
|
|
27
|
+
erDiagram
|
|
28
|
+
{{mermaid_erd}}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Constraints
|
|
32
|
+
|
|
33
|
+
{{#each constraints}}
|
|
34
|
+
- {{this}}
|
|
35
|
+
{{/each}}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
<!-- markdownlint-disable -->
|
|
2
|
+
# {{project_name}} — Design
|
|
3
|
+
|
|
4
|
+
> Complete system design covering architecture, data, APIs, security, infrastructure, and decisions.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. System Context (C4 Level 1)
|
|
9
|
+
|
|
10
|
+
> Who uses the system and what external systems does it integrate with?
|
|
11
|
+
|
|
12
|
+
{{system_context}}
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 2. Container Architecture (C4 Level 2)
|
|
17
|
+
|
|
18
|
+
> What are the deployable units (APIs, databases, queues, frontends) and how do they communicate?
|
|
19
|
+
|
|
20
|
+
{{container_architecture}}
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 3. Component Design (C4 Level 3)
|
|
25
|
+
|
|
26
|
+
> What are the internal modules/services within each container and their responsibilities?
|
|
27
|
+
|
|
28
|
+
{{component_design}}
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 4. Code-Level Design (C4 Level 4)
|
|
33
|
+
|
|
34
|
+
> Key classes, interfaces, patterns, and their relationships.
|
|
35
|
+
|
|
36
|
+
{{code_level_design}}
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 5. System Diagrams
|
|
41
|
+
|
|
42
|
+
{{#each diagrams}}
|
|
43
|
+
### {{this}}
|
|
44
|
+
{{/each}}
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 6. Data Model
|
|
49
|
+
|
|
50
|
+
> Entities, relationships, storage strategy, and data flow.
|
|
51
|
+
|
|
52
|
+
{{data_models}}
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 7. API Contracts
|
|
57
|
+
|
|
58
|
+
> Endpoints, request/response schemas, authentication, and error codes.
|
|
59
|
+
|
|
60
|
+
{{api_contracts}}
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 8. Infrastructure & Deployment
|
|
65
|
+
|
|
66
|
+
> How the system is deployed, scaled, monitored, and operated.
|
|
67
|
+
|
|
68
|
+
{{infrastructure}}
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 9. Security Architecture
|
|
73
|
+
|
|
74
|
+
> Authentication, authorization, encryption, secrets management, and threat model.
|
|
75
|
+
|
|
76
|
+
{{security_architecture}}
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## 10. Architecture Decision Records
|
|
81
|
+
|
|
82
|
+
{{#each adrs}}
|
|
83
|
+
### {{this}}
|
|
84
|
+
{{/each}}
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 11. Error Handling Strategy
|
|
89
|
+
|
|
90
|
+
> How errors are detected, logged, propagated, and recovered from.
|
|
91
|
+
|
|
92
|
+
{{error_handling}}
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 12. Cross-Cutting Concerns
|
|
97
|
+
|
|
98
|
+
> Logging, monitoring, caching, configuration, feature flags, and observability.
|
|
99
|
+
|
|
100
|
+
{{cross_cutting}}
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
**Covers:** {{requirement_references}}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<!-- markdownlint-disable -->
|
|
2
|
+
# Dev Container: {{title}}
|
|
3
|
+
|
|
4
|
+
**Feature**: {{feature_id}}
|
|
5
|
+
**Base Image**: {{base_image}}
|
|
6
|
+
**Date**: {{date}}
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Configuration
|
|
11
|
+
|
|
12
|
+
```json
|
|
13
|
+
{{devcontainer_json}}
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Included Features
|
|
17
|
+
|
|
18
|
+
{{#each features}}
|
|
19
|
+
- {{this}}
|
|
20
|
+
{{/each}}
|
|
21
|
+
|
|
22
|
+
## VS Code Extensions
|
|
23
|
+
|
|
24
|
+
{{#each extensions}}
|
|
25
|
+
- {{this}}
|
|
26
|
+
{{/each}}
|
|
27
|
+
|
|
28
|
+
## Getting Started
|
|
29
|
+
|
|
30
|
+
1. Open VS Code in the project root
|
|
31
|
+
2. Press `Ctrl+Shift+P` → "Dev Containers: Reopen in Container"
|
|
32
|
+
3. Wait for the container to build
|
|
33
|
+
4. Start developing!
|
|
34
|
+
|
|
35
|
+
Alternatively, use GitHub Codespaces:
|
|
36
|
+
- Run `sdd_setup_codespaces` to create a cloud environment
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<!-- markdownlint-disable -->
|
|
2
|
+
# Container Configuration: {{title}}
|
|
3
|
+
|
|
4
|
+
**Feature**: {{feature_id}}
|
|
5
|
+
**Language**: {{language}}
|
|
6
|
+
**Framework**: {{framework}}
|
|
7
|
+
**Date**: {{date}}
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Dockerfile
|
|
12
|
+
|
|
13
|
+
```dockerfile
|
|
14
|
+
{{dockerfile_content}}
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Docker Compose
|
|
18
|
+
|
|
19
|
+
```yaml
|
|
20
|
+
{{compose_content}}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## .dockerignore
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
{{dockerignore_content}}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Build & Run
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
docker build -t {{image_name}} .
|
|
33
|
+
docker run -p {{port}}:{{port}} {{image_name}}
|
|
34
|
+
```
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<!-- markdownlint-disable -->
|
|
2
|
+
# {{project_name}} — SDD Journey
|
|
3
|
+
|
|
4
|
+
> Complete documentation of the Spec-Driven Development process for this project.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Methodology Overview
|
|
9
|
+
|
|
10
|
+
This project was built using **Spec-Driven Development (SDD)**, a methodology that enforces traceability between requirements, design, implementation, and tests. SDD uses a 10-phase pipeline where each phase builds on the previous one, and every artifact is traceable to a requirement.
|
|
11
|
+
|
|
12
|
+
### The 10 Phases
|
|
13
|
+
|
|
14
|
+
| # | Phase | Purpose | Required Artifact |
|
|
15
|
+
|---|-------|---------|-------------------|
|
|
16
|
+
| 1 | Init | Establish project constitution | CONSTITUTION.md |
|
|
17
|
+
| 2 | Discover | Explore problem space | Discovery Q&A |
|
|
18
|
+
| 3 | Specify | Write EARS requirements | SPECIFICATION.md |
|
|
19
|
+
| 4 | Clarify | Resolve ambiguity | Clarification Q&A |
|
|
20
|
+
| 5 | Design | Architecture & system design | DESIGN.md |
|
|
21
|
+
| 6 | Tasks | Implementation breakdown | TASKS.md |
|
|
22
|
+
| 7 | Analyze | Quality gate | ANALYSIS.md |
|
|
23
|
+
| 8 | Implement | Build following the plan | CHECKLIST.md |
|
|
24
|
+
| 9 | Verify | Validate against spec | VERIFICATION.md |
|
|
25
|
+
| 10 | Release | Documentation & deployment | PR + Docs |
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 2. Phase-by-Phase Journey
|
|
30
|
+
|
|
31
|
+
{{phase_journey}}
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 3. Quality Gate Results
|
|
36
|
+
|
|
37
|
+
{{gate_results}}
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 4. Diagrams Generated
|
|
42
|
+
|
|
43
|
+
{{diagrams_summary}}
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 5. Architecture Decisions
|
|
48
|
+
|
|
49
|
+
{{architecture_decisions}}
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 6. Traceability Matrix
|
|
54
|
+
|
|
55
|
+
{{traceability_matrix}}
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 7. Metrics & Coverage
|
|
60
|
+
|
|
61
|
+
{{metrics_summary}}
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 8. Lessons & Observations
|
|
66
|
+
|
|
67
|
+
{{lessons}}
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
**Generated by:** SDD Pipeline v{{version}}
|
|
72
|
+
**Date:** {{date}}
|
|
73
|
+
**Total Phases Completed:** {{phases_completed}}/10
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<!-- markdownlint-disable -->
|
|
2
|
+
# Developer Onboarding: {{title}}
|
|
3
|
+
|
|
4
|
+
**Feature**: {{feature_id}}
|
|
5
|
+
**Date**: {{date}}
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Welcome
|
|
10
|
+
|
|
11
|
+
> This guide helps you understand and contribute to **{{title}}**.
|
|
12
|
+
|
|
13
|
+
## What This Feature Does
|
|
14
|
+
|
|
15
|
+
{{feature_description}}
|
|
16
|
+
|
|
17
|
+
## Architecture Overview
|
|
18
|
+
|
|
19
|
+
{{architecture_overview}}
|
|
20
|
+
|
|
21
|
+
## Getting Started
|
|
22
|
+
|
|
23
|
+
1. Clone the repository
|
|
24
|
+
2. Install dependencies
|
|
25
|
+
3. Read `.specs/{{feature_id}}/SPECIFICATION.md`
|
|
26
|
+
4. Review `.specs/{{feature_id}}/DESIGN.md`
|
|
27
|
+
5. Check `.specs/{{feature_id}}/TASKS.md` for open tasks
|
|
28
|
+
|
|
29
|
+
## Key Concepts
|
|
30
|
+
|
|
31
|
+
| Concept | Description |
|
|
32
|
+
|---------|-------------|
|
|
33
|
+
| EARS Notation | Requirements follow the Easy Approach to Requirements Syntax |
|
|
34
|
+
| SDD Pipeline | Spec → Design → Tasks → Implement → Verify |
|
|
35
|
+
| Traceability | Every task traces to a requirement (REQ-XXX-NNN) |
|
|
36
|
+
| Quality Gates | Each phase requires validation before advancing |
|
|
37
|
+
|
|
38
|
+
## Where to Find Things
|
|
39
|
+
|
|
40
|
+
| What | Where |
|
|
41
|
+
|------|-------|
|
|
42
|
+
| Requirements | `.specs/{{feature_id}}/SPECIFICATION.md` |
|
|
43
|
+
| Architecture | `.specs/{{feature_id}}/DESIGN.md` |
|
|
44
|
+
| Tasks | `.specs/{{feature_id}}/TASKS.md` |
|
|
45
|
+
| Quality Report | `.specs/{{feature_id}}/ANALYSIS.md` |
|
|
46
|
+
|
|
47
|
+
## How to Contribute
|
|
48
|
+
|
|
49
|
+
{{contribution_guide}}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<!-- markdownlint-disable -->
|
|
2
|
+
# Research: {{title}}
|
|
3
|
+
|
|
4
|
+
**Feature**: {{feature_id}}
|
|
5
|
+
**Date**: {{date}}
|
|
6
|
+
**Status**: {{status}}
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Open Questions
|
|
11
|
+
|
|
12
|
+
{{#each questions}}
|
|
13
|
+
### {{id}}: {{question}}
|
|
14
|
+
|
|
15
|
+
**Context**: {{context}}
|
|
16
|
+
|
|
17
|
+
**Findings**: {{findings}}
|
|
18
|
+
|
|
19
|
+
**Sources**: {{sources}}
|
|
20
|
+
|
|
21
|
+
**Recommendation**: {{recommendation}}
|
|
22
|
+
|
|
23
|
+
**Status**: {{status}}
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
{{/each}}
|
|
28
|
+
|
|
29
|
+
## Summary
|
|
30
|
+
|
|
31
|
+
| Question | Status | Recommendation |
|
|
32
|
+
|----------|--------|---------------|
|
|
33
|
+
{{#each questions}}
|
|
34
|
+
| {{id}} | {{status}} | {{recommendation}} |
|
|
35
|
+
{{/each}}
|
|
36
|
+
|
|
37
|
+
## Next Steps
|
|
38
|
+
|
|
39
|
+
[TODO: next_steps]
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<!-- markdownlint-disable -->
|
|
2
|
+
# Operational Runbook: {{title}}
|
|
3
|
+
|
|
4
|
+
**Feature**: {{feature_id}}
|
|
5
|
+
**Date**: {{date}}
|
|
6
|
+
**Version**: {{version}}
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Deployment
|
|
11
|
+
|
|
12
|
+
{{deployment_steps}}
|
|
13
|
+
|
|
14
|
+
## Health Checks
|
|
15
|
+
|
|
16
|
+
| Endpoint | Expected | Interval |
|
|
17
|
+
|----------|----------|----------|
|
|
18
|
+
{{#each health_checks}}
|
|
19
|
+
| {{endpoint}} | {{expected}} | {{interval}} |
|
|
20
|
+
{{/each}}
|
|
21
|
+
|
|
22
|
+
## Monitoring & Alerts
|
|
23
|
+
|
|
24
|
+
{{monitoring}}
|
|
25
|
+
|
|
26
|
+
## Troubleshooting
|
|
27
|
+
|
|
28
|
+
| Symptom | Cause | Resolution |
|
|
29
|
+
|---------|-------|-----------|
|
|
30
|
+
{{#each troubleshooting}}
|
|
31
|
+
| {{symptom}} | {{cause}} | {{resolution}} |
|
|
32
|
+
{{/each}}
|
|
33
|
+
|
|
34
|
+
## Rollback Procedure
|
|
35
|
+
|
|
36
|
+
{{rollback}}
|
|
37
|
+
|
|
38
|
+
## Contacts
|
|
39
|
+
|
|
40
|
+
{{contacts}}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<!-- markdownlint-disable -->
|
|
2
|
+
# {{project_name}} — Specification
|
|
3
|
+
|
|
4
|
+
> All requirements use **EARS notation** (Easy Approach to Requirements Syntax). Each requirement is testable, unambiguous, and traceable to the Constitution's success criteria.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Table of Contents
|
|
9
|
+
|
|
10
|
+
- [1. Core Requirements](#1-core-requirements)
|
|
11
|
+
- [2. Functional Requirements](#2-functional-requirements)
|
|
12
|
+
- [3. Non-Functional Requirements](#3-non-functional-requirements)
|
|
13
|
+
- [Acceptance Criteria Summary](#acceptance-criteria-summary)
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. Core Requirements
|
|
18
|
+
|
|
19
|
+
{{requirements_core}}
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 2. Functional Requirements
|
|
24
|
+
|
|
25
|
+
{{requirements_functional}}
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 3. Non-Functional Requirements
|
|
30
|
+
|
|
31
|
+
{{requirements_nonfunctional}}
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Acceptance Criteria Summary
|
|
36
|
+
|
|
37
|
+
| ID | Requirement | Test Method |
|
|
38
|
+
|----|-------------|-------------|
|
|
39
|
+
{{acceptance_criteria_table}}
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Self-Assessment
|
|
44
|
+
|
|
45
|
+
| Criterion | Score | Notes |
|
|
46
|
+
|-----------|-------|-------|
|
|
47
|
+
| EARS notation compliance | {{ears_compliance}} | |
|
|
48
|
+
| Testability | {{testability_score}} | Every requirement has acceptance criteria |
|
|
49
|
+
| Traceability | {{traceability_score}} | Every requirement traces to Constitution |
|
|
50
|
+
| Uniqueness of IDs | {{uniqueness_score}} | No duplicate requirement IDs |
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<!-- markdownlint-disable -->
|
|
2
|
+
# Sync Report: {{project_name}}
|
|
3
|
+
|
|
4
|
+
> Drift analysis between specification and implementation.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Summary
|
|
9
|
+
|
|
10
|
+
- **In Sync:** {{in_sync}}
|
|
11
|
+
- **Last Checked:** {{last_checked}}
|
|
12
|
+
- **Drift Items:** {{drift_count}}
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Requirements Coverage
|
|
17
|
+
|
|
18
|
+
| Requirement | Implementation | Status |
|
|
19
|
+
|-------------|---------------|--------|
|
|
20
|
+
{{coverage_table}}
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Drift Items
|
|
25
|
+
|
|
26
|
+
{{#each drift_items}}
|
|
27
|
+
- {{this}}
|
|
28
|
+
{{/each}}
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Orphan Code
|
|
33
|
+
|
|
34
|
+
Files not traced to any requirement:
|
|
35
|
+
|
|
36
|
+
{{#each orphan_files}}
|
|
37
|
+
- {{this}}
|
|
38
|
+
{{/each}}
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Recommendation
|
|
43
|
+
|
|
44
|
+
{{recommendation}}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<!-- markdownlint-disable -->
|
|
2
|
+
# {{project_name}} — Tasks
|
|
3
|
+
|
|
4
|
+
> Sequenced implementation tasks with pre-implementation gates, `[P]` parallel markers, effort estimates, and requirement traceability.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Pre-Implementation Gates
|
|
9
|
+
|
|
10
|
+
Before writing any code, the following gates must pass:
|
|
11
|
+
|
|
12
|
+
{{#each gates}}
|
|
13
|
+
- [ ] {{this}}
|
|
14
|
+
{{/each}}
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Task Breakdown
|
|
19
|
+
|
|
20
|
+
| ID | Task | [P] | Effort | Depends On | Traces To |
|
|
21
|
+
|----|------|-----|--------|------------|-----------|
|
|
22
|
+
| {{task_table}} | | | | | |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Dependency Graph
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
{{dependency_graph}}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Effort Summary
|
|
35
|
+
|
|
36
|
+
| Phase | Tasks | Parallel | Effort |
|
|
37
|
+
|-------|-------|----------|--------|
|
|
38
|
+
| {{effort_summary}} | | | |
|
|
39
|
+
| **Total** | **{{total_tasks}}** | **{{parallel_tasks}}** | **{{total_effort}}** |
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<!-- markdownlint-disable -->
|
|
2
|
+
# Infrastructure as Code: {{title}}
|
|
3
|
+
|
|
4
|
+
**Feature**: {{feature_id}}
|
|
5
|
+
**Provider**: {{provider}}
|
|
6
|
+
**Cloud**: {{cloud}}
|
|
7
|
+
**Date**: {{date}}
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Modules
|
|
12
|
+
|
|
13
|
+
{{#each modules}}
|
|
14
|
+
### {{name}}
|
|
15
|
+
|
|
16
|
+
{{description}}
|
|
17
|
+
|
|
18
|
+
**Resources**: {{resources}}
|
|
19
|
+
|
|
20
|
+
{{/each}}
|
|
21
|
+
|
|
22
|
+
## Variables
|
|
23
|
+
|
|
24
|
+
| Name | Type | Description | Default | Required |
|
|
25
|
+
|------|------|-------------|---------|----------|
|
|
26
|
+
{{#each variables}}
|
|
27
|
+
| {{name}} | {{type}} | {{description}} | {{default}} | {{required}} |
|
|
28
|
+
{{/each}}
|
|
29
|
+
|
|
30
|
+
## Architecture Diagram
|
|
31
|
+
|
|
32
|
+
```mermaid
|
|
33
|
+
{{diagram}}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Validation
|
|
37
|
+
|
|
38
|
+
Run `sdd_validate_iac` to validate this configuration via Terraform MCP.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Test Stubs — {{feature_name}}
|
|
2
|
+
|
|
3
|
+
> Auto-generated by Specky SDD from acceptance criteria in SPECIFICATION.md and TASKS.md.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Framework: {{framework}}
|
|
8
|
+
|
|
9
|
+
## Traceability
|
|
10
|
+
|
|
11
|
+
| Test ID | Requirement | Description |
|
|
12
|
+
|---------|-------------|-------------|
|
|
13
|
+
{{#each stubs}}
|
|
14
|
+
| {{id}} | {{requirement_id}} | {{description}} |
|
|
15
|
+
{{/each}}
|
|
16
|
+
|
|
17
|
+
## Generated File
|
|
18
|
+
|
|
19
|
+
- **Output:** `{{output_file}}`
|
|
20
|
+
- **Total Tests:** {{total_tests}}
|
|
21
|
+
- **Framework:** {{framework}}
|
|
22
|
+
|
|
23
|
+
## Next Steps
|
|
24
|
+
|
|
25
|
+
1. Open the generated test file at `{{output_file}}`
|
|
26
|
+
2. Replace each `TODO: implement test` placeholder with real assertions
|
|
27
|
+
3. Run your test suite to verify all stubs execute
|
|
28
|
+
4. Map each passing test back to its requirement ID for traceability
|
|
29
|
+
|
|
30
|
+
## Notes
|
|
31
|
+
|
|
32
|
+
- Each test stub traces to an acceptance criterion from SPECIFICATION.md
|
|
33
|
+
- Test IDs (TC-001, TC-002, ...) map to requirement IDs (REQ-001, REQ-002, ...)
|
|
34
|
+
- Stubs are intentionally minimal — add setup, teardown, and assertions as needed
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<!-- markdownlint-disable -->
|
|
2
|
+
# User Stories: {{title}}
|
|
3
|
+
|
|
4
|
+
**Feature**: {{feature_id}}
|
|
5
|
+
**Date**: {{date}}
|
|
6
|
+
**Total Stories**: {{total_count}}
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
{{#each stories}}
|
|
11
|
+
## {{id}}: {{title}} (Priority: {{priority}})
|
|
12
|
+
|
|
13
|
+
{{description}}
|
|
14
|
+
|
|
15
|
+
### Acceptance Criteria
|
|
16
|
+
|
|
17
|
+
{{#each acceptance_criteria}}
|
|
18
|
+
- [ ] {{this}}
|
|
19
|
+
{{/each}}
|
|
20
|
+
|
|
21
|
+
### Independent Test
|
|
22
|
+
|
|
23
|
+
{{independent_test}}
|
|
24
|
+
|
|
25
|
+
### User Flow
|
|
26
|
+
|
|
27
|
+
```mermaid
|
|
28
|
+
{{flow_diagram}}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
{{/each}}
|
|
34
|
+
|
|
35
|
+
## Overview Diagram
|
|
36
|
+
|
|
37
|
+
```mermaid
|
|
38
|
+
{{overview_diagram}}
|
|
39
|
+
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<!-- markdownlint-disable -->
|
|
2
|
+
# Task Verification Report: {{title}}
|
|
3
|
+
|
|
4
|
+
**Feature**: {{feature_id}}
|
|
5
|
+
**Date**: {{date}}
|
|
6
|
+
**Pass Rate**: {{pass_rate}}%
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Verification Results
|
|
11
|
+
|
|
12
|
+
| Task | Claimed | Verified | Phantom? | Evidence |
|
|
13
|
+
|------|---------|----------|----------|----------|
|
|
14
|
+
{{#each results}}
|
|
15
|
+
| {{task_id}} | {{claimed_status}} | {{verified_status}} | {{phantom}} | {{evidence}} |
|
|
16
|
+
{{/each}}
|
|
17
|
+
|
|
18
|
+
## Summary
|
|
19
|
+
|
|
20
|
+
- **Total Tasks**: {{total_tasks}}
|
|
21
|
+
- **Verified**: {{verified_count}}
|
|
22
|
+
- **Phantom Completions**: {{phantom_count}}
|
|
23
|
+
- **Pass Rate**: {{pass_rate}}%
|
|
24
|
+
|
|
25
|
+
## Diagram
|
|
26
|
+
|
|
27
|
+
```mermaid
|
|
28
|
+
{{diagram}}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Gate Decision
|
|
32
|
+
|
|
33
|
+
{{gate_decision}}
|