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