sdd-mcp-server 4.0.0 → 5.0.1
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/CHANGELOG.md +884 -0
- package/README.md +18 -35
- package/dist/adapters/cli/SDDToolAdapter.d.ts +2 -5
- package/dist/adapters/cli/SDDToolAdapter.js +48 -92
- package/dist/adapters/cli/SDDToolAdapter.js.map +1 -1
- package/dist/application/services/ContextCompactionService.d.ts +10 -3
- package/dist/application/services/ContextCompactionService.js +139 -35
- package/dist/application/services/ContextCompactionService.js.map +1 -1
- package/dist/application/services/ProjectService.js +3 -3
- package/dist/application/services/ProjectService.js.map +1 -1
- package/dist/application/services/SpecPathResolver.js +1 -1
- package/dist/application/services/SpecPathResolver.js.map +1 -1
- package/dist/application/services/WorkflowEngineService.d.ts +160 -50
- package/dist/application/services/WorkflowEngineService.js +1404 -429
- package/dist/application/services/WorkflowEngineService.js.map +1 -1
- package/dist/application/services/WorkflowErrors.d.ts +16 -0
- package/dist/application/services/WorkflowErrors.js +53 -0
- package/dist/application/services/WorkflowErrors.js.map +1 -0
- package/dist/application/services/WorkflowValidationService.d.ts +25 -46
- package/dist/application/services/WorkflowValidationService.js +308 -627
- package/dist/application/services/WorkflowValidationService.js.map +1 -1
- package/dist/cli/install-skills.js +0 -0
- package/dist/cli/install-skills.js.map +1 -1
- package/dist/cli/install-target.d.ts +4 -1
- package/dist/cli/install-target.js +4 -0
- package/dist/cli/install-target.js.map +1 -1
- package/dist/cli/sdd-mcp-cli.js +0 -0
- package/dist/cli/tool-support/claude-code.js +7 -3
- package/dist/cli/tool-support/claude-code.js.map +1 -1
- package/dist/cli/tool-support/codex.js +6 -2
- package/dist/cli/tool-support/codex.js.map +1 -1
- package/dist/cli/tool-support/mcp-registration.d.ts +22 -0
- package/dist/cli/tool-support/mcp-registration.js +275 -0
- package/dist/cli/tool-support/mcp-registration.js.map +1 -0
- package/dist/cli/tool-support/omp.js +6 -2
- package/dist/cli/tool-support/omp.js.map +1 -1
- package/dist/cli/tool-support/root-guidance.js +2 -2
- package/dist/cli/tool-support/root-guidance.js.map +1 -1
- package/dist/cli/tool-support/target-installer.d.ts +2 -2
- package/dist/cli/tool-support/target-installer.js +9 -3
- package/dist/cli/tool-support/target-installer.js.map +1 -1
- package/dist/cli/utils/preserving-writer.d.ts +35 -1
- package/dist/cli/utils/preserving-writer.js +479 -108
- package/dist/cli/utils/preserving-writer.js.map +1 -1
- package/dist/domain/types.d.ts +52 -7
- package/dist/domain/types.js +5 -4
- package/dist/domain/types.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/infrastructure/mcp/MCPServer.js +13 -13
- package/dist/infrastructure/mcp/MCPServer.js.map +1 -1
- package/dist/infrastructure/mcp/ToolRegistry.d.ts +5 -1
- package/dist/infrastructure/mcp/ToolRegistry.js +11 -4
- package/dist/infrastructure/mcp/ToolRegistry.js.map +1 -1
- package/dist/infrastructure/mcp/sddToolDefinitions.js +76 -90
- package/dist/infrastructure/mcp/sddToolDefinitions.js.map +1 -1
- package/dist/infrastructure/schemas/project.schema.d.ts +2 -2
- package/dist/infrastructure/schemas/project.schema.js +2 -2
- package/dist/infrastructure/schemas/project.schema.js.map +1 -1
- package/dist/shared/version.d.ts +3 -0
- package/dist/shared/version.js +4 -0
- package/dist/shared/version.js.map +1 -0
- package/dist/utils/atomicWrite.js +20 -5
- package/dist/utils/atomicWrite.js.map +1 -1
- package/dist/utils/withFilesystemLock.d.ts +22 -0
- package/dist/utils/withFilesystemLock.js +219 -0
- package/dist/utils/withFilesystemLock.js.map +1 -0
- package/package.json +5 -2
- package/skills/sdd-design/REFERENCE.md +16 -0
- package/skills/sdd-design/SKILL.md +22 -13
- package/skills/sdd-implement/REFERENCE.md +4 -0
- package/skills/sdd-implement/SKILL.md +20 -16
- package/skills/sdd-requirements/REFERENCE.md +17 -7
- package/skills/sdd-requirements/SKILL.md +30 -22
- package/skills/sdd-tasks/REFERENCE.md +9 -9
- package/skills/sdd-tasks/SKILL.md +27 -15
- package/templates/CLAUDE.md +6 -12
- package/templates/codex-AGENTS.md +7 -9
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,884 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [5.0.1] - 2026-09-18
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- Accept requirement metadata values on lines following their labels, including the documented numbered list beneath `**Acceptance Criteria:**`. Valid multiline requirements no longer fail with `MissingMetadata` or `AcceptanceCriteriaMissing` ([#50](https://github.com/yi-john-huang/sdd-mcp/pull/50), thanks to @jakehsiaos).
|
|
14
|
+
|
|
15
|
+
### Documentation
|
|
16
|
+
- Clarified inline and multiline requirement metadata formatting and updated installation examples to 5.0.1.
|
|
17
|
+
|
|
18
|
+
## [5.0.0] - 2026-07-25
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
- Schema-v5 disk-authoritative workflow state with revision/hash-bound submissions, approvals, test-case checkpoints, deterministic phase validation, crash journals, and durable TDD task progress.
|
|
22
|
+
- Mandatory project-scoped MCP runtime registration for Claude Code, Codex, and OMP installs, committed with manifest-v2 ownership and preserve-first recovery.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
- Made the four phase Skills the public Formal SDD workflow: Skills own method and human gates while MCP owns canonical writes, validation, governance, context, and continuation.
|
|
26
|
+
- Updated compact context handoffs, native target renderers, onboarding, and runtime references for the Skill-governed 16-tool contract.
|
|
27
|
+
|
|
28
|
+
### Security
|
|
29
|
+
- Added owner-fenced cross-process locks, CAS mutation and recovery checks, approved-artifact drift blocking, symlink containment, bounded machine fields, and strict runtime-config ownership validation.
|
|
30
|
+
|
|
31
|
+
## [4.0.0] - 2026-07-19
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
- First-class Oh My Pi target with native `.omp/AGENTS.md`, `.omp/skills`, `.omp/agents`, `.omp/rules`, and `.omp/contexts` output; interactive installation now selects Claude Code, Codex, or OMP.
|
|
35
|
+
- Managed generated-file ownership in `.sdd-mcp/install-manifest.json`, automatic upgrades for unchanged assets, conflict preservation for modified assets, and reversible `--refresh-generated` backups under `.sdd-mcp/backups/`.
|
|
36
|
+
- Packaged offline `npx sdd-mcp-server context-report` command for static target-tree measurements and privacy-preserving OMP session usage aggregation.
|
|
37
|
+
|
|
38
|
+
### Changed
|
|
39
|
+
- Unified all packaged MCP entrypoints on the exact 16-tool TypeScript runtime. Feature-scoped tools now use `featureName`; exact-response `ifNoneMatch` fingerprints avoid returning unchanged context.
|
|
40
|
+
- Made all SDD skills manual-only with Claude `/<name>`, Codex `$<name>`, and OMP `/skill:<name>` invocation, compact entrypoints, on-demand references, and target-native rule scoping.
|
|
41
|
+
- Changed OMP high-level work to run inline on Sol/medium by default. Native `.omp/agents` Sol/xhigh advisors are explicit opt-in, limited to one child, and cannot nest or retry; Claude uses current-turn Opus/Sonnet overrides and Codex may request one Sol/xhigh custom advisor.
|
|
42
|
+
- Clarified that OMP Markdown hook assets are not executable native hooks; explicit OMP hook installation is rejected.
|
|
43
|
+
|
|
44
|
+
### Performance
|
|
45
|
+
- Fresh full-install repository static payload fell **74.37% for Codex**, **83.21% for OMP**, and **95.64% for Claude Code** relative to the v3.5.1 baseline.
|
|
46
|
+
- Comparable provider-reported three-run median cost improved **6.83%** for simple tasks, **11.79%** for medium implementation, **14.09%** for requirements, **9.12%** for design, **1.74%** for security, and **1.87%** for repeated context; all task-quality checks passed.
|
|
47
|
+
- Static byte-derived `estimatedTokens` and provider-reported usage/cost are reported as separate metrics; installed bytes are not presented as actual tokenizer counts.
|
|
48
|
+
|
|
49
|
+
## [3.5.1] - 2026-07-19
|
|
50
|
+
|
|
51
|
+
### Changed
|
|
52
|
+
- Codex implementation and TDD routing now uses `gpt-5.6-sol` with `medium` reasoning instead of the previous Luna/max route.
|
|
53
|
+
|
|
54
|
+
## [3.5.0] - 2026-07-13
|
|
55
|
+
|
|
56
|
+
### Added
|
|
57
|
+
- Interactive `codex` or `claude-code` target selection for full-profile installs, plus explicit `--target` support for automation.
|
|
58
|
+
- Native Codex skills, guidance, TOML agents, root instructions, and safe lifecycle hooks.
|
|
59
|
+
- Central role routing: Sol/xhigh for high-level Codex work and Luna/max for implementation and TDD; Terra remains supported without a default role.
|
|
60
|
+
- Specialist delegation guidance in phase skills with compact handoffs and explicit fallback behavior.
|
|
61
|
+
|
|
62
|
+
### Changed
|
|
63
|
+
- Installer writes are preserve-first and `.gitignore` receives an idempotent target-specific managed block.
|
|
64
|
+
- `--codex` is now a deprecated alias for `--target codex`.
|
|
65
|
+
- Architecture, workflow, migration, and agent guidance now describe both native target layouts.
|
|
66
|
+
|
|
67
|
+
### Fixed
|
|
68
|
+
- Track `sdd-entry.js` as executable so local `npx` binary preparation does not dirty the worktree.
|
|
69
|
+
- Codex hook installs now emit a CommonJS-safe `.mjs` runner and resolve commands from the repository root when invoked in a subdirectory.
|
|
70
|
+
- Target installers reject symlinked or out-of-root destinations and report optional integration, template, and invalid guidance-path failures structurally.
|
|
71
|
+
|
|
72
|
+
## [3.4.0] - 2026-06-22
|
|
73
|
+
|
|
74
|
+
### Added
|
|
75
|
+
- **Automatic context handoffs**: Phase approvals now generate compact handoff files under `.spec/specs/{feature}/context/`
|
|
76
|
+
- `sdd-context-load` defaults to compact context for routine workflow continuation
|
|
77
|
+
- Supports `compact`, `standard`, and `full` context loading modes
|
|
78
|
+
- Reports estimated token reduction using deterministic source-vs-handoff estimates
|
|
79
|
+
- **Optional TDD test-case review checkpoint**:
|
|
80
|
+
- `sdd-init` and `sdd-tasks` can enable `reviewTestCases`
|
|
81
|
+
- New `sdd-review-test-cases` tool marks the checkpoint reviewed
|
|
82
|
+
- Task approval and implementation readiness are blocked until review when the checkpoint is required
|
|
83
|
+
|
|
84
|
+
### Changed
|
|
85
|
+
- **Default install profile is lean**: `npx sdd-mcp-server install` now installs skills, steering, and hooks by default
|
|
86
|
+
- Use `--profile full` or `--all` to install rules, contexts, and agents too
|
|
87
|
+
- **Context management guidance**: README, architecture docs, and project steering now document compact handoffs and generated install outputs
|
|
88
|
+
- **Generated install artifacts ignored**: `.claude/`, `.agents/`, and `.codex/` generated component outputs are excluded from new tracking
|
|
89
|
+
|
|
90
|
+
### Fixed
|
|
91
|
+
- **Context-load validation**: `sdd-context-load` now errors for missing features instead of creating synthetic handoff files for mistyped feature names
|
|
92
|
+
- **Version metadata**: package lock metadata is synchronized with the published package version and current bin layout
|
|
93
|
+
|
|
94
|
+
## [3.3.0] - 2026-02-07
|
|
95
|
+
|
|
96
|
+
### Added
|
|
97
|
+
- **Multi-Tool Install Support**: New CLI flags to generate support for additional AI tools alongside Claude Code
|
|
98
|
+
- `--codex` — Generates `AGENTS.md` in project root for OpenAI Codex CLI with component summary tables and file path references
|
|
99
|
+
- `--antigravity` — Creates `.agent/` directory with relative symlinks (`workflows/` → skills, `rules/` → rules) for Google Antigravity
|
|
100
|
+
- `--all-tools` — Enables both Codex and Antigravity integrations
|
|
101
|
+
- Flags are additive: Claude `.claude/` install always runs as the canonical source of truth
|
|
102
|
+
- **Shared `find-package-root` utility**: Extracted duplicated package root discovery logic into `src/cli/utils/find-package-root.ts`
|
|
103
|
+
- `findPackageRoot()` — Walk up directory tree to find sdd-mcp-server package
|
|
104
|
+
- `getDistCliDir()` — Resolve `dist/cli` with npx symlink support
|
|
105
|
+
- `findTemplate()` — Locate template files within the package
|
|
106
|
+
- **New files**: `src/cli/tool-support/codex.ts`, `src/cli/tool-support/antigravity.ts`, `templates/codex-AGENTS.md`
|
|
107
|
+
- **26 new tests**: Full coverage for AGENTS.md generation, symlink creation, CLI flag parsing, custom paths, error handling
|
|
108
|
+
|
|
109
|
+
### Changed
|
|
110
|
+
- **Custom path support**: Both `--codex` and `--antigravity` respect `--path`, `--rules-path`, `--agents-path`, and `--steering-path` flags
|
|
111
|
+
- AGENTS.md references effective install paths, not hardcoded defaults
|
|
112
|
+
- Symlinks point to actual install targets, not assumed `.claude/` layout
|
|
113
|
+
|
|
114
|
+
### Usage
|
|
115
|
+
```bash
|
|
116
|
+
npx sdd-mcp-server install # Claude only (default)
|
|
117
|
+
npx sdd-mcp-server install --codex # Claude + Codex CLI
|
|
118
|
+
npx sdd-mcp-server install --antigravity # Claude + Antigravity
|
|
119
|
+
npx sdd-mcp-server install --all-tools # Claude + all integrations
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## [3.2.0] - 2026-02-01
|
|
123
|
+
|
|
124
|
+
### Added
|
|
125
|
+
- **CLAUDE.md generation**: `install` command now generates `CLAUDE.md` in project root with component overview
|
|
126
|
+
|
|
127
|
+
### Changed
|
|
128
|
+
- **Steering docs migrated**: Static steering documents moved to `.claude/` component structure
|
|
129
|
+
|
|
130
|
+
## [3.1.1] - 2026-01-28
|
|
131
|
+
|
|
132
|
+
### Fixed
|
|
133
|
+
- **npx symlink resolution**: Fixed path resolution when running via `npx`
|
|
134
|
+
- `npx sdd-mcp-server install --all` now works correctly
|
|
135
|
+
- Issue was `path.resolve` not following `.bin/` symlinks
|
|
136
|
+
- Fix: Use `fs.realpathSync` to resolve symlinks before walking up directory tree
|
|
137
|
+
|
|
138
|
+
## [3.1.0] - 2026-01-25
|
|
139
|
+
|
|
140
|
+
### BREAKING CHANGES
|
|
141
|
+
- **Steering Consolidation**: Static steering documents merged into agents/rules/skills
|
|
142
|
+
- `principles.md` → merged into `rules/coding-style.md`
|
|
143
|
+
- `tdd-guideline.md` → merged into `agents/tdd-guide.md`
|
|
144
|
+
- `linus-review.md` → merged into `agents/reviewer.md`
|
|
145
|
+
- `owasp-top10-check.md` → merged into `agents/security-auditor.md`
|
|
146
|
+
- `commit.md` → merged into `skills/sdd-commit/SKILL.md`
|
|
147
|
+
- `AGENTS.md` → removed (meta-documentation)
|
|
148
|
+
- **Steering directory now only contains project-specific templates**:
|
|
149
|
+
- `product.md` - Product description template
|
|
150
|
+
- `tech.md` - Technology stack template
|
|
151
|
+
- `structure.md` - Project structure template
|
|
152
|
+
|
|
153
|
+
### Added
|
|
154
|
+
- **`migrate-steering` CLI command**: Migrate existing projects to new consolidated structure
|
|
155
|
+
- `npx sdd-mcp-server migrate-steering` - Migrate current directory
|
|
156
|
+
- `npx sdd-mcp-server migrate-steering --dry-run` - Preview changes
|
|
157
|
+
- `npx sdd-mcp-server migrate-steering --path ./my-project` - Migrate specific project
|
|
158
|
+
- Automatically backs up existing steering to `.spec/steering.backup/`
|
|
159
|
+
- Preserves project-specific templates (product.md, tech.md, structure.md)
|
|
160
|
+
|
|
161
|
+
### Changed
|
|
162
|
+
- **Enhanced `rules/coding-style.md`**: Now includes complete SOLID, DRY, KISS, YAGNI, SoC principles with code examples and anti-patterns
|
|
163
|
+
- **Enhanced `agents/reviewer.md`**: Now includes Linus-style 5-layer thinking framework, "Good Taste" philosophy, and backward compatibility rules
|
|
164
|
+
- **Enhanced `agents/tdd-guide.md`**: Now includes comprehensive TDD methodology, test pyramid guidance, coverage targets, and language-specific tooling
|
|
165
|
+
- **Enhanced `agents/security-auditor.md`**: Now includes detailed OWASP Top 10 checklist with code examples and remediation guidance
|
|
166
|
+
- **Enhanced `skills/sdd-commit/SKILL.md`**: Now self-contained with complete conventional commits format
|
|
167
|
+
|
|
168
|
+
### Removed
|
|
169
|
+
- **Static steering documents** (merged into components):
|
|
170
|
+
- `steering/AGENTS.md`
|
|
171
|
+
- `steering/commit.md`
|
|
172
|
+
- `steering/linus-review.md`
|
|
173
|
+
- `steering/owasp-top10-check.md`
|
|
174
|
+
- `steering/principles.md`
|
|
175
|
+
- `steering/tdd-guideline.md`
|
|
176
|
+
|
|
177
|
+
### Migration Guide
|
|
178
|
+
```bash
|
|
179
|
+
# 1. Update to v3.1
|
|
180
|
+
npm update sdd-mcp-server
|
|
181
|
+
|
|
182
|
+
# 2. Preview migration (recommended)
|
|
183
|
+
npx sdd-mcp-server migrate-steering --dry-run
|
|
184
|
+
|
|
185
|
+
# 3. Run migration
|
|
186
|
+
npx sdd-mcp-server migrate-steering
|
|
187
|
+
|
|
188
|
+
# 4. Update .claude/ components with latest versions
|
|
189
|
+
npx sdd-mcp-server install --all
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
The static steering content now lives in enhanced components:
|
|
193
|
+
- Design principles: `.claude/rules/coding-style.md`
|
|
194
|
+
- TDD methodology: `.claude/agents/tdd-guide.md`
|
|
195
|
+
- Review criteria: `.claude/agents/reviewer.md`
|
|
196
|
+
- Security checklist: `.claude/agents/security-auditor.md`
|
|
197
|
+
- Commit format: `.claude/skills/sdd-commit/SKILL.md`
|
|
198
|
+
|
|
199
|
+
## [3.0.3] - 2026-01-24
|
|
200
|
+
|
|
201
|
+
### Fixed
|
|
202
|
+
- **npm Package Missing Directories**: Added `rules/`, `contexts/`, `agents/`, `hooks/` to package.json `files` array
|
|
203
|
+
- v3.0 component directories were not being published to npm
|
|
204
|
+
- Caused `ENOENT: no such file or directory` errors when using `npx sdd-mcp-server install --all`
|
|
205
|
+
- All 6 component types now correctly included in npm package
|
|
206
|
+
|
|
207
|
+
## [3.0.2] - 2026-01-24
|
|
208
|
+
|
|
209
|
+
### Fixed
|
|
210
|
+
- **npx Path Resolution**: Fixed `getDirname()` to resolve paths correctly when running via npx
|
|
211
|
+
- Script location now found via `process.argv[1]` first (works with npx)
|
|
212
|
+
- Falls back to `process.cwd()` for local development
|
|
213
|
+
- Package root detection via `package.json` with `name: 'sdd-mcp-server'` check
|
|
214
|
+
- Resolves steering directory not found errors in npx execution
|
|
215
|
+
|
|
216
|
+
## [3.0.1] - 2026-01-24
|
|
217
|
+
|
|
218
|
+
### Added
|
|
219
|
+
- **Workflow Documentation**: Created `docs/WORKFLOW.md` with 5 Mermaid sequence diagrams
|
|
220
|
+
- Session start flow with hooks and steering
|
|
221
|
+
- SDD workflow (feature development)
|
|
222
|
+
- Code review flow
|
|
223
|
+
- Pre-tool hook flow
|
|
224
|
+
- Component installation sequence
|
|
225
|
+
|
|
226
|
+
### Fixed
|
|
227
|
+
- **HookLoader ESM Import**: Added missing `.js` extension to BaseManager import
|
|
228
|
+
|
|
229
|
+
### Changed
|
|
230
|
+
- **Code Simplification**: Ran code-simplifier agent on install-skills.ts (~50 lines reduced)
|
|
231
|
+
- **gitignore**: Added `.serena/` to AI tool configs section
|
|
232
|
+
|
|
233
|
+
## [3.0.0] - 2026-01-23
|
|
234
|
+
|
|
235
|
+
### BREAKING CHANGES
|
|
236
|
+
- **Plugin Architecture**: Transformed from basic MCP server to comprehensive Claude Code plugin system
|
|
237
|
+
- **6 Component Types**: Skills, Steering, Rules, Contexts, Agents, Hooks
|
|
238
|
+
- **Unified CLI**: `npx sdd-mcp-server install` with `--rules`, `--contexts`, `--agents`, `--hooks`, `--all` flags
|
|
239
|
+
|
|
240
|
+
### Added
|
|
241
|
+
- **4 New Managers**: RulesManager, ContextManager, AgentManager, HookLoader
|
|
242
|
+
- All extend BaseManager for consistent discovery/install patterns
|
|
243
|
+
- Full DI container integration
|
|
244
|
+
- **6 Rule Files**: coding-style, testing, security, git-workflow, error-handling, sdd-workflow
|
|
245
|
+
- **5 Context Files**: dev, review, planning, security-audit, research
|
|
246
|
+
- **6 Agent Files**: planner, architect, reviewer, implementer, security-auditor, tdd-guide
|
|
247
|
+
- **7 Hook Files**: validate-sdd-workflow, check-test-coverage, update-spec-status, log-tool-execution, load-project-context, save-session-summary, remind-uncommitted-changes
|
|
248
|
+
- **3 New Skills**: sdd-review (Linus-style code review), sdd-security-check (OWASP audit), sdd-test-gen (TDD)
|
|
249
|
+
- **Plugin Manifest**: `.claude-plugin/plugin.json` for Claude Code integration
|
|
250
|
+
- **58 New Tests**: Full TDD coverage for component managers
|
|
251
|
+
|
|
252
|
+
### Changed
|
|
253
|
+
- **Install CLI**: Unified command supports all component types
|
|
254
|
+
- `--all` installs everything (skills, steering, rules, contexts, agents, hooks)
|
|
255
|
+
- `--skills`, `--steering`, `--rules`, `--contexts`, `--agents`, `--hooks` for selective install
|
|
256
|
+
- Default behavior unchanged (skills + steering)
|
|
257
|
+
- **Directory Structure**: New component directories at package root
|
|
258
|
+
- `agents/*.md` - AI personas
|
|
259
|
+
- `rules/*.md` - Always-active guidelines
|
|
260
|
+
- `contexts/*.md` - Mode-specific prompts
|
|
261
|
+
- `hooks/**/*.md` - Event-driven automation
|
|
262
|
+
|
|
263
|
+
### Technical
|
|
264
|
+
- **BaseManager Pattern**: Extracted common functionality from SkillManager
|
|
265
|
+
- **DI Container**: New TYPES symbols for each manager
|
|
266
|
+
- **199 Total Tests**: All passing with full coverage
|
|
267
|
+
|
|
268
|
+
### Inspired By
|
|
269
|
+
- everything-claude-code architecture patterns for comprehensive AI guidance
|
|
270
|
+
|
|
271
|
+
## [2.2.1] - 2026-01-15
|
|
272
|
+
|
|
273
|
+
### Fixed
|
|
274
|
+
- **CLI Command Fix**: Fixed `npx sdd-mcp` not working due to npm package name collision
|
|
275
|
+
- Another npm package named `sdd-mcp` exists, causing `npx sdd-mcp` to run the wrong package
|
|
276
|
+
- Now use `npx sdd-mcp-server` for all CLI commands
|
|
277
|
+
- Created unified entry point (`sdd-entry.js`) that handles both CLI and MCP server mode
|
|
278
|
+
|
|
279
|
+
### Changed
|
|
280
|
+
- **Unified Entry Point**: `sdd-mcp-server` bin now handles CLI commands AND MCP server
|
|
281
|
+
- `npx sdd-mcp-server install` - Install skills and steering
|
|
282
|
+
- `npx sdd-mcp-server install --list` - List available content
|
|
283
|
+
- `npx sdd-mcp-server migrate-kiro` - Migrate .kiro to .spec
|
|
284
|
+
- `npx sdd-mcp-server --help` - Show help
|
|
285
|
+
- `npx sdd-mcp-server` (no args) - Start MCP server
|
|
286
|
+
- **Removed bin entry**: Removed `sdd-mcp` bin entry to avoid confusion
|
|
287
|
+
- Updated all documentation to use `npx sdd-mcp-server` instead of `npx sdd-mcp`
|
|
288
|
+
|
|
289
|
+
## [2.1.0] - 2026-01-12
|
|
290
|
+
|
|
291
|
+
### BREAKING CHANGES
|
|
292
|
+
- **Directory Rename**: SDD specification directory renamed from `.kiro/` to `.spec/`
|
|
293
|
+
- New projects will use `.spec/` automatically
|
|
294
|
+
- Legacy `.kiro/` directories still supported for backwards compatibility
|
|
295
|
+
|
|
296
|
+
### Added
|
|
297
|
+
- **Migration CLI Tool**: `npx sdd-mcp-server migrate-kiro` to migrate existing projects
|
|
298
|
+
- `--dry-run` flag to preview changes
|
|
299
|
+
- `--force` flag to overwrite existing `.spec/` directory
|
|
300
|
+
- `--path` flag to specify project directory
|
|
301
|
+
- **Unit Tests**: 6 new tests for migration tool
|
|
302
|
+
|
|
303
|
+
### Changed
|
|
304
|
+
- All source code updated to use `.spec/` with `.kiro/` fallback
|
|
305
|
+
- Documentation updated (README, ARCHITECTURE, AGENTS.md)
|
|
306
|
+
- Steering documents updated to reference `.spec/steering/`
|
|
307
|
+
|
|
308
|
+
### Migration Guide
|
|
309
|
+
```bash
|
|
310
|
+
# Preview what will be migrated
|
|
311
|
+
npx sdd-mcp-server migrate-kiro --dry-run
|
|
312
|
+
|
|
313
|
+
# Perform migration
|
|
314
|
+
npx sdd-mcp-server migrate-kiro
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
## [2.0.3] - 2026-01-12
|
|
318
|
+
|
|
319
|
+
### Added
|
|
320
|
+
- **CLI Subcommand Support**: `npx sdd-mcp-server install-skills` now works correctly
|
|
321
|
+
- Created new `sdd-mcp-cli.ts` as the main CLI entry point
|
|
322
|
+
- Supports `install-skills` subcommand with all existing options
|
|
323
|
+
- Shows help with `npx sdd-mcp-server --help`
|
|
324
|
+
|
|
325
|
+
### Technical
|
|
326
|
+
- `sdd-mcp` binary now points to `dist/cli/sdd-mcp-cli.js` instead of `dist/index.js`
|
|
327
|
+
- MCP server is still accessible via `npx sdd-mcp-server`
|
|
328
|
+
|
|
329
|
+
## [2.0.2] - 2026-01-12
|
|
330
|
+
|
|
331
|
+
### Fixed
|
|
332
|
+
- **Skill Installation CLI**: Fixed `npx sdd-mcp-server install-skills --list` returning empty results
|
|
333
|
+
- Added proper ESM support using `import.meta.url` for `__dirname` resolution
|
|
334
|
+
- Fixed path resolution to check multiple paths and return the first existing one
|
|
335
|
+
- Fixed ESM main module detection (was incorrectly checking for `require` which doesn't exist in ESM)
|
|
336
|
+
|
|
337
|
+
### Technical
|
|
338
|
+
- Updated `src/cli/install-skills.ts` with ESM-compatible path resolution
|
|
339
|
+
- Skills directory is now correctly found in all execution contexts (npx, global install, local)
|
|
340
|
+
|
|
341
|
+
## [2.0.1] - 2026-01-12
|
|
342
|
+
|
|
343
|
+
### Changed
|
|
344
|
+
- **Codebase Simplification**: Removed 7,131 lines of dead code and legacy tests
|
|
345
|
+
- Cleaned up unused utility functions and helper methods
|
|
346
|
+
- Removed legacy test files that were no longer relevant to current architecture
|
|
347
|
+
- Streamlined codebase for better maintainability
|
|
348
|
+
|
|
349
|
+
### Technical
|
|
350
|
+
- **Code Reduction**: -7,131 lines removed
|
|
351
|
+
- **Improved Maintainability**: Cleaner codebase with only active, relevant code
|
|
352
|
+
- **No Breaking Changes**: All existing functionality preserved
|
|
353
|
+
|
|
354
|
+
## [2.0.0] - 2026-01-12
|
|
355
|
+
|
|
356
|
+
### BREAKING CHANGES
|
|
357
|
+
- **Hybrid Architecture**: Restructured as MCP Tools + Claude Code Agent Skills
|
|
358
|
+
- MCP Tools: Action-oriented operations (init, status, approve, quality-check, validate, spec-impl)
|
|
359
|
+
- Agent Skills: Template/guidance-heavy operations (requirements, design, tasks, steering, implement, commit)
|
|
360
|
+
- **Directory Rename**: `.kiro/` → `.spec/` for new projects (legacy `.kiro/` still supported)
|
|
361
|
+
- **Removed MCP Tools**: `sdd-requirements`, `sdd-design`, `sdd-tasks`, `sdd-steering`, `sdd-steering-custom`, `sdd-implement` → Now Agent Skills
|
|
362
|
+
- **Renamed Steering Document**: `security-check.md` → `owasp-top10-check.md`
|
|
363
|
+
|
|
364
|
+
### Added
|
|
365
|
+
- **New `/simple-task` Skill**: Quick implementation path for small features, bug fixes, and enhancements
|
|
366
|
+
- References steering documents (TDD, principles, linus-review, OWASP) as needed
|
|
367
|
+
- User-driven choice between simple task vs full SDD workflow
|
|
368
|
+
- **Agent Skills System**: 9 Claude Code skills with on-demand loading
|
|
369
|
+
- `/simple-task`: Quick implementation with best practices
|
|
370
|
+
- `/sdd-requirements`: EARS-formatted requirements generation
|
|
371
|
+
- `/sdd-design`: Architecture design with Linus principles
|
|
372
|
+
- `/sdd-tasks`: TDD task breakdown with test pyramid
|
|
373
|
+
- `/sdd-implement`: Implementation guidelines (SOLID, security, TDD)
|
|
374
|
+
- `/sdd-steering`: Project-specific steering documents
|
|
375
|
+
- `/sdd-steering-custom`: Custom steering with inclusion modes
|
|
376
|
+
- `/sdd-commit`: Commit/PR guidelines with conventional commits
|
|
377
|
+
- **Skill Installation CLI**: `npx sdd-mcp-server install-skills` to install skills to project
|
|
378
|
+
- **SkillManager**: New `src/skills/SkillManager.ts` for skill discovery and installation
|
|
379
|
+
- **New MCP Tool**: `sdd-list-skills` to list available Agent Skills
|
|
380
|
+
- **Two Development Paths**: Users choose between `/simple-task` (quick) or full SDD workflow (formal)
|
|
381
|
+
|
|
382
|
+
### Changed
|
|
383
|
+
- **Token Efficiency**: ~55% fewer tokens by loading skills on-demand instead of always-on steering
|
|
384
|
+
- Old: ~3,800 tokens loaded for every operation
|
|
385
|
+
- New: ~1,700 tokens loaded only when skill invoked
|
|
386
|
+
- **Language-Agnostic Skills**: All skills updated to be programming language agnostic
|
|
387
|
+
- Removed hardcoded `package.json` references
|
|
388
|
+
- Generic "project manifest" terminology with multi-language examples
|
|
389
|
+
- Support for npm, pip, cargo, go mod, maven, etc.
|
|
390
|
+
- **Reference Documents Architecture**: Steering documents (TDD, principles, linus-review, OWASP) are now reference documents that skills can invoke, not always-loaded
|
|
391
|
+
- **AGENTS.md**: Completely rewritten for hybrid architecture with two development paths
|
|
392
|
+
- **ESLint Configuration**: Fixed and relaxed for gradual adoption (0 errors, warnings only)
|
|
393
|
+
|
|
394
|
+
### Fixed
|
|
395
|
+
- ESLint configuration error: `@typescript-eslint/recommended` → `plugin:@typescript-eslint/recommended`
|
|
396
|
+
- Added ignore patterns for test files in ESLint
|
|
397
|
+
- Relaxed strict TypeScript rules to warnings for pre-existing code
|
|
398
|
+
|
|
399
|
+
### Technical
|
|
400
|
+
- **New Files**:
|
|
401
|
+
- `skills/simple-task/SKILL.md`
|
|
402
|
+
- `skills/sdd-requirements/SKILL.md`
|
|
403
|
+
- `skills/sdd-design/SKILL.md`
|
|
404
|
+
- `skills/sdd-tasks/SKILL.md`
|
|
405
|
+
- `skills/sdd-implement/SKILL.md`
|
|
406
|
+
- `skills/sdd-steering/SKILL.md`
|
|
407
|
+
- `skills/sdd-steering-custom/SKILL.md`
|
|
408
|
+
- `skills/sdd-commit/SKILL.md`
|
|
409
|
+
- `src/skills/SkillManager.ts`
|
|
410
|
+
- `src/cli/install-skills.ts`
|
|
411
|
+
- `src/__tests__/unit/skills/SkillManager.test.ts`
|
|
412
|
+
- `src/__tests__/unit/cli/install-skills.test.ts`
|
|
413
|
+
- **Test Coverage**: 25 new tests for skills infrastructure (107 total tests passing)
|
|
414
|
+
- **Package Updates**: Added `skills/**/*` to published files, new `sdd-install-skills` binary
|
|
415
|
+
|
|
416
|
+
### Migration Guide
|
|
417
|
+
```bash
|
|
418
|
+
# 1. Update package
|
|
419
|
+
npm update sdd-mcp-server
|
|
420
|
+
|
|
421
|
+
# 2. Install skills to your project
|
|
422
|
+
npx sdd-mcp-server install-skills
|
|
423
|
+
|
|
424
|
+
# 3. (Optional) Rename directories for new projects
|
|
425
|
+
mv .kiro .spec
|
|
426
|
+
|
|
427
|
+
# 4. (Optional) Rename steering document
|
|
428
|
+
mv .spec/steering/security-check.md .spec/steering/owasp-top10-check.md
|
|
429
|
+
|
|
430
|
+
# 5. Use new workflow
|
|
431
|
+
# Simple features: /simple-task <description>
|
|
432
|
+
# Complex features: Full SDD workflow (sdd-init → /sdd-requirements → etc.)
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
## [1.8.1] - 2025-12-02
|
|
436
|
+
|
|
437
|
+
### Fixed
|
|
438
|
+
- Missing `zod` dependency causing load error on some systems.
|
|
439
|
+
|
|
440
|
+
## [1.8.0] - 2025-11-22
|
|
441
|
+
|
|
442
|
+
### Changed
|
|
443
|
+
- **MCP Tool Standardization**: Standardized all documentation and generated files to use MCP tool calls (e.g., `sdd-init`) instead of legacy slash commands (e.g., `/kiro:spec-init`)
|
|
444
|
+
- Updated `AGENTS.md` generation logic in `staticSteering.ts`, `SDDToolAdapter.ts`, and `index.ts`
|
|
445
|
+
- Updated `README.md` documentation and examples
|
|
446
|
+
- Ensures consistent tool usage across all AI agents (Claude Code, Cursor, etc.)
|
|
447
|
+
- **AGENTS.md Generation**: Fixed `sdd-steering` to correctly generate `AGENTS.md` with the new MCP tool call format
|
|
448
|
+
- Now includes correct paths and command references
|
|
449
|
+
- Removes outdated references to `/kiro:` commands
|
|
450
|
+
|
|
451
|
+
## [1.7.0] - 2025-11-07
|
|
452
|
+
|
|
453
|
+
### Fixed
|
|
454
|
+
- **Module Loading Cross-Context Support**: Enhanced module loader to support both TypeScript and JavaScript execution contexts
|
|
455
|
+
- Module loader now tries both `.ts` and `.js` extensions (also `.mjs`, `.cjs`) for maximum compatibility
|
|
456
|
+
- Works correctly in dev mode (`npm run dev`, `tsx src/index.ts`) and production (`npm start`, `npx`)
|
|
457
|
+
- Fixes issue where TypeScript sources couldn't be loaded when `dist/` didn't exist
|
|
458
|
+
|
|
459
|
+
### Added
|
|
460
|
+
- **Fallback Control**: New `SDD_ALLOW_TEMPLATE_FALLBACK` environment variable for controlling document generation behavior
|
|
461
|
+
- Default: `false` - Commands fail fast with actionable error messages when modules cannot be loaded
|
|
462
|
+
- Set to `true` - Allow fallback to generic templates (useful for development/debugging)
|
|
463
|
+
- Provides clear guidance: "run `npm run build`" or "set SDD_ALLOW_TEMPLATE_FALLBACK=true"
|
|
464
|
+
- Prevents silent generation of generic documents that don't reflect actual codebase
|
|
465
|
+
- **Shared Error Handler**: Centralized `handleLoaderFailure()` function for consistent error handling across all document generation commands
|
|
466
|
+
- Used by `handleSteeringSimplified`, `handleRequirementsSimplified`, `handleDesignSimplified`, `handleTasksSimplified`
|
|
467
|
+
- Provides detailed error messages with troubleshooting steps
|
|
468
|
+
- Logs fallback decisions for debugging
|
|
469
|
+
|
|
470
|
+
### Changed
|
|
471
|
+
- **Error Handling Philosophy**: Changed from "silent fallback" to "fail fast with guidance"
|
|
472
|
+
- Previously: Module load failures silently fell back to generic templates
|
|
473
|
+
- Now: Module load failures throw descriptive errors by default (unless SDD_ALLOW_TEMPLATE_FALLBACK=true)
|
|
474
|
+
- Ensures operators are aware when documents don't reflect actual codebase analysis
|
|
475
|
+
|
|
476
|
+
## [1.6.2] - 2025-11-05
|
|
477
|
+
|
|
478
|
+
### Fixed
|
|
479
|
+
- **Module Loading**: Unified module loading system for cross-context compatibility
|
|
480
|
+
- Fixed `sdd-steering` generating generic templates when run via `npx -y sdd-mcp-server@latest`
|
|
481
|
+
- Created `src/utils/moduleLoader.ts` with fallback path resolution for different execution contexts
|
|
482
|
+
- Updated `handleSteeringSimplified()`, `handleRequirementsSimplified()`, `handleDesignSimplified()`, and `handleTasksSimplified()` to use dynamic module loader
|
|
483
|
+
- Module loader tries multiple paths: `./utils/*.js` (dist), `../utils/*.js` (subdirectory), `./*.js` (root), `../*.js` (alternative root)
|
|
484
|
+
- Now works correctly across all execution methods: npx, node dist/index.js, npm run dev, npm start
|
|
485
|
+
- Debug logging shows which path succeeded for troubleshooting
|
|
486
|
+
- Graceful fallback to template generation with clear error messages when modules cannot be loaded
|
|
487
|
+
|
|
488
|
+
### Added
|
|
489
|
+
- **Testing**: Comprehensive unit tests for moduleLoader (`src/__tests__/unit/utils/moduleLoader.test.ts`)
|
|
490
|
+
- Tests for successful module loading
|
|
491
|
+
- Tests for fallback path resolution
|
|
492
|
+
- Tests for error handling and error message format
|
|
493
|
+
- 100% test coverage for moduleLoader functionality
|
|
494
|
+
|
|
495
|
+
## [1.6.1] - 2025-10-30
|
|
496
|
+
|
|
497
|
+
### Changed
|
|
498
|
+
- **Documentation**: Updated README.md with v1.6.0 architecture refactoring information
|
|
499
|
+
- Added v1.6.0 announcement highlighting 5 focused services
|
|
500
|
+
- Updated version references from 1.4.5 to 1.6.0 in Quick Start examples
|
|
501
|
+
- Emphasized scored semantic detection and improved maintainability
|
|
502
|
+
|
|
503
|
+
## [1.6.0] - 2025-10-30
|
|
504
|
+
|
|
505
|
+
### Changed
|
|
506
|
+
- **Architecture Refactoring**: Decomposed `RequirementsClarificationService` from "God Class" into focused, single-responsibility services following Domain-Driven Design principles
|
|
507
|
+
- **SteeringContextLoader**: Pure I/O service for loading steering documents from filesystem
|
|
508
|
+
- **DescriptionAnalyzer**: Pure analysis service using scored semantic detection (0-100 per category)
|
|
509
|
+
- **QuestionGenerator**: Pure transformation service generating questions from analysis + configuration
|
|
510
|
+
- **AnswerValidator**: Pure validation service with security checks
|
|
511
|
+
- **DescriptionEnricher**: Pure synthesis service for 5W1H-structured descriptions
|
|
512
|
+
- **RequirementsClarificationService**: Now acts as thin orchestrator delegating to specialized services
|
|
513
|
+
- **Improved Analysis**: Replaced brittle boolean regex matching with scored semantic detection
|
|
514
|
+
- Each 5W1H category now scored 0-100 based on keyword density and coverage
|
|
515
|
+
- Boolean presence derived from scores (threshold: 30%)
|
|
516
|
+
- New score fields in `ClarificationAnalysis`: `whyScore`, `whoScore`, `whatScore`, `successScore`
|
|
517
|
+
- Reduces false positives/negatives from simple pattern matching
|
|
518
|
+
- **Externalized Configuration**: Moved all question templates to `clarification-questions.ts`
|
|
519
|
+
- Stable semantic IDs: `why_problem`, `why_value`, `who_users`, `what_mvp_features`, etc.
|
|
520
|
+
- Each template includes: question, rationale, examples, required flag, condition function
|
|
521
|
+
- Enables adding new questions without code changes
|
|
522
|
+
- Better separation of business rules from service logic
|
|
523
|
+
|
|
524
|
+
### Added
|
|
525
|
+
- **New Domain Types**:
|
|
526
|
+
- `SteeringContext`: Moved to domain types for reusability across services
|
|
527
|
+
- `DescriptionComponents`: Structured 5W1H components for enriched descriptions
|
|
528
|
+
- **Comprehensive Test Coverage**:
|
|
529
|
+
- 15 tests for DescriptionAnalyzer (scored semantic detection)
|
|
530
|
+
- 8 tests for QuestionGenerator (template-based generation)
|
|
531
|
+
- 11 tests for AnswerValidator (validation + security)
|
|
532
|
+
- 10 tests for DescriptionEnricher (5W1H synthesis)
|
|
533
|
+
- 13 tests for SteeringContextLoader (I/O with error handling)
|
|
534
|
+
- 5 tests for RequirementsClarificationService (orchestration)
|
|
535
|
+
- Total: 62 new unit tests, all passing
|
|
536
|
+
|
|
537
|
+
### Technical Improvements
|
|
538
|
+
- **Single Responsibility Principle**: Each service has one clear purpose with focused interface
|
|
539
|
+
- **Dependency Injection**: All new services registered in DI container with proper type bindings
|
|
540
|
+
- **Error Handling**: SteeringContextLoader differentiates file-level errors (debug) from system errors (warn)
|
|
541
|
+
- **Testability**: Pure functions enable fast, isolated unit tests without mocks
|
|
542
|
+
- **Maintainability**: Services average ~100 LOC vs previous ~500 LOC monolith
|
|
543
|
+
- **Type Safety**: All services fully typed with readonly interfaces for immutability
|
|
544
|
+
|
|
545
|
+
### Migration Notes
|
|
546
|
+
- **Breaking Change**: `RequirementsClarificationService` constructor signature changed
|
|
547
|
+
- Old: `constructor(fileSystem: FileSystemPort, logger: LoggerPort)`
|
|
548
|
+
- New: `constructor(logger, steeringLoader, analyzer, questionGenerator, answerValidator, enricher)`
|
|
549
|
+
- **Impact**: Direct instantiation requires all 6 dependencies
|
|
550
|
+
- **Mitigation**: Use DI container (`container.get(TYPES.RequirementsClarificationService)`) - no code changes needed
|
|
551
|
+
- **API Compatibility**: Public methods unchanged - `analyzeDescription()`, `validateAnswers()`, `synthesizeDescription()` work identically
|
|
552
|
+
- **Test Updates**: Tests now mock specialized services instead of filesystem - see updated test file for examples
|
|
553
|
+
|
|
554
|
+
## [1.5.1] - 2025-10-30
|
|
555
|
+
|
|
556
|
+
### Fixed
|
|
557
|
+
- **Enhanced Input Validation**: `validateAnswers` now checks for empty/too-short answers (< 10 chars) and potentially malicious content (XSS patterns)
|
|
558
|
+
- Returns detailed `AnswerValidationResult` with `tooShort` and `containsInvalidContent` arrays
|
|
559
|
+
- Prevents security issues from user-provided clarification answers
|
|
560
|
+
- **Improved Error Handling**: `loadSteeringContext` now properly handles failures and always returns valid defaults
|
|
561
|
+
- Individual try-catch blocks for product.md and tech.md loading
|
|
562
|
+
- Better error logging with debug-level messages for individual file failures
|
|
563
|
+
- Guaranteed non-null return value
|
|
564
|
+
- **Code Quality Improvements**: Extracted magic numbers and duplicated patterns to constants
|
|
565
|
+
- Created `clarification-constants.ts` with `QUALITY_SCORE_WEIGHTS`, `ANSWER_VALIDATION`, `PATTERN_DETECTION`, `AMBIGUOUS_TERMS`
|
|
566
|
+
- Replaced inline regex patterns with pre-compiled constants for better performance
|
|
567
|
+
- All scoring thresholds now configurable in one place
|
|
568
|
+
- **Stable Question IDs**: Replaced UUID-based IDs with semantic identifiers
|
|
569
|
+
- Question IDs: `why_problem`, `why_value`, `who_users`, `what_mvp_features`, `what_out_of_scope`, `success_metrics`, `how_tech_constraints`, `ambiguity_1-3`
|
|
570
|
+
- Predictable IDs improve testability and debugging
|
|
571
|
+
- **Jest Module Resolution**: Fixed `moduleNameMapper` pattern to properly resolve `.js` imports to TypeScript source files
|
|
572
|
+
- Pattern now correctly handles all relative imports without catching node_modules
|
|
573
|
+
|
|
574
|
+
### Changed
|
|
575
|
+
- **Type Safety**: Moved `ClarificationAnswers` and `AnswerValidationResult` to domain types for better reusability
|
|
576
|
+
- **Test Coverage**: Updated tests to verify new validation fields (`tooShort`, `containsInvalidContent`)
|
|
577
|
+
- **Build Configuration**: All 16 tests passing with TypeScript compilation successful
|
|
578
|
+
|
|
579
|
+
### Technical
|
|
580
|
+
- **Maintainability**: Reduced code duplication across service, adapter, and MCP server
|
|
581
|
+
- **Security**: Added XSS pattern detection for user-provided answers
|
|
582
|
+
- **Performance**: Pre-compiled regex patterns reduce repeated compilation overhead
|
|
583
|
+
- **Configuration**: Centralized constants allow easy tuning of quality thresholds
|
|
584
|
+
|
|
585
|
+
## [1.5.0] - 2025-10-30
|
|
586
|
+
|
|
587
|
+
### Added
|
|
588
|
+
- **Interactive Requirements Clarification**: New `RequirementsClarificationService` that analyzes project descriptions and blocks vague requirements
|
|
589
|
+
- Quality scoring (0-100) with blocking threshold at 70%
|
|
590
|
+
- 5W1H analysis: WHY (30 pts), WHO (20 pts), WHAT (20 pts), Success Criteria (15 pts), plus length and clarity bonuses
|
|
591
|
+
- Ambiguity detection for terms like "fast", "scalable", "user-friendly", "easy", "reliable", "secure", "modern"
|
|
592
|
+
- Context-aware question generation using existing `.kiro/steering/` documents to avoid redundancy
|
|
593
|
+
- Two-pass workflow: analyze → return questions → validate answers → synthesize enriched description
|
|
594
|
+
- **Enhanced sdd-init Tool**: Interactive clarification flow with blocking mechanism
|
|
595
|
+
- First pass: Analyzes description quality, returns clarification questions if score < 70%
|
|
596
|
+
- Second pass: Validates answers, synthesizes enriched description with structured 5W1H format
|
|
597
|
+
- Enriched descriptions include: Original, Business Justification (Why), Target Users (Who), Core Features (What), Technical Approach (How), Success Criteria
|
|
598
|
+
- New `clarificationAnswers` parameter for second-pass submission
|
|
599
|
+
- **Comprehensive Type System**: New domain types for clarification workflow
|
|
600
|
+
- `ClarificationQuestion`, `QuestionCategory`, `ClarificationAnalysis`, `AmbiguousTerm`, `EnrichedProjectDescription`, `ClarificationResult`
|
|
601
|
+
- Full TypeScript type safety with readonly interfaces
|
|
602
|
+
- **13 Unit Tests**: Complete test coverage for RequirementsClarificationService
|
|
603
|
+
- Tests for quality scoring, ambiguity detection, question generation, answer validation, and description synthesis
|
|
604
|
+
- All tests passing with 100% success rate
|
|
605
|
+
|
|
606
|
+
### Changed
|
|
607
|
+
- **sdd-init Behavior**: Now blocks progression on vague requirements (quality score < 70%)
|
|
608
|
+
- Previously accepted any description; now enforces quality standards
|
|
609
|
+
- Focuses on "WHY" (business justification) as highest-weighted criterion
|
|
610
|
+
- Educational feedback with actionable examples and specific question categories
|
|
611
|
+
- **DI Container**: Registered `RequirementsClarificationService` in dependency injection system
|
|
612
|
+
- Added `TYPES.RequirementsClarificationService` symbol
|
|
613
|
+
- Integrated into SDDToolAdapter with proper injection
|
|
614
|
+
|
|
615
|
+
### Fixed
|
|
616
|
+
- **Vague Requirements Problem**: Prevents "garbage in, garbage out" by ensuring clear requirements from project start
|
|
617
|
+
- **Missing Business Context**: Forces articulation of WHY before proceeding with implementation
|
|
618
|
+
- **Ambiguous Language**: Detects and clarifies non-specific terms before they cause scope issues
|
|
619
|
+
|
|
620
|
+
### Technical
|
|
621
|
+
- **Architecture**: Follows Domain-Driven Design with service in application layer
|
|
622
|
+
- **Integration**: Works in both simplified (mcp-server.js) and TypeScript (SDDToolAdapter) implementations
|
|
623
|
+
- **Context Awareness**: Reads steering documents (product.md, tech.md) to avoid redundant questions
|
|
624
|
+
- **Blocking Workflow**: Synchronous MCP tool with multi-pass pattern for interactive clarification
|
|
625
|
+
|
|
626
|
+
## [1.4.5] - 2025-10-19
|
|
627
|
+
|
|
628
|
+
### Changed
|
|
629
|
+
- **Test Organization**: Reorganized test structure for better maintainability
|
|
630
|
+
- Moved legacy tests to `src/__tests__/legacy/` directory
|
|
631
|
+
- Created new `src/__tests__/unit/` structure for unit tests
|
|
632
|
+
- Updated `jest.config.js` to focus on unit tests only
|
|
633
|
+
- Added `tsconfig.jest.json` for better Jest-TypeScript integration
|
|
634
|
+
|
|
635
|
+
### Refactored
|
|
636
|
+
- **Static Steering Module**: Centralized static steering document creation logic
|
|
637
|
+
- Created `src/application/services/staticSteering.ts` module (DRY principle)
|
|
638
|
+
- Single source of truth for static steering documents (linus-review.md, commit.md, security-check.md, tdd-guideline.md, principles.md)
|
|
639
|
+
- Updated MCP server handlers to use the centralized module
|
|
640
|
+
- Improved code maintainability following SOLID principles
|
|
641
|
+
|
|
642
|
+
## [1.4.4] - 2025-10-10
|
|
643
|
+
|
|
644
|
+
### Added
|
|
645
|
+
- **Coding Principles Steering Document**: New `.kiro/steering/principles.md` with comprehensive SOLID, DRY, KISS, YAGNI, Separation of Concerns, and Modularity guidance
|
|
646
|
+
- 641 lines of comprehensive principles with code examples
|
|
647
|
+
- Multi-language examples (TypeScript, Python, Java, Go, Ruby, PHP, Rust, C#)
|
|
648
|
+
- Code review checklist for principle enforcement
|
|
649
|
+
- Anti-patterns and common pitfalls to avoid
|
|
650
|
+
- **TDD Task Generation**: Rewrote task generation to follow Test-Driven Development workflow
|
|
651
|
+
- Phase 1: Test Setup (🔴 RED - Write Failing Tests First)
|
|
652
|
+
- Phase 2: Implementation (🟢 GREEN - Make Tests Pass)
|
|
653
|
+
- Phase 3: Refactoring (🔵 REFACTOR - Improve Code Quality)
|
|
654
|
+
- Phase 4: Integration & Documentation
|
|
655
|
+
- Framework-specific test tasks (MCP SDK, API endpoints, database operations)
|
|
656
|
+
|
|
657
|
+
### Changed
|
|
658
|
+
- **Task Document Format**: Implementation tasks now follow TDD methodology with clear phase separation
|
|
659
|
+
- **Steering Document Count**: Now generates 8 steering documents (added principles.md to the 7 existing)
|
|
660
|
+
- **Documentation Updates**: Enhanced README.md, CLAUDE.md, and AGENTS.md with principles and TDD workflow references
|
|
661
|
+
|
|
662
|
+
### Fixed
|
|
663
|
+
- Task generation order now enforces test-first development
|
|
664
|
+
- All documentation now consistently references 8 steering documents
|
|
665
|
+
|
|
666
|
+
## [1.4.3] - 2025-10-10
|
|
667
|
+
|
|
668
|
+
### Fixed
|
|
669
|
+
- **Document Generation**: Simplified mode (MCP) now properly uses comprehensive codebase analysis instead of falling back to templates
|
|
670
|
+
- Enhanced error handling with detailed debug logging
|
|
671
|
+
- Added `analysisUsed` flag to track successful comprehensive analysis
|
|
672
|
+
- Improved user feedback showing "✅ Comprehensive codebase analysis" or "⚠️ Basic template"
|
|
673
|
+
- **Multi-Language Detection**: Comprehensive analysis now properly detects TypeScript, JavaScript, Java, Python, Go, Ruby, PHP, Rust, C#, Scala
|
|
674
|
+
- **Framework Detection**: Enhanced detection for 20+ frameworks (Spring Boot, Django, FastAPI, Rails, Laravel, Express, React, Vue, Angular, Next.js, etc.)
|
|
675
|
+
- **Build Tool & Test Framework Detection**: Better identification of Maven, Gradle, npm, pip, cargo, Jest, pytest, JUnit, Mocha, etc.
|
|
676
|
+
- **Architecture Pattern Recognition**: Improved detection of DDD, MVC, Microservices, Clean Architecture patterns
|
|
677
|
+
|
|
678
|
+
### Changed
|
|
679
|
+
- **Error Reporting**: Added comprehensive debug logging throughout document generation process
|
|
680
|
+
- **User Feedback**: Clear messaging about which analysis method was used (comprehensive vs fallback)
|
|
681
|
+
- **Documentation**: Updated README.md to highlight v1.4.3 comprehensive analysis improvements
|
|
682
|
+
|
|
683
|
+
## [1.4.2] - 2025-10-02
|
|
684
|
+
|
|
685
|
+
### Fixed
|
|
686
|
+
- `sdd-steering` CLI entry now always creates `.kiro/steering/tdd-guideline.md`, keeping TDD enforcement consistent with the TypeScript build output.
|
|
687
|
+
|
|
688
|
+
## [1.4.1] - 2025-09-30
|
|
689
|
+
|
|
690
|
+
### Added
|
|
691
|
+
- Always-generate static `security-check.md` (OWASP Top 10 aligned) during `sdd-steering`
|
|
692
|
+
- Present in both MCP paths (simplified + legacy server)
|
|
693
|
+
- Use during code generation and code review to avoid common vulnerabilities
|
|
694
|
+
|
|
695
|
+
## [1.3.5] - 2025-09-13
|
|
696
|
+
|
|
697
|
+
## [1.4.0] - 2025-09-27
|
|
698
|
+
|
|
699
|
+
### Added
|
|
700
|
+
- Analysis-backed generation for `sdd-requirements`, `sdd-design`, and `sdd-tasks` in MCP mode
|
|
701
|
+
- New generators: `src/utils/specGenerator.ts` and runtime `specGenerator.js`
|
|
702
|
+
- Smoke scripts: `scripts/smoke-mcp.js` (startup) and `scripts/mcp-tools-list.js` (tools/list probe)
|
|
703
|
+
|
|
704
|
+
### Changed
|
|
705
|
+
- `mcp-server.js` and MCP simplified handlers now use analysis-first with robust fallbacks
|
|
706
|
+
- Published files include `specGenerator.js`
|
|
707
|
+
|
|
708
|
+
### Fixed
|
|
709
|
+
- Steering vs specification doc generation parity in MCP clients; no more template-first behavior
|
|
710
|
+
|
|
711
|
+
### Added
|
|
712
|
+
- Multi-language steering support: Python (Django/FastAPI/Flask), Go (Gin/Echo), Ruby (Rails/Sinatra), PHP (Laravel/Symfony), Rust (Actix/Axum/Rocket), .NET/C#, Scala (SBT)
|
|
713
|
+
- Language-aware tech docs: Proper dev commands, environment versions (JDK/Go/Python/Ruby/PHP/Rust/.NET), framework naming
|
|
714
|
+
- Architecture sections for non-JS stacks with conventional layering and tooling
|
|
715
|
+
- Structure overview adapts to each ecosystem’s key files (pom.xml, pyproject, go.mod, Gemfile, composer.json, Cargo.toml, *.csproj, build.sbt)
|
|
716
|
+
|
|
717
|
+
### Changed
|
|
718
|
+
- Node/TS detection coexists with other ecosystems without bias; module system shown only for JS/TS projects
|
|
719
|
+
|
|
720
|
+
### Fixed
|
|
721
|
+
- TypeScript compile issues in document generator refactor
|
|
722
|
+
|
|
723
|
+
## [1.3.4] - 2025-09-13
|
|
724
|
+
|
|
725
|
+
### Changed
|
|
726
|
+
- Version resolution: both entrypoints now report version from `package.json`
|
|
727
|
+
- MCP simplified tools aligned with kiro behavior: status/approve/quality/implement parity
|
|
728
|
+
- Unified doc generation: single dynamic generator to avoid drift
|
|
729
|
+
|
|
730
|
+
### Added
|
|
731
|
+
- Ensure static exceptions only: `.kiro/steering/linus-review.md`, `.kiro/steering/commit.md`, and `AGENTS.md` created when missing
|
|
732
|
+
|
|
733
|
+
### Fixed
|
|
734
|
+
- MCP mode logging detection to prevent stdio interference
|
|
735
|
+
|
|
736
|
+
## [1.3.0] - 2025-09-11
|
|
737
|
+
|
|
738
|
+
### Added
|
|
739
|
+
- **Static Steering Documents**: Automatic creation of `linus-review.md` with complete Linus Torvalds code review principles
|
|
740
|
+
- **Commit Message Guidelines**: Automatic creation of `commit.md` with standardized commit message formatting
|
|
741
|
+
- **Universal AGENTS.md**: Cross-platform AI agent configuration file generated from CLAUDE.md template
|
|
742
|
+
- **Enhanced sdd-steering**: Now creates static documents (linus-review.md, commit.md) alongside codebase-analyzed content
|
|
743
|
+
- **Enhanced sdd-init**: Now generates AGENTS.md for universal AI agent compatibility
|
|
744
|
+
|
|
745
|
+
### Changed
|
|
746
|
+
- **Steering Document Generation**: Both sdd-init and sdd-steering now ensure AGENTS.md exists for cross-platform AI support
|
|
747
|
+
- **CLAUDE.md Documentation**: Updated to reflect new steering files (linus-review.md, commit.md) in active steering list
|
|
748
|
+
- **Template Adaptation**: AGENTS.md intelligently adapts from existing CLAUDE.md or creates generic template
|
|
749
|
+
|
|
750
|
+
### Fixed
|
|
751
|
+
- **Cross-Platform Compatibility**: AGENTS.md ensures SDD workflows work across different AI agents (Claude Code, Cursor, etc.)
|
|
752
|
+
- **Static Content Preservation**: Only creates static documents when missing to preserve existing customizations
|
|
753
|
+
|
|
754
|
+
## [1.2.0] - 2025-09-11
|
|
755
|
+
|
|
756
|
+
### Added
|
|
757
|
+
- **Empty Project Bootstrap**: SDD tools now work from empty directories without requiring package.json or existing files
|
|
758
|
+
- **Kiro Workflow Alignment**: Complete alignment with .claude/commands/kiro/ workflow patterns and phase validation
|
|
759
|
+
- **Feature Name Generation**: Automatic feature name extraction from project descriptions
|
|
760
|
+
- **Spec Context Management**: .kiro/specs/[feature]/ structure with spec.json phase tracking and approval workflow
|
|
761
|
+
- **EARS Requirements Generation**: Dynamic EARS-formatted acceptance criteria generated from project descriptions
|
|
762
|
+
- **Phase Validation System**: Enforced workflow progression (init → requirements → design → tasks)
|
|
763
|
+
|
|
764
|
+
### Changed
|
|
765
|
+
- **sdd-init**: Now takes project description instead of name/path, generates feature names automatically
|
|
766
|
+
- **sdd-requirements**: Uses feature name parameter, loads spec context, generates from project description
|
|
767
|
+
- **sdd-design**: Validates requirements phase, creates technical design with phase enforcement
|
|
768
|
+
- **sdd-tasks**: Validates design phase, generates kiro-style numbered implementation tasks
|
|
769
|
+
- **Tool Schemas**: Updated SDDToolAdapter schemas for consistency with kiro workflow
|
|
770
|
+
|
|
771
|
+
### Fixed
|
|
772
|
+
- **Package.json Dependency**: Eliminated requirement for existing project files
|
|
773
|
+
- **Static Content Generation**: Replaced with dynamic, context-aware content from project descriptions
|
|
774
|
+
- **Workflow Enforcement**: Added proper phase validation and spec.json tracking
|
|
775
|
+
|
|
776
|
+
## [1.1.22] - 2025-09-11
|
|
777
|
+
|
|
778
|
+
### Added
|
|
779
|
+
- **Context-Aware Content Generation**: All SDD tools now analyze real project structure instead of generating static templates
|
|
780
|
+
- **Project Analysis Engine**: 20+ helper methods for analyzing package.json, dependencies, and directory structure
|
|
781
|
+
- **EARS-Formatted Requirements**: Generate acceptance criteria based on actual npm scripts and project configuration
|
|
782
|
+
- **Architecture Detection**: Automatic technology stack identification and pattern recognition from codebase
|
|
783
|
+
- **Simplified MCP Tools**: Enhanced versions that work directly without requiring full SDD initialization
|
|
784
|
+
|
|
785
|
+
### Changed
|
|
786
|
+
- **TemplateService**: Enhanced with comprehensive project analysis capabilities for real-time content generation
|
|
787
|
+
- **SDDToolAdapter**: Added missing sdd-steering tools with project-specific analysis functionality
|
|
788
|
+
- **Requirements Generation**: Now extracts real functional requirements from package.json and project structure
|
|
789
|
+
- **Design Generation**: Architecture documentation based on actual dependencies and detected patterns
|
|
790
|
+
- **Task Generation**: Implementation breakdown derived from real technology stack and project organization
|
|
791
|
+
|
|
792
|
+
### Fixed
|
|
793
|
+
- **Static Template Content**: Replaced generic placeholders with dynamic project-specific content
|
|
794
|
+
- **Tool Integration**: Enhanced MCP tool compatibility for direct usage without complex setup
|
|
795
|
+
|
|
796
|
+
## [1.1.12] - 2025-09-10
|
|
797
|
+
|
|
798
|
+
### Fixed
|
|
799
|
+
- **Claude Code Health Check**: Fixed MCP server connection failures due to startup timeout issues
|
|
800
|
+
- **Startup Performance**: Optimized server startup time from ~500ms to ~60ms for faster health checks
|
|
801
|
+
- **Version Consistency**: Updated all version references across codebase to 1.1.12
|
|
802
|
+
|
|
803
|
+
### Added
|
|
804
|
+
- **Local Development Wrapper**: Added `local-mcp-server.js` for ultra-fast local development
|
|
805
|
+
- **Enhanced Documentation**: Updated README with connection troubleshooting and v1.1.12 fixes
|
|
806
|
+
- **GitHub Release**: Automated release creation with comprehensive changelog
|
|
807
|
+
|
|
808
|
+
### Changed
|
|
809
|
+
- **MCP Protocol Compliance**: Added proper `InitializedNotificationSchema` handler
|
|
810
|
+
- **ES Module Compatibility**: Improved module loading and entry point detection
|
|
811
|
+
- **Health Check Optimization**: Reduced npx execution overhead for Claude Code compatibility
|
|
812
|
+
|
|
813
|
+
## [1.1.11] - 2025-09-10
|
|
814
|
+
|
|
815
|
+
### Fixed
|
|
816
|
+
- **MCP Protocol**: Enhanced MCP protocol compatibility with proper notification handling
|
|
817
|
+
- **Version Consistency**: Aligned version reporting across all server implementations
|
|
818
|
+
|
|
819
|
+
### Added
|
|
820
|
+
- **Initialized Notification**: Added proper handling for MCP `initialized` notification
|
|
821
|
+
|
|
822
|
+
## [1.1.10] - 2025-09-10
|
|
823
|
+
|
|
824
|
+
### Fixed
|
|
825
|
+
- **ES Module Entry Point**: Fixed `import.meta.url` detection for proper ES module execution
|
|
826
|
+
- **Build Output**: Corrected TypeScript compilation output for ES module compatibility
|
|
827
|
+
- **ESLint Configuration**: Renamed `.eslintrc.js` to `.eslintrc.cjs` for ES module projects
|
|
828
|
+
|
|
829
|
+
## [1.1.9] - 2025-09-10
|
|
830
|
+
|
|
831
|
+
### Fixed
|
|
832
|
+
- **MCP Protocol Compatibility**: Created dedicated `mcp-server.js` binary for guaranteed MCP protocol compatibility
|
|
833
|
+
- **Build Errors**: Fixed 100+ TypeScript compilation errors preventing package builds
|
|
834
|
+
- **ES Module Issues**: Fixed "require is not defined in ES module scope" error when running via npx
|
|
835
|
+
- **Dependency Injection**: Resolved "No matching bindings found" errors in DI container
|
|
836
|
+
- **Type System**: Fixed type imports vs value imports for enums and interfaces
|
|
837
|
+
- **Console Output**: Properly silenced console output in MCP mode to prevent JSON-RPC interference
|
|
838
|
+
|
|
839
|
+
### Added
|
|
840
|
+
- **Dual-Mode Server**: Main server supports both standalone and MCP modes automatically
|
|
841
|
+
- **Simplified MCP Server**: Dedicated lightweight MCP implementation for better reliability
|
|
842
|
+
- **Enhanced Documentation**: Updated README with Claude Code integration instructions
|
|
843
|
+
- **Troubleshooting Guide**: Added common issues and solutions section
|
|
844
|
+
|
|
845
|
+
### Changed
|
|
846
|
+
- **Binary Configuration**: `sdd-mcp-server` command now uses dedicated MCP binary
|
|
847
|
+
- **Package Structure**: Added `mcp-server.js` to published files
|
|
848
|
+
- **Error Handling**: Improved error reporting and logging in both modes
|
|
849
|
+
- **Version Detection**: Enhanced MCP mode detection logic for various execution environments
|
|
850
|
+
|
|
851
|
+
## [1.1.7] - 2025-09-10
|
|
852
|
+
|
|
853
|
+
### Fixed
|
|
854
|
+
- **TypeScript Compilation**: Fixed type import/export issues
|
|
855
|
+
- **Dependency Injection**: Removed problematic optional constructor parameters
|
|
856
|
+
- **ES Module Support**: Fixed module resolution and execution
|
|
857
|
+
|
|
858
|
+
## [1.1.6] - 2025-09-10
|
|
859
|
+
|
|
860
|
+
### Fixed
|
|
861
|
+
- **Build System**: Resolved TypeScript compilation errors
|
|
862
|
+
- **Module Imports**: Fixed ES module import statements
|
|
863
|
+
|
|
864
|
+
## [1.1.2] - 2025-09-10
|
|
865
|
+
|
|
866
|
+
### Fixed
|
|
867
|
+
- **Initial Build Issues**: Resolved basic TypeScript compilation errors
|
|
868
|
+
|
|
869
|
+
## [1.1.0] - 2025-09-10
|
|
870
|
+
|
|
871
|
+
### Added
|
|
872
|
+
- **Initial MCP Server**: Basic Model Context Protocol server implementation
|
|
873
|
+
- **SDD Workflow**: 5-phase spec-driven development workflow
|
|
874
|
+
- **Plugin System**: Extensible architecture for custom workflows
|
|
875
|
+
- **Quality Analysis**: Linus-style code review system
|
|
876
|
+
- **Multi-language Support**: 10 languages with cultural adaptation
|
|
877
|
+
- **Template Engine**: Handlebars-based file generation
|
|
878
|
+
|
|
879
|
+
### Features
|
|
880
|
+
- **MCP Tools**: sdd-init, sdd-status, sdd-requirements, sdd-design, sdd-tasks, etc.
|
|
881
|
+
- **Project Management**: .kiro directory structure for SDD projects
|
|
882
|
+
- **Context Persistence**: Project memory and state management
|
|
883
|
+
- **Docker Support**: Secure distroless container images
|
|
884
|
+
- **Security Hardening**: Non-root user, read-only filesystem, dropped capabilities
|