specky-sdd 1.0.0 → 2.0.0

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 (113) hide show
  1. package/README.md +256 -282
  2. package/dist/constants.d.ts +76 -3
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +96 -1
  5. package/dist/constants.js.map +1 -1
  6. package/dist/index.js +37 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/schemas/environment.d.ts +53 -0
  9. package/dist/schemas/environment.d.ts.map +1 -0
  10. package/dist/schemas/environment.js +45 -0
  11. package/dist/schemas/environment.js.map +1 -0
  12. package/dist/schemas/infrastructure.d.ts +59 -0
  13. package/dist/schemas/infrastructure.d.ts.map +1 -0
  14. package/dist/schemas/infrastructure.js +47 -0
  15. package/dist/schemas/infrastructure.js.map +1 -0
  16. package/dist/schemas/input.d.ts +53 -0
  17. package/dist/schemas/input.d.ts.map +1 -0
  18. package/dist/schemas/input.js +46 -0
  19. package/dist/schemas/input.js.map +1 -0
  20. package/dist/schemas/integration.d.ts +114 -0
  21. package/dist/schemas/integration.d.ts.map +1 -0
  22. package/dist/schemas/integration.js +90 -0
  23. package/dist/schemas/integration.js.map +1 -0
  24. package/dist/schemas/quality.d.ts +57 -0
  25. package/dist/schemas/quality.d.ts.map +1 -0
  26. package/dist/schemas/quality.js +33 -0
  27. package/dist/schemas/quality.js.map +1 -0
  28. package/dist/schemas/transcript.d.ts +4 -4
  29. package/dist/schemas/utility.d.ts +3 -3
  30. package/dist/schemas/visualization.d.ts +57 -0
  31. package/dist/schemas/visualization.d.ts.map +1 -0
  32. package/dist/schemas/visualization.js +38 -0
  33. package/dist/schemas/visualization.js.map +1 -0
  34. package/dist/services/compliance-engine.d.ts +19 -0
  35. package/dist/services/compliance-engine.d.ts.map +1 -0
  36. package/dist/services/compliance-engine.js +82 -0
  37. package/dist/services/compliance-engine.js.map +1 -0
  38. package/dist/services/cross-analyzer.d.ts +17 -0
  39. package/dist/services/cross-analyzer.d.ts.map +1 -0
  40. package/dist/services/cross-analyzer.js +78 -0
  41. package/dist/services/cross-analyzer.js.map +1 -0
  42. package/dist/services/diagram-generator.d.ts +46 -0
  43. package/dist/services/diagram-generator.d.ts.map +1 -0
  44. package/dist/services/diagram-generator.js +423 -0
  45. package/dist/services/diagram-generator.js.map +1 -0
  46. package/dist/services/doc-generator.d.ts +18 -0
  47. package/dist/services/doc-generator.d.ts.map +1 -0
  48. package/dist/services/doc-generator.js +128 -0
  49. package/dist/services/doc-generator.js.map +1 -0
  50. package/dist/services/document-converter.d.ts +71 -0
  51. package/dist/services/document-converter.d.ts.map +1 -0
  52. package/dist/services/document-converter.js +296 -0
  53. package/dist/services/document-converter.js.map +1 -0
  54. package/dist/services/git-manager.d.ts +13 -0
  55. package/dist/services/git-manager.d.ts.map +1 -0
  56. package/dist/services/git-manager.js +63 -0
  57. package/dist/services/git-manager.js.map +1 -0
  58. package/dist/services/iac-generator.d.ts +27 -0
  59. package/dist/services/iac-generator.d.ts.map +1 -0
  60. package/dist/services/iac-generator.js +152 -0
  61. package/dist/services/iac-generator.js.map +1 -0
  62. package/dist/services/state-machine.d.ts.map +1 -1
  63. package/dist/services/state-machine.js +15 -2
  64. package/dist/services/state-machine.js.map +1 -1
  65. package/dist/services/work-item-exporter.d.ts +21 -0
  66. package/dist/services/work-item-exporter.d.ts.map +1 -0
  67. package/dist/services/work-item-exporter.js +92 -0
  68. package/dist/services/work-item-exporter.js.map +1 -0
  69. package/dist/tools/documentation.d.ts +9 -0
  70. package/dist/tools/documentation.d.ts.map +1 -0
  71. package/dist/tools/documentation.js +176 -0
  72. package/dist/tools/documentation.js.map +1 -0
  73. package/dist/tools/environment.d.ts +10 -0
  74. package/dist/tools/environment.d.ts.map +1 -0
  75. package/dist/tools/environment.js +153 -0
  76. package/dist/tools/environment.js.map +1 -0
  77. package/dist/tools/infrastructure.d.ts +9 -0
  78. package/dist/tools/infrastructure.d.ts.map +1 -0
  79. package/dist/tools/infrastructure.js +221 -0
  80. package/dist/tools/infrastructure.js.map +1 -0
  81. package/dist/tools/input.d.ts +9 -0
  82. package/dist/tools/input.d.ts.map +1 -0
  83. package/dist/tools/input.js +182 -0
  84. package/dist/tools/input.js.map +1 -0
  85. package/dist/tools/integration.d.ts +11 -0
  86. package/dist/tools/integration.d.ts.map +1 -0
  87. package/dist/tools/integration.js +332 -0
  88. package/dist/tools/integration.js.map +1 -0
  89. package/dist/tools/quality.d.ts +12 -0
  90. package/dist/tools/quality.d.ts.map +1 -0
  91. package/dist/tools/quality.js +429 -0
  92. package/dist/tools/quality.js.map +1 -0
  93. package/dist/tools/visualization.d.ts +9 -0
  94. package/dist/tools/visualization.d.ts.map +1 -0
  95. package/dist/tools/visualization.js +494 -0
  96. package/dist/tools/visualization.js.map +1 -0
  97. package/dist/types.d.ts +311 -2
  98. package/dist/types.d.ts.map +1 -1
  99. package/package.json +1 -1
  100. package/templates/api-docs.md +39 -0
  101. package/templates/checklist.md +28 -0
  102. package/templates/compliance.md +27 -0
  103. package/templates/cross-analysis.md +45 -0
  104. package/templates/data-model.md +34 -0
  105. package/templates/devcontainer.md +35 -0
  106. package/templates/dockerfile.md +33 -0
  107. package/templates/onboarding.md +48 -0
  108. package/templates/research.md +38 -0
  109. package/templates/runbook.md +39 -0
  110. package/templates/terraform.md +37 -0
  111. package/templates/user-stories.md +38 -0
  112. package/templates/verification.md +32 -0
  113. package/templates/work-items.md +26 -0
package/README.md CHANGED
@@ -1,94 +1,97 @@
1
- # Specky
1
+ <div align="center">
2
+ <h1>Specky</h1>
3
+ <h3>The Complete Spec-Driven Development Platform</h3>
4
+ <p><strong>42 MCP tools. 10-phase pipeline. Works in any IDE.</strong></p>
5
+
6
+ <p>
7
+ <a href="https://www.npmjs.com/package/specky-sdd"><img src="https://img.shields.io/npm/v/specky-sdd" alt="npm"/></a>
8
+ <a href="https://github.com/paulasilvatech/specky"><img src="https://img.shields.io/github/stars/paulasilvatech/specky?style=social" alt="Stars"/></a>
9
+ <a href="https://github.com/paulasilvatech/specky/blob/main/LICENSE"><img src="https://img.shields.io/github/license/paulasilvatech/specky" alt="License"/></a>
10
+ </p>
11
+ </div>
2
12
 
3
- **The open-source MCP server for Spec-Driven Development (SDD).**
13
+ ---
14
+
15
+ ## What is Specky?
4
16
 
5
- *The fun name, the serious engine.*
17
+ Specky is an open-source MCP (Model Context Protocol) server that transforms how software is built. It provides a complete, deterministic pipeline from any input -- meeting transcripts, documents, designs, or user prompts -- through specifications, architecture, infrastructure as code, implementation, and deployment.
6
18
 
7
- ![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)
8
- ![License](https://img.shields.io/badge/license-MIT-green.svg)
9
- ![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)
10
- ![MCP](https://img.shields.io/badge/MCP-compatible-purple.svg)
11
- ![Tools](https://img.shields.io/badge/MCP_tools-17-orange.svg)
19
+ Unlike template-based tools, Specky enforces every step programmatically: a state machine blocks phase-skipping, an EARS validator ensures testable requirements, cross-artifact analysis catches drift, and compliance engines validate against frameworks like HIPAA and SOC2.
12
20
 
13
- **Created by [Paula Silva](https://github.com/paulasilvatech)** ([@paulanunes85](https://twitter.com/paulanunes85)) | Americas Software GBB
21
+ **Specky works inside the tools you already use** -- VS Code with GitHub Copilot, Claude Code, Cursor, Windsurf, or any AI agent that supports MCP.
14
22
 
15
23
  ---
16
24
 
17
- ## What is Specky?
25
+ ## Why Specky?
18
26
 
19
- Specky is an **MCP server** that transforms natural language project ideas — or meeting transcripts — into production-grade specifications. It enforces **EARS notation** (Easy Approach to Requirements Syntax), maintains a **state machine** across 7 pipeline phases, and writes real files to disk.
27
+ ### The Problem
20
28
 
21
- ```
22
- You ──→ AI Assistant ──→ Specky (17 tools) ──→ .specs/ files on disk
23
- (Copilot/Claude) CONSTITUTION.md
24
- SPECIFICATION.md
25
- DESIGN.md
26
- TASKS.md
27
- ANALYSIS.md
28
- ```
29
+ AI coding assistants are fast but chaotic. They skip requirements, ignore architecture, and produce code that drifts from the original intent. Template-based approaches help but rely on the AI to follow instructions -- with no programmatic enforcement.
29
30
 
30
- ### What is MCP?
31
+ ### The Solution
31
32
 
32
- **MCP (Model Context Protocol)** is an open standard that lets AI assistants call external tools. Think of it like USB — a universal plug between any AI and any tool. Specky is a "device" that speaks MCP, giving Copilot and Claude the ability to create structured specification files.
33
+ Specky adds a **deterministic engine** between your intent and your code:
33
34
 
34
- ### Key Features
35
+ - **State Machine** -- 10 mandatory phases, no skipping. Init, Discover, Specify, Clarify, Design, Tasks, Analyze, Implement, Verify, Release.
36
+ - **EARS Validator** -- Every requirement validated against 6 patterns (Ubiquitous, Event-driven, State-driven, Optional, Unwanted, Complex). No vague statements pass.
37
+ - **Cross-Artifact Analysis** -- Automatic alignment checking between spec, design, and tasks. Orphaned requirements are flagged instantly.
38
+ - **MCP-to-MCP Architecture** -- Specky outputs structured JSON that your AI client routes to GitHub, Azure DevOps, Jira, Terraform, Figma, and Docker MCP servers. No vendor lock-in.
35
39
 
36
- - **17 MCP tools** for the full specification lifecycle
37
- - **EARS notation** validation with 6 pattern types and improvement suggestions
38
- - **7-phase pipeline** with state machine enforcement
39
- - **Meeting transcript → full spec** — VTT, SRT, TXT, MD formats
40
- - **Power Automate + OneDrive** integration for automated workflows
41
- - **Quality gates** with traceability matrix and coverage analysis
42
- - **Atomic file writes** — safe, no corruption on crash
43
- - **Auto-steering** — scans your codebase to tailor discovery questions
44
- - **Zero external dependencies** — runs entirely local, no API calls
45
- - **GitHub Copilot agents** + **Claude Code commands** included
40
+ ### Differentiators
46
41
 
47
- ### Two Ways to Use
42
+ <p align="center">
43
+ <img src="media/comparison-matrix.svg" alt="Specky vs Spec-Kit vs Kiro vs Cursor" width="100%"/>
44
+ </p>
48
45
 
49
- | Mode | How | Best For |
50
- |------|-----|----------|
51
- | **Interactive** | Conversation with AI, step by step | New projects, learning SDD |
52
- | **Transcript** | Feed a meeting recording, get full spec | Existing meetings, automation |
46
+ <details>
47
+ <summary>View as table</summary>
53
48
 
54
- ---
49
+ | Capability | Spec-Kit | Kiro | Cursor | **Specky** |
50
+ |---|---|---|---|---|
51
+ | Any input (PDF/DOCX/PPTX/transcript) to spec | No | No | No | **Yes** |
52
+ | EARS validation (programmatic) | No | AI-tries | No | **Yes** |
53
+ | State machine (10 phases) | No | No | No | **Yes** |
54
+ | Auto-diagrams every phase (Mermaid) | No | No | No | **Yes** |
55
+ | Terraform IaC generation | No | No | No | **Yes** |
56
+ | Azure Boards + Jira + GitHub Issues (MCP) | Extension | No | No | **Yes** |
57
+ | Figma design to spec (reverse) | No | No | No | **Yes** |
58
+ | FigJam diagram generation | No | No | No | **Yes** |
59
+ | Docker dev environment | No | No | No | **Yes** |
60
+ | Codespaces setup | No | No | No | **Yes** |
61
+ | Cross-artifact analysis | Yes | No | No | **Yes** |
62
+ | Compliance (HIPAA/SOC2/GDPR) | No | No | No | **Yes** |
63
+ | Phantom task detection | Extension | No | No | **Yes** |
64
+ | Complete auto-documentation | No | No | No | **Yes** |
65
+ | Educative outputs | No | No | No | **Yes** |
66
+ | 42 MCP tools | N/A | N/A | N/A | **Yes** |
67
+ | Works in ANY IDE via MCP | Templates | IDE-locked | IDE-locked | **Yes** |
55
68
 
56
- ## Quick Start
69
+ </details>
57
70
 
58
- ### npx (recommended)
71
+ ---
59
72
 
60
- ```bash
61
- npx specky
62
- ```
73
+ ## Quick Start
63
74
 
64
- ### npm global install
75
+ ### Install
65
76
 
66
77
  ```bash
67
- npm install -g specky
68
- specky
69
- ```
70
-
71
- ### Docker
78
+ # npm (recommended)
79
+ npx specky-sdd
72
80
 
73
- ```bash
74
- docker compose up
75
- # Server starts on http://localhost:3200
81
+ # Or install globally
82
+ npm install -g specky-sdd
76
83
  ```
77
84
 
78
- ---
79
-
80
- ## Setup
85
+ ### Configure in VS Code (GitHub Copilot)
81
86
 
82
- ### VS Code (GitHub Copilot)
83
-
84
- Create or update `.vscode/mcp.json`:
87
+ Create `.vscode/mcp.json` in your project:
85
88
 
86
89
  ```json
87
90
  {
88
91
  "servers": {
89
92
  "specky": {
90
93
  "command": "npx",
91
- "args": ["-y", "specky"],
94
+ "args": ["-y", "specky-sdd"],
92
95
  "env": {
93
96
  "SDD_WORKSPACE": "${workspaceFolder}"
94
97
  }
@@ -97,21 +100,22 @@ Create or update `.vscode/mcp.json`:
97
100
  }
98
101
  ```
99
102
 
100
- ### Claude Code
103
+ Open Copilot Chat -- Specky's 42 tools are now available.
104
+
105
+ ### Configure in Claude Code
101
106
 
102
107
  ```bash
103
- # Quick setup (one command):
104
- claude mcp add specky npx -y specky --env SDD_WORKSPACE=$(pwd)
108
+ claude mcp add specky -- npx -y specky-sdd
105
109
  ```
106
110
 
107
- Or manually add to MCP settings:
111
+ Or add to your MCP settings manually:
108
112
 
109
113
  ```json
110
114
  {
111
115
  "mcpServers": {
112
116
  "specky": {
113
117
  "command": "npx",
114
- "args": ["-y", "specky"],
118
+ "args": ["-y", "specky-sdd"],
115
119
  "env": {
116
120
  "SDD_WORKSPACE": "/path/to/your/project"
117
121
  }
@@ -120,7 +124,7 @@ Or manually add to MCP settings:
120
124
  }
121
125
  ```
122
126
 
123
- ### Claude Desktop
127
+ ### Configure in Claude Desktop
124
128
 
125
129
  Add to `claude_desktop_config.json`:
126
130
 
@@ -135,7 +139,7 @@ Add to `claude_desktop_config.json`:
135
139
  "mcpServers": {
136
140
  "specky": {
137
141
  "command": "npx",
138
- "args": ["-y", "specky"],
142
+ "args": ["-y", "specky-sdd"],
139
143
  "env": {
140
144
  "SDD_WORKSPACE": "/path/to/your/project"
141
145
  }
@@ -144,272 +148,245 @@ Add to `claude_desktop_config.json`:
144
148
  }
145
149
  ```
146
150
 
147
- ---
148
-
149
- ## Meeting Transcript to Specs (Auto Pipeline)
150
-
151
- **One command. Full specification from a Teams/Zoom meeting.**
152
-
153
- ```
154
- /sdd:transcript meeting.vtt my-project
155
- ```
151
+ ### Configure in Cursor
156
152
 
157
- Or call the tool directly:
153
+ Add to Cursor's MCP settings (Settings > MCP Servers):
158
154
 
159
155
  ```json
160
156
  {
161
- "name": "sdd_auto_pipeline",
162
- "arguments": {
163
- "file_path": "meeting.vtt",
164
- "project_name": "my-project"
157
+ "specky": {
158
+ "command": "npx",
159
+ "args": ["-y", "specky-sdd"]
165
160
  }
166
161
  }
167
162
  ```
168
163
 
169
- **What happens automatically:**
170
-
171
- 1. Parses the VTT/SRT/TXT/MD transcript
172
- 2. Extracts participants, topics, decisions, action items
173
- 3. Generates EARS requirements from meeting content
174
- 4. Creates all 6 spec files in one call:
175
-
176
- | File | Content |
177
- |------|---------|
178
- | `CONSTITUTION.md` | Project charter with principles from the meeting |
179
- | `SPECIFICATION.md` | EARS requirements extracted from decisions and discussions |
180
- | `DESIGN.md` | Architecture overview based on topics discussed |
181
- | `TASKS.md` | Implementation tasks from requirements + action items |
182
- | `ANALYSIS.md` | Traceability matrix and quality gate |
183
- | `TRANSCRIPT.md` | Clean markdown version of the meeting |
184
-
185
- **Supported formats:**
186
-
187
- | Format | Source | Extension |
188
- |--------|--------|-----------|
189
- | WebVTT | Microsoft Teams | `.vtt` |
190
- | SubRip | Zoom | `.srt` |
191
- | Plain text | Otter.ai, manual notes | `.txt` |
192
- | Markdown | Any structured notes | `.md` |
193
-
194
- ### Power Automate + OneDrive Integration
195
-
196
- For fully automated meeting-to-spec workflows:
164
+ ### Docker
197
165
 
198
- ```
199
- Teams Meeting Power Automate → OneDrive/Transcripts/ → sdd_batch_transcripts → .specs/
166
+ ```bash
167
+ docker run -v $(pwd):/workspace ghcr.io/paulasilvatech/specky:latest
200
168
  ```
201
169
 
202
- **Power Automate flow:**
203
- 1. Trigger: "When a Teams meeting recording is available"
204
- 2. Action: Get the meeting transcript
205
- 3. Action: Convert to Markdown
206
- 4. Action: Save to `OneDrive/Transcripts/{meeting-title}.md`
207
-
208
- **Specky picks up from there:**
209
-
210
- ```json
211
- {
212
- "name": "sdd_batch_transcripts",
213
- "arguments": {
214
- "transcripts_dir": "~/OneDrive/Transcripts"
215
- }
216
- }
217
- ```
170
+ ---
218
171
 
219
- Each transcript in the folder becomes its own numbered feature spec package (`001-sprint-planning/`, `002-architecture-review/`, etc.) with 6 files each.
172
+ ## The 10-Phase Pipeline
220
173
 
221
- ---
174
+ <p align="center">
175
+ <img src="media/pipeline-10-phases.svg" alt="Specky 10-Phase Pipeline" width="100%"/>
176
+ </p>
222
177
 
223
- ## Pipeline Overview
178
+ Each phase is **mandatory**. The state machine blocks advancement until prerequisites are met.
224
179
 
225
- ```
226
- sdd_init → sdd_discover → sdd_write_spec → sdd_clarify → sdd_write_design → sdd_write_tasks → sdd_run_analysis
227
- ```
180
+ | Phase | What Happens | Required Output |
181
+ |-------|-------------|----------------|
182
+ | **Init** | Create project structure, constitution, scan codebase | CONSTITUTION.md |
183
+ | **Discover** | Interactive discovery: 7 structured questions about scope, users, constraints | Discovery answers |
184
+ | **Specify** | Write EARS requirements with acceptance criteria | SPECIFICATION.md |
185
+ | **Clarify** | Resolve ambiguities, generate decision tree | Updated SPECIFICATION.md |
186
+ | **Design** | Architecture, data model, API contracts, research unknowns | DESIGN.md, RESEARCH.md |
187
+ | **Tasks** | Implementation breakdown by user story, dependency graph | TASKS.md |
188
+ | **Analyze** | Cross-artifact analysis, quality checklist, compliance check | ANALYSIS.md, CHECKLIST.md, CROSS_ANALYSIS.md |
189
+ | **Implement** | Ordered execution with checkpoints per user story | Implementation progress |
190
+ | **Verify** | Drift detection, phantom task detection | VERIFICATION.md |
191
+ | **Release** | PR generation, work item export, documentation | Complete package |
228
192
 
229
- Each phase produces a Markdown artifact in `.specs/001-your-feature/`:
193
+ ---
230
194
 
231
- | Phase | Tool | Output |
232
- |-------|------|--------|
233
- | Init | `sdd_init` | `CONSTITUTION.md` |
234
- | Discover | `sdd_discover` | 7 structured questions (JSON) |
235
- | Specify | `sdd_write_spec` | `SPECIFICATION.md` |
236
- | Clarify | `sdd_clarify` | 5 disambiguation questions (JSON) |
237
- | Design | `sdd_write_design` | `DESIGN.md` |
238
- | Tasks | `sdd_write_tasks` | `TASKS.md` |
239
- | Analyze | `sdd_run_analysis` | `ANALYSIS.md` + gate decision |
195
+ ## All 42 Tools
196
+
197
+ ### Input and Conversion (5)
198
+
199
+ | Tool | Description |
200
+ |------|-------------|
201
+ | `sdd_import_document` | Convert PDF, DOCX, PPTX, TXT, MD to Markdown |
202
+ | `sdd_import_transcript` | Parse meeting transcripts (Teams, Zoom, Google Meet) |
203
+ | `sdd_auto_pipeline` | Any input to complete spec pipeline (all documents) |
204
+ | `sdd_batch_import` | Process folder of mixed documents |
205
+ | `sdd_figma_to_spec` | Figma design to requirements specification |
206
+
207
+ ### Pipeline Core (8)
208
+
209
+ | Tool | Description |
210
+ |------|-------------|
211
+ | `sdd_init` | Initialize project with constitution and scope diagram |
212
+ | `sdd_discover` | Interactive discovery with stakeholder mapping |
213
+ | `sdd_write_spec` | Write EARS requirements with flow diagrams |
214
+ | `sdd_clarify` | Resolve ambiguities with decision tree |
215
+ | `sdd_write_design` | Architecture with sequence diagrams, ERD, API flow |
216
+ | `sdd_write_tasks` | Task breakdown with dependency graph |
217
+ | `sdd_run_analysis` | Quality gate analysis with coverage heatmap |
218
+ | `sdd_advance_phase` | Move to next pipeline phase |
219
+
220
+ ### Quality and Validation (5)
221
+
222
+ | Tool | Description |
223
+ |------|-------------|
224
+ | `sdd_checklist` | Mandatory quality checklist (security, accessibility, etc.) |
225
+ | `sdd_verify_tasks` | Detect phantom completions |
226
+ | `sdd_compliance_check` | HIPAA, SOC2, GDPR, PCI-DSS, ISO 27001 validation |
227
+ | `sdd_cross_analyze` | Spec-design-tasks alignment with consistency score |
228
+ | `sdd_validate_ears` | Batch EARS requirement validation |
229
+
230
+ ### Diagrams and Visualization (4)
231
+
232
+ | Tool | Description |
233
+ |------|-------------|
234
+ | `sdd_generate_diagram` | Single Mermaid diagram (10 types) |
235
+ | `sdd_generate_all_diagrams` | All diagrams for a feature at once |
236
+ | `sdd_generate_user_stories` | User stories with flow diagrams |
237
+ | `sdd_figma_diagram` | FigJam-ready diagram via Figma MCP |
238
+
239
+ ### Infrastructure as Code (3)
240
+
241
+ | Tool | Description |
242
+ |------|-------------|
243
+ | `sdd_generate_iac` | Terraform/Bicep from architecture design |
244
+ | `sdd_validate_iac` | Validation via Terraform MCP + Azure MCP |
245
+ | `sdd_generate_dockerfile` | Dockerfile + docker-compose from tech stack |
246
+
247
+ ### Dev Environment (3)
248
+
249
+ | Tool | Description |
250
+ |------|-------------|
251
+ | `sdd_setup_local_env` | Docker-based local dev environment |
252
+ | `sdd_setup_codespaces` | GitHub Codespaces configuration |
253
+ | `sdd_generate_devcontainer` | .devcontainer/devcontainer.json generation |
254
+
255
+ ### Integration and Export (5)
256
+
257
+ | Tool | Description |
258
+ |------|-------------|
259
+ | `sdd_create_branch` | Git branch naming convention |
260
+ | `sdd_export_work_items` | Tasks to GitHub Issues, Azure Boards, or Jira |
261
+ | `sdd_create_pr` | PR payload with spec summary |
262
+ | `sdd_implement` | Ordered implementation plan with checkpoints |
263
+ | `sdd_research` | Resolve unknowns in RESEARCH.md |
264
+
265
+ ### Documentation (4)
266
+
267
+ | Tool | Description |
268
+ |------|-------------|
269
+ | `sdd_generate_docs` | Complete auto-documentation |
270
+ | `sdd_generate_api_docs` | API documentation from design |
271
+ | `sdd_generate_runbook` | Operational runbook |
272
+ | `sdd_generate_onboarding` | Developer onboarding guide |
273
+
274
+ ### Utility (5)
275
+
276
+ | Tool | Description |
277
+ |------|-------------|
278
+ | `sdd_get_status` | Pipeline status with guided next action |
279
+ | `sdd_get_template` | Get any template |
280
+ | `sdd_scan_codebase` | Detect tech stack and structure |
281
+ | `sdd_metrics` | Project metrics dashboard |
282
+ | `sdd_amend` | Amend project constitution |
240
283
 
241
284
  ---
242
285
 
243
- ## Tool Reference
286
+ ## MCP Integration Architecture
244
287
 
245
- ### Pipeline Tools (8)
288
+ <p align="center">
289
+ <img src="media/architecture-mcp-ecosystem.svg" alt="Specky MCP Ecosystem Architecture" width="100%"/>
290
+ </p>
246
291
 
247
- | Tool | Description | R/W |
248
- |------|-------------|-----|
249
- | `sdd_init` | Creates `.specs/` directory, writes CONSTITUTION.md, initializes state machine | Write |
250
- | `sdd_discover` | Returns 7 tailored discovery questions based on your project idea | Read |
251
- | `sdd_write_spec` | Validates EARS notation and writes SPECIFICATION.md | Write |
252
- | `sdd_clarify` | Identifies ambiguous requirements, returns disambiguation questions | Read |
253
- | `sdd_write_design` | Writes DESIGN.md with Mermaid diagrams, ADRs, and API contracts | Write |
254
- | `sdd_write_tasks` | Writes TASKS.md with gates, parallel markers, and traceability | Write |
255
- | `sdd_run_analysis` | Generates traceability matrix, returns APPROVE/CHANGES_NEEDED/BLOCK | Write |
256
- | `sdd_advance_phase` | Validates prerequisites and advances the state machine | Write |
292
+ Specky outputs structured JSON with routing instructions. Your AI client calls the appropriate external MCP server:
257
293
 
258
- ### Utility Tools (6)
294
+ ```
295
+ Specky --> sdd_export_work_items(platform: "azure_boards") --> JSON payload
296
+ --> AI Client --> Azure DevOps MCP --> create_work_item()
259
297
 
260
- | Tool | Description | R/W |
261
- |------|-------------|-----|
262
- | `sdd_get_status` | Returns current phase, completion %, files on disk, next action | Read |
263
- | `sdd_get_template` | Returns raw template with {{placeholders}} intact | Read |
264
- | `sdd_write_bugfix` | Writes BUGFIX_SPEC.md (not gated by state machine) | Write |
265
- | `sdd_check_sync` | Compares spec requirements vs code references, reports drift | Read |
266
- | `sdd_scan_codebase` | Scans project structure, detects tech stack for auto-steering | Read |
267
- | `sdd_amend` | Appends amendment to CONSTITUTION.md changelog | Write |
298
+ Specky --> sdd_validate_iac(provider: "terraform") --> validation payload
299
+ --> AI Client --> Terraform MCP --> plan/validate
300
+
301
+ Specky --> sdd_figma_to_spec(file_key: "abc123") --> Figma request
302
+ --> AI Client --> Figma MCP --> get_design_context()
303
+ ```
268
304
 
269
- ### Transcript Automation Tools (3)
305
+ ### Supported External MCP Servers
270
306
 
271
- | Tool | Description | R/W |
272
- |------|-------------|-----|
273
- | `sdd_import_transcript` | Parses VTT/SRT/TXT/MD, extracts topics, decisions, requirements | Read |
274
- | `sdd_auto_pipeline` | FULL AUTOMATION: transcript all 6 spec files in one call | Write |
275
- | `sdd_batch_transcripts` | Scan folder for transcripts, process ALL in one call (Power Automate + OneDrive) | Write |
307
+ | MCP Server | Integration |
308
+ |-----------|-------------|
309
+ | **GitHub MCP** | Issues, PRs, Codespaces |
310
+ | **Azure DevOps MCP** | Work Items, Boards |
311
+ | **Jira MCP** | Issues, Projects |
312
+ | **Terraform MCP** | Plan, Validate, Apply |
313
+ | **Azure MCP** | Template validation |
314
+ | **Figma MCP** | Design context, FigJam diagrams |
315
+ | **Docker MCP** | Local dev environments |
276
316
 
277
317
  ---
278
318
 
279
319
  ## EARS Notation
280
320
 
281
- Specky validates all requirements against 6 EARS patterns:
321
+ Every requirement in Specky follows EARS (Easy Approach to Requirements Syntax):
282
322
 
283
- | Pattern | Syntax | Example |
323
+ | Pattern | Format | Example |
284
324
  |---------|--------|---------|
285
- | Ubiquitous | The system shall ... | The system shall log all API requests. |
286
- | Event-driven | When X, the system shall ... | When a user logs in, the system shall create a session. |
287
- | State-driven | While X, the system shall ... | While in maintenance mode, the system shall reject writes. |
288
- | Optional | Where X, the system shall ... | Where dark mode is enabled, the system shall use dark theme. |
289
- | Unwanted | If X, then the system shall ... | If the database is unreachable, then the system shall retry. |
290
- | Complex | Combination of above | While online, when a message arrives, the system shall notify. |
325
+ | Ubiquitous | The system shall... | The system shall encrypt all data at rest |
326
+ | Event-driven | When [event], the system shall... | When a user submits login, the system shall validate credentials |
327
+ | State-driven | While [state], the system shall... | While offline, the system shall queue requests |
328
+ | Optional | Where [condition], the system shall... | Where 2FA is enabled, the system shall require OTP |
329
+ | Unwanted | If [condition], then the system shall... | If session expires, the system shall redirect to login |
330
+ | Complex | While [state], when [event]... | While in maintenance, when request arrives, queue it |
291
331
 
292
- ---
293
-
294
- ## GitHub Copilot Agents
295
-
296
- Specky ships with 4 GitHub Copilot custom agents in `.github/agents/`:
297
-
298
- | Agent | Role | Tools |
299
- |-------|------|-------|
300
- | `@spec-engineer` | Full pipeline orchestrator | All 17 tools |
301
- | `@design-architect` | Architecture and design | 7 design tools |
302
- | `@task-planner` | Task decomposition | 5 task tools |
303
- | `@spec-reviewer` | Quality audit and analysis | 7 analysis tools |
332
+ The EARS validator programmatically checks every requirement against these 6 patterns. Vague terms like "fast", "good", "easy" are flagged automatically.
304
333
 
305
334
  ---
306
335
 
307
- ## Claude Code Commands
308
-
309
- | Command | Purpose |
310
- |---------|---------|
311
- | `/sdd:spec` | Start specification workflow |
312
- | `/sdd:design` | Create architecture design |
313
- | `/sdd:tasks` | Break down into implementation tasks |
314
- | `/sdd:analyze` | Run quality gate analysis |
315
- | `/sdd:bugfix` | Create bugfix specification |
316
- | `/sdd:transcript` | Convert meeting transcript to full spec (VTT/SRT/TXT/MD) |
317
- | `/sdd:onedrive` | Batch process all transcripts from OneDrive folder |
336
+ ## Compliance Frameworks
318
337
 
319
- ---
320
-
321
- ## Environment Variables
338
+ Built-in compliance checking against:
322
339
 
323
- | Variable | Default | Description |
324
- |----------|---------|-------------|
325
- | `SDD_WORKSPACE` | `process.cwd()` | Workspace root for file operations |
326
- | `PORT` | `3200` | HTTP port (with `--http` flag) |
340
+ - **HIPAA** -- Access control, audit, encryption, PHI protection
341
+ - **SOC 2** -- Logical access, monitoring, change management, incident response
342
+ - **GDPR** -- Lawful processing, right to erasure, data portability, breach notification
343
+ - **PCI-DSS** -- Firewall, stored data protection, encryption, user identification
344
+ - **ISO 27001** -- Security policies, access control, cryptography, incident management
327
345
 
328
346
  ---
329
347
 
330
- ## HTTP Mode
348
+ ## Educative Outputs
331
349
 
332
- For remote deployment or MCP Inspector testing:
350
+ Every tool response includes structured guidance:
333
351
 
334
- ```bash
335
- # Direct
336
- node dist/index.js --http
337
-
338
- # Docker
339
- docker compose up
352
+ ```json
353
+ {
354
+ "explanation": "What was done and why",
355
+ "next_steps": "Guided next action with command suggestion",
356
+ "learning_note": "Educational context about the concept",
357
+ "diagram": "Mermaid diagram relevant to the output"
358
+ }
340
359
  ```
341
360
 
342
- The server listens on `http://localhost:3200/mcp` for Streamable HTTP transport.
343
-
344
361
  ---
345
362
 
346
- ## Project Structure
347
-
348
- ```
349
- .specs/
350
- 001-your-feature/
351
- CONSTITUTION.md # Project charter, principles, constraints
352
- SPECIFICATION.md # EARS requirements with acceptance criteria
353
- DESIGN.md # Architecture, Mermaid diagrams, ADRs
354
- TASKS.md # Implementation tasks with gates
355
- ANALYSIS.md # Traceability matrix, quality gate
356
- .sdd-state.json # Pipeline state (phase, timestamps)
357
- ```
358
-
359
- ---
363
+ ## End-to-End Flow
360
364
 
361
- ## Comparison with Alternatives
365
+ <p align="center">
366
+ <img src="media/end-to-end-flow.svg" alt="Specky End-to-End Development Flow" width="100%"/>
367
+ </p>
362
368
 
363
- | Feature | Specky | Manual Specs | Kiro | Traditional |
364
- |---------|--------|-------------|------|-------------|
365
- | MCP native | Yes | No | Yes | No |
366
- | EARS notation | Yes | Manual | No | No |
367
- | State machine | Yes | No | Yes | No |
368
- | File generation | Yes | Manual | Yes | Manual |
369
- | Quality gates | Yes | Manual | Yes | No |
370
- | Open source | MIT | N/A | Proprietary | Varies |
371
- | GitHub Copilot agents | Yes | No | No | No |
372
- | Claude Code commands | Yes | No | No | No |
369
+ From any input to production fully automated, MCP-orchestrated, with artifacts and diagrams generated at every step.
373
370
 
374
371
  ---
375
372
 
376
- ## How It Works Inside
373
+ ## Project Structure
377
374
 
378
375
  ```
379
- ┌─────────────────────────────────────────────────────────────┐
380
- │ SPECKY MCP SERVER │
381
- │ │
382
- │ Transport: stdio (default) or HTTP (:3200) │
383
- │ Protocol: JSON-RPC 2.0 (MCP standard) │
384
- │ │
385
- │ ┌─── 17 Tools ───────────────────────────────────────────┐ │
386
- │ │ Pipeline (8) │ Utility (6) │ Transcript (3) │ │
387
- │ └────────────────┴───────────────┴───────────────────────┘
388
- │ │ │
389
- │ ┌─── 6 Services ────────────────────────────────────────┐ │
390
- │ │ FileManager StateMachine │ TemplateEngine │ │
391
- │ │ EarsValidator │ CodebaseScanner│ TranscriptParser │ │
392
- │ └────────────────────┴────────────────┴─────────────────┘ │
393
- │ │ │
394
- │ ┌─── 7 Templates ──────────────────────────────────────┐ │
395
- │ │ constitution │ specification │ design │ tasks │ │
396
- │ │ analysis │ bugfix │ sync-report │ │
397
- │ └───────────────┴───────────────┴───────────────────────┘ │
398
- └─────────────────────────────────────────────────────────────┘
376
+ .specs/
377
+ 001-feature-name/
378
+ CONSTITUTION.md -- Project principles and governance
379
+ SPECIFICATION.md -- EARS requirements with acceptance criteria
380
+ DESIGN.md -- Architecture, data model, API contracts
381
+ RESEARCH.md -- Resolved unknowns and decisions
382
+ TASKS.md -- Implementation breakdown
383
+ ANALYSIS.md -- Quality gate report
384
+ CHECKLIST.md -- Mandatory quality checklist
385
+ CROSS_ANALYSIS.md -- Spec-design-tasks alignment
386
+ COMPLIANCE.md -- Compliance framework report
387
+ VERIFICATION.md -- Phantom detection results
399
388
  ```
400
389
 
401
- **Key design principle:** Tools are thin (validate input, call service, format output). Services are fat (all business logic). FileManager owns all disk I/O.
402
-
403
- ---
404
-
405
- ## Documentation
406
-
407
- | Document | Purpose |
408
- |----------|---------|
409
- | [GETTING-STARTED.md](GETTING-STARTED.md) | Step-by-step tutorial from zero to first spec |
410
- | [CONTRIBUTING.md](CONTRIBUTING.md) | How to add tools, templates, and services |
411
- | [PUBLISH.md](PUBLISH.md) | How to publish to GitHub, npm, and Docker |
412
-
413
390
  ---
414
391
 
415
392
  ## Development
@@ -428,19 +405,16 @@ npm run dev
428
405
 
429
406
  # Verify MCP handshake
430
407
  echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | node dist/index.js 2>/dev/null
431
-
432
- # Clean build artifacts
433
- npm run clean
434
408
  ```
435
409
 
436
410
  ---
437
411
 
438
- ## License
412
+ ## Contributing
439
413
 
440
- MIT License - see [LICENSE](LICENSE) for details.
414
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for architecture details and how to add tools, templates, or services.
441
415
 
442
416
  ---
443
417
 
444
- **Created by [Paula Silva](https://github.com/paulasilvatech)** ([@paulanunes85](https://twitter.com/paulanunes85)) | Americas Software GBB
418
+ ## License
445
419
 
446
- *Specky The fun name, the serious engine.*
420
+ MIT -- Created by [Paula Silva](https://github.com/paulasilvatech) | Americas Software GBB, Microsoft