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.
@@ -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}}