specky-sdd 1.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.
- package/LICENSE +22 -0
- package/README.md +446 -0
- package/dist/constants.d.ts +68 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +120 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +95 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas/common.d.ts +8 -0
- package/dist/schemas/common.d.ts.map +1 -0
- package/dist/schemas/common.js +18 -0
- package/dist/schemas/common.js.map +1 -0
- package/dist/schemas/pipeline.d.ts +296 -0
- package/dist/schemas/pipeline.d.ts.map +1 -0
- package/dist/schemas/pipeline.js +132 -0
- package/dist/schemas/pipeline.js.map +1 -0
- package/dist/schemas/transcript.d.ts +59 -0
- package/dist/schemas/transcript.d.ts.map +1 -0
- package/dist/schemas/transcript.js +61 -0
- package/dist/schemas/transcript.js.map +1 -0
- package/dist/schemas/utility.d.ts +92 -0
- package/dist/schemas/utility.d.ts.map +1 -0
- package/dist/schemas/utility.js +82 -0
- package/dist/schemas/utility.js.map +1 -0
- package/dist/services/codebase-scanner.d.ts +24 -0
- package/dist/services/codebase-scanner.d.ts.map +1 -0
- package/dist/services/codebase-scanner.js +185 -0
- package/dist/services/codebase-scanner.js.map +1 -0
- package/dist/services/ears-validator.d.ts +29 -0
- package/dist/services/ears-validator.d.ts.map +1 -0
- package/dist/services/ears-validator.js +163 -0
- package/dist/services/ears-validator.js.map +1 -0
- package/dist/services/file-manager.d.ts +56 -0
- package/dist/services/file-manager.d.ts.map +1 -0
- package/dist/services/file-manager.js +203 -0
- package/dist/services/file-manager.js.map +1 -0
- package/dist/services/state-machine.d.ts +46 -0
- package/dist/services/state-machine.d.ts.map +1 -0
- package/dist/services/state-machine.js +167 -0
- package/dist/services/state-machine.js.map +1 -0
- package/dist/services/template-engine.d.ts +37 -0
- package/dist/services/template-engine.d.ts.map +1 -0
- package/dist/services/template-engine.js +111 -0
- package/dist/services/template-engine.js.map +1 -0
- package/dist/services/transcript-parser.d.ts +61 -0
- package/dist/services/transcript-parser.d.ts.map +1 -0
- package/dist/services/transcript-parser.js +810 -0
- package/dist/services/transcript-parser.js.map +1 -0
- package/dist/tools/analysis.d.ts +10 -0
- package/dist/tools/analysis.d.ts.map +1 -0
- package/dist/tools/analysis.js +95 -0
- package/dist/tools/analysis.js.map +1 -0
- package/dist/tools/pipeline.d.ts +11 -0
- package/dist/tools/pipeline.d.ts.map +1 -0
- package/dist/tools/pipeline.js +583 -0
- package/dist/tools/pipeline.js.map +1 -0
- package/dist/tools/transcript.d.ts +14 -0
- package/dist/tools/transcript.d.ts.map +1 -0
- package/dist/tools/transcript.js +813 -0
- package/dist/tools/transcript.js.map +1 -0
- package/dist/tools/utility.d.ts +10 -0
- package/dist/tools/utility.d.ts.map +1 -0
- package/dist/tools/utility.js +239 -0
- package/dist/tools/utility.js.map +1 -0
- package/dist/types.d.ts +161 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/package.json +53 -0
- package/templates/analysis.md +54 -0
- package/templates/bugfix.md +45 -0
- package/templates/constitution.md +56 -0
- package/templates/design.md +47 -0
- package/templates/specification.md +49 -0
- package/templates/sync-report.md +43 -0
- package/templates/tasks.md +38 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Paula Silva (@paulasilvatech, @paulanunes85)
|
|
4
|
+
Americas Software GBB
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,446 @@
|
|
|
1
|
+
# Specky
|
|
2
|
+
|
|
3
|
+
**The open-source MCP server for Spec-Driven Development (SDD).**
|
|
4
|
+
|
|
5
|
+
*The fun name, the serious engine.*
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+

|
|
9
|
+

|
|
10
|
+

|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
**Created by [Paula Silva](https://github.com/paulasilvatech)** ([@paulanunes85](https://twitter.com/paulanunes85)) | Americas Software GBB
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## What is Specky?
|
|
18
|
+
|
|
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.
|
|
20
|
+
|
|
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
|
+
|
|
30
|
+
### What is MCP?
|
|
31
|
+
|
|
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
|
+
|
|
34
|
+
### Key Features
|
|
35
|
+
|
|
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
|
|
46
|
+
|
|
47
|
+
### Two Ways to Use
|
|
48
|
+
|
|
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 |
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Quick Start
|
|
57
|
+
|
|
58
|
+
### npx (recommended)
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
npx specky
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### npm global install
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npm install -g specky
|
|
68
|
+
specky
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Docker
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
docker compose up
|
|
75
|
+
# Server starts on http://localhost:3200
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Setup
|
|
81
|
+
|
|
82
|
+
### VS Code (GitHub Copilot)
|
|
83
|
+
|
|
84
|
+
Create or update `.vscode/mcp.json`:
|
|
85
|
+
|
|
86
|
+
```json
|
|
87
|
+
{
|
|
88
|
+
"servers": {
|
|
89
|
+
"specky": {
|
|
90
|
+
"command": "npx",
|
|
91
|
+
"args": ["-y", "specky"],
|
|
92
|
+
"env": {
|
|
93
|
+
"SDD_WORKSPACE": "${workspaceFolder}"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Claude Code
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Quick setup (one command):
|
|
104
|
+
claude mcp add specky npx -y specky --env SDD_WORKSPACE=$(pwd)
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Or manually add to MCP settings:
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"mcpServers": {
|
|
112
|
+
"specky": {
|
|
113
|
+
"command": "npx",
|
|
114
|
+
"args": ["-y", "specky"],
|
|
115
|
+
"env": {
|
|
116
|
+
"SDD_WORKSPACE": "/path/to/your/project"
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Claude Desktop
|
|
124
|
+
|
|
125
|
+
Add to `claude_desktop_config.json`:
|
|
126
|
+
|
|
127
|
+
| OS | Config File Location |
|
|
128
|
+
|----|---------------------|
|
|
129
|
+
| macOS | `~/Library/Application Support/Claude/claude_desktop_config.json` |
|
|
130
|
+
| Linux | `~/.config/Claude/claude_desktop_config.json` |
|
|
131
|
+
| Windows | `%APPDATA%\Claude\claude_desktop_config.json` |
|
|
132
|
+
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"mcpServers": {
|
|
136
|
+
"specky": {
|
|
137
|
+
"command": "npx",
|
|
138
|
+
"args": ["-y", "specky"],
|
|
139
|
+
"env": {
|
|
140
|
+
"SDD_WORKSPACE": "/path/to/your/project"
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
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
|
+
```
|
|
156
|
+
|
|
157
|
+
Or call the tool directly:
|
|
158
|
+
|
|
159
|
+
```json
|
|
160
|
+
{
|
|
161
|
+
"name": "sdd_auto_pipeline",
|
|
162
|
+
"arguments": {
|
|
163
|
+
"file_path": "meeting.vtt",
|
|
164
|
+
"project_name": "my-project"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
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:
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
Teams Meeting → Power Automate → OneDrive/Transcripts/ → sdd_batch_transcripts → .specs/
|
|
200
|
+
```
|
|
201
|
+
|
|
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
|
+
```
|
|
218
|
+
|
|
219
|
+
Each transcript in the folder becomes its own numbered feature spec package (`001-sprint-planning/`, `002-architecture-review/`, etc.) with 6 files each.
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Pipeline Overview
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
sdd_init → sdd_discover → sdd_write_spec → sdd_clarify → sdd_write_design → sdd_write_tasks → sdd_run_analysis
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Each phase produces a Markdown artifact in `.specs/001-your-feature/`:
|
|
230
|
+
|
|
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 |
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## Tool Reference
|
|
244
|
+
|
|
245
|
+
### Pipeline Tools (8)
|
|
246
|
+
|
|
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 |
|
|
257
|
+
|
|
258
|
+
### Utility Tools (6)
|
|
259
|
+
|
|
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 |
|
|
268
|
+
|
|
269
|
+
### Transcript Automation Tools (3)
|
|
270
|
+
|
|
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 |
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## EARS Notation
|
|
280
|
+
|
|
281
|
+
Specky validates all requirements against 6 EARS patterns:
|
|
282
|
+
|
|
283
|
+
| Pattern | Syntax | Example |
|
|
284
|
+
|---------|--------|---------|
|
|
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. |
|
|
291
|
+
|
|
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 |
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
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 |
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## Environment Variables
|
|
322
|
+
|
|
323
|
+
| Variable | Default | Description |
|
|
324
|
+
|----------|---------|-------------|
|
|
325
|
+
| `SDD_WORKSPACE` | `process.cwd()` | Workspace root for file operations |
|
|
326
|
+
| `PORT` | `3200` | HTTP port (with `--http` flag) |
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
## HTTP Mode
|
|
331
|
+
|
|
332
|
+
For remote deployment or MCP Inspector testing:
|
|
333
|
+
|
|
334
|
+
```bash
|
|
335
|
+
# Direct
|
|
336
|
+
node dist/index.js --http
|
|
337
|
+
|
|
338
|
+
# Docker
|
|
339
|
+
docker compose up
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
The server listens on `http://localhost:3200/mcp` for Streamable HTTP transport.
|
|
343
|
+
|
|
344
|
+
---
|
|
345
|
+
|
|
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
|
+
---
|
|
360
|
+
|
|
361
|
+
## Comparison with Alternatives
|
|
362
|
+
|
|
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 |
|
|
373
|
+
|
|
374
|
+
---
|
|
375
|
+
|
|
376
|
+
## How It Works Inside
|
|
377
|
+
|
|
378
|
+
```
|
|
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
|
+
└─────────────────────────────────────────────────────────────┘
|
|
399
|
+
```
|
|
400
|
+
|
|
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
|
+
---
|
|
414
|
+
|
|
415
|
+
## Development
|
|
416
|
+
|
|
417
|
+
```bash
|
|
418
|
+
# Clone and setup
|
|
419
|
+
git clone https://github.com/paulasilvatech/specky.git
|
|
420
|
+
cd specky
|
|
421
|
+
npm install
|
|
422
|
+
|
|
423
|
+
# Build
|
|
424
|
+
npm run build
|
|
425
|
+
|
|
426
|
+
# Development mode (auto-reload)
|
|
427
|
+
npm run dev
|
|
428
|
+
|
|
429
|
+
# Verify MCP handshake
|
|
430
|
+
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
|
+
```
|
|
435
|
+
|
|
436
|
+
---
|
|
437
|
+
|
|
438
|
+
## License
|
|
439
|
+
|
|
440
|
+
MIT License - see [LICENSE](LICENSE) for details.
|
|
441
|
+
|
|
442
|
+
---
|
|
443
|
+
|
|
444
|
+
**Created by [Paula Silva](https://github.com/paulasilvatech)** ([@paulanunes85](https://twitter.com/paulanunes85)) | Americas Software GBB
|
|
445
|
+
|
|
446
|
+
*Specky — The fun name, the serious engine.*
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Specky MCP Server — Constants
|
|
3
|
+
* All shared constants, enums, and configuration values.
|
|
4
|
+
*/
|
|
5
|
+
/** Specky server version — matches package.json */
|
|
6
|
+
export declare const VERSION = "1.0.0";
|
|
7
|
+
/** Server name for MCP handshake */
|
|
8
|
+
export declare const SERVER_NAME = "specky";
|
|
9
|
+
/** Maximum response size in characters before truncation */
|
|
10
|
+
export declare const CHARACTER_LIMIT = 25000;
|
|
11
|
+
/** Default directory for SDD specifications */
|
|
12
|
+
export declare const DEFAULT_SPEC_DIR = ".specs";
|
|
13
|
+
/** State file name */
|
|
14
|
+
export declare const STATE_FILE = ".sdd-state.json";
|
|
15
|
+
/** Default HTTP port for Streamable HTTP transport */
|
|
16
|
+
export declare const DEFAULT_HTTP_PORT = 3200;
|
|
17
|
+
/** Default scan depth for codebase scanner */
|
|
18
|
+
export declare const DEFAULT_SCAN_DEPTH = 3;
|
|
19
|
+
/** Maximum scan depth allowed */
|
|
20
|
+
export declare const MAX_SCAN_DEPTH = 5;
|
|
21
|
+
/** Default exclude patterns for codebase scanning */
|
|
22
|
+
export declare const DEFAULT_EXCLUDE_PATTERNS: readonly string[];
|
|
23
|
+
/**
|
|
24
|
+
* SDD Pipeline phases in order.
|
|
25
|
+
* Each phase requires its predecessor to be completed.
|
|
26
|
+
*/
|
|
27
|
+
export declare enum Phase {
|
|
28
|
+
Init = "init",
|
|
29
|
+
Discover = "discover",
|
|
30
|
+
Specify = "specify",
|
|
31
|
+
Clarify = "clarify",
|
|
32
|
+
Design = "design",
|
|
33
|
+
Tasks = "tasks",
|
|
34
|
+
Analyze = "analyze"
|
|
35
|
+
}
|
|
36
|
+
/** Ordered array of all phases for iteration */
|
|
37
|
+
export declare const PHASE_ORDER: readonly Phase[];
|
|
38
|
+
/** Maps each phase to the required file(s) that must exist before advancing past it */
|
|
39
|
+
export declare const PHASE_REQUIRED_FILES: Record<Phase, readonly string[]>;
|
|
40
|
+
/** All MCP tool names — prefixed with sdd_ */
|
|
41
|
+
export declare const TOOL_NAMES: {
|
|
42
|
+
readonly INIT: "sdd_init";
|
|
43
|
+
readonly DISCOVER: "sdd_discover";
|
|
44
|
+
readonly WRITE_SPEC: "sdd_write_spec";
|
|
45
|
+
readonly CLARIFY: "sdd_clarify";
|
|
46
|
+
readonly WRITE_DESIGN: "sdd_write_design";
|
|
47
|
+
readonly WRITE_TASKS: "sdd_write_tasks";
|
|
48
|
+
readonly RUN_ANALYSIS: "sdd_run_analysis";
|
|
49
|
+
readonly ADVANCE_PHASE: "sdd_advance_phase";
|
|
50
|
+
readonly GET_STATUS: "sdd_get_status";
|
|
51
|
+
readonly GET_TEMPLATE: "sdd_get_template";
|
|
52
|
+
readonly WRITE_BUGFIX: "sdd_write_bugfix";
|
|
53
|
+
readonly CHECK_SYNC: "sdd_check_sync";
|
|
54
|
+
readonly SCAN_CODEBASE: "sdd_scan_codebase";
|
|
55
|
+
readonly AMEND: "sdd_amend";
|
|
56
|
+
readonly IMPORT_TRANSCRIPT: "sdd_import_transcript";
|
|
57
|
+
readonly AUTO_PIPELINE: "sdd_auto_pipeline";
|
|
58
|
+
readonly BATCH_TRANSCRIPTS: "sdd_batch_transcripts";
|
|
59
|
+
};
|
|
60
|
+
/** Template names matching files in templates/ directory */
|
|
61
|
+
export declare const TEMPLATE_NAMES: readonly ["constitution", "specification", "design", "tasks", "analysis", "bugfix", "sync_report"];
|
|
62
|
+
export type TemplateName = (typeof TEMPLATE_NAMES)[number];
|
|
63
|
+
/** EARS pattern names */
|
|
64
|
+
export declare const EARS_PATTERNS: readonly ["ubiquitous", "event_driven", "state_driven", "optional", "unwanted", "complex", "unknown"];
|
|
65
|
+
export type EarsPatternName = (typeof EARS_PATTERNS)[number];
|
|
66
|
+
/** Package manifest files for tech stack detection, in priority order */
|
|
67
|
+
export declare const PACKAGE_MANIFESTS: readonly string[];
|
|
68
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mDAAmD;AACnD,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,oCAAoC;AACpC,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC,4DAA4D;AAC5D,eAAO,MAAM,eAAe,QAAS,CAAC;AAEtC,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC,sBAAsB;AACtB,eAAO,MAAM,UAAU,oBAAoB,CAAC;AAE5C,sDAAsD;AACtD,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,8CAA8C;AAC9C,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,iCAAiC;AACjC,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,qDAAqD;AACrD,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAUrD,CAAC;AAEF;;;GAGG;AACH,oBAAY,KAAK;IACf,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED,gDAAgD;AAChD,eAAO,MAAM,WAAW,EAAE,SAAS,KAAK,EAQvC,CAAC;AAEF,uFAAuF;AACvF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAQjE,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;CAqBb,CAAC;AAEX,4DAA4D;AAC5D,eAAO,MAAM,cAAc,oGAQjB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,yBAAyB;AACzB,eAAO,MAAM,aAAa,uGAQhB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAQ9C,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Specky MCP Server — Constants
|
|
3
|
+
* All shared constants, enums, and configuration values.
|
|
4
|
+
*/
|
|
5
|
+
/** Specky server version — matches package.json */
|
|
6
|
+
export const VERSION = "1.0.0";
|
|
7
|
+
/** Server name for MCP handshake */
|
|
8
|
+
export const SERVER_NAME = "specky";
|
|
9
|
+
/** Maximum response size in characters before truncation */
|
|
10
|
+
export const CHARACTER_LIMIT = 25_000;
|
|
11
|
+
/** Default directory for SDD specifications */
|
|
12
|
+
export const DEFAULT_SPEC_DIR = ".specs";
|
|
13
|
+
/** State file name */
|
|
14
|
+
export const STATE_FILE = ".sdd-state.json";
|
|
15
|
+
/** Default HTTP port for Streamable HTTP transport */
|
|
16
|
+
export const DEFAULT_HTTP_PORT = 3200;
|
|
17
|
+
/** Default scan depth for codebase scanner */
|
|
18
|
+
export const DEFAULT_SCAN_DEPTH = 3;
|
|
19
|
+
/** Maximum scan depth allowed */
|
|
20
|
+
export const MAX_SCAN_DEPTH = 5;
|
|
21
|
+
/** Default exclude patterns for codebase scanning */
|
|
22
|
+
export const DEFAULT_EXCLUDE_PATTERNS = [
|
|
23
|
+
"node_modules",
|
|
24
|
+
".git",
|
|
25
|
+
"dist",
|
|
26
|
+
".next",
|
|
27
|
+
"__pycache__",
|
|
28
|
+
".venv",
|
|
29
|
+
"target",
|
|
30
|
+
"build",
|
|
31
|
+
"coverage",
|
|
32
|
+
];
|
|
33
|
+
/**
|
|
34
|
+
* SDD Pipeline phases in order.
|
|
35
|
+
* Each phase requires its predecessor to be completed.
|
|
36
|
+
*/
|
|
37
|
+
export var Phase;
|
|
38
|
+
(function (Phase) {
|
|
39
|
+
Phase["Init"] = "init";
|
|
40
|
+
Phase["Discover"] = "discover";
|
|
41
|
+
Phase["Specify"] = "specify";
|
|
42
|
+
Phase["Clarify"] = "clarify";
|
|
43
|
+
Phase["Design"] = "design";
|
|
44
|
+
Phase["Tasks"] = "tasks";
|
|
45
|
+
Phase["Analyze"] = "analyze";
|
|
46
|
+
})(Phase || (Phase = {}));
|
|
47
|
+
/** Ordered array of all phases for iteration */
|
|
48
|
+
export const PHASE_ORDER = [
|
|
49
|
+
Phase.Init,
|
|
50
|
+
Phase.Discover,
|
|
51
|
+
Phase.Specify,
|
|
52
|
+
Phase.Clarify,
|
|
53
|
+
Phase.Design,
|
|
54
|
+
Phase.Tasks,
|
|
55
|
+
Phase.Analyze,
|
|
56
|
+
];
|
|
57
|
+
/** Maps each phase to the required file(s) that must exist before advancing past it */
|
|
58
|
+
export const PHASE_REQUIRED_FILES = {
|
|
59
|
+
[Phase.Init]: ["CONSTITUTION.md"],
|
|
60
|
+
[Phase.Discover]: [],
|
|
61
|
+
[Phase.Specify]: ["SPECIFICATION.md"],
|
|
62
|
+
[Phase.Clarify]: ["SPECIFICATION.md"],
|
|
63
|
+
[Phase.Design]: ["DESIGN.md"],
|
|
64
|
+
[Phase.Tasks]: ["TASKS.md"],
|
|
65
|
+
[Phase.Analyze]: ["ANALYSIS.md"],
|
|
66
|
+
};
|
|
67
|
+
/** All MCP tool names — prefixed with sdd_ */
|
|
68
|
+
export const TOOL_NAMES = {
|
|
69
|
+
// Pipeline tools
|
|
70
|
+
INIT: "sdd_init",
|
|
71
|
+
DISCOVER: "sdd_discover",
|
|
72
|
+
WRITE_SPEC: "sdd_write_spec",
|
|
73
|
+
CLARIFY: "sdd_clarify",
|
|
74
|
+
WRITE_DESIGN: "sdd_write_design",
|
|
75
|
+
WRITE_TASKS: "sdd_write_tasks",
|
|
76
|
+
RUN_ANALYSIS: "sdd_run_analysis",
|
|
77
|
+
ADVANCE_PHASE: "sdd_advance_phase",
|
|
78
|
+
// Utility tools
|
|
79
|
+
GET_STATUS: "sdd_get_status",
|
|
80
|
+
GET_TEMPLATE: "sdd_get_template",
|
|
81
|
+
WRITE_BUGFIX: "sdd_write_bugfix",
|
|
82
|
+
CHECK_SYNC: "sdd_check_sync",
|
|
83
|
+
SCAN_CODEBASE: "sdd_scan_codebase",
|
|
84
|
+
AMEND: "sdd_amend",
|
|
85
|
+
// Transcript automation tools
|
|
86
|
+
IMPORT_TRANSCRIPT: "sdd_import_transcript",
|
|
87
|
+
AUTO_PIPELINE: "sdd_auto_pipeline",
|
|
88
|
+
BATCH_TRANSCRIPTS: "sdd_batch_transcripts",
|
|
89
|
+
};
|
|
90
|
+
/** Template names matching files in templates/ directory */
|
|
91
|
+
export const TEMPLATE_NAMES = [
|
|
92
|
+
"constitution",
|
|
93
|
+
"specification",
|
|
94
|
+
"design",
|
|
95
|
+
"tasks",
|
|
96
|
+
"analysis",
|
|
97
|
+
"bugfix",
|
|
98
|
+
"sync_report",
|
|
99
|
+
];
|
|
100
|
+
/** EARS pattern names */
|
|
101
|
+
export const EARS_PATTERNS = [
|
|
102
|
+
"ubiquitous",
|
|
103
|
+
"event_driven",
|
|
104
|
+
"state_driven",
|
|
105
|
+
"optional",
|
|
106
|
+
"unwanted",
|
|
107
|
+
"complex",
|
|
108
|
+
"unknown",
|
|
109
|
+
];
|
|
110
|
+
/** Package manifest files for tech stack detection, in priority order */
|
|
111
|
+
export const PACKAGE_MANIFESTS = [
|
|
112
|
+
"package.json",
|
|
113
|
+
"requirements.txt",
|
|
114
|
+
"pyproject.toml",
|
|
115
|
+
"go.mod",
|
|
116
|
+
"Cargo.toml",
|
|
117
|
+
"pom.xml",
|
|
118
|
+
"build.gradle",
|
|
119
|
+
];
|
|
120
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Specky MCP Server — Entry Point
|
|
4
|
+
* Spec-Driven Development engine for AI agents.
|
|
5
|
+
*
|
|
6
|
+
* Creator: Paula Silva @paulasilvatech @paulanunes85 | Americas Software GBB
|
|
7
|
+
* License: MIT
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;GAMG"}
|