specky-sdd 1.0.0 → 2.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.
Files changed (155) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/README.md +920 -249
  3. package/SECURITY.md +110 -0
  4. package/dist/config.d.ts +12 -0
  5. package/dist/config.d.ts.map +1 -0
  6. package/dist/config.js +66 -0
  7. package/dist/config.js.map +1 -0
  8. package/dist/constants.d.ts +175 -3
  9. package/dist/constants.d.ts.map +1 -1
  10. package/dist/constants.js +207 -1
  11. package/dist/constants.js.map +1 -1
  12. package/dist/index.js +52 -2
  13. package/dist/index.js.map +1 -1
  14. package/dist/schemas/environment.d.ts +28 -0
  15. package/dist/schemas/environment.d.ts.map +1 -0
  16. package/dist/schemas/environment.js +45 -0
  17. package/dist/schemas/environment.js.map +1 -0
  18. package/dist/schemas/infrastructure.d.ts +39 -0
  19. package/dist/schemas/infrastructure.d.ts.map +1 -0
  20. package/dist/schemas/infrastructure.js +47 -0
  21. package/dist/schemas/infrastructure.js.map +1 -0
  22. package/dist/schemas/input.d.ts +32 -0
  23. package/dist/schemas/input.d.ts.map +1 -0
  24. package/dist/schemas/input.js +46 -0
  25. package/dist/schemas/input.js.map +1 -0
  26. package/dist/schemas/integration.d.ts +46 -0
  27. package/dist/schemas/integration.d.ts.map +1 -0
  28. package/dist/schemas/integration.js +90 -0
  29. package/dist/schemas/integration.js.map +1 -0
  30. package/dist/schemas/pipeline.d.ts +24 -230
  31. package/dist/schemas/pipeline.d.ts.map +1 -1
  32. package/dist/schemas/quality.d.ts +45 -0
  33. package/dist/schemas/quality.d.ts.map +1 -0
  34. package/dist/schemas/quality.js +46 -0
  35. package/dist/schemas/quality.js.map +1 -0
  36. package/dist/schemas/testing.d.ts +23 -0
  37. package/dist/schemas/testing.d.ts.map +1 -0
  38. package/dist/schemas/testing.js +26 -0
  39. package/dist/schemas/testing.js.map +1 -0
  40. package/dist/schemas/transcript.d.ts +18 -40
  41. package/dist/schemas/transcript.d.ts.map +1 -1
  42. package/dist/schemas/utility.d.ts +33 -65
  43. package/dist/schemas/utility.d.ts.map +1 -1
  44. package/dist/schemas/visualization.d.ts +46 -0
  45. package/dist/schemas/visualization.d.ts.map +1 -0
  46. package/dist/schemas/visualization.js +38 -0
  47. package/dist/schemas/visualization.js.map +1 -0
  48. package/dist/services/compliance-engine.d.ts +19 -0
  49. package/dist/services/compliance-engine.d.ts.map +1 -0
  50. package/dist/services/compliance-engine.js +82 -0
  51. package/dist/services/compliance-engine.js.map +1 -0
  52. package/dist/services/cross-analyzer.d.ts +17 -0
  53. package/dist/services/cross-analyzer.d.ts.map +1 -0
  54. package/dist/services/cross-analyzer.js +78 -0
  55. package/dist/services/cross-analyzer.js.map +1 -0
  56. package/dist/services/diagram-generator.d.ts +46 -0
  57. package/dist/services/diagram-generator.d.ts.map +1 -0
  58. package/dist/services/diagram-generator.js +423 -0
  59. package/dist/services/diagram-generator.js.map +1 -0
  60. package/dist/services/doc-generator.d.ts +18 -0
  61. package/dist/services/doc-generator.d.ts.map +1 -0
  62. package/dist/services/doc-generator.js +128 -0
  63. package/dist/services/doc-generator.js.map +1 -0
  64. package/dist/services/document-converter.d.ts +71 -0
  65. package/dist/services/document-converter.d.ts.map +1 -0
  66. package/dist/services/document-converter.js +296 -0
  67. package/dist/services/document-converter.js.map +1 -0
  68. package/dist/services/git-manager.d.ts +13 -0
  69. package/dist/services/git-manager.d.ts.map +1 -0
  70. package/dist/services/git-manager.js +63 -0
  71. package/dist/services/git-manager.js.map +1 -0
  72. package/dist/services/iac-generator.d.ts +27 -0
  73. package/dist/services/iac-generator.d.ts.map +1 -0
  74. package/dist/services/iac-generator.js +152 -0
  75. package/dist/services/iac-generator.js.map +1 -0
  76. package/dist/services/state-machine.d.ts.map +1 -1
  77. package/dist/services/state-machine.js +15 -2
  78. package/dist/services/state-machine.js.map +1 -1
  79. package/dist/services/test-generator.d.ts +61 -0
  80. package/dist/services/test-generator.d.ts.map +1 -0
  81. package/dist/services/test-generator.js +217 -0
  82. package/dist/services/test-generator.js.map +1 -0
  83. package/dist/services/work-item-exporter.d.ts +21 -0
  84. package/dist/services/work-item-exporter.d.ts.map +1 -0
  85. package/dist/services/work-item-exporter.js +92 -0
  86. package/dist/services/work-item-exporter.js.map +1 -0
  87. package/dist/tools/documentation.d.ts +9 -0
  88. package/dist/tools/documentation.d.ts.map +1 -0
  89. package/dist/tools/documentation.js +176 -0
  90. package/dist/tools/documentation.js.map +1 -0
  91. package/dist/tools/environment.d.ts +10 -0
  92. package/dist/tools/environment.d.ts.map +1 -0
  93. package/dist/tools/environment.js +153 -0
  94. package/dist/tools/environment.js.map +1 -0
  95. package/dist/tools/infrastructure.d.ts +9 -0
  96. package/dist/tools/infrastructure.d.ts.map +1 -0
  97. package/dist/tools/infrastructure.js +221 -0
  98. package/dist/tools/infrastructure.js.map +1 -0
  99. package/dist/tools/input.d.ts +9 -0
  100. package/dist/tools/input.d.ts.map +1 -0
  101. package/dist/tools/input.js +194 -0
  102. package/dist/tools/input.js.map +1 -0
  103. package/dist/tools/integration.d.ts +11 -0
  104. package/dist/tools/integration.d.ts.map +1 -0
  105. package/dist/tools/integration.js +356 -0
  106. package/dist/tools/integration.js.map +1 -0
  107. package/dist/tools/quality.d.ts +13 -0
  108. package/dist/tools/quality.d.ts.map +1 -0
  109. package/dist/tools/quality.js +510 -0
  110. package/dist/tools/quality.js.map +1 -0
  111. package/dist/tools/testing.d.ts +9 -0
  112. package/dist/tools/testing.d.ts.map +1 -0
  113. package/dist/tools/testing.js +130 -0
  114. package/dist/tools/testing.js.map +1 -0
  115. package/dist/tools/utility.d.ts.map +1 -1
  116. package/dist/tools/utility.js +36 -1
  117. package/dist/tools/utility.js.map +1 -1
  118. package/dist/tools/visualization.d.ts +9 -0
  119. package/dist/tools/visualization.d.ts.map +1 -0
  120. package/dist/tools/visualization.js +494 -0
  121. package/dist/tools/visualization.js.map +1 -0
  122. package/dist/types.d.ts +331 -2
  123. package/dist/types.d.ts.map +1 -1
  124. package/hooks/auto-docs.md +53 -0
  125. package/hooks/auto-test.md +61 -0
  126. package/hooks/changelog.md +74 -0
  127. package/hooks/security-scan.md +72 -0
  128. package/hooks/spec-sync.md +80 -0
  129. package/hooks/srp-validator.md +86 -0
  130. package/package.json +14 -5
  131. package/references/design-patterns.md +434 -0
  132. package/references/ears-notation.md +605 -0
  133. package/references/spec-templates.md +936 -0
  134. package/templates/analysis.md +1 -0
  135. package/templates/api-docs.md +40 -0
  136. package/templates/bugfix.md +1 -0
  137. package/templates/checklist.md +29 -0
  138. package/templates/compliance.md +28 -0
  139. package/templates/constitution.md +1 -0
  140. package/templates/cross-analysis.md +46 -0
  141. package/templates/data-model.md +35 -0
  142. package/templates/design.md +1 -0
  143. package/templates/devcontainer.md +36 -0
  144. package/templates/dockerfile.md +34 -0
  145. package/templates/onboarding.md +49 -0
  146. package/templates/research.md +39 -0
  147. package/templates/runbook.md +40 -0
  148. package/templates/specification.md +1 -0
  149. package/templates/sync-report.md +1 -0
  150. package/templates/tasks.md +3 -2
  151. package/templates/terraform.md +38 -0
  152. package/templates/test-stub.md +34 -0
  153. package/templates/user-stories.md +39 -0
  154. package/templates/verification.md +33 -0
  155. package/templates/work-items.md +27 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,93 @@
1
+ # Changelog
2
+
3
+ All notable changes to Specky are documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [2.2.0] - 2026-03-24
9
+
10
+ ### Added
11
+ - `sdd_generate_tests` tool — generates test stubs from acceptance criteria for 6 frameworks (vitest, jest, playwright, pytest, junit, xunit)
12
+ - `sdd_verify_tests` tool — verifies test results JSON against specification requirements, reports traceability coverage
13
+ - `.specky/config.yml` support — project-local configuration for templates path, default framework, compliance frameworks, audit toggle
14
+ - `src/config.ts` — centralized configuration loader with simple YAML parsing
15
+ - MCP integration test (`tests/integration/pipeline-e2e.test.ts`) — end-to-end pipeline validation with real FileManager
16
+ - Unit tests for 6 additional services: DocGenerator, GitManager, IacGenerator, WorkItemExporter, TranscriptParser, DocumentConverter
17
+ - OpenSSF Scorecard workflow (`.github/workflows/scorecard.yml`)
18
+ - SBOM generation (CycloneDX) in CI pipeline
19
+ - `templates/test-stub.md` template for generated test files
20
+
21
+ ### Changed
22
+ - Test suite expanded: 120 → 211 tests across 16 files
23
+ - Coverage improved: 38% → 89% lines (threshold: 80%)
24
+ - MCP tool count: 44 → 47
25
+ - CI pipeline now enforces coverage thresholds
26
+
27
+ ## [2.1.0] - 2026-03-21
28
+
29
+ ### Added
30
+ - `sdd_check_ecosystem` tool — detects installed MCP servers and recommends complementary ones
31
+ - `sdd_validate_ears` tool — batch EARS requirement validation with pattern classification
32
+ - `recommended_servers` field in tool outputs for MCP ecosystem guidance
33
+ - Unit test suite with Vitest (101 tests across 7 service files)
34
+ - CI pipeline runs `npm test` on every push and pull request
35
+ - `SECURITY.md` with vulnerability disclosure policy and OWASP coverage
36
+ - `CHANGELOG.md` (this file)
37
+
38
+ ### Changed
39
+ - Tool count: 42 → 44
40
+ - Updated `CLAUDE.md` to reflect v2.1.0 tools and version history
41
+
42
+ ## [2.0.0] - 2026-03-21
43
+
44
+ ### Added
45
+ - **25 new MCP tools** (17 → 42 total)
46
+ - **3 new pipeline phases**: Discover, Clarify, Release (7 → 10 phases)
47
+ - **8 new services**: DocumentConverter, DiagramGenerator, IacGenerator, WorkItemExporter, CrossAnalyzer, ComplianceEngine, DocGenerator, GitManager
48
+ - **14 new templates**: compliance, cross-analysis, data-model, devcontainer, dockerfile, onboarding, runbook, terraform, user-stories, verification, work-items, api-docs, checklist, research
49
+ - Compliance checking against 6 frameworks: HIPAA, SOC2, GDPR, PCI-DSS, ISO 27001, General
50
+ - Mermaid diagram generation (10 types: flowchart, sequence, ER, class, state, Gantt, pie, mindmap, C4 context, C4 container)
51
+ - Infrastructure as Code generation: Terraform, Bicep, Dockerfile, devcontainer
52
+ - MCP-to-MCP routing architecture — structured payloads for GitHub, Azure DevOps, Jira, Terraform, Figma, Docker MCP servers
53
+ - Educative outputs (`next_steps`, `learning_note`) on every tool response
54
+ - Document import: PDF, DOCX, PPTX, TXT, MD conversion
55
+ - Figma design-to-spec conversion via Figma MCP integration
56
+ - Work item export to GitHub Issues, Azure Boards, Jira
57
+ - Cross-artifact analysis with consistency scoring
58
+ - User story generation from specifications
59
+ - Developer onboarding guide generation
60
+ - Operational runbook generation
61
+ - API documentation generation
62
+ - Git branch naming and PR payload generation
63
+ - GitHub Codespaces and devcontainer configuration generation
64
+ - Docker-based local development environment setup
65
+
66
+ ### Changed
67
+ - Pipeline expanded from 7 to 10 phases
68
+ - State machine updated for new phase transitions
69
+ - All schemas updated to use `.strict()` mode
70
+ - Tool annotations added to all tools (`readOnlyHint`, `destructiveHint`, `idempotentHint`, `openWorldHint`)
71
+ - Architecture documentation updated in `CLAUDE.md`
72
+
73
+ ## [1.0.0] - 2026-03-20
74
+
75
+ ### Added
76
+ - Initial release of Specky MCP server
77
+ - 17 MCP tools across 4 tool files
78
+ - 7-phase pipeline: Init, Discover, Specify, Clarify, Design, Tasks, Analyze
79
+ - 6 core services: FileManager, StateMachine, TemplateEngine, EarsValidator, CodebaseScanner, TranscriptParser
80
+ - 7 Markdown templates with `{{variable}}` placeholders
81
+ - EARS notation validation (6 patterns: ubiquitous, event-driven, state-driven, optional, unwanted, complex)
82
+ - State machine with required-file gates per phase
83
+ - 4 GitHub Copilot Custom Agents (Spec Engineer, Design Architect, Task Planner, Spec Reviewer)
84
+ - 7 Claude Code slash commands
85
+ - 6 automation hooks (auto-test, auto-docs, security-scan, spec-sync, changelog, srp-validator)
86
+ - TypeScript strict mode with zero `any` types
87
+ - Zod schema validation on all tool inputs
88
+ - Published to npm (`specky-sdd`), GitHub Container Registry, and GitHub Releases
89
+
90
+ [2.2.0]: https://github.com/paulasilvatech/specky/compare/v2.1.0...v2.2.0
91
+ [2.1.0]: https://github.com/paulasilvatech/specky/compare/v2.0.0...v2.1.0
92
+ [2.0.0]: https://github.com/paulasilvatech/specky/compare/v1.0.0...v2.0.0
93
+ [1.0.0]: https://github.com/paulasilvatech/specky/releases/tag/v1.0.0