sdd-mcp-server 3.5.0 → 4.0.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 (95) hide show
  1. package/README.md +97 -671
  2. package/agents/architect.md +15 -93
  3. package/agents/implementer.md +16 -141
  4. package/agents/planner.md +16 -84
  5. package/agents/reviewer.md +16 -239
  6. package/agents/security-auditor.md +16 -114
  7. package/agents/tdd-guide.md +17 -228
  8. package/dist/adapters/cli/SDDToolAdapter.d.ts +14 -5
  9. package/dist/adapters/cli/SDDToolAdapter.js +189 -362
  10. package/dist/adapters/cli/SDDToolAdapter.js.map +1 -1
  11. package/dist/application/services/ContextCompactionService.d.ts +81 -16
  12. package/dist/application/services/ContextCompactionService.js +370 -187
  13. package/dist/application/services/ContextCompactionService.js.map +1 -1
  14. package/dist/application/services/SpecPathResolver.d.ts +24 -0
  15. package/dist/application/services/SpecPathResolver.js +70 -0
  16. package/dist/application/services/SpecPathResolver.js.map +1 -0
  17. package/dist/application/services/WorkflowEngineService.d.ts +100 -46
  18. package/dist/application/services/WorkflowEngineService.js +468 -288
  19. package/dist/application/services/WorkflowEngineService.js.map +1 -1
  20. package/dist/cli/install-skills.d.ts +3 -9
  21. package/dist/cli/install-skills.js +130 -175
  22. package/dist/cli/install-skills.js.map +1 -1
  23. package/dist/cli/install-target.d.ts +45 -14
  24. package/dist/cli/install-target.js +26 -12
  25. package/dist/cli/install-target.js.map +1 -1
  26. package/dist/cli/sdd-mcp-cli.d.ts +1 -1
  27. package/dist/cli/sdd-mcp-cli.js +7 -6
  28. package/dist/cli/sdd-mcp-cli.js.map +1 -1
  29. package/dist/cli/tool-support/claude-code.js +13 -34
  30. package/dist/cli/tool-support/claude-code.js.map +1 -1
  31. package/dist/cli/tool-support/codex.d.ts +0 -53
  32. package/dist/cli/tool-support/codex.js +6 -94
  33. package/dist/cli/tool-support/codex.js.map +1 -1
  34. package/dist/cli/tool-support/index.d.ts +3 -2
  35. package/dist/cli/tool-support/index.js +3 -1
  36. package/dist/cli/tool-support/index.js.map +1 -1
  37. package/dist/cli/tool-support/omp.d.ts +5 -0
  38. package/dist/cli/tool-support/omp.js +43 -0
  39. package/dist/cli/tool-support/omp.js.map +1 -0
  40. package/dist/cli/tool-support/root-guidance.d.ts +2 -9
  41. package/dist/cli/tool-support/root-guidance.js +44 -37
  42. package/dist/cli/tool-support/root-guidance.js.map +1 -1
  43. package/dist/cli/tool-support/target-agent-renderer.d.ts +1 -0
  44. package/dist/cli/tool-support/target-agent-renderer.js +37 -4
  45. package/dist/cli/tool-support/target-agent-renderer.js.map +1 -1
  46. package/dist/cli/tool-support/target-installer.d.ts +8 -2
  47. package/dist/cli/tool-support/target-installer.js +94 -26
  48. package/dist/cli/tool-support/target-installer.js.map +1 -1
  49. package/dist/cli/utils/preserving-writer.d.ts +22 -0
  50. package/dist/cli/utils/preserving-writer.js +233 -11
  51. package/dist/cli/utils/preserving-writer.js.map +1 -1
  52. package/dist/domain/ports.d.ts +4 -0
  53. package/dist/index.d.ts +13 -10
  54. package/dist/index.js +16 -1199
  55. package/dist/index.js.map +1 -1
  56. package/dist/infrastructure/adapters/NodeFileSystemAdapter.d.ts +3 -0
  57. package/dist/infrastructure/adapters/NodeFileSystemAdapter.js +10 -0
  58. package/dist/infrastructure/adapters/NodeFileSystemAdapter.js.map +1 -1
  59. package/dist/infrastructure/mcp/CapabilityNegotiator.js +3 -3
  60. package/dist/infrastructure/mcp/CapabilityNegotiator.js.map +1 -1
  61. package/dist/infrastructure/mcp/sddToolDefinitions.d.ts +6 -0
  62. package/dist/infrastructure/mcp/sddToolDefinitions.js +124 -0
  63. package/dist/infrastructure/mcp/sddToolDefinitions.js.map +1 -0
  64. package/dist/utils/atomicWrite.d.ts +8 -35
  65. package/dist/utils/atomicWrite.js +12 -60
  66. package/dist/utils/atomicWrite.js.map +1 -1
  67. package/mcp-server.js +5 -2883
  68. package/package.json +5 -2
  69. package/scripts/context-usage-report.mjs +602 -0
  70. package/sdd-entry.js +17 -6
  71. package/skills/sdd-commit/REFERENCE.md +31 -0
  72. package/skills/sdd-commit/SKILL.md +17 -273
  73. package/skills/sdd-design/REFERENCE.md +35 -0
  74. package/skills/sdd-design/SKILL.md +19 -265
  75. package/skills/sdd-implement/REFERENCE.md +26 -0
  76. package/skills/sdd-implement/SKILL.md +22 -283
  77. package/skills/sdd-requirements/REFERENCE.md +31 -0
  78. package/skills/sdd-requirements/SKILL.md +23 -135
  79. package/skills/sdd-review/REFERENCE.md +26 -0
  80. package/skills/sdd-review/SKILL.md +17 -181
  81. package/skills/sdd-security-check/REFERENCE.md +19 -0
  82. package/skills/sdd-security-check/SKILL.md +18 -184
  83. package/skills/sdd-steering/REFERENCE.md +25 -0
  84. package/skills/sdd-steering/SKILL.md +18 -216
  85. package/skills/sdd-steering-custom/REFERENCE.md +27 -0
  86. package/skills/sdd-steering-custom/SKILL.md +19 -203
  87. package/skills/sdd-tasks/REFERENCE.md +25 -0
  88. package/skills/sdd-tasks/SKILL.md +19 -248
  89. package/skills/sdd-test-gen/REFERENCE.md +15 -0
  90. package/skills/sdd-test-gen/SKILL.md +17 -287
  91. package/skills/simple-task/REFERENCE.md +22 -0
  92. package/skills/simple-task/SKILL.md +17 -138
  93. package/templates/CLAUDE.md +18 -30
  94. package/rules/git-workflow.md +0 -92
  95. package/rules/sdd-workflow.md +0 -116
package/README.md CHANGED
@@ -1,747 +1,173 @@
1
1
  # MCP SDD Server
2
2
 
3
- [![npm version](https://badge.fury.io/js/sdd-mcp-server.svg)](https://badge.fury.io/js/sdd-mcp-server)
4
- [![GitHub release](https://img.shields.io/github/release/yi-john-huang/sdd-mcp.svg)](https://github.com/yi-john-huang/sdd-mcp/releases/latest)
3
+ [![npm version](https://badge.fury.io/js/sdd-mcp-server.svg)](https://www.npmjs.com/package/sdd-mcp-server)
5
4
  [![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-blue.svg)](https://modelcontextprotocol.io)
6
5
 
7
- A Model Context Protocol (MCP) server implementing Spec-Driven Development (SDD) workflows for AI-agent CLIs and IDEs like Claude Code, Cursor, and others.
6
+ A Model Context Protocol server and target-native installer for governed Spec-Driven Development (SDD) in Claude Code, Codex, and Oh My Pi (OMP).
8
7
 
9
- > **v3.5.0** - Target-aware native Codex and Claude Code installation, model routing, portable Codex hooks, and hardened failure reporting. See [CHANGELOG.md](CHANGELOG.md) for full version history.
8
+ > **v4.0.0** One 16-tool runtime, native OMP installation, manual-only skills, phase-aware bounded context, and managed generated-file upgrades.
10
9
 
11
10
  ## Why sdd-mcp?
12
11
 
13
- Most AI coding workflows start as prompts and Markdown conventions. `sdd-mcp` adds a stateful MCP workflow layer so assistants can validate progress, enforce approvals, load the right amount of context, and keep long-running SDD work repeatable.
12
+ `sdd-mcp` keeps requirements, design, tasks, approvals, optional TDD review, implementation, and continuation state on disk. Skills provide on-demand guidance; MCP tools enforce workflow behavior. This avoids treating a large prompt catalog as workflow state.
14
13
 
15
14
  ```text
16
15
  sdd-init -> requirements -> approve -> design -> approve -> tasks -> review tests -> approve -> implement
17
- \-> compact handoff generated automatically ->/
18
16
  ```
19
17
 
20
- ### Compared With Superpowers and OpenSpec
18
+ ## New project installation
21
19
 
22
- | Project | Best For | Main Strength | sdd-mcp Difference |
23
- |---------|----------|---------------|--------------------|
24
- | [Superpowers](https://github.com/obra/superpowers) | Agentic skill-driven development | Automatic skill activation, strong TDD culture, subagent workflows | `sdd-mcp` is MCP-native and keeps workflow state in tools, approvals, validation, and generated handoffs |
25
- | [OpenSpec](https://github.com/Fission-AI/OpenSpec) | Lightweight spec artifacts | Simple propose/apply/archive flow with broad tool support | `sdd-mcp` uses stricter phase gates, explicit review checkpoints, and compact context loading for governed workflows |
26
- | `sdd-mcp` | Repeatable SDD across MCP-compatible clients | Stateful tools, compact context handoffs, TDD checkpoints, quality gates | Optimized for teams that need enforceable workflow control rather than only guidance files |
20
+ Use this path when the repository has never had sdd-mcp-generated guidance.
27
21
 
28
- Use `sdd-mcp` when you want the AI assistant to follow a governed lifecycle, not just remember a convention from chat history.
22
+ 1. Open a terminal at the project root.
23
+ 2. Choose the host that will execute the workflow.
24
+ 3. Install the lean profile for the smallest default guidance surface, or choose `full` when the project needs target-native rules, contexts, and agents.
29
25
 
30
- ## 🚀 Quick Start
31
-
32
- ### Option 1: Direct NPX Usage (Recommended)
33
26
  ```bash
34
- # No installation required - use directly with npx
35
- npx -y sdd-mcp-server@latest
36
-
37
- # Pin exact version (optional)
38
- npx -y sdd-mcp-server@3.5.0
27
+ # Recommended explicit lean installation
28
+ npx sdd-mcp-server@4.0.0 install --profile lean --target claude-code
29
+ npx sdd-mcp-server@4.0.0 install --profile lean --target codex
30
+ npx sdd-mcp-server@4.0.0 install --profile lean --target omp
39
31
 
40
- # For Claude Code MCP integration, add to your configuration:
41
- # "sdd-mcp-server": {
42
- # "command": "npx",
43
- # "args": ["-y", "sdd-mcp-server@latest"]
44
- # }
32
+ # Interactive full installation: choose Claude Code, Codex, or OMP
33
+ npx sdd-mcp-server@4.0.0 install --profile full
45
34
  ```
46
35
 
47
- ### Option 2: Install Globally
48
- ```bash
49
- # Install globally for persistent usage
50
- npm install -g sdd-mcp-server@latest
36
+ Do not use `--refresh-generated` for a new project. There is no legacy generated set to replace, and a normal installation already records package ownership in `.sdd-mcp/install-manifest.json`.
51
37
 
52
- # Pin exact version (optional)
53
- npm install -g sdd-mcp-server@3.5.0
54
-
55
- # Start the server
56
- sdd-mcp-server
57
- ```
38
+ After installation, restart or reload the host if it does not discover new project guidance immediately. Then initialize the first feature with the installed SDD workflow. To run only the MCP server without installing project guidance:
58
39
 
59
- ### Option 3: Clone and Run
60
40
  ```bash
61
- # Clone the repository
62
- git clone https://github.com/yi-john-huang/sdd-mcp.git
63
- cd sdd-mcp
64
-
65
- # Install and start
66
- npm install
67
- npm run build
68
- npm start
41
+ npx -y sdd-mcp-server@4.0.0
69
42
  ```
70
43
 
71
- ### Option 4: Docker (Secure Distroless Image)
72
- ```bash
73
- # Build distroless image locally
74
- docker build --target production -t sdd-mcp-server .
44
+ A non-interactive install without `--target` retains the compatibility default, `claude-code`, and prints a notice. `--codex` remains a deprecated Codex-only alias. `--all-tools` installs all three native targets plus Antigravity; it does not make Codex artifacts executable by OMP.
75
45
 
76
- # Run with Docker (secure distroless image)
77
- docker run -p 3000:3000 sdd-mcp-server
46
+ ## Manual workflow invocation
78
47
 
79
- # Or with Docker Compose (includes security hardening)
80
- curl -O https://raw.githubusercontent.com/yi-john-huang/sdd-mcp/develop/docker-compose.yml
81
- docker-compose up -d
82
- ```
48
+ SDD skills are explicit commands and do not activate implicitly from ordinary prose.
83
49
 
84
- #### 🔒 Security Features
85
- - **Distroless base image**: Uses `gcr.io/distroless/nodejs18-debian11` for minimal attack surface
86
- - **No shell access**: Container contains only Node.js runtime and application code
87
- - **Non-root user**: Runs as user ID 1001 (no privilege escalation)
88
- - **Read-only filesystem**: Container filesystem is immutable at runtime
89
- - **Dropped capabilities**: All Linux capabilities dropped except minimal required ones
90
- - **Security options**: `no-new-privileges` prevents privilege escalation
50
+ | Path | Claude Code | Codex | Oh My Pi |
51
+ |---|---|---|---|
52
+ | Small task | `/simple-task` | `$simple-task` | `/skill:simple-task` |
53
+ | Formal SDD | `/sdd-requirements` → `/sdd-design` `/sdd-tasks` `/sdd-implement` | `$sdd-requirements` `$sdd-design` → `$sdd-tasks` → `$sdd-implement` | `/skill:sdd-requirements` → `/skill:sdd-design` → `/skill:sdd-tasks` → `/skill:sdd-implement` |
91
54
 
92
- ## 🔧 Configuration for AI Clients
55
+ The phase approvals are MCP operations; command syntax only invokes the relevant guidance.
93
56
 
94
- ### Claude Code
95
- Add to your MCP settings using the command line:
96
- ```bash
97
- # Option 1: Use npx (no installation required)
98
- claude mcp add sdd -s local -- npx -y sdd-mcp-server@latest
57
+ ## Profiles and native paths
99
58
 
100
- # Option 2: Install globally first
101
- npm install -g sdd-mcp-server@latest
102
- claude mcp add sdd "sdd-mcp-server" -s local
59
+ | Component | Claude Code | Codex | Oh My Pi |
60
+ |---|---|---|---|
61
+ | Root guidance | `CLAUDE.md` | `AGENTS.md` | `.omp/AGENTS.md` |
62
+ | Skills | `.claude/skills/` | `.agents/skills/` | `.omp/skills/` |
63
+ | Agents | `.claude/agents/` | `.codex/agents/` | `.omp/agents/` |
64
+ | Rules | `.claude/rules/` | `.codex/guidance/rules/` | `.omp/rules/` |
65
+ | Context references | `.claude/contexts/` | `.codex/guidance/contexts/` | `.omp/contexts/` |
66
+ | Steering | `.spec/steering/` | `.spec/steering/` | `.spec/steering/` |
103
67
 
104
- # Verify connection
105
- claude mcp list
106
- # Should show: sdd: ✓ Connected
68
+ Claude Code and Codex lean profiles install skills, steering, and their supported hook guidance. OMP lean installs skills, steering, and agents. Full profiles add rules, contexts, and agents as supported by each host. OMP does not install Markdown as an executable hook; `--target omp --hooks` fails with an explanation.
107
69
 
108
- # For development (local repo):
109
- git clone https://github.com/yi-john-huang/sdd-mcp.git
110
- cd sdd-mcp
111
- # Use the dedicated MCP entry
112
- claude mcp add sdd "$(pwd)/mcp-server.js" -s local
113
- ```
70
+ See [Installation Guide](docs/INSTALL-GUIDE.md) and [Model Routing](docs/MODEL-ROUTING.md).
114
71
 
115
- Manual configuration in `~/.claude.json`:
116
- ```json
117
- {
118
- "mcpServers": {
119
- "sdd": {
120
- "command": "sdd-mcp-server",
121
- "args": [],
122
- "env": {}
123
- }
124
- }
125
- }
126
- ```
72
+ ## Upgrade from sdd-mcp 3.x
127
73
 
128
- ### Cursor IDE
129
- Add to your MCP configuration:
130
- ```json
131
- {
132
- "sdd-server": {
133
- "command": "npx",
134
- "args": ["-y", "sdd-mcp-server@latest"],
135
- "env": {}
136
- }
137
- }
138
- ```
74
+ Use this path when the project already contains generated sdd-mcp files from an earlier release.
139
75
 
140
- Or with global installation:
141
- ```json
142
- {
143
- "sdd-server": {
144
- "command": "sdd-mcp-server",
145
- "args": [],
146
- "env": {}
147
- }
148
- }
149
- ```
76
+ 1. Commit or otherwise preserve the current repository state.
77
+ 2. Select the v4 target that the host actually uses. Existing Claude Code and Codex projects keep their native target; an OMP project previously using Codex files must select `omp`.
78
+ 3. Run one reversible refresh:
150
79
 
151
- ### Other MCP Clients
152
- Any MCP-compatible client can connect using stdio transport:
153
80
  ```bash
154
- # Use npx (no installation required)
155
- npx -y sdd-mcp-server@latest
156
-
157
- # Or install globally first
158
- npm install -g sdd-mcp-server@latest
159
- sdd-mcp-server
81
+ # Replace <target> with claude-code, codex, or omp
82
+ npx sdd-mcp-server@4.0.0 install \
83
+ --profile full \
84
+ --target <target> \
85
+ --refresh-generated
160
86
  ```
161
87
 
162
- ## 🎯 Agent Skills & Components (v3.5.0)
163
-
164
- SDD now uses a **hybrid architecture** for better token efficiency:
165
-
166
- - **MCP Tools**: Action-oriented operations (init, status, approve, quality-check, validate, spec-impl)
167
- - **Agent Skills**: Template/guidance-heavy operations (requirements, design, tasks, steering, implement, commit)
168
-
169
- ### Installing Components (v3.5.0)
170
-
171
- ```bash
172
- # Lean compatibility install (defaults to Claude Code when non-interactive)
173
- npx sdd-mcp-server install
174
-
175
- # Full install prompts for Codex or Claude Code in an interactive terminal
176
- npx sdd-mcp-server install --profile full
177
-
178
- # Automation and CI should select the target explicitly
179
- npx sdd-mcp-server install --profile full --target codex
180
- npx sdd-mcp-server install --profile full --target claude-code
181
-
182
- # Install selected components using that target's native paths
183
- npx sdd-mcp-server install --target codex --skills --rules --agents
184
- npx sdd-mcp-server install --target claude-code --skills --rules --agents
185
-
186
- # Install multiple component types
187
- npx sdd-mcp-server install --skills --rules --agents
188
-
189
- # List all available components
190
- npx sdd-mcp-server install --list
191
-
192
- # Legacy: Install skills only
193
- npx sdd-mcp-server install-skills
194
-
195
- # Compatibility and additional integrations
196
- npx sdd-mcp-server install --codex # Deprecated alias for --target codex
197
- npx sdd-mcp-server install --antigravity # + .agent/ symlinks for Google Antigravity
198
- npx sdd-mcp-server install --all-tools # + all tool integrations
199
- ```
200
-
201
- The installer creates only the selected primary target's native artifacts, preserves existing files, and updates the project's existing `.gitignore` with a managed block. `CLAUDE.md`, `AGENTS.md`, and `.spec/steering/` remain trackable.
202
-
203
- **Target paths:**
204
-
205
- | Component | Claude Code | Codex |
206
- |-----------|-------------|-------|
207
- | **Root guidance** | `CLAUDE.md` | `AGENTS.md` |
208
- | **Skills** | `.claude/skills/` | `.agents/skills/` |
209
- | **Steering** | `.spec/steering/` | `.spec/steering/` |
210
- | **Rules** | `.claude/rules/` | `.codex/guidance/rules/` |
211
- | **Contexts** | `.claude/contexts/` | `.codex/guidance/contexts/` |
212
- | **Agents** | `.claude/agents/*.md` | `.codex/agents/*.toml` |
213
- | **Hooks** | `.claude/hooks/` | `.codex/hooks.json`, `.codex/hooks/` |
214
-
215
- **Token-aware specialist routing:**
216
-
217
- | Work | Codex | Claude Code |
218
- |------|-------|-------------|
219
- | Planning, architecture, review, security | `gpt-5.6-sol` (`xhigh`) | `opus` |
220
- | Implementation and TDD (default) | `gpt-5.6-luna` (`max`) | `sonnet` |
221
-
222
- Codex uses `gpt-5.6-luna` as the default model for routed work. High-level advisor roles override that default with `gpt-5.6-sol` at xhigh effort. `gpt-5.6-terra` remains supported but is not selected by a default SDD role.
223
- For a detailed explanation of role selection, native agent metadata, delegation, and rerun behavior, see [Model Routing](docs/MODEL-ROUTING.md).
224
-
225
- ### Component Architecture & Relationships
226
-
227
- The 6 component types work together in a **layered guidance model**:
228
-
229
- ```
230
- ┌──────────────────────────────────────────────────────────────┐
231
- │ User Request │
232
- └──────────────────────────────────────────────────────────────┘
233
-
234
-
235
- ┌──────────────────────────────────────────────────────────────┐
236
- │ HOOKS (pre-tool-use) │
237
- │ • Validate workflow order (e.g., requirements before design)│
238
- │ • Check test coverage before implementation │
239
- │ • Triggered automatically on events │
240
- └──────────────────────────────────────────────────────────────┘
241
-
242
-
243
- ┌──────────────────────────────────────────────────────────────┐
244
- │ RULES (optional always-active profile) │
245
- │ • coding-style.md → TypeScript/JS conventions │
246
- │ • testing.md → TDD requirements │
247
- │ • security.md → OWASP guidelines │
248
- │ • Install only when your client benefits from always-on │
249
- │ rule files │
250
- └──────────────────────────────────────────────────────────────┘
251
-
252
-
253
- ┌──────────────────────────────────────────────────────────────┐
254
- │ CONTEXTS (mode-specific) │
255
- │ • dev.md → Implementation focus │
256
- │ • review.md → Quality focus │
257
- │ • planning.md → Architecture focus │
258
- │ • Activated based on current task type │
259
- └──────────────────────────────────────────────────────────────┘
260
-
261
-
262
- ┌──────────────────────────────────────────────────────────────┐
263
- │ AGENTS (specialized personas) │
264
- │ • reviewer.md → Linus-style code review │
265
- │ • architect.md → System design expertise │
266
- │ • implementer.md → TDD implementation │
267
- │ • Invoked for specific expertise needs │
268
- └──────────────────────────────────────────────────────────────┘
269
-
270
-
271
- ┌──────────────────────────────────────────────────────────────┐
272
- │ SKILLS (on-demand workflows) │
273
- │ • /sdd-requirements → EARS requirements template │
274
- │ • /sdd-design → Architecture design template │
275
- │ • /sdd-implement → Implementation checklist │
276
- │ • User-invoked via slash commands │
277
- └──────────────────────────────────────────────────────────────┘
278
-
279
-
280
- ┌──────────────────────────────────────────────────────────────┐
281
- │ STEERING (project-specific templates - v3.5.0) │
282
- │ • product.md → Product description │
283
- │ • tech.md → Technology stack │
284
- │ • structure.md → Project structure │
285
- │ • (Static guidance now in agents/rules/skills) │
286
- └──────────────────────────────────────────────────────────────┘
287
-
288
-
289
- ┌──────────────────────────────────────────────────────────────┐
290
- │ MCP TOOLS (actions) │
291
- │ • sdd-init, sdd-approve, sdd-status, sdd-spec-impl │
292
- │ • Execute actual operations │
293
- └──────────────────────────────────────────────────────────────┘
294
- ```
295
-
296
- **When Each Component Activates:**
297
- | Component | Activation | Example |
298
- |-----------|------------|---------|
299
- | **Rules** | Full profile/session start | `coding-style.md` enforces conventions when rules are installed |
300
- | **Contexts** | Task type detection | `review.md` activates when reviewing code |
301
- | **Agents** | Explicit invocation | `reviewer.md` invoked by `/sdd-review` skill |
302
- | **Skills** | User command (`/skill-name`) | `/sdd-requirements` loads requirements template |
303
- | **Steering** | Project customization | `/sdd-steering` generates `product.md`, `tech.md` |
304
- | **Hooks** | Events (pre/post tool, session) | `validate-sdd-workflow` runs before `sdd-design` |
305
-
306
- ### Migrating from .kiro to .spec (v2.1.0+)
307
-
308
- If you have existing projects using the legacy `.kiro` directory, migrate to the new `.spec` standard:
309
-
310
- ```bash
311
- # Preview migration (dry run)
312
- npx sdd-mcp-server migrate-kiro --dry-run
313
-
314
- # Perform migration
315
- npx sdd-mcp-server migrate-kiro
316
-
317
- # Migrate a specific project
318
- npx sdd-mcp-server migrate-kiro --path ./my-project
319
- ```
320
-
321
- **Note**: Legacy `.kiro` directories are still supported for backwards compatibility, but new projects will use `.spec`.
322
-
323
- ### Migrating Steering Documents (v3.1.0+)
324
-
325
- If you have existing projects with static steering documents, migrate to the new consolidated architecture:
326
-
327
- ```bash
328
- # Preview migration (dry run)
329
- npx sdd-mcp-server migrate-steering --dry-run
330
-
331
- # Perform migration (backs up existing steering first)
332
- npx sdd-mcp-server migrate-steering
333
-
334
- # Migrate a specific project
335
- npx sdd-mcp-server migrate-steering --path ./my-project
336
- ```
337
-
338
- **What this does:**
339
- - Backs up existing `.spec/steering/` to `.spec/steering.backup/`
340
- - Removes static steering docs (principles.md, tdd-guideline.md, linus-review.md, etc.)
341
- - Preserves project-specific templates (product.md, tech.md, structure.md)
342
- - The static content now lives in packaged `rules/`, `agents/`, and `skills/` sources and is rendered for the selected target
343
-
344
- ### Available Skills
345
-
346
- After installation, use these skills in the selected target agent:
347
-
348
- | Skill | Description |
349
- |-------|-------------|
350
- | `/simple-task <description>` | Quick implementation for small features, bug fixes, enhancements |
351
- | `/sdd-requirements <feature>` | Generate EARS-formatted requirements with embedded quality checklist |
352
- | `/sdd-design <feature>` | Create architecture design with Linus-style principles |
353
- | `/sdd-tasks <feature>` | Generate TDD task breakdown with test pyramid guidance |
354
- | `/sdd-implement <feature>` | Implementation guidelines with SOLID, security, TDD |
355
- | `/sdd-steering` | Create/update project-specific steering documents |
356
- | `/sdd-steering-custom` | Create custom steering with inclusion modes |
357
- | `/sdd-commit` | Commit/PR guidelines with conventional commits |
358
- | `/sdd-review` | **NEW in v3.0** - Linus-style direct code review with severity levels |
359
- | `/sdd-security-check` | **NEW in v3.0** - OWASP Top 10 security audit checklist |
360
- | `/sdd-test-gen` | **NEW in v3.0** - TDD test generation with Red-Green-Refactor workflow |
88
+ The refresh backs up selected generated files under `.sdd-mcp/backups/<timestamp>/<target>/`, removes recognized obsolete package output, and establishes `.sdd-mcp/install-manifest.json`. Project source, `.spec/specs/`, user steering, unknown files, and modified generated files remain untouched; modified files are reported as conflicts for manual review.
361
89
 
362
- ### Token Efficiency
90
+ For an OMP migration, Codex TOML agents remain preserved but are not executable OMP agents. The new native files are written under `.omp/`.
363
91
 
364
- **Old Design** (static steering): ~3,800 tokens loaded for every operation
365
- **New Design** (skills): ~1,700 tokens loaded only when skill invoked
366
- **Lean Install** (default): avoids installing rules, contexts, and agents unless requested
367
- **Automatic Handoffs**: phase approvals write compact `.spec/specs/{feature}/context/handoff.md` summaries and `sdd-context-load` uses them by default
92
+ After this one-time migration, use a normal install without `--refresh-generated` for subsequent v4 updates. Review any reported conflicts before deleting old target directories.
368
93
 
369
- **Savings**: ~55% fewer tokens in typical operations, with further savings from lean install and compact handoffs. On typical specs, compact handoff loading targets a 60-85% reduction versus loading full `requirements.md`, `design.md`, and `tasks.md`.
94
+ ## Canonical v4 MCP runtime
370
95
 
371
- ### Automatic Context Handoffs
96
+ Every packaged entrypoint exposes the same 16 tools:
372
97
 
373
- To reduce context growth during long SDD workflows, approval tools automatically compact phase context:
98
+ 1. `sdd-init`
99
+ 2. `sdd-requirements`
100
+ 3. `sdd-design`
101
+ 4. `sdd-tasks`
102
+ 5. `sdd-implement`
103
+ 6. `sdd-status`
104
+ 7. `sdd-approve`
105
+ 8. `sdd-review-test-cases`
106
+ 9. `sdd-quality-check`
107
+ 10. `sdd-context-load`
108
+ 11. `sdd-template-render`
109
+ 12. `sdd-steering`
110
+ 13. `sdd-steering-custom`
111
+ 14. `sdd-validate-design`
112
+ 15. `sdd-validate-gap`
113
+ 16. `sdd-spec-impl`
374
114
 
375
- ```text
376
- sdd-approve requirements -> .spec/specs/{feature}/context/requirements-handoff.md
377
- sdd-approve design -> .spec/specs/{feature}/context/design-handoff.md
378
- sdd-approve tasks -> .spec/specs/{feature}/context/tasks-handoff.md
379
- latest approved context -> .spec/specs/{feature}/context/handoff.md
380
- ```
115
+ Feature-scoped tools use `featureName`; v4 removes public `projectId` locators. `sdd-list-skills` is not a runtime tool because hosts already discover installed skills and the installer supports `--list`.
381
116
 
382
- `sdd-context-load` defaults to compact mode and loads `handoff.md` instead of all phase documents.
117
+ ## Compact continuation and ETags
383
118
 
384
- Use explicit modes when needed:
119
+ Context loading defaults to compact mode and uses the latest approved phase:
385
120
 
386
121
  ```json
387
- { "featureName": "auth-flow", "mode": "compact" }
388
- { "featureName": "auth-flow", "mode": "standard" }
389
- { "featureName": "auth-flow", "mode": "full" }
390
- ```
391
-
392
- - `compact`: handoff only, best for routine continuation.
393
- - `standard`: handoff plus current `spec.json`.
394
- - `full`: all phase documents, for audits or ambiguous decisions.
395
-
396
- ## 📋 Available MCP Tools
397
-
398
- Once connected to your AI client, you can use these MCP tools:
399
-
400
- | Tool | Description | Usage |
401
- |------|-------------|--------|
402
- | `sdd-init` | Initialize new SDD project with interactive clarification | Analyzes description quality (0-100 score), blocks if < 70%, asks targeted WHY/WHO/WHAT questions |
403
- | `sdd-status` | Check workflow progress | Shows current phase and approvals for features |
404
- | `sdd-approve` | Approve workflow phases | Mark phases (requirements, design, tasks) as approved |
405
- | `sdd-review-test-cases` | Approve optional TDD test-case checkpoint | Use before approving tasks when test-case review is enabled |
406
- | `sdd-quality-check` | Code quality analysis | Linus-style 5-layer code review |
407
- | `sdd-context-load` | Load project context | Defaults to compact handoff context; use `mode: "full"` only when needed |
408
- | `sdd-validate-design` | Design quality validation | Interactive GO/NO-GO design review |
409
- | `sdd-validate-gap` | Implementation gap analysis | Analyze requirements vs codebase |
410
- | `sdd-spec-impl` | Execute tasks with TDD | Kent Beck's Red-Green-Refactor methodology |
411
- | `sdd-list-skills` | List available Agent Skills | Shows skills that can be installed for the selected target agent |
412
-
413
- > **Note**: Template/guidance tools (`sdd-requirements`, `sdd-design`, `sdd-tasks`, `sdd-steering`, `sdd-implement`) are now **Agent Skills**. Install them with the target-aware `install` command and use them as `/sdd-requirements`, `/sdd-design`, etc.
414
-
415
- ## 💡 Basic Workflow
416
-
417
- 1. **Setup: Install Target Components, Initialize Project**
418
- ```bash
419
- # Interactive full install, or pass --target explicitly in automation
420
- npx sdd-mcp-server install --profile full
421
-
422
- # Initialize project with MCP tool
423
- Use sdd-init to create a new SDD project
424
-
425
- # Generate project-specific steering documents with Agent Skill
426
- Use /sdd-steering to generate product.md, tech.md, structure.md
427
- ```
428
-
429
- 2. **Generate Requirements (Agent Skill)**
430
- ```
431
- Use /sdd-requirements <feature-name> to analyze your project
432
- Automatically detects: language, framework, build tools, test frameworks
433
- Creates EARS-formatted requirements with embedded quality checklist
434
- Use sdd-validate-gap (MCP tool) to analyze implementation feasibility
435
- ```
436
-
437
- 3. **Create Design (Agent Skill)**
438
- ```
439
- Use /sdd-design <feature-name> to generate architecture
440
- Includes: component structure, data models, API design, Linus principles
441
- Use sdd-validate-design (MCP tool) for GO/NO-GO design review
442
- Use sdd-approve (MCP tool) to approve the design phase
443
- ```
444
-
445
- 4. **Plan Tasks with TDD (Agent Skill)**
446
- ```
447
- Use /sdd-tasks <feature-name> to create TDD-focused task breakdown
448
- Includes test pyramid guidance (70/20/10 ratio)
449
- Tasks follow RED-GREEN-REFACTOR workflow automatically
450
- Optional: enable test-case review checkpoint before implementation
451
- If enabled, run sdd-review-test-cases before approving tasks
452
- Use sdd-approve (MCP tool) to approve the tasks phase
453
- ```
454
-
455
- 5. **Implement with TDD (Agent Skill + MCP Tool)**
456
- ```
457
- Use /sdd-implement <feature-name> for implementation guidelines
458
- Use sdd-spec-impl (MCP tool) to execute tasks with TDD methodology
459
- Use sdd-quality-check (MCP tool) for Linus-style code review
460
- ```
461
-
462
- 6. **Commit Changes (Agent Skill)**
463
- ```
464
- Use /sdd-commit for commit message and PR guidelines
465
- Follow conventional commits format
466
- ```
467
-
468
- 7. **Monitor & Manage (MCP Tools)**
469
- ```
470
- Use sdd-status to check workflow progress and phase approvals
471
- Use sdd-context-load to restore compact project memory
472
- ```
473
-
474
- ## ⚙️ Configuration
475
-
476
- ### Environment Variables
477
- ```bash
478
- # Basic configuration
479
- export LOG_LEVEL=info # debug, info, warn, error
480
- export DEFAULT_LANG=en # en, es, fr, de, it, pt, ru, ja, zh, ko
481
-
482
- # Document generation behavior
483
- export SDD_ALLOW_TEMPLATE_FALLBACK=false # true to allow fallback templates when module loading fails
484
- # false (default) to fail fast with actionable errors
485
-
486
- # Advanced configuration (optional)
487
- export PLUGIN_DIR=/path/to/plugins
488
- export TEMPLATE_DIR=/path/to/templates
489
- export MAX_PLUGINS=50
490
- export HOOK_TIMEOUT=10000
122
+ { "featureName": "checkout", "mode": "compact" }
491
123
  ```
492
124
 
493
- #### Module Loading and Fallback Behavior
125
+ Save the returned `fingerprint`. On the next unchanged load, send it as `ifNoneMatch`:
494
126
 
495
- By default, the SDD server requires actual codebase analysis to generate steering documents and specifications. If module loading fails (e.g., running from source without building), commands will error with helpful messages:
496
-
497
- ```bash
498
- # Default behavior - fail fast with clear error
499
- sdd-steering
500
- # Error: Failed to load documentGenerator: ...
501
- # To use template fallbacks, set SDD_ALLOW_TEMPLATE_FALLBACK=true or run 'npm run build'
127
+ ```json
128
+ { "featureName": "checkout", "mode": "compact", "ifNoneMatch": "<fingerprint>" }
502
129
  ```
503
130
 
504
- To allow fallback templates when modules cannot be loaded:
131
+ A matching exact response fingerprint returns a short `not-modified` envelope without duplicate context. Compact, standard, and full default bounds are 2,048, 4,096, and 16,384 `estimatedTokens`. Full mode never silently truncates raw documents.
505
132
 
506
- ```bash
507
- # Allow fallback templates (useful for development/debugging)
508
- export SDD_ALLOW_TEMPLATE_FALLBACK=true
509
- sdd-steering
510
- # ⚠️ Warning: Using fallback templates - documents will contain generic content
511
- ```
133
+ ## Context and usage measurement
512
134
 
513
- **Recommendation**: Keep fallback disabled in production to ensure all generated documents reflect your actual codebase.
135
+ Run the packaged offline reporter:
514
136
 
515
- ### Claude Code Integration Example
516
137
  ```bash
517
- # Install globally first
518
- npm install -g sdd-mcp-server@latest
519
-
520
- # Add to Claude Code with environment variables
521
- claude mcp add sdd "sdd-mcp-server"
522
-
523
- # Manual configuration in ~/.mcp.json:
524
- {
525
- "servers": {
526
- "sdd": {
527
- "type": "stdio",
528
- "command": "sdd-mcp-server",
529
- "args": [],
530
- "env": {
531
- "LOG_LEVEL": "info",
532
- "DEFAULT_LANG": "en"
533
- }
534
- }
535
- }
536
- }
138
+ npx sdd-mcp-server context-report
139
+ npx sdd-mcp-server context-report --before ./baseline-sessions --after ./v4-sessions
140
+ npx sdd-mcp-server context-report --json
537
141
  ```
538
142
 
539
- ## 🏗️ Key Features
540
-
541
- ### Core SDD Workflow
542
- - **5-Phase SDD Workflow**: INIT → REQUIREMENTS → DESIGN → TASKS → IMPLEMENTATION
543
- - **TDD-First Task Generation**: All implementation tasks follow Test-Driven Development (RED-GREEN-REFACTOR) methodology
544
- - **EARS-Formatted Requirements**: Generate acceptance criteria based on actual npm scripts and dependencies
545
- - **Quality Enforcement**: Linus-style 5-layer code review system with security (OWASP Top 10) checks
546
-
547
- ### Plugin Architecture (v3.5.0)
548
- - **6 Component Types**: Skills, Steering, Rules, Contexts, Agents, Hooks for comprehensive AI guidance
549
- - **Specialized Agents**: Planner, Architect, Reviewer, Implementer, Security-Auditor, TDD-Guide personas
550
- - **Always-Active Rules**: Coding-style, Testing, Security, Git-workflow, Error-handling enforcement
551
- - **Mode-Specific Contexts**: Development, Review, Planning, Security-audit, Research modes
552
- - **Event-Driven Hooks**: Pre/post tool-use and session lifecycle automation
553
- - **Plugin Manifest**: `.claude-plugin/plugin.json` for Claude Code integration
554
-
555
- ### Codebase Analysis
556
- - **Comprehensive Multi-Language Analysis**: Automatic detection of TypeScript, JavaScript, Java, Python, Go, Ruby, PHP, Rust, C#, Scala projects with framework-specific insights
557
- - **Framework Detection**: Recognizes Spring Boot, Django, FastAPI, Flask, Rails, Laravel, Express, React, Vue, Angular, Next.js, and 20+ other frameworks
558
- - **Architecture Pattern Recognition**: Detects DDD, MVC, Microservices, Clean Architecture patterns in your codebase
559
- - **Context-Aware Generation**: Analyzes package.json, dependencies, build tools, test frameworks, and project structure for real content
560
-
561
- ### Guidelines & Standards
562
- - **Coding Principles Enforcement**: Built-in SOLID, DRY, KISS, YAGNI, Separation of Concerns, and Modularity guidance
563
- - **Project Steering Documents**: Project-specific `product.md`, `tech.md`, and `structure.md` docs, with static guidance consolidated into installable skills/rules/agents
564
- - **Multi-Language Support**: 10 languages with cultural adaptation (en, es, fr, de, it, pt, ru, ja, zh, ko)
565
- - **Template Engine**: Handlebars-based file generation with project-specific data
566
- - **Plugin System**: Extensible architecture for custom workflows
567
- - **MCP Protocol**: Full compatibility with AI-agent CLIs and IDEs
568
-
569
- ## 🔍 Example: Complete SDD Workflow
570
-
571
- Here's how to use the MCP SDD Server in your AI client:
572
-
573
- ```bash
574
- # 1. Initialize a new project
575
- "Use the sdd-init tool to create a project called 'my-web-app'
576
- for a React/TypeScript application with user authentication"
577
-
578
- # 2. Generate steering documents
579
- "Use /sdd-steering to analyze my codebase and update project steering documents"
580
- # Result: product.md, tech.md, and structure.md describe your project
143
+ The deterministic repository estimate is `ceil(characters / 4)` and is always labeled `estimatedTokens`; it is not an actual GPT or Claude tokenizer count. Reports keep repository static payload, invoked/dynamic payload, provider-reported usage, and unobservable host payload separate. Provider input, output, cache, reasoning-normalization, and monetary cost are only compared when the adapters and billing data are comparable.
581
144
 
582
- # 3. Generate requirements with comprehensive analysis
583
- "Use sdd-requirements to analyze the project and create requirements.md"
584
- # Result: Detects TypeScript, React, npm, Jest, and generates EARS-formatted requirements
145
+ Fresh full-install static payload measurements versus the v3.5.1 baseline fell by **74.37% for Codex**, **83.21% for OMP**, and **95.64% for Claude Code**. These are byte-derived repository static reductions, not provider token or cost claims.
585
146
 
586
- # 4. Create technical design
587
- "Use sdd-design to generate architecture based on my React/TypeScript stack"
588
- # Result: Component structure, state management design, API integration patterns
147
+ Three-run fresh-session A/B comparisons used comparable provider-reported median cost. v4 improved simple task by **6.83%**, medium implementation by **11.79%**, requirements by **14.09%**, design by **9.12%**, security by **1.74%**, and repeated context by **1.87%**. All task-quality checks passed. Static and observed measurements are reported separately because installed bytes cannot predict hidden host prompts, caching, reasoning, or orchestration cost.
589
148
 
590
- # 5. Validate design quality
591
- "Use sdd-validate-design to review the architecture for potential issues"
592
- # Result: GO/NO-GO assessment with improvement recommendations
149
+ ## Routing summary
593
150
 
594
- # 6. Plan TDD-focused implementation tasks
595
- "Use sdd-tasks to break down the work into TDD implementation phases"
596
- # Result: Tasks organized as RED (tests) → GREEN (implementation) → REFACTOR (quality)
151
+ Claude executes a skill in the current turn with its routed Opus or Sonnet model override. Codex may request one generated Sol/xhigh custom advisor for high-level work. OMP runs high-level work inline on the Sol/medium parent by default: real A/B showed automatic Sol/xhigh child requests increased median cost. OMP’s `.omp/agents` Sol/xhigh advisors are explicit opt-in only, allow one child, and cannot nest or retry. Implementation, TDD, and simple tasks remain inline on Sol/medium unless genuinely independent parallel slices justify delegation.
597
152
 
598
- # 7. Implement with TDD
599
- "Use sdd-spec-impl to execute the authentication tasks with TDD methodology"
600
- # Result: Test-first development using installed skill and agent guidance
153
+ See [docs/MODEL-ROUTING.md](docs/MODEL-ROUTING.md) for enforcement and fallback boundaries.
601
154
 
602
- # 8. Review code quality
603
- "Use sdd-quality-check to perform Linus-style code review with SOLID principles check"
604
- # Result: 5-layer analysis + SOLID/DRY/KISS validation + security checks
155
+ ## Project guidance sources
605
156
 
606
- # 9. Check workflow status
607
- "Use sdd-status to check workflow progress and phase approvals"
608
- # Result: Phase completion status and approval tracking
609
- ```
157
+ - **Design Principles**: `rules/coding-style.md`
158
+ - **TDD Methodology**: `agents/tdd-guide.md`
159
+ - **Security Guidance**: `rules/security.md`
160
+ - **Workflow**: [docs/WORKFLOW.md](docs/WORKFLOW.md)
161
+ - **Architecture**: [ARCHITECTURE.md](ARCHITECTURE.md)
610
162
 
611
- ## 🛠️ Development & Troubleshooting
163
+ ## Development
612
164
 
613
- ### Local Development
614
165
  ```bash
615
166
  git clone https://github.com/yi-john-huang/sdd-mcp.git
616
167
  cd sdd-mcp
617
168
  npm install
618
- npm run dev # Development mode with hot reload
619
- ```
620
-
621
- ### Testing
622
- ```bash
623
- npm test # Run all tests
624
- npm run test:coverage # Run with coverage report
625
- ```
626
-
627
- ### Common Issues
628
-
629
- **Issue: "Cannot find module sdd-mcp-server"**
630
- ```bash
631
- # Clear npm cache and reinstall
632
- npm cache clean --force
633
- npm install -g sdd-mcp-server
634
- ```
635
-
636
- **Issue: "Connection fails with npx"**
637
-
638
- ⚠️ **Known Issue**: npx execution may have timing issues with Claude Code health checks.
639
-
640
- **Solution**: Use global installation instead:
641
- ```bash
642
- # Don't use: npx -y sdd-mcp-server@latest
643
- # Instead, install globally:
644
- npm install -g sdd-mcp-server@latest
645
- claude mcp add sdd "sdd-mcp-server" -s local
646
- ```
647
-
648
- **Issue: "MCP server not responding or Failed to connect"**
649
-
650
- *Fixed in v1.1.21*: Use global installation instead of npx for reliable connections.
651
-
652
- ```bash
653
- # Install globally first
654
- npm install -g sdd-mcp-server@latest
655
-
656
- # Test server directly
657
- echo '{"jsonrpc": "2.0", "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}, "id": 1}' | sdd-mcp-server
658
-
659
- # Check Claude MCP status
660
- claude mcp list
661
-
662
- # Re-add server to Claude MCP (forces refresh)
663
- claude mcp remove sdd -s local
664
- claude mcp add sdd "sdd-mcp-server" -s local
665
-
666
- # Alternative: Use local development version for faster startup
667
- git clone https://github.com/yi-john-huang/sdd-mcp.git
668
- cd sdd-mcp
669
- claude mcp add sdd "$(pwd)/mcp-server.js" -s local
670
- ```
671
-
672
- **Issue: "Permission denied"**
673
- ```bash
674
- # Fix permissions for global install
675
- sudo npm install -g sdd-mcp-server
676
- ```
677
-
678
- **Issue: "Only template content generated" (Improved in v1.4.3)**
679
-
680
- As of v1.4.3, comprehensive codebase analysis is automatic with multi-language detection. Documents include real framework, build tool, and architecture information. If you still see a basic template:
681
- - Check the tool response message — it shows "✅ Comprehensive codebase analysis" or "⚠️ Basic template (analysis failed)"
682
- - Check the top of the generated file for warning headers with error details
683
- - Common causes: missing package.json, permissions issues, or unsupported project structure
684
- - Fix the issue and rerun the tool to get comprehensive analysis
685
-
686
- ## 📖 Advanced Documentation
687
-
688
- For detailed documentation on:
689
- - **📥 Installation Guide**: See [docs/INSTALL-GUIDE.md](docs/INSTALL-GUIDE.md) for complete CLI usage examples with real output
690
- - **🔄 Workflow Diagrams**: See [docs/WORKFLOW.md](docs/WORKFLOW.md) for sequence diagrams showing component interactions
691
- - **🤖 AI Agent Guide**: See [AGENTS.md](AGENTS.md) for detailed instructions on using this server with AI agents
692
- - **🏗️ Architecture Overview**: See [ARCHITECTURE.md](ARCHITECTURE.md) for complete system design, layered architecture, module loading, and Mermaid diagrams
693
- - **📦 Plugin Manifest**: See [.claude-plugin/plugin.json](.claude-plugin/plugin.json) for Claude Code plugin configuration
694
- - **Plugin Development**: See [DEPLOYMENT.md](DEPLOYMENT.md)
695
- - **Docker Deployment**: See [Dockerfile](Dockerfile) and [docker-compose.yml](docker-compose.yml)
696
-
697
- **Component Documentation (v3.5.0)**:
698
- - **Rules**: See `rules/*.md` for always-active coding guidelines
699
- - **Contexts**: See `contexts/*.md` for mode-specific system prompts
700
- - **Agents**: See `agents/*.md` for specialized AI personas
701
- - **Hooks**: See `hooks/**/*.md` for event-driven automation
702
-
703
- **Steering Documents (v3.5.0)**:
704
-
705
- Static steering content has been consolidated into enhanced components:
706
- - **Design Principles**: `rules/coding-style.md` (includes SOLID, DRY, KISS, YAGNI, SoC)
707
- - **TDD Methodology**: `agents/tdd-guide.md` (Red-Green-Refactor workflow)
708
- - **Code Review**: `agents/reviewer.md` (Linus-style 5-layer thinking)
709
- - **Security Checklist**: `agents/security-auditor.md` (OWASP Top 10)
710
-
711
- The installer renders these sources into the Claude Code or Codex paths shown in the target table above.
712
-
713
- The `.spec/steering/` directory now contains only project-specific templates:
714
- - `product.md` - Product description template
715
- - `tech.md` - Technology stack template
716
- - `structure.md` - Project structure template
717
-
718
- **Migration from v3.0**: Run `npx sdd-mcp-server migrate-steering` to update existing projects.
719
-
720
- ## 🐛 Support & Issues
721
-
722
- - **GitHub Issues**: [Report bugs or request features](https://github.com/yi-john-huang/sdd-mcp/issues)
723
- - **Repository**: [yi-john-huang/sdd-mcp](https://github.com/yi-john-huang/sdd-mcp)
724
- - **License**: MIT
725
-
726
- ## 🚀 Quick Links
727
-
728
- - [npm package](https://www.npmjs.com/package/sdd-mcp-server)
729
- - [Docker image](https://ghcr.io/yi-john-huang/sdd-mcp)
730
- - [Source code](https://github.com/yi-john-huang/sdd-mcp)
731
- - [Issues](https://github.com/yi-john-huang/sdd-mcp/issues)
732
-
733
- ---
734
-
735
- **Ready to get started?**
736
- ```bash
737
- # Install globally first
738
- npm install -g sdd-mcp-server@latest
739
-
740
- # For Claude Code users:
741
- claude mcp add sdd "sdd-mcp-server"
742
-
743
- # For direct usage:
744
- sdd-mcp-server
169
+ npm run build
170
+ npm test
745
171
  ```
746
172
 
747
- Built for the AI development community 🤖✨
173
+ MIT licensed. See [CHANGELOG.md](CHANGELOG.md) for release history.