specky-sdd 3.2.0 → 3.2.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.
Files changed (31) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +126 -111
  3. package/SECURITY.md +4 -4
  4. package/dist/index.js +16 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/templates/templates/analysis.md +55 -0
  7. package/dist/templates/templates/api-docs.md +40 -0
  8. package/dist/templates/templates/bugfix.md +46 -0
  9. package/dist/templates/templates/checklist.md +29 -0
  10. package/dist/templates/templates/compliance.md +28 -0
  11. package/dist/templates/templates/constitution.md +57 -0
  12. package/dist/templates/templates/cross-analysis.md +46 -0
  13. package/dist/templates/templates/data-model.md +35 -0
  14. package/dist/templates/templates/design.md +104 -0
  15. package/dist/templates/templates/devcontainer.md +36 -0
  16. package/dist/templates/templates/dockerfile.md +34 -0
  17. package/dist/templates/templates/journey.md +73 -0
  18. package/dist/templates/templates/onboarding.md +49 -0
  19. package/dist/templates/templates/research.md +39 -0
  20. package/dist/templates/templates/runbook.md +40 -0
  21. package/dist/templates/templates/specification.md +50 -0
  22. package/dist/templates/templates/sync-report.md +44 -0
  23. package/dist/templates/templates/tasks.md +39 -0
  24. package/dist/templates/templates/terraform.md +38 -0
  25. package/dist/templates/templates/test-stub.md +34 -0
  26. package/dist/templates/templates/user-stories.md +39 -0
  27. package/dist/templates/templates/verification.md +33 -0
  28. package/dist/templates/templates/work-items.md +27 -0
  29. package/package.json +1 -1
  30. package/media/specky-icon-128.png +0 -0
  31. package/media/specky-icon-256.png +0 -0
@@ -0,0 +1,55 @@
1
+ <!-- markdownlint-disable -->
2
+ # {{project_name}} — Analysis
3
+
4
+ > Traceability matrix, coverage report, gap analysis, and quality gate decision.
5
+
6
+ ---
7
+
8
+ ## Gate Decision
9
+
10
+ **Decision:** {{gate_decision}}
11
+ **Coverage:** {{coverage_percent}}%
12
+ **Date:** {{date}}
13
+
14
+ ---
15
+
16
+ ## Traceability Matrix
17
+
18
+ | Requirement | Design Component | Task | Test | Status |
19
+ |-------------|-----------------|------|------|--------|
20
+ {{traceability_matrix}}
21
+
22
+ ---
23
+
24
+ ## Coverage Report
25
+
26
+ - **Requirements with design mapping:** {{design_coverage}}
27
+ - **Requirements with task mapping:** {{task_coverage}}
28
+ - **Requirements with test mapping:** {{test_coverage}}
29
+ - **Overall coverage:** {{coverage_percent}}%
30
+
31
+ ---
32
+
33
+ ## Gap Analysis
34
+
35
+ {{#each gaps}}
36
+ - {{this}}
37
+ {{/each}}
38
+
39
+ ---
40
+
41
+ ## Recommendations
42
+
43
+ {{#each recommendations}}
44
+ - {{this}}
45
+ {{/each}}
46
+
47
+ ---
48
+
49
+ ## Quality Metrics
50
+
51
+ | Metric | Value | Target | Status |
52
+ |--------|-------|--------|--------|
53
+ | EARS compliance | {{ears_compliance}} | 100% | {{ears_status}} |
54
+ | Requirement coverage | {{coverage_percent}}% | ≥90% | {{coverage_status}} |
55
+ | Orphan requirements | {{orphan_count}} | 0 | {{orphan_status}} |
@@ -0,0 +1,40 @@
1
+ <!-- markdownlint-disable -->
2
+ # API Documentation: {{title}}
3
+
4
+ **Feature**: {{feature_id}}
5
+ **Version**: {{version}}
6
+ **Base URL**: `{{base_url}}`
7
+ **Date**: {{date}}
8
+
9
+ ---
10
+
11
+ {{#each endpoints}}
12
+ ## {{method}} `{{path}}`
13
+
14
+ {{description}}
15
+
16
+ ### Request
17
+
18
+ ```json
19
+ {{request}}
20
+ ```
21
+
22
+ ### Response
23
+
24
+ ```json
25
+ {{response}}
26
+ ```
27
+
28
+ ### Status Codes
29
+
30
+ | Code | Description |
31
+ |------|-------------|
32
+ | 200 | Success |
33
+ | 400 | Bad Request |
34
+ | 401 | Unauthorized |
35
+ | 404 | Not Found |
36
+ | 500 | Internal Server Error |
37
+
38
+ ---
39
+
40
+ {{/each}}
@@ -0,0 +1,46 @@
1
+ <!-- markdownlint-disable -->
2
+ # Bugfix Spec: {{bug_title}}
3
+
4
+ > Structured specification for bug investigation and resolution.
5
+
6
+ ---
7
+
8
+ ## 1. Current Behavior
9
+
10
+ {{current_behavior}}
11
+
12
+ ---
13
+
14
+ ## 2. Expected Behavior
15
+
16
+ {{expected_behavior}}
17
+
18
+ ---
19
+
20
+ ## 3. Unchanged Behavior
21
+
22
+ The following behaviors must remain unchanged after the fix:
23
+
24
+ {{#each unchanged_behavior}}
25
+ - {{this}}
26
+ {{/each}}
27
+
28
+ ---
29
+
30
+ ## 4. Root Cause Analysis
31
+
32
+ {{root_cause}}
33
+
34
+ ---
35
+
36
+ ## 5. Test Plan
37
+
38
+ {{test_plan}}
39
+
40
+ ---
41
+
42
+ ## Metadata
43
+
44
+ - **Reported:** {{date}}
45
+ - **Severity:** {{severity}}
46
+ - **Related Requirements:** {{related_requirements}}
@@ -0,0 +1,29 @@
1
+ <!-- markdownlint-disable -->
2
+ # Quality Checklist: {{title}}
3
+
4
+ **Feature**: {{feature_id}}
5
+ **Domain**: {{domain}}
6
+ **Date**: {{date}}
7
+ **Mandatory Pass Rate**: {{mandatory_pass_rate}}
8
+
9
+ ---
10
+
11
+ ## Checklist Items
12
+
13
+ | ID | Check | Mandatory | Status | Evidence |
14
+ |----|-------|-----------|--------|----------|
15
+ {{#each items}}
16
+ | {{id}} | {{check}} | {{mandatory}} | {{status}} | {{evidence}} |
17
+ {{/each}}
18
+
19
+ ## Summary
20
+
21
+ - **Total**: {{total_items}}
22
+ - **Passed**: {{pass_count}}
23
+ - **Failed**: {{fail_count}}
24
+ - **Pending**: {{pending_count}}
25
+ - **Mandatory Pass Rate**: {{mandatory_pass_rate}}%
26
+
27
+ ## Gate Decision
28
+
29
+ {{gate_decision}}
@@ -0,0 +1,28 @@
1
+ <!-- markdownlint-disable -->
2
+ # Compliance Report: {{title}}
3
+
4
+ **Feature**: {{feature_id}}
5
+ **Framework**: {{framework}}
6
+ **Date**: {{date}}
7
+ **Overall Status**: {{overall_status}}
8
+
9
+ ---
10
+
11
+ ## Controls Assessment
12
+
13
+ | Control ID | Name | Status | Evidence | Remediation |
14
+ |-----------|------|--------|----------|-------------|
15
+ {{#each findings}}
16
+ | {{control_id}} | {{control_name}} | {{status}} | {{evidence}} | {{remediation}} |
17
+ {{/each}}
18
+
19
+ ## Summary
20
+
21
+ - **Controls Checked**: {{controls_checked}}
22
+ - **Passed**: {{controls_passed}}
23
+ - **Failed**: {{controls_failed}}
24
+ - **N/A**: {{controls_na}}
25
+
26
+ ## Recommendation
27
+
28
+ {{recommendation}}
@@ -0,0 +1,57 @@
1
+ <!-- markdownlint-disable -->
2
+ # {{project_name}} — Constitution
3
+
4
+ > The foundational charter for the **{{project_name}}** project, establishing principles, constraints, and success criteria.
5
+
6
+ ---
7
+
8
+ ## Article 1: Project Identity
9
+
10
+ - **Name:** {{project_name}}
11
+ - **Description:** {{description}}
12
+ - **Creator:** {{author}}
13
+ - **License:** {{license}}
14
+
15
+ ---
16
+
17
+ ## Article 2: Principles
18
+
19
+ {{#each principles}}
20
+ - {{this}}
21
+ {{/each}}
22
+
23
+ ---
24
+
25
+ ## Article 3: Constraints
26
+
27
+ {{#each constraints}}
28
+ - {{this}}
29
+ {{/each}}
30
+
31
+ ---
32
+
33
+ ## Article 4: Success Criteria
34
+
35
+ | ID | Criterion | Measure |
36
+ |----|-----------|---------|
37
+ | SC-001 | Project compiles without errors | `npm run build` exits 0 |
38
+ | SC-002 | All requirements traceable | Every REQ has design + task mapping |
39
+ | SC-003 | Quality gates pass | Analysis gate returns APPROVE |
40
+
41
+ ---
42
+
43
+ ## Article 5: Scope
44
+
45
+ ### In Scope
46
+ - {{scope_in}}
47
+
48
+ ### Out of Scope
49
+ - {{scope_out}}
50
+
51
+ ---
52
+
53
+ ## Amendment Log
54
+
55
+ | # | Date | Author | Rationale | Articles Affected |
56
+ |---|------|--------|-----------|-------------------|
57
+ | — | — | — | Initial version | All |
@@ -0,0 +1,46 @@
1
+ <!-- markdownlint-disable -->
2
+ # Cross-Artifact Analysis: {{title}}
3
+
4
+ **Feature**: {{feature_id}}
5
+ **Date**: {{date}}
6
+ **Consistency Score**: {{consistency_score}}%
7
+
8
+ ---
9
+
10
+ ## Spec → Design Alignment
11
+
12
+ | Requirement | In Design? | Detail |
13
+ |-------------|-----------|--------|
14
+ {{#each spec_design_alignment}}
15
+ | {{source_id}} | {{status}} | {{detail}} |
16
+ {{/each}}
17
+
18
+ ## Design → Tasks Alignment
19
+
20
+ | Requirement | Has Tasks? | Detail |
21
+ |-------------|-----------|--------|
22
+ {{#each design_tasks_alignment}}
23
+ | {{source_id}} | {{status}} | {{detail}} |
24
+ {{/each}}
25
+
26
+ ## Orphaned Requirements
27
+
28
+ {{#each orphaned_requirements}}
29
+ - {{this}} — No design or task coverage
30
+ {{/each}}
31
+
32
+ ## Orphaned Tasks
33
+
34
+ {{#each orphaned_tasks}}
35
+ - {{this}} — Not traced to any requirement
36
+ {{/each}}
37
+
38
+ ## Traceability Diagram
39
+
40
+ ```mermaid
41
+ {{diagram}}
42
+ ```
43
+
44
+ ## Recommendation
45
+
46
+ {{recommendation}}
@@ -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]