sdd-mcp-server 1.4.2 → 1.4.4

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 CHANGED
@@ -6,7 +6,7 @@
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.4.2 Update: The CLI (`mcp-server.js`) now auto-creates the TDD steering guideline so spec implementation stays test-first in every workflow. Security-check.md (added in 1.4.1) and other static steering docs remain enforced across stacks (JS/TS, Java, Python, Go, Ruby, PHP, Rust, .NET, and more).
9
+ > ✅ **v1.4.3 Update**: Comprehensive codebase analysis now works automatically! Documents are generated with real multi-language detection (TypeScript, Java, Python, Go, Ruby, PHP, Rust, C#, Scala), framework detection (Spring Boot, Django, FastAPI, Rails, Laravel, Express, React, etc.), and architecture pattern recognition. New `principles.md` steering document enforces SOLID, DRY, KISS, YAGNI, Separation of Concerns, and Modularity across all development.
10
10
 
11
11
  ## 🚀 Quick Start
12
12
 
@@ -16,7 +16,7 @@ A Model Context Protocol (MCP) server implementing Spec-Driven Development (SDD)
16
16
  npx -y sdd-mcp-server@latest
17
17
 
18
18
  # Pin exact version (optional)
19
- npx -y sdd-mcp-server@1.4.2
19
+ npx -y sdd-mcp-server@1.4.3
20
20
 
21
21
  # For Claude Code MCP integration, add to your configuration:
22
22
  # "sdd-mcp-server": {
@@ -31,7 +31,7 @@ npx -y sdd-mcp-server@1.4.2
31
31
  npm install -g sdd-mcp-server@latest
32
32
 
33
33
  # Pin exact version (optional)
34
- npm install -g sdd-mcp-server@1.4.2
34
+ npm install -g sdd-mcp-server@1.4.3
35
35
 
36
36
  # Start the server
37
37
  sdd-mcp-server
@@ -147,16 +147,16 @@ Once connected to your AI client, you can use these MCP tools:
147
147
  | Tool | Description | Usage |
148
148
  |------|-------------|--------|
149
149
  | `sdd-init` | Initialize new SDD project | Creates .kiro directory structure + AGENTS.md for cross-platform AI support |
150
- | `sdd-requirements` | Generate context-aware requirements | Analyzes package.json and structure to create EARS-formatted requirements |
151
- | `sdd-design` | Create project-specific design | Generates architecture docs based on actual tech stack and dependencies |
152
- | `sdd-tasks` | Generate implementation breakdown | Creates tasks derived from real project structure and technology choices |
150
+ | `sdd-requirements` | Generate context-aware requirements | Analyzes package.json and structure to create EARS-formatted requirements with comprehensive multi-language analysis |
151
+ | `sdd-design` | Create project-specific design | Generates architecture docs based on actual tech stack, dependencies, and framework detection |
152
+ | `sdd-tasks` | Generate TDD-focused task breakdown | Creates test-first implementation tasks following RED-GREEN-REFACTOR workflow |
153
153
  | `sdd-implement` | Implementation guidelines | Provides implementation steering |
154
154
  | `sdd-status` | Check workflow progress | Shows current phase and approvals |
155
155
  | `sdd-approve` | Approve workflow phases | Mark phases as approved for progression |
156
156
  | `sdd-quality-check` | Code quality analysis | Linus-style 5-layer code review |
157
157
  | `sdd-context-load` | Load project context | Restore project memory and state |
158
158
  | `sdd-template-render` | Render templates | Generate files from templates |
159
- | `sdd-steering` | Create/update steering docs | Analyzes project to generate product.md, tech.md, structure.md with real content + static linus-review.md, commit.md, security-check.md |
159
+ | `sdd-steering` | Create/update steering docs | Analyzes project to generate product.md, tech.md, structure.md + static docs: linus-review.md, commit.md, security-check.md, tdd-guideline.md, principles.md (SOLID/DRY/KISS/YAGNI/SoC/Modularity) |
160
160
  | `sdd-steering-custom` | Create custom steering docs | Add specialized guidance documents |
161
161
  | `sdd-validate-design` | Design quality validation | Interactive GO/NO-GO design review |
162
162
  | `sdd-validate-gap` | Implementation gap analysis | Analyze requirements vs codebase |
@@ -167,57 +167,90 @@ Once connected to your AI client, you can use these MCP tools:
167
167
  1. **Initialize Project & Steering**
168
168
  ```
169
169
  Use sdd-init to create a new SDD project
170
- Use sdd-steering to generate core steering documents
170
+ Use sdd-steering to generate 8 steering documents:
171
+ - product.md, tech.md, structure.md (dynamic, analyzed from codebase)
172
+ - linus-review.md, commit.md, security-check.md (static quality standards)
173
+ - tdd-guideline.md (Test-Driven Development workflow)
174
+ - principles.md (SOLID, DRY, KISS, YAGNI, SoC, Modularity)
171
175
  ```
172
176
 
173
177
  2. **Generate Requirements**
174
178
  ```
175
- Use sdd-requirements to analyze package.json and create context-aware requirements
179
+ Use sdd-requirements to analyze your project with comprehensive multi-language detection
180
+ Automatically detects: language, framework, build tools, test frameworks, architecture patterns
181
+ Creates EARS-formatted requirements based on actual project context
176
182
  Use sdd-validate-gap to analyze implementation feasibility
177
183
  ```
178
184
 
179
185
  3. **Create Design**
180
186
  ```
181
- Use sdd-design to generate architecture based on actual dependencies
187
+ Use sdd-design to generate architecture based on detected tech stack
188
+ Includes: component structure, data models, API design, tech stack details
182
189
  Use sdd-validate-design for GO/NO-GO design review
183
190
  ```
184
191
 
185
- 4. **Plan Tasks**
192
+ 4. **Plan Tasks with TDD**
186
193
  ```
187
- Use sdd-tasks to create implementation breakdown from real project structure
194
+ Use sdd-tasks to create TDD-focused implementation breakdown
195
+ Tasks follow RED-GREEN-REFACTOR workflow automatically
196
+ Phases: Test Setup → Implementation → Refactoring → Integration
188
197
  ```
189
198
 
190
199
  5. **Implement with TDD**
191
200
  ```
192
- Use sdd-spec-impl to execute tasks with TDD methodology
193
- Use sdd-quality-check for code review and analysis
194
- ```
201
+ Use sdd-spec-impl to execute tasks with Test-Driven Development
202
+ Follow the generated TDD workflow from tdd-guideline.md
203
+ Use sdd-quality-check for Linus-style code review and SOLID principles validation
204
+ ```
195
205
 
196
206
  6. **Monitor & Manage**
197
- ```
198
- Use sdd-status to check workflow progress
199
- Use sdd-approve to approve workflow phases
200
- Use sdd-context-load to restore project memory
201
- ```
202
-
203
- ## Upgrading to 1.4.2
204
-
205
- - New in 1.4.2: The standalone CLI entry now writes the `tdd-guideline.md` steering document, keeping TDD enforcement consistent for all workflows.
206
- - Upgrade commands:
207
- - Prefer npx: `npx -y sdd-mcp-server@latest` (or `@1.4.2` to pin), or
208
- - Global: `npm i -g sdd-mcp-server@latest` (or `@1.4.2` to pin) and run `sdd-mcp-server`.
209
- - If you pinned a version in your MCP config, update it to `@latest` or `@1.4.2`.
210
-
211
- ## Upgrading to 1.4.0
212
-
213
- - What changed: In MCP mode, `sdd-requirements`, `sdd-design`, and `sdd-tasks` now generate analysis‑based documents on the first run (no more template‑first step). Steering remains analysis‑backed with static exceptions (`linus-review.md`, `commit.md`).
214
- - Upgrade commands:
215
- - Prefer npx: `npx -y sdd-mcp-server@latest` (no install), or
216
- - Global: `npm i -g sdd-mcp-server@1.4.0` and run `sdd-mcp-server`.
217
- - If you pinned a version in your MCP config, update it to `@latest` or `@1.4.0`.
218
- - If you previously scripted a second “update documents based on codebase” step, you can remove it — documents are analyzed on first generation now.
219
- - Fallbacks: If dynamic analysis fails, tools still write a minimal template with a clear warning header and error message; rerun after fixing the issue.
220
- - Requirements: Node.js >= 18.
207
+ ```
208
+ Use sdd-status to check workflow progress and phase approvals
209
+ Use sdd-approve to mark phases as approved
210
+ Use sdd-context-load to restore project memory
211
+ ```
212
+
213
+ ## Upgrading to 1.4.3
214
+
215
+ **What's New in v1.4.3**:
216
+ - **Comprehensive Codebase Analysis**: Documents now generated with full multi-language detection (TypeScript, Java, Python, Go, Ruby, PHP, Rust, C#, Scala)
217
+ - **Framework Detection**: Automatic recognition of Spring Boot, Django, FastAPI, Rails, Laravel, Express, React, Vue, Angular, Next.js, and 20+ frameworks
218
+ - **Build Tool & Test Framework Detection**: Identifies Maven, Gradle, npm, pip, cargo, Jest, pytest, JUnit, Mocha, and more
219
+ - **Architecture Pattern Recognition**: Detects DDD, MVC, Microservices, and Clean Architecture patterns
220
+ - ✅ **New Steering Document**: `principles.md` added with comprehensive SOLID, DRY, KISS, YAGNI, Separation of Concerns, and Modularity guidance
221
+ - **TDD Task Generation**: All implementation tasks now follow Test-Driven Development (RED-GREEN-REFACTOR) workflow
222
+ - ✅ **Improved Error Handling**: Better logging and debug messages for analysis failures
223
+ - **User Feedback**: Clear indication whether comprehensive analysis or fallback template was used
224
+
225
+ **Upgrade Commands**:
226
+ ```bash
227
+ # Prefer npx (no installation required)
228
+ npx -y sdd-mcp-server@latest
229
+
230
+ # Or pin to specific version
231
+ npx -y sdd-mcp-server@1.4.3
232
+
233
+ # Global installation
234
+ npm install -g sdd-mcp-server@latest
235
+ # Or pin: npm install -g sdd-mcp-server@1.4.3
236
+ ```
237
+
238
+ **Migration Notes**:
239
+ - If you pinned a version in your MCP config, update it to `@latest` or `@1.4.3`
240
+ - All steering documents now include `principles.md` and `tdd-guideline.md` automatically
241
+ - TDD task generation is now default - tasks will follow RED-GREEN-REFACTOR order
242
+ - No code changes needed - all improvements are backward compatible
243
+
244
+ ## Previous Versions
245
+
246
+ ### v1.4.2
247
+ - Added `tdd-guideline.md` steering document for TDD enforcement
248
+ - Security-check.md (OWASP Top 10) included in static steering docs
249
+
250
+ ### v1.4.0
251
+ - Analysis-based document generation on first run (no more template-first step)
252
+ - Dynamic steering with static exceptions (`linus-review.md`, `commit.md`)
253
+ - Node.js >= 18 required
221
254
 
222
255
  ## ⚙️ Configuration
223
256
 
@@ -261,11 +294,16 @@ claude mcp add sdd "sdd-mcp-server"
261
294
  ## 🏗️ Key Features
262
295
 
263
296
  - **5-Phase SDD Workflow**: INIT → REQUIREMENTS → DESIGN → TASKS → IMPLEMENTATION
264
- - **Context-Aware Generation**: Analyzes package.json, dependencies, and project structure for real content
297
+ - **Comprehensive Multi-Language Analysis**: Automatic detection of TypeScript, JavaScript, Java, Python, Go, Ruby, PHP, Rust, C#, Scala projects with framework-specific insights
298
+ - **Framework Detection**: Recognizes Spring Boot, Django, FastAPI, Flask, Rails, Laravel, Express, React, Vue, Angular, Next.js, and 20+ other frameworks
299
+ - **TDD-First Task Generation**: All implementation tasks follow Test-Driven Development (RED-GREEN-REFACTOR) methodology
300
+ - **Coding Principles Enforcement**: Built-in SOLID, DRY, KISS, YAGNI, Separation of Concerns, and Modularity guidance
301
+ - **Context-Aware Generation**: Analyzes package.json, dependencies, build tools, test frameworks, and project structure for real content
265
302
  - **EARS-Formatted Requirements**: Generate acceptance criteria based on actual npm scripts and dependencies
266
- - **Architecture Analysis**: Technology stack detection and pattern recognition from real codebase
267
- - **Quality Enforcement**: Linus-style 5-layer code review system
268
- - **Multi-Language Support**: 10 languages with cultural adaptation
303
+ - **Architecture Pattern Recognition**: Detects DDD, MVC, Microservices, Clean Architecture patterns in your codebase
304
+ - **Quality Enforcement**: Linus-style 5-layer code review system with security (OWASP Top 10) checks
305
+ - **Comprehensive Steering Documents**: 8 auto-generated guidance docs (product, tech, structure, linus-review, commit, tdd-guideline, security-check, principles)
306
+ - **Multi-Language Support**: 10 languages with cultural adaptation (en, es, fr, de, it, pt, ru, ja, zh, ko)
269
307
  - **Template Engine**: Handlebars-based file generation with project-specific data
270
308
  - **Plugin System**: Extensible architecture for custom workflows
271
309
  - **MCP Protocol**: Full compatibility with AI-agent CLIs and IDEs
@@ -276,22 +314,40 @@ Here's how to use the MCP SDD Server in your AI client:
276
314
 
277
315
  ```bash
278
316
  # 1. Initialize a new project
279
- "Use the sdd-init tool to create a project called 'my-web-app'"
317
+ "Use the sdd-init tool to create a project called 'my-web-app'
318
+ for a React/TypeScript application with user authentication"
319
+
320
+ # 2. Generate steering documents
321
+ "Use sdd-steering to analyze my codebase and generate all steering documents"
322
+ # Result: 8 steering documents created including principles.md and tdd-guideline.md
280
323
 
281
- # 2. Generate requirements
324
+ # 3. Generate requirements with comprehensive analysis
282
325
  "Use sdd-requirements to analyze the project and create requirements.md"
326
+ # Result: Detects TypeScript, React, npm, Jest, and generates EARS-formatted requirements
327
+
328
+ # 4. Create technical design
329
+ "Use sdd-design to generate architecture based on my React/TypeScript stack"
330
+ # Result: Component structure, state management design, API integration patterns
331
+
332
+ # 5. Validate design quality
333
+ "Use sdd-validate-design to review the architecture for potential issues"
334
+ # Result: GO/NO-GO assessment with improvement recommendations
283
335
 
284
- # 3. Create technical design
285
- "Use sdd-design to generate architecture and design specifications"
336
+ # 6. Plan TDD-focused implementation tasks
337
+ "Use sdd-tasks to break down the work into TDD implementation phases"
338
+ # Result: Tasks organized as RED (tests) → GREEN (implementation) → REFACTOR (quality)
286
339
 
287
- # 4. Plan implementation tasks
288
- "Use sdd-tasks to break down the work into implementable tasks"
340
+ # 7. Implement with TDD
341
+ "Use sdd-spec-impl to execute the authentication tasks with TDD methodology"
342
+ # Result: Test-first development following principles.md and tdd-guideline.md
289
343
 
290
- # 5. Get implementation guidance
291
- "Use sdd-implement to provide implementation steering and best practices"
344
+ # 8. Review code quality
345
+ "Use sdd-quality-check to perform Linus-style code review with SOLID principles check"
346
+ # Result: 5-layer analysis + SOLID/DRY/KISS validation + security checks
292
347
 
293
- # 6. Review code quality
294
- "Use sdd-quality-check to perform Linus-style code review on my components"
348
+ # 9. Check workflow status
349
+ "Use sdd-status to see current progress and approvals"
350
+ # Result: Phase completion status and approval tracking
295
351
  ```
296
352
 
297
353
  ## 🛠️ Development & Troubleshooting
@@ -361,19 +417,24 @@ claude mcp add sdd "$(pwd)/mcp-server.js" -s local
361
417
  sudo npm install -g sdd-mcp-server
362
418
  ```
363
419
 
364
- **Issue: "Only template content generated" (Resolved in v1.4.0)**
420
+ **Issue: "Only template content generated" (Improved in v1.4.3)**
365
421
 
366
- As of 1.4.0, `sdd-requirements`, `sdd-design`, `sdd-tasks`, and `sdd-steering` generate analysis-based documents on first run. If you still see a template:
367
- - Check the top warning header in the file it includes the error that triggered fallback.
368
- - Fix the indicated issue (e.g., permission/path), then rerun the tool.
422
+ As of v1.4.3, comprehensive codebase analysis is automatic with multi-language detection. Documents include real framework, build tool, and architecture information. If you still see a basic template:
423
+ - Check the tool response message it shows "✅ Comprehensive codebase analysis" or "⚠️ Basic template (analysis failed)"
424
+ - Check the top of the generated file for warning headers with error details
425
+ - Common causes: missing package.json, permissions issues, or unsupported project structure
426
+ - Fix the issue and rerun the tool to get comprehensive analysis
369
427
 
370
428
  ## 📖 Advanced Documentation
371
429
 
372
430
  For detailed documentation on:
373
- - Plugin Development: See [DEPLOYMENT.md](DEPLOYMENT.md)
374
- - Docker Deployment: See [Dockerfile](Dockerfile) and [docker-compose.yml](docker-compose.yml)
375
- - Architecture Details: Explore the `/src` directory structure
376
- - Quality Analysis: Review `.kiro/steering/linus-review.md`
431
+ - **Plugin Development**: See [DEPLOYMENT.md](DEPLOYMENT.md)
432
+ - **Docker Deployment**: See [Dockerfile](Dockerfile) and [docker-compose.yml](docker-compose.yml)
433
+ - **Architecture Details**: Explore the `/src` directory structure
434
+ - **Code Quality Standards**: Review `.kiro/steering/linus-review.md`
435
+ - **TDD Guidelines**: See `.kiro/steering/tdd-guideline.md` for complete Test-Driven Development workflow
436
+ - **Coding Principles**: Review `.kiro/steering/principles.md` for SOLID, DRY, KISS, YAGNI, SoC, and Modularity guidance
437
+ - **Security Checklist**: Check `.kiro/steering/security-check.md` for OWASP Top 10 aligned security practices
377
438
 
378
439
  ## 🐛 Support & Issues
379
440
 
@@ -24,8 +24,7 @@ let SteeringDocumentService = class SteeringDocumentService {
24
24
  'product.md',
25
25
  'tech.md',
26
26
  'structure.md',
27
- 'linus-review.md',
28
- 'tdd-guideline.md'
27
+ 'linus-review.md'
29
28
  ];
30
29
  constructor(fileSystem, logger, validation, pluginSteeringRegistry) {
31
30
  this.fileSystem = fileSystem;
@@ -1 +1 @@
1
- {"version":3,"file":"SteeringDocumentService.js","sourceRoot":"","sources":["../../../src/application/services/SteeringDocumentService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SteeringDocumentService.js","sourceRoot":"","sources":["../../../src/application/services/SteeringDocumentService.ts"],"names":[],"mappings":"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"}