sdd-mcp-server 1.4.5 → 1.5.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 CHANGED
@@ -6,7 +6,9 @@
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.5 Update**: Internal improvements! Reorganized test structure for better maintainability, centralized static steering document creation following DRY principle, improved code organization with better separation of concerns.
9
+ > 🎯 **v1.5.0 - Interactive Requirements Clarification**: `sdd-init` now **blocks vague requirements**! The agent analyzes your project description (quality score 0-100) and interactively asks targeted clarification questions if score < 70%. Focuses on **WHY** (business justification), WHO (target users), WHAT (core features), and success criteria. Context-aware using existing steering docs. Prevents "garbage in, garbage out" with enriched 5W1H structured descriptions. **New service**: `RequirementsClarificationService` with 13 passing unit tests ✅
10
+
11
+ > ✅ **v1.4.5**: Internal improvements! Reorganized test structure for better maintainability, centralized static steering document creation following DRY principle, improved code organization with better separation of concerns.
10
12
 
11
13
  > ✅ **v1.4.4**: Comprehensive codebase analysis + TDD workflow! 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. Task generation now follows Test-Driven Development (RED-GREEN-REFACTOR) workflow.
12
14
 
@@ -148,7 +150,7 @@ Once connected to your AI client, you can use these MCP tools:
148
150
 
149
151
  | Tool | Description | Usage |
150
152
  |------|-------------|--------|
151
- | `sdd-init` | Initialize new SDD project | Creates .kiro directory structure + AGENTS.md for cross-platform AI support |
153
+ | `sdd-init` | Initialize new SDD project with interactive clarification | **🎯 NEW v1.5.0**: Analyzes description quality (0-100 score), blocks if < 70%, asks targeted WHY/WHO/WHAT questions, synthesizes enriched 5W1H descriptions |
152
154
  | `sdd-requirements` | Generate context-aware requirements | Analyzes package.json and structure to create EARS-formatted requirements with comprehensive multi-language analysis |
153
155
  | `sdd-design` | Create project-specific design | Generates architecture docs based on actual tech stack, dependencies, and framework detection |
154
156
  | `sdd-tasks` | Generate TDD-focused task breakdown | Creates test-first implementation tasks following RED-GREEN-REFACTOR workflow |
@@ -1,11 +1,12 @@
1
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
2
- import { ProjectService } from '../../application/services/ProjectService.js';
3
- import { WorkflowService } from '../../application/services/WorkflowService.js';
4
- import { TemplateService } from '../../application/services/TemplateService.js';
5
- import { QualityService } from '../../application/services/QualityService.js';
6
- import { SteeringDocumentService } from '../../application/services/SteeringDocumentService.js';
7
- import { CodebaseAnalysisService } from '../../application/services/CodebaseAnalysisService.js';
8
- import { LoggerPort } from '../../domain/ports.js';
1
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ import { ProjectService } from "../../application/services/ProjectService.js";
3
+ import { WorkflowService } from "../../application/services/WorkflowService.js";
4
+ import { TemplateService } from "../../application/services/TemplateService.js";
5
+ import { QualityService } from "../../application/services/QualityService.js";
6
+ import { SteeringDocumentService } from "../../application/services/SteeringDocumentService.js";
7
+ import { CodebaseAnalysisService } from "../../application/services/CodebaseAnalysisService.js";
8
+ import { RequirementsClarificationService } from "../../application/services/RequirementsClarificationService.js";
9
+ import { LoggerPort } from "../../domain/ports.js";
9
10
  export interface SDDToolHandler {
10
11
  name: string;
11
12
  tool: Tool;
@@ -18,10 +19,12 @@ export declare class SDDToolAdapter {
18
19
  private readonly qualityService;
19
20
  private readonly steeringService;
20
21
  private readonly codebaseAnalysisService;
22
+ private readonly clarificationService;
21
23
  private readonly logger;
22
- constructor(projectService: ProjectService, workflowService: WorkflowService, templateService: TemplateService, qualityService: QualityService, steeringService: SteeringDocumentService, codebaseAnalysisService: CodebaseAnalysisService, logger: LoggerPort);
24
+ constructor(projectService: ProjectService, workflowService: WorkflowService, templateService: TemplateService, qualityService: QualityService, steeringService: SteeringDocumentService, codebaseAnalysisService: CodebaseAnalysisService, clarificationService: RequirementsClarificationService, logger: LoggerPort);
23
25
  getSDDTools(): SDDToolHandler[];
24
26
  private handleProjectInit;
27
+ private formatClarificationQuestions;
25
28
  private handleProjectStatus;
26
29
  private handleRequirements;
27
30
  private handleDesign;