sdd-mcp-server 1.1.21 → 1.2.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/README.md +67 -30
- package/dist/adapters/cli/SDDToolAdapter.d.ts +22 -1
- package/dist/adapters/cli/SDDToolAdapter.js +399 -17
- package/dist/adapters/cli/SDDToolAdapter.js.map +1 -1
- package/dist/application/services/TemplateService.d.ts +17 -0
- package/dist/application/services/TemplateService.js +367 -24
- package/dist/application/services/TemplateService.js.map +1 -1
- package/dist/index.js +1210 -13
- package/dist/index.js.map +1 -1
- package/mcp-server.js +1501 -0
- package/package.json +3 -3
- package/minimal-working-server.js +0 -66
package/README.md
CHANGED
|
@@ -6,17 +6,16 @@
|
|
|
6
6
|
|
|
7
7
|
A Model Context Protocol (MCP) server implementing Spec-Driven Development (SDD) workflows for AI-agent CLIs and IDEs like Claude Code, Cursor, and others.
|
|
8
8
|
|
|
9
|
-
> **✅ v1.
|
|
9
|
+
> **✅ v1.2.0 Update**: Complete kiro workflow alignment with empty project support. SDD tools now bootstrap from project descriptions without requiring existing files.
|
|
10
10
|
|
|
11
11
|
## 🚀 Quick Start
|
|
12
12
|
|
|
13
|
-
### Option 1: Install
|
|
13
|
+
### Option 1: Install Globally (Recommended)
|
|
14
14
|
```bash
|
|
15
|
-
#
|
|
16
|
-
|
|
15
|
+
# Install globally for reliable Claude Code integration
|
|
16
|
+
npm install -g sdd-mcp-server@latest
|
|
17
17
|
|
|
18
|
-
#
|
|
19
|
-
npm install -g sdd-mcp-server
|
|
18
|
+
# Start the server
|
|
20
19
|
sdd-mcp-server
|
|
21
20
|
```
|
|
22
21
|
|
|
@@ -58,14 +57,17 @@ docker-compose up -d
|
|
|
58
57
|
### Claude Code
|
|
59
58
|
Add to your MCP settings using the command line:
|
|
60
59
|
```bash
|
|
60
|
+
# First, install globally
|
|
61
|
+
npm install -g sdd-mcp-server@latest
|
|
62
|
+
|
|
61
63
|
# Add to local MCP configuration (recommended)
|
|
62
|
-
claude mcp add sdd "
|
|
64
|
+
claude mcp add sdd "sdd-mcp-server" -s local
|
|
63
65
|
|
|
64
66
|
# Verify connection
|
|
65
67
|
claude mcp list
|
|
66
68
|
# Should show: sdd: ✓ Connected
|
|
67
69
|
|
|
68
|
-
# For faster startup
|
|
70
|
+
# For development (faster startup):
|
|
69
71
|
git clone https://github.com/yi-john-huang/sdd-mcp.git
|
|
70
72
|
cd sdd-mcp
|
|
71
73
|
claude mcp add sdd "$(pwd)/local-mcp-server.js" -s local
|
|
@@ -76,8 +78,8 @@ Manual configuration in `~/.claude.json`:
|
|
|
76
78
|
{
|
|
77
79
|
"mcpServers": {
|
|
78
80
|
"sdd": {
|
|
79
|
-
"command": "
|
|
80
|
-
"args": [
|
|
81
|
+
"command": "sdd-mcp-server",
|
|
82
|
+
"args": [],
|
|
81
83
|
"env": {}
|
|
82
84
|
}
|
|
83
85
|
}
|
|
@@ -109,46 +111,57 @@ Once connected to your AI client, you can use these MCP tools:
|
|
|
109
111
|
| Tool | Description | Usage |
|
|
110
112
|
|------|-------------|--------|
|
|
111
113
|
| `sdd-init` | Initialize new SDD project | Creates .kiro directory structure |
|
|
112
|
-
| `sdd-requirements` | Generate requirements
|
|
113
|
-
| `sdd-design` | Create design
|
|
114
|
-
| `sdd-tasks` | Generate
|
|
114
|
+
| `sdd-requirements` | Generate context-aware requirements | Analyzes package.json and structure to create EARS-formatted requirements |
|
|
115
|
+
| `sdd-design` | Create project-specific design | Generates architecture docs based on actual tech stack and dependencies |
|
|
116
|
+
| `sdd-tasks` | Generate implementation breakdown | Creates tasks derived from real project structure and technology choices |
|
|
115
117
|
| `sdd-implement` | Implementation guidelines | Provides implementation steering |
|
|
116
118
|
| `sdd-status` | Check workflow progress | Shows current phase and approvals |
|
|
117
119
|
| `sdd-approve` | Approve workflow phases | Mark phases as approved for progression |
|
|
118
120
|
| `sdd-quality-check` | Code quality analysis | Linus-style 5-layer code review |
|
|
119
121
|
| `sdd-context-load` | Load project context | Restore project memory and state |
|
|
120
122
|
| `sdd-template-render` | Render templates | Generate files from templates |
|
|
123
|
+
| `sdd-steering` | Create/update steering docs | Analyzes project to generate product.md, tech.md, structure.md with real content |
|
|
124
|
+
| `sdd-steering-custom` | Create custom steering docs | Add specialized guidance documents |
|
|
125
|
+
| `sdd-validate-design` | Design quality validation | Interactive GO/NO-GO design review |
|
|
126
|
+
| `sdd-validate-gap` | Implementation gap analysis | Analyze requirements vs codebase |
|
|
127
|
+
| `sdd-spec-impl` | Execute tasks with TDD | Kent Beck's Red-Green-Refactor methodology |
|
|
121
128
|
|
|
122
129
|
## 💡 Basic Workflow
|
|
123
130
|
|
|
124
|
-
1. **Initialize Project**
|
|
131
|
+
1. **Initialize Project & Steering**
|
|
125
132
|
```
|
|
126
133
|
Use sdd-init to create a new SDD project
|
|
134
|
+
Use sdd-steering to generate core steering documents
|
|
127
135
|
```
|
|
128
136
|
|
|
129
137
|
2. **Generate Requirements**
|
|
130
138
|
```
|
|
131
|
-
Use sdd-requirements to analyze and
|
|
139
|
+
Use sdd-requirements to analyze package.json and create context-aware requirements
|
|
140
|
+
Use sdd-validate-gap to analyze implementation feasibility
|
|
132
141
|
```
|
|
133
142
|
|
|
134
143
|
3. **Create Design**
|
|
135
144
|
```
|
|
136
|
-
Use sdd-design to generate
|
|
145
|
+
Use sdd-design to generate architecture based on actual dependencies
|
|
146
|
+
Use sdd-validate-design for GO/NO-GO design review
|
|
137
147
|
```
|
|
138
148
|
|
|
139
149
|
4. **Plan Tasks**
|
|
140
150
|
```
|
|
141
|
-
Use sdd-tasks to
|
|
151
|
+
Use sdd-tasks to create implementation breakdown from real project structure
|
|
142
152
|
```
|
|
143
153
|
|
|
144
|
-
5. **Implement**
|
|
154
|
+
5. **Implement with TDD**
|
|
145
155
|
```
|
|
146
|
-
Use sdd-
|
|
156
|
+
Use sdd-spec-impl to execute tasks with TDD methodology
|
|
157
|
+
Use sdd-quality-check for code review and analysis
|
|
147
158
|
```
|
|
148
159
|
|
|
149
|
-
6. **
|
|
160
|
+
6. **Monitor & Manage**
|
|
150
161
|
```
|
|
151
|
-
Use sdd-
|
|
162
|
+
Use sdd-status to check workflow progress
|
|
163
|
+
Use sdd-approve to approve workflow phases
|
|
164
|
+
Use sdd-context-load to restore project memory
|
|
152
165
|
```
|
|
153
166
|
|
|
154
167
|
## ⚙️ Configuration
|
|
@@ -168,16 +181,19 @@ export HOOK_TIMEOUT=10000
|
|
|
168
181
|
|
|
169
182
|
### Claude Code Integration Example
|
|
170
183
|
```bash
|
|
184
|
+
# Install globally first
|
|
185
|
+
npm install -g sdd-mcp-server@latest
|
|
186
|
+
|
|
171
187
|
# Add to Claude Code with environment variables
|
|
172
|
-
claude mcp add sdd "
|
|
188
|
+
claude mcp add sdd "sdd-mcp-server"
|
|
173
189
|
|
|
174
190
|
# Manual configuration in ~/.mcp.json:
|
|
175
191
|
{
|
|
176
192
|
"servers": {
|
|
177
193
|
"sdd": {
|
|
178
194
|
"type": "stdio",
|
|
179
|
-
"command": "
|
|
180
|
-
"args": [
|
|
195
|
+
"command": "sdd-mcp-server",
|
|
196
|
+
"args": [],
|
|
181
197
|
"env": {
|
|
182
198
|
"LOG_LEVEL": "info",
|
|
183
199
|
"DEFAULT_LANG": "en"
|
|
@@ -190,9 +206,12 @@ claude mcp add sdd "npx -y sdd-mcp-server@latest"
|
|
|
190
206
|
## 🏗️ Key Features
|
|
191
207
|
|
|
192
208
|
- **5-Phase SDD Workflow**: INIT → REQUIREMENTS → DESIGN → TASKS → IMPLEMENTATION
|
|
209
|
+
- **Context-Aware Generation**: Analyzes package.json, dependencies, and project structure for real content
|
|
210
|
+
- **EARS-Formatted Requirements**: Generate acceptance criteria based on actual npm scripts and dependencies
|
|
211
|
+
- **Architecture Analysis**: Technology stack detection and pattern recognition from real codebase
|
|
193
212
|
- **Quality Enforcement**: Linus-style 5-layer code review system
|
|
194
213
|
- **Multi-Language Support**: 10 languages with cultural adaptation
|
|
195
|
-
- **Template Engine**: Handlebars-based file generation
|
|
214
|
+
- **Template Engine**: Handlebars-based file generation with project-specific data
|
|
196
215
|
- **Plugin System**: Extensible architecture for custom workflows
|
|
197
216
|
- **MCP Protocol**: Full compatibility with AI-agent CLIs and IDEs
|
|
198
217
|
|
|
@@ -245,20 +264,35 @@ npm cache clean --force
|
|
|
245
264
|
npm install -g sdd-mcp-server
|
|
246
265
|
```
|
|
247
266
|
|
|
267
|
+
**Issue: "Connection fails with npx"**
|
|
268
|
+
|
|
269
|
+
⚠️ **Known Issue**: npx execution may have timing issues with Claude Code health checks.
|
|
270
|
+
|
|
271
|
+
**Solution**: Use global installation instead:
|
|
272
|
+
```bash
|
|
273
|
+
# Don't use: npx -y sdd-mcp-server@latest
|
|
274
|
+
# Instead, install globally:
|
|
275
|
+
npm install -g sdd-mcp-server@latest
|
|
276
|
+
claude mcp add sdd "sdd-mcp-server" -s local
|
|
277
|
+
```
|
|
278
|
+
|
|
248
279
|
**Issue: "MCP server not responding or Failed to connect"**
|
|
249
280
|
|
|
250
|
-
*Fixed in v1.1.
|
|
281
|
+
*Fixed in v1.1.21*: Use global installation instead of npx for reliable connections.
|
|
251
282
|
|
|
252
283
|
```bash
|
|
284
|
+
# Install globally first
|
|
285
|
+
npm install -g sdd-mcp-server@latest
|
|
286
|
+
|
|
253
287
|
# Test server directly
|
|
254
|
-
echo '{"jsonrpc": "2.0", "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}, "id": 1}' |
|
|
288
|
+
echo '{"jsonrpc": "2.0", "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}, "id": 1}' | sdd-mcp-server
|
|
255
289
|
|
|
256
290
|
# Check Claude MCP status
|
|
257
291
|
claude mcp list
|
|
258
292
|
|
|
259
293
|
# Re-add server to Claude MCP (forces refresh)
|
|
260
294
|
claude mcp remove sdd -s local
|
|
261
|
-
claude mcp add sdd "
|
|
295
|
+
claude mcp add sdd "sdd-mcp-server" -s local
|
|
262
296
|
|
|
263
297
|
# Alternative: Use local development version for faster startup
|
|
264
298
|
git clone https://github.com/yi-john-huang/sdd-mcp.git
|
|
@@ -297,11 +331,14 @@ For detailed documentation on:
|
|
|
297
331
|
|
|
298
332
|
**Ready to get started?**
|
|
299
333
|
```bash
|
|
334
|
+
# Install globally first
|
|
335
|
+
npm install -g sdd-mcp-server@latest
|
|
336
|
+
|
|
300
337
|
# For Claude Code users:
|
|
301
|
-
claude mcp add sdd "
|
|
338
|
+
claude mcp add sdd "sdd-mcp-server"
|
|
302
339
|
|
|
303
340
|
# For direct usage:
|
|
304
|
-
|
|
341
|
+
sdd-mcp-server
|
|
305
342
|
```
|
|
306
343
|
|
|
307
344
|
Built for the AI development community 🤖✨
|
|
@@ -3,6 +3,8 @@ import { ProjectService } from '../../application/services/ProjectService.js';
|
|
|
3
3
|
import { WorkflowService } from '../../application/services/WorkflowService.js';
|
|
4
4
|
import { TemplateService } from '../../application/services/TemplateService.js';
|
|
5
5
|
import { QualityService } from '../../application/services/QualityService.js';
|
|
6
|
+
import { SteeringDocumentService } from '../../application/services/SteeringDocumentService.js';
|
|
7
|
+
import { CodebaseAnalysisService } from '../../application/services/CodebaseAnalysisService.js';
|
|
6
8
|
import { LoggerPort } from '../../domain/ports.js';
|
|
7
9
|
export interface SDDToolHandler {
|
|
8
10
|
name: string;
|
|
@@ -14,8 +16,10 @@ export declare class SDDToolAdapter {
|
|
|
14
16
|
private readonly workflowService;
|
|
15
17
|
private readonly templateService;
|
|
16
18
|
private readonly qualityService;
|
|
19
|
+
private readonly steeringService;
|
|
20
|
+
private readonly codebaseAnalysisService;
|
|
17
21
|
private readonly logger;
|
|
18
|
-
constructor(projectService: ProjectService, workflowService: WorkflowService, templateService: TemplateService, qualityService: QualityService, logger: LoggerPort);
|
|
22
|
+
constructor(projectService: ProjectService, workflowService: WorkflowService, templateService: TemplateService, qualityService: QualityService, steeringService: SteeringDocumentService, codebaseAnalysisService: CodebaseAnalysisService, logger: LoggerPort);
|
|
19
23
|
getSDDTools(): SDDToolHandler[];
|
|
20
24
|
private handleProjectInit;
|
|
21
25
|
private handleProjectStatus;
|
|
@@ -23,4 +27,21 @@ export declare class SDDToolAdapter {
|
|
|
23
27
|
private handleDesign;
|
|
24
28
|
private handleTasks;
|
|
25
29
|
private handleQualityCheck;
|
|
30
|
+
private handleSteering;
|
|
31
|
+
private handleSteeringCustom;
|
|
32
|
+
private generateProductSteering;
|
|
33
|
+
private generateTechSteering;
|
|
34
|
+
private generateStructureSteering;
|
|
35
|
+
private extractFeatures;
|
|
36
|
+
private generateTargetUseCase;
|
|
37
|
+
private generateValueProposition;
|
|
38
|
+
private generateTargetUsers;
|
|
39
|
+
private generateTechStack;
|
|
40
|
+
private generateDependencyList;
|
|
41
|
+
private generateArchitecturePatterns;
|
|
42
|
+
private generateQualityStandards;
|
|
43
|
+
private generateDirectoryStructure;
|
|
44
|
+
private generateNamingConventions;
|
|
45
|
+
private generateModuleOrganization;
|
|
46
|
+
private generateWorkflow;
|
|
26
47
|
}
|