specky-sdd 3.7.3 → 3.9.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 (140) hide show
  1. package/.apm/agents/{design-architect.agent.md → specky-design-architect.agent.md} +2 -2
  2. package/.apm/agents/{implementer.agent.md → specky-implementer.agent.md} +9 -9
  3. package/.apm/agents/specky-onboarding.agent.md +2 -2
  4. package/.apm/agents/specky-orchestrator.agent.md +10 -10
  5. package/.apm/agents/{quality-reviewer.agent.md → specky-quality-reviewer.agent.md} +6 -6
  6. package/.apm/agents/{release-engineer.agent.md → specky-release-engineer.agent.md} +11 -11
  7. package/.apm/agents/{requirements-engineer.agent.md → specky-requirements-engineer.agent.md} +8 -8
  8. package/.apm/agents/{research-analyst.agent.md → specky-research-analyst.agent.md} +9 -9
  9. package/.apm/agents/{sdd-clarify.agent.md → specky-sdd-clarify.agent.md} +4 -3
  10. package/.apm/agents/{sdd-init.agent.md → specky-sdd-init.agent.md} +3 -3
  11. package/.apm/agents/{spec-engineer.agent.md → specky-spec-engineer.agent.md} +2 -2
  12. package/.apm/agents/{task-planner.agent.md → specky-task-planner.agent.md} +2 -2
  13. package/.apm/agents/{test-verifier.agent.md → specky-test-verifier.agent.md} +2 -2
  14. package/.apm/hooks/scripts/{artifact-validator.sh → specky-artifact-validator.sh} +11 -11
  15. package/.apm/hooks/scripts/{auto-checkpoint.sh → specky-auto-checkpoint.sh} +1 -1
  16. package/.apm/hooks/scripts/{branch-validator.sh → specky-branch-validator.sh} +3 -3
  17. package/.apm/hooks/scripts/{cognitive-debt-alert.sh → specky-cognitive-debt-alert.sh} +1 -1
  18. package/.apm/hooks/scripts/{drift-monitor.sh → specky-drift-monitor.sh} +1 -1
  19. package/.apm/hooks/scripts/{ears-validator.sh → specky-ears-validator.sh} +1 -1
  20. package/.apm/hooks/scripts/{lgtm-gate.sh → specky-lgtm-gate.sh} +1 -1
  21. package/.apm/hooks/scripts/{metrics-dashboard.sh → specky-metrics-dashboard.sh} +2 -2
  22. package/.apm/hooks/scripts/{phase-gate.sh → specky-phase-gate.sh} +1 -1
  23. package/.apm/hooks/scripts/{pipeline-guard.sh → specky-pipeline-guard.sh} +3 -3
  24. package/.apm/hooks/scripts/{release-gate.sh → specky-release-gate.sh} +1 -1
  25. package/.apm/hooks/scripts/{security-scan.sh → specky-security-scan.sh} +2 -2
  26. package/.apm/hooks/scripts/{session-banner.sh → specky-session-banner.sh} +4 -4
  27. package/.apm/hooks/scripts/{spec-quality.sh → specky-spec-quality.sh} +1 -1
  28. package/.apm/hooks/scripts/{spec-sync.sh → specky-spec-sync.sh} +2 -2
  29. package/.apm/hooks/scripts/{task-tracer.sh → specky-task-tracer.sh} +1 -1
  30. package/.apm/hooks/sdd-hooks.json +51 -51
  31. package/.apm/hooks/specky-run.sh +32 -0
  32. package/.apm/instructions/claude-instructions.instructions.md +74 -0
  33. package/.apm/instructions/copilot-instructions.instructions.md +19 -25
  34. package/.apm/instructions/cursor-instructions.instructions.md +20 -0
  35. package/.apm/prompts/specky-api.prompt.md +2 -2
  36. package/.apm/prompts/specky-brownfield.prompt.md +2 -2
  37. package/.apm/prompts/specky-clarify.prompt.md +1 -1
  38. package/.apm/prompts/specky-debug-hook.prompt.md +1 -1
  39. package/.apm/prompts/specky-deploy.prompt.md +1 -1
  40. package/.apm/prompts/specky-design.prompt.md +1 -1
  41. package/.apm/prompts/specky-from-meeting.prompt.md +1 -1
  42. package/.apm/prompts/specky-greenfield.prompt.md +2 -2
  43. package/.apm/prompts/specky-implement.prompt.md +1 -1
  44. package/.apm/prompts/specky-migration.prompt.md +3 -3
  45. package/.apm/prompts/specky-onboarding.prompt.md +1 -0
  46. package/.apm/prompts/specky-pipeline-status.prompt.md +1 -0
  47. package/.apm/prompts/specky-release.prompt.md +1 -1
  48. package/.apm/prompts/specky-research.prompt.md +1 -1
  49. package/.apm/prompts/specky-specify.prompt.md +1 -1
  50. package/.apm/prompts/specky-tasks.prompt.md +1 -1
  51. package/.apm/prompts/specky-verify.prompt.md +1 -1
  52. package/.apm/skills/specky-design-architect/SKILL.md +21 -0
  53. package/.apm/skills/{implementer → specky-implementer}/SKILL.md +3 -3
  54. package/.apm/skills/specky-onboarding/SKILL.md +37 -31
  55. package/.apm/skills/specky-orchestrator/SKILL.md +28 -28
  56. package/.apm/skills/specky-quality-reviewer/SKILL.md +28 -0
  57. package/.apm/skills/{release-engineer → specky-release-engineer}/SKILL.md +7 -7
  58. package/.apm/skills/{research-analyst → specky-research-analyst}/SKILL.md +2 -2
  59. package/.apm/skills/specky-sdd-clarify/SKILL.md +25 -0
  60. package/.apm/skills/specky-sdd-init/SKILL.md +28 -0
  61. package/.apm/skills/{sdd-markdown-standard → specky-sdd-markdown-standard}/SKILL.md +2 -2
  62. package/.apm/skills/{sdd-pipeline → specky-sdd-pipeline}/SKILL.md +42 -49
  63. package/.apm/skills/specky-spec-engineer/SKILL.md +27 -0
  64. package/.apm/skills/specky-task-planner/SKILL.md +20 -0
  65. package/.apm/skills/{test-verifier → specky-test-verifier}/SKILL.md +2 -2
  66. package/CHANGELOG.md +57 -0
  67. package/README.md +189 -96
  68. package/apm-policy.yml +19 -0
  69. package/apm.lock.yaml +70 -61
  70. package/apm.yml +10 -7
  71. package/config.yml +35 -33
  72. package/dist/claude-hooks.json +51 -51
  73. package/dist/cli/commands/compile.d.ts +7 -0
  74. package/dist/cli/commands/compile.d.ts.map +1 -0
  75. package/dist/cli/commands/compile.js +127 -0
  76. package/dist/cli/commands/compile.js.map +1 -0
  77. package/dist/cli/commands/doctor.d.ts.map +1 -1
  78. package/dist/cli/commands/doctor.js +167 -18
  79. package/dist/cli/commands/doctor.js.map +1 -1
  80. package/dist/cli/commands/hooks.js +2 -2
  81. package/dist/cli/commands/hooks.js.map +1 -1
  82. package/dist/cli/commands/init.d.ts +1 -0
  83. package/dist/cli/commands/init.d.ts.map +1 -1
  84. package/dist/cli/commands/init.js +121 -19
  85. package/dist/cli/commands/init.js.map +1 -1
  86. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  87. package/dist/cli/commands/upgrade.js +5 -2
  88. package/dist/cli/commands/upgrade.js.map +1 -1
  89. package/dist/cli/index.js +21 -2
  90. package/dist/cli/index.js.map +1 -1
  91. package/dist/cli/lib/apm/policy.d.ts.map +1 -1
  92. package/dist/cli/lib/apm/policy.js +47 -33
  93. package/dist/cli/lib/apm/policy.js.map +1 -1
  94. package/dist/cli/lib/asset-copier.d.ts +13 -0
  95. package/dist/cli/lib/asset-copier.d.ts.map +1 -1
  96. package/dist/cli/lib/asset-copier.js +107 -32
  97. package/dist/cli/lib/asset-copier.js.map +1 -1
  98. package/dist/cli/lib/gitignore-writer.d.ts.map +1 -1
  99. package/dist/cli/lib/gitignore-writer.js +11 -0
  100. package/dist/cli/lib/gitignore-writer.js.map +1 -1
  101. package/dist/cli/lib/harness/compilers/agent-skills.d.ts +7 -0
  102. package/dist/cli/lib/harness/compilers/agent-skills.d.ts.map +1 -0
  103. package/dist/cli/lib/harness/compilers/agent-skills.js +23 -0
  104. package/dist/cli/lib/harness/compilers/agent-skills.js.map +1 -0
  105. package/dist/cli/lib/harness/compilers/cursor.d.ts +8 -0
  106. package/dist/cli/lib/harness/compilers/cursor.d.ts.map +1 -0
  107. package/dist/cli/lib/harness/compilers/cursor.js +28 -0
  108. package/dist/cli/lib/harness/compilers/cursor.js.map +1 -0
  109. package/dist/cli/lib/harness/compilers/opencode.d.ts +7 -0
  110. package/dist/cli/lib/harness/compilers/opencode.d.ts.map +1 -0
  111. package/dist/cli/lib/harness/compilers/opencode.js +26 -0
  112. package/dist/cli/lib/harness/compilers/opencode.js.map +1 -0
  113. package/dist/cli/lib/harness/index.d.ts.map +1 -1
  114. package/dist/cli/lib/harness/index.js +6 -0
  115. package/dist/cli/lib/harness/index.js.map +1 -1
  116. package/dist/cli/lib/harness/tool-map.d.ts.map +1 -1
  117. package/dist/cli/lib/harness/tool-map.js +23 -1
  118. package/dist/cli/lib/harness/tool-map.js.map +1 -1
  119. package/dist/cli/lib/harness/types.d.ts +2 -2
  120. package/dist/cli/lib/harness/types.d.ts.map +1 -1
  121. package/dist/cli/lib/mcp-writer.d.ts +1 -0
  122. package/dist/cli/lib/mcp-writer.d.ts.map +1 -1
  123. package/dist/cli/lib/mcp-writer.js +5 -1
  124. package/dist/cli/lib/mcp-writer.js.map +1 -1
  125. package/dist/cli/lib/paths.d.ts +19 -0
  126. package/dist/cli/lib/paths.d.ts.map +1 -1
  127. package/dist/cli/lib/paths.js +21 -0
  128. package/dist/cli/lib/paths.js.map +1 -1
  129. package/dist/copilot-hooks.json +46 -46
  130. package/dist/cursor-hooks.json +288 -0
  131. package/dist/index.js +2 -3
  132. package/dist/index.js.map +1 -1
  133. package/dist/services/state-machine.d.ts +4 -3
  134. package/dist/services/state-machine.d.ts.map +1 -1
  135. package/dist/services/state-machine.js +17 -9
  136. package/dist/services/state-machine.js.map +1 -1
  137. package/package.json +6 -7
  138. package/site/specky-icon.png +0 -0
  139. /package/.apm/skills/{sdd-pipeline → specky-sdd-pipeline}/references/ears-notation.md +0 -0
  140. /package/.apm/skills/{sdd-pipeline → specky-sdd-pipeline}/references/model-routing.md +0 -0
package/README.md CHANGED
@@ -1,33 +1,33 @@
1
1
  <div align="center">
2
2
  <br>
3
- <img src="media/specky-brand-logo.svg" alt="Specky" height="80">
3
+ <img src="site/specky-brand-logo.svg" alt="Specky" height="80">
4
4
  <br><br>
5
5
  <p><strong>13 agents. 58 MCP tools. 10-phase pipeline. One CLI.</strong></p>
6
6
  <p>Agentic Spec-Driven Development</p>
7
7
 
8
8
  <p>
9
- <img src="https://img.shields.io/badge/agents-13-7c3aed?style=flat-square" alt="13 Agents"/>
10
- <img src="https://img.shields.io/badge/tools-58_MCP-6d28d9?style=flat-square" alt="58 Tools"/>
11
- <img src="https://img.shields.io/badge/phases-10_enforced-5b21b6?style=flat-square" alt="10 Phases"/>
12
- <img src="https://img.shields.io/badge/hooks-16-4c1d95?style=flat-square" alt="16 Hooks"/>
13
- <img src="https://img.shields.io/badge/license-MIT-a78bfa?style=flat-square" alt="MIT"/>
9
+ <img src="https://img.shields.io/badge/agents-13-374151?style=flat-square" alt="13 Agents"/>
10
+ <img src="https://img.shields.io/badge/tools-58_MCP-4b5563?style=flat-square" alt="58 Tools"/>
11
+ <img src="https://img.shields.io/badge/phases-10_enforced-6b7280?style=flat-square" alt="10 Phases"/>
12
+ <img src="https://img.shields.io/badge/hooks-16-9ca3af?style=flat-square" alt="16 Hooks"/>
13
+ <img src="https://img.shields.io/badge/license-MIT-d1d5db?style=flat-square" alt="MIT"/>
14
14
  </p>
15
15
 
16
16
  <p>
17
- <a href="https://www.npmjs.com/package/specky-sdd"><img src="https://img.shields.io/npm/v/specky-sdd?style=flat-square&color=7c3aed" alt="npm"/></a>
18
- <a href="https://www.npmjs.com/package/specky-sdd"><img src="https://img.shields.io/npm/dm/specky-sdd?style=flat-square&color=6d28d9" alt="npm downloads"/></a>
17
+ <a href="https://www.npmjs.com/package/specky-sdd"><img src="https://img.shields.io/npm/v/specky-sdd?style=flat-square&color=4b5563" alt="npm"/></a>
18
+ <a href="https://www.npmjs.com/package/specky-sdd"><img src="https://img.shields.io/npm/dm/specky-sdd?style=flat-square&color=6b7280" alt="npm downloads"/></a>
19
19
  <a href="https://github.com/paulasilvatech/specky/actions/workflows/ci.yml"><img src="https://github.com/paulasilvatech/specky/actions/workflows/ci.yml/badge.svg" alt="CI"/></a>
20
20
  <a href="https://securityscorecards.dev/viewer/?uri=github.com/paulasilvatech/specky"><img src="https://api.securityscorecards.dev/projects/github.com/paulasilvatech/specky/badge" alt="OpenSSF Scorecard"/></a>
21
- <a href="https://github.com/paulasilvatech/specky"><img src="https://img.shields.io/github/stars/paulasilvatech/specky?style=flat-square&color=6d28d9" alt="Stars"/></a>
21
+ <a href="https://github.com/paulasilvatech/specky"><img src="https://img.shields.io/github/stars/paulasilvatech/specky?style=flat-square&color=6b7280" alt="Stars"/></a>
22
22
  </p>
23
23
 
24
24
  <p>
25
- <img src="https://img.shields.io/badge/TypeScript-strict-3178c6?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript Strict"/>
26
- <img src="https://img.shields.io/badge/dependencies-3-green?style=flat-square" alt="3 Dependencies"/>
27
- <img src="https://img.shields.io/badge/CLI-specky-7c3aed?style=flat-square" alt="CLI"/>
28
- <img src="https://img.shields.io/badge/OWASP_MCP-Top_10-green?style=flat-square" alt="OWASP MCP Top 10"/>
29
- <img src="https://img.shields.io/node/v/specky-sdd?style=flat-square&color=5b21b6" alt="Node.js"/>
30
- <a href="https://github.com/paulasilvatech/specky/issues"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen?style=flat-square" alt="PRs Welcome"/></a>
25
+ <img src="https://img.shields.io/badge/TypeScript-strict-374151?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript Strict"/>
26
+ <img src="https://img.shields.io/badge/dependencies-3-9ca3af?style=flat-square" alt="3 Dependencies"/>
27
+ <img src="https://img.shields.io/badge/CLI-specky-4b5563?style=flat-square" alt="CLI"/>
28
+ <img src="https://img.shields.io/badge/OWASP_MCP-Top_10-6b7280?style=flat-square" alt="OWASP MCP Top 10"/>
29
+ <img src="https://img.shields.io/node/v/specky-sdd?style=flat-square&color=374151" alt="Node.js"/>
30
+ <a href="https://github.com/paulasilvatech/specky/issues"><img src="https://img.shields.io/badge/PRs-welcome-9ca3af?style=flat-square" alt="PRs Welcome"/></a>
31
31
  </p>
32
32
 
33
33
  <p>
@@ -38,7 +38,6 @@
38
38
  </p>
39
39
  </div>
40
40
 
41
-
42
41
  ## Table of Contents
43
42
 
44
43
  | | Section | Description |
@@ -60,13 +59,11 @@
60
59
  | **Platform** | [The SDD Platform](#the-spec-driven-development-platform) | Built on Spec-Kit, everything included |
61
60
  | | [Roadmap](#roadmap) | v3.7 current, v3.8+ planned |
62
61
 
63
-
64
62
  ## What is Specky?
65
63
 
66
- Specky is a **CLI toolkit for Spec-Driven Development** — 13 specialized agents, 58 MCP tools, 22 prompts, 8 skills, and 16 automation hooks — that enforces a deterministic 10-phase pipeline from **any input** (meeting transcripts, documents, Figma designs, or natural language prompts) through specifications, architecture, infrastructure as code, implementation, and deployment.
67
-
68
- Powered by the [Spec-Kit](https://github.com/paulasilvatech/spec-kit) methodology. Install the `specky` CLI and it places agents, prompts, skills, hooks, and the MCP server registration into your project — for **GitHub Copilot** (VS Code), **Claude Code**, or both.
64
+ Specky is a **CLI toolkit for Spec-Driven Development** — 13 specialized agents, 58 MCP tools, 22 prompts, 14 skills, and 16 automation hooks — that enforces a deterministic 10-phase pipeline from **any input** (meeting transcripts, documents, Figma designs, or natural language prompts) through specifications, architecture, infrastructure as code, implementation, and deployment.
69
65
 
66
+ Powered by the [Spec-Kit](https://github.com/paulasilvatech/spec-kit) methodology. Install the `specky` CLI and it places agents, prompts, skills, hooks, and the MCP server registration into your project — for **GitHub Copilot** (VS Code), **Claude Code**, **Cursor**, or **OpenCode**.
70
67
 
71
68
  ## What's Included
72
69
 
@@ -74,10 +71,10 @@ Specky is a **complete AI development toolkit** — not just an MCP server. The
74
71
 
75
72
  | Primitive | What it is | Specky includes |
76
73
  |-----------|-----------|------------------|
77
- | **Agents** | Specialized AI personas with defined roles, tools, and guardrails | 13 agents — @specky-orchestrator (full pipeline), @specky-onboarding (wizard), @spec-engineer, @design-architect, @task-planner, @quality-reviewer, and 7 more |
74
+ | **Agents** | Specialized AI personas with defined roles, tools, and guardrails | 13 agents — @specky-orchestrator (full pipeline), @specky-onboarding (wizard), @specky-spec-engineer, @specky-design-architect, @specky-task-planner, @specky-quality-reviewer, and 7 more |
78
75
  | **Prompts** | Slash commands that activate the right agent for a task | 22 prompts — `/specky-greenfield`, `/specky-specify`, `/specky-release`, `/specky-orchestrate`, etc. |
79
- | **Skills** | Domain knowledge files loaded into agent context automatically | 8 skills — SDD pipeline rules, EARS patterns, implementation patterns, test criteria, release gate protocol |
80
- | **Hooks** | Scripts that run before/after every tool call for validation | 16 hooks — artifact-validator, branch-validator, phase-gate, lgtm-gate, security-scan, etc. |
76
+ | **Skills** | Domain knowledge files loaded into agent context automatically | 14 skills — SDD pipeline rules, phase playbooks, EARS patterns, implementation patterns, test criteria, release gate protocol |
77
+ | **Hooks** | Scripts that run before/after every tool call for validation | 16 hooks — specky-artifact-validator, specky-branch-validator, specky-phase-gate, specky-lgtm-gate, specky-security-scan, etc. |
81
78
  | **MCP Server** | The tool engine that validates, generates, and enforces | 58 tools via Model Context Protocol (the runtime underneath) |
82
79
 
83
80
  ### Why not just an MCP server?
@@ -97,36 +94,51 @@ Specky ships as a single npm package with a unified `specky` CLI. Works on macOS
97
94
  # 1. Install the CLI globally (once per machine)
98
95
  npm install -g specky-sdd@latest
99
96
 
100
- # 2. Bootstrap your project — choose your IDE:
97
+ # 2. Bootstrap your project — choose your target harness:
101
98
  cd your-project
102
- specky install --ide=copilot # VS Code + GitHub Copilot (recommended)
103
- specky install --ide=claude # Claude Code
99
+ specky install --target=copilot # VS Code + GitHub Copilot (recommended)
100
+ specky install --target=claude # Claude Code
101
+ specky install --target=cursor # Cursor
102
+ specky install --target=opencode # OpenCode
103
+ specky install --target=agent-skills # Shared .agents/skills bundle
104
104
  ```
105
105
 
106
- > **Important:** Always specify `--ide=copilot` or `--ide=claude`. The default `--ide=auto` installs for both IDEs, which can cause hook cross-read conflicts between Copilot and Claude Code in the same workspace. See [docs/INSTALL.md](docs/INSTALL.md) for details.
106
+ > **Important:** Prefer `--target=...`. The legacy `--ide` flag still works for `copilot`, `claude`, `both`, and `auto`, but it is deprecated in favor of APM-style targets. If Copilot is installed in a workspace, Specky strips Claude hooks from `.claude/settings.json` to prevent Copilot cross-read blocks. See [docs/INSTALL.md](docs/INSTALL.md) for details.
107
107
 
108
108
  Or per-project (for teams — pins version in `package.json`, run via `npx`):
109
109
 
110
110
  ```bash
111
111
  cd your-project
112
112
  npm install --save-dev specky-sdd@latest
113
- npx specky install --ide=copilot
113
+ npx specky install --target=copilot
114
114
  ```
115
115
 
116
- The CLI installs 13 agents, 22 prompts, 8 skills, 16 hooks, the MCP server registration (`.mcp.json` + `.vscode/mcp.json`, pinned to the installed version), and pre-authorizes a **least-privilege** set of tools the Specky MCP tools plus scoped `git`/`npm`/`npx` and file editing. It does **not** pre-authorize arbitrary shell, `rm`, or network access; those still prompt. Run `specky doctor` anytime to validate integrity and config.
116
+ The CLI installs 13 agents, 22 prompts, 14 skills, 16 hooks, the target MCP server registration (pinned to the installed version), and pre-authorizes or scopes tools according to the selected harness. It does **not** pre-authorize arbitrary shell, `rm`, or network access; those still prompt. Run `specky doctor` anytime to validate integrity and config.
117
117
 
118
- Starting in v3.7.2, generated assets are platform-native. `specky install --ide=copilot` writes GitHub Copilot agents/prompts with VS Code tool names such as `search`, `agent`, and `specky/sdd_get_status`, plus prompt `agent: agent` frontmatter. `specky install --ide=claude` writes Claude Code agents/commands with `Read`, `Glob`, `Grep`, `Task`, and `mcp__specky__sdd_get_status`, with Copilot-only prompt metadata removed.
118
+ Generated assets are platform-native. `specky install --target=copilot` writes GitHub Copilot agents/prompts with VS Code tool names such as `search`, `agent`, and `specky/sdd_get_status`, plus prompt `agent: agent` frontmatter. `specky install --target=claude` writes Claude Code agents/commands with `Read`, `Glob`, `Grep`, `Task`, and `mcp__specky__sdd_get_status`, with Copilot-only prompt metadata removed. Wave 1 APM targets also include Cursor, OpenCode, and the neutral `agent-skills` target.
119
119
 
120
- Specky also has an APM governance layer for enterprise package control. `apm.yml` declares the package primitives, targets, and MCP runtime; `apm.lock.yaml` pins primitive hashes; `apm-policy.yml` enforces MCP and tool-name policy. Maintainers and CI can run `specky apm validate`, `specky apm policy`, `specky apm verify-lock`, and `specky apm sbom` before publishing or installing.
120
+ Specky also has an APM governance layer for enterprise package control. `apm.yml` declares the package primitives, targets, and MCP runtime; `apm.lock.yaml` pins primitive hashes; `apm-policy.yml` enforces MCP and tool-name policy. Maintainers and CI can run `specky apm validate`, `specky apm policy`, `specky apm verify-lock`, and `specky apm sbom` before publishing or installing. See [Uso do APM pelo Specky](docs/APM-USAGE.md) for the detailed model, including why APM is not a runtime proxy and why users do not need to install the Microsoft APM CLI.
121
121
 
122
122
  Full walkthroughs per OS, offline install, and CLI reference: [docs/INSTALL.md](docs/INSTALL.md) · [docs/CLI.md](docs/CLI.md).
123
123
 
124
-
125
124
  ## Why Specifications Matter in the AI Era
126
125
 
127
- <p align="center">
128
- <img src="media/why-specifications-matter.svg" alt="Why Specifications Matter, From Vibe Coding to Deterministic Development" width="100%"/>
129
- </p>
126
+ ```mermaid
127
+ %%{init: {"theme":"base","themeVariables":{"background":"#ffffff","primaryColor":"#f8fafc","primaryBorderColor":"#9ca3af","primaryTextColor":"#111827","secondaryColor":"#f3f4f6","tertiaryColor":"#e5e7eb","lineColor":"#6b7280","fontFamily":"Segoe UI, Arial, sans-serif"}}}%%
128
+ flowchart LR
129
+ A["Raw intent"] --> B["Vibe coding<br/>direct prompt to code"]
130
+ B --> C["Guessing<br/>implicit requirements"]
131
+ C --> D["Rework<br/>drift and missing acceptance criteria"]
132
+
133
+ A --> E["Specky SDD<br/>validated specification first"]
134
+ E --> F["EARS requirements<br/>measurable acceptance criteria"]
135
+ F --> G["Deterministic delivery<br/>traceable design, tasks, tests, release"]
136
+
137
+ classDef node fill:#f8fafc,stroke:#9ca3af,color:#111827,stroke-width:1px;
138
+ classDef risk fill:#f3f4f6,stroke:#6b7280,color:#111827,stroke-width:1px;
139
+ class A,E,F,G node;
140
+ class B,C,D risk;
141
+ ```
130
142
 
131
143
  ### The Problem: Vibe Coding
132
144
 
@@ -145,7 +157,7 @@ The result? Teams spend 40% of their time on rework because requirements were ne
145
157
  | **Markdown** | The universal language that both humans and AI read fluently | All spec artifacts are `.md` files in your repo, versioned with Git |
146
158
  | **MCP** | Model Context Protocol — an open standard that lets AI assistants call external tools | Specky is an MCP server; any AI IDE can connect to it |
147
159
  | **EARS Notation** | A method for writing requirements that forces precision with 6 patterns | Eliminates vague statements like "the system should be fast" |
148
- | **Agents and Skills** | Specialized AI roles that invoke Specky tools with domain expertise | 13 agents + 8 skills orchestrate the full pipeline |
160
+ | **Agents and Skills** | Specialized AI roles that invoke Specky tools with domain expertise | 13 agents + 14 skills orchestrate the full pipeline |
149
161
  | **CLI Toolkit** | A complete AI development package: agents + prompts + skills + hooks + MCP server | Installed via npm: `npm install -g specky-sdd` |
150
162
 
151
163
  ### How Specky Enforces Determinism
@@ -163,31 +175,30 @@ Specky adds a **deterministic engine** between your intent and your code:
163
175
 
164
176
  | Capability | Specky |
165
177
  |---|---|
166
- | Complete CLI toolkit | 13 agents, 22 prompts, 8 skills, 16 hooks + 58 MCP tools |
178
+ | Complete CLI toolkit | 13 agents, 22 prompts, 14 skills, 16 hooks + 58 MCP tools |
167
179
  | Pipeline orchestrator | @specky-orchestrator coordinates all 10 phases end-to-end |
168
180
  | Onboarding wizard | @specky-onboarding detects context and guides setup |
169
181
  | Any input (PDF, DOCX, PPTX, transcript, Figma) to spec | 58 MCP tools handle all input formats |
170
182
  | EARS validation (programmatic, not AI guessing) | 6 patterns enforced at schema level |
171
183
  | Enforced pipeline (not suggestions) | 10 phases with actual gates that block advancement |
172
- | Pre/post hooks on every phase | artifact-validator, branch-validator, phase-gate, lgtm-gate |
184
+ | Pre/post hooks on every phase | specky-artifact-validator, specky-branch-validator, specky-phase-gate, specky-lgtm-gate |
173
185
  | 17 diagram types generated automatically | C4 (4 levels), sequence, ER, activity, use case, DFD, deployment, network |
174
186
  | Infrastructure as Code | Terraform, Bicep, Dockerfile from DESIGN.md |
175
187
  | Work item export | GitHub Issues, Azure Boards, Jira via MCP-to-MCP routing |
176
188
  | 6 compliance frameworks | HIPAA, SOC2, GDPR, PCI-DSS, ISO 27001 built-in |
177
189
  | Cross-artifact traceability | Requirement to design to task to test to code |
178
190
  | Gitflow-SDD branching | spec/NNN → develop → stage → main |
179
- | Unified CLI distribution | `npm install -g specky-sdd && specky install --ide=copilot` — one binary, multi-OS (macOS/Linux/Windows/WSL) |
180
- | Works in any MCP host | VS Code + Copilot, Claude Code, Cursor, Windsurf, or any MCP client |
191
+ | Unified CLI distribution | `npm install -g specky-sdd && specky install --target=copilot` — one binary, multi-OS (macOS/Linux/Windows/WSL) |
192
+ | First-class harness targets | VS Code + Copilot, Claude Code, Cursor, OpenCode, plus shared `.agents/skills` |
181
193
  | Zero outbound calls from the MCP server | Air-gap friendly; code never leaves your machine. The CLI's once-daily update check is [opt-out](#staying-up-to-date) |
182
194
  | MIT open source | Fork it, extend it, audit it. No vendor lock, no seat pricing |
183
195
 
184
-
185
196
  ## Quick Start
186
197
 
187
198
  ### Prerequisites
188
199
 
189
200
  - **Node.js 20+**: [Download here](https://nodejs.org/) (Node 20 LTS recommended)
190
- - **An AI IDE**: VS Code with Copilot, Claude Code, Cursor, or Windsurf
201
+ - **An AI IDE or agent CLI**: VS Code with Copilot, Claude Code, Cursor, or OpenCode
191
202
 
192
203
  ### Install the Plugin
193
204
 
@@ -204,7 +215,7 @@ cd your-project
204
215
  specky install
205
216
  ```
206
217
 
207
- That's it. The CLI auto-detects Claude Code and/or GitHub Copilot and installs the 13 agents, 22 prompts, 8 skills, 16 hooks, the MCP server registration, and pre-authorizes a least-privilege set of tools (the Specky MCP tools plus scoped `git`/`npm`/`npx` and file editing — not arbitrary shell or network).
218
+ That's it. The CLI auto-detects supported harnesses or uses the explicit target and installs the 13 agents, 22 prompts, 14 skills, 16 hooks, and MCP server registration with least-privilege tool scope for the selected harness.
208
219
 
209
220
  **Other install modes:**
210
221
 
@@ -252,7 +263,6 @@ The orchestrator coordinates all 10 phases: Init → Discover → Specify → Cl
252
263
 
253
264
  > **Tip:** **New to Spec-Driven Development?** Specky already includes all the SDD methodology from [Spec-Kit](https://github.com/paulasilvatech/spec-kit). Just install Specky and the pipeline guides you through every phase with [educative outputs](#educative-outputs) that explain the concepts as you work.
254
265
 
255
-
256
266
  ## Where Specifications Live
257
267
 
258
268
  Every feature gets its own numbered directory inside `.specs/`. This keeps specifications, design documents, and quality reports together as a self-contained package.
@@ -281,12 +291,27 @@ your-project/
281
291
 
282
292
  **Naming convention:** `NNN-feature-name`, zero-padded number + kebab-case name. Each directory is independent; you can work on multiple features simultaneously.
283
293
 
284
-
285
294
  ## Input Methods: 6 Ways to Start
286
295
 
287
- <p align="center">
288
- <img src="media/input-methods.svg" alt="Specky 6 Input Methods" width="100%"/>
289
- </p>
296
+ ```mermaid
297
+ %%{init: {"theme":"base","themeVariables":{"background":"#ffffff","primaryColor":"#f8fafc","primaryBorderColor":"#9ca3af","primaryTextColor":"#111827","secondaryColor":"#f3f4f6","tertiaryColor":"#e5e7eb","lineColor":"#6b7280","fontFamily":"Segoe UI, Arial, sans-serif"}}}%%
298
+ flowchart TB
299
+ P["Natural language prompt"] --> I["Specky input layer"]
300
+ T["Meeting transcript"] --> I
301
+ D["Documents<br/>PDF, DOCX, PPTX, MD"] --> I
302
+ F["Figma or FigJam"] --> I
303
+ C["Existing codebase"] --> I
304
+ R["Raw pasted text"] --> I
305
+ I --> S["sdd_init + sdd_discover"]
306
+ S --> A[".specs/NNN-feature<br/>research, requirements, design, tasks"]
307
+
308
+ classDef input fill:#ffffff,stroke:#9ca3af,color:#111827,stroke-width:1px;
309
+ classDef engine fill:#f3f4f6,stroke:#6b7280,color:#111827,stroke-width:1px;
310
+ classDef output fill:#f8fafc,stroke:#374151,color:#111827,stroke-width:1px;
311
+ class P,T,D,F,C,R input;
312
+ class I,S engine;
313
+ class A output;
314
+ ```
290
315
 
291
316
  Specky accepts multiple input types. Choose the one that matches your starting point:
292
317
 
@@ -312,6 +337,7 @@ Import a transcript from Teams, Zoom, or Google Meet. Specky extracts topics, de
312
337
  ```
313
338
 
314
339
  The AI calls `sdd_import_transcript` → extracts:
340
+
315
341
  - Participants and speakers
316
342
  - Topics discussed with summaries
317
343
  - Decisions made
@@ -406,15 +432,23 @@ No file? Just paste the content directly. Every import tool accepts a `raw_text`
406
432
  Import this and create a specification.
407
433
  ```
408
434
 
409
-
410
435
  ## Three Project Types, One Pipeline
411
436
 
412
- <p align="center">
413
- <img src="media/project-workflows.svg" alt="Greenfield, Brownfield, and Modernization Workflows" width="100%"/>
414
- </p>
437
+ ```mermaid
438
+ %%{init: {"theme":"base","themeVariables":{"background":"#ffffff","primaryColor":"#f8fafc","primaryBorderColor":"#9ca3af","primaryTextColor":"#111827","secondaryColor":"#f3f4f6","tertiaryColor":"#e5e7eb","lineColor":"#6b7280","fontFamily":"Segoe UI, Arial, sans-serif"}}}%%
439
+ flowchart LR
440
+ G["Greenfield<br/>new product idea"] --> D["Discover"]
441
+ B["Brownfield<br/>existing codebase"] --> D
442
+ M["Modernization<br/>legacy migration"] --> D
443
+ D --> S["Specify"] --> A["Analyze"] --> I["Implement"] --> V["Verify"] --> R["Release"]
415
444
 
416
- Specky adapts to any project type. The pipeline is the same; the **starting point** is what changes.
445
+ classDef start fill:#ffffff,stroke:#9ca3af,color:#111827,stroke-width:1px;
446
+ classDef phase fill:#f8fafc,stroke:#6b7280,color:#111827,stroke-width:1px;
447
+ class G,B,M start;
448
+ class D,S,A,I,V,R phase;
449
+ ```
417
450
 
451
+ Specky adapts to any project type. The pipeline is the same; the **starting point** is what changes.
418
452
 
419
453
  ## Greenfield Project: Start from Scratch
420
454
 
@@ -472,6 +506,7 @@ system shall return a 400 status with a descriptive error message.
472
506
  ```
473
507
 
474
508
  The AI calls `sdd_write_design` → creates `DESIGN.md` with:
509
+
475
510
  - System architecture diagram (Mermaid)
476
511
  - Data model / ER diagram
477
512
  - API contracts with endpoints, request/response schemas
@@ -495,6 +530,7 @@ The AI calls `sdd_write_tasks` → creates `TASKS.md` with implementation tasks
495
530
  ```
496
531
 
497
532
  The AI calls:
533
+
498
534
  - `sdd_run_analysis` → completeness audit, orphaned criteria detection
499
535
  - `sdd_compliance_check` → SOC2 controls validation
500
536
  - `sdd_generate_all_diagrams` → architecture, sequence, ER, flow, dependency, traceability diagrams
@@ -506,6 +542,7 @@ The AI calls:
506
542
  ```
507
543
 
508
544
  The AI calls:
545
+
509
546
  - `sdd_generate_iac` → Terraform configuration
510
547
  - `sdd_generate_dockerfile` → Dockerfile + docker-compose
511
548
  - `sdd_generate_tests` → Test stubs with acceptance criteria mapped to test cases
@@ -520,7 +557,6 @@ The AI calls `sdd_export_work_items` + `sdd_create_pr` → generates work item p
520
557
 
521
558
  > **Next:** Learn about [EARS notation](#ears-notation) to understand the requirement patterns, or see [All 58 Tools](#all-58-tools) for a complete reference.
522
559
 
523
-
524
560
  ## Brownfield Project: Add Features to Existing Code
525
561
 
526
562
  **Scenario:** You have a running application and need to add a new feature with proper specifications.
@@ -591,7 +627,6 @@ The AI calls `sdd_cross_analyze` → checks for contradictions, shared dependenc
591
627
 
592
628
  > **Next:** **Next:** See [compliance frameworks](#compliance-frameworks) for regulatory validation, or [MCP integration](#mcp-integration-architecture) for routing to external tools.
593
629
 
594
-
595
630
  ## Modernization Project: Assess and Upgrade Legacy Systems
596
631
 
597
632
  **Scenario:** You have a legacy system that needs assessment, documentation, and incremental modernization.
@@ -633,6 +668,7 @@ The AI calls `sdd_batch_transcripts` → extracts decisions, requirements, const
633
668
  ```
634
669
 
635
670
  The specification accounts for:
671
+
636
672
  - Current system behavior (from codebase scan)
637
673
  - Existing documentation (from imported docs)
638
674
  - Stakeholder decisions (from meeting transcripts)
@@ -656,6 +692,7 @@ The AI calls `sdd_compliance_check` → validates the specification against regu
656
692
  ```
657
693
 
658
694
  The AI calls:
695
+
659
696
  - `sdd_implement` → phased implementation plan with checkpoints
660
697
  - `sdd_generate_iac` → infrastructure configuration for the target environment
661
698
  - `sdd_generate_runbook` → operational runbook with rollback procedures
@@ -668,14 +705,27 @@ The AI calls:
668
705
 
669
706
  The AI calls `sdd_generate_onboarding` → creates a guide covering architecture decisions, codebase navigation, development workflow, and testing strategy.
670
707
 
671
- > **Next:** **Next:** See [compliance frameworks](#compliance-frameworks) for regulatory validation during modernization, or [project configuration](#project-configuration) to customize Specky for your team.
672
-
708
+ > **Next:** See [compliance frameworks](#compliance-frameworks) for regulatory validation during modernization, or [project configuration](#project-configuration) to customize Specky for your team.
673
709
 
674
710
  ## Pipeline and LGTM Gates
675
711
 
676
- <p align="center">
677
- <img src="media/pipeline-lgtm-gates.svg" alt="Pipeline with LGTM Quality Gates" width="100%"/>
678
- </p>
712
+ ```mermaid
713
+ %%{init: {"theme":"base","themeVariables":{"background":"#ffffff","primaryColor":"#f8fafc","primaryBorderColor":"#9ca3af","primaryTextColor":"#111827","secondaryColor":"#f3f4f6","tertiaryColor":"#e5e7eb","lineColor":"#6b7280","fontFamily":"Segoe UI, Arial, sans-serif"}}}%%
714
+ flowchart LR
715
+ I["Init"] --> D["Discover"] --> S["Specify"] --> G1{"LGTM gate"}
716
+ G1 -->|approved| C["Clarify"] --> A["Design"] --> G2{"LGTM gate"}
717
+ G2 -->|approved| T["Tasks"] --> G3{"LGTM gate"}
718
+ G3 -->|approved| N["Analyze"] --> P["Implement"] --> V["Verify"] --> R["Release"]
719
+ G1 -->|changes requested| S
720
+ G2 -->|changes requested| A
721
+ G3 -->|changes requested| T
722
+ V -->|drift detected| S
723
+
724
+ classDef phase fill:#f8fafc,stroke:#6b7280,color:#111827,stroke-width:1px;
725
+ classDef gate fill:#f3f4f6,stroke:#374151,color:#111827,stroke-width:1px;
726
+ class I,D,S,C,A,T,N,P,V,R phase;
727
+ class G1,G2,G3 gate;
728
+ ```
679
729
 
680
730
  Every Specky project follows the same 10-phase pipeline. The state machine **blocks phase-skipping**. You cannot jump from Init to Design without completing Specify first.
681
731
 
@@ -691,9 +741,14 @@ Every Specky project follows the same 10-phase pipeline. The state machine **blo
691
741
 
692
742
  The AI calls `sdd_advance_phase` → moves the pipeline forward if all prerequisites are met.
693
743
 
694
- <p align="center">
695
- <img src="media/pipeline-10-phases.svg" alt="Specky 10-Phase Pipeline" width="100%"/>
696
- </p>
744
+ ```mermaid
745
+ %%{init: {"theme":"base","themeVariables":{"background":"#ffffff","primaryColor":"#f8fafc","primaryBorderColor":"#9ca3af","primaryTextColor":"#111827","secondaryColor":"#f3f4f6","tertiaryColor":"#e5e7eb","lineColor":"#6b7280","fontFamily":"Segoe UI, Arial, sans-serif"}}}%%
746
+ flowchart LR
747
+ P0["0 Init"] --> P1["1 Discover"] --> P2["2 Specify"] --> P3["3 Clarify"] --> P4["4 Design"] --> P5["5 Tasks"] --> P6["6 Analyze"] --> P7["7 Implement"] --> P8["8 Verify"] --> P9["9 Release"]
748
+
749
+ classDef phase fill:#ffffff,stroke:#9ca3af,color:#111827,stroke-width:1px;
750
+ class P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 phase;
751
+ ```
697
752
 
698
753
  | Phase | What Happens | Required Output |
699
754
  |-------|-------------|----------------|
@@ -710,7 +765,6 @@ The AI calls `sdd_advance_phase` → moves the pipeline forward if all prerequis
710
765
 
711
766
  All artifacts are saved in [`.specs/NNN-feature/`](#where-specifications-live). See [Input Methods](#input-methods-6-ways-to-start) for how to feed data into the pipeline.
712
767
 
713
-
714
768
  ## All 58 Tools
715
769
 
716
770
  ### Input and Conversion (6)
@@ -846,22 +900,40 @@ All artifacts are saved in [`.specs/NNN-feature/`](#where-specifications-live).
846
900
  |------|-------------|
847
901
  | `sdd_verify_audit` | Verify the hash-chained audit trail (`.audit.jsonl`) for tamper evidence and report chain integrity |
848
902
 
849
-
850
903
  ## The Spec-Driven Development Platform
851
904
 
852
- <p align="center">
853
- <img src="media/specky-speckit-integration.svg" alt="How Spec-Kit and Specky Work Together in the GitHub + Microsoft Ecosystem" width="100%"/>
854
- </p>
905
+ ```mermaid
906
+ %%{init: {"theme":"base","themeVariables":{"background":"#ffffff","primaryColor":"#f8fafc","primaryBorderColor":"#9ca3af","primaryTextColor":"#111827","secondaryColor":"#f3f4f6","tertiaryColor":"#e5e7eb","lineColor":"#6b7280","fontFamily":"Segoe UI, Arial, sans-serif"}}}%%
907
+ C4Context
908
+ title Specky C4 Context
909
+ Person(dev, "Developer / AI operator", "Uses an AI IDE to deliver features through SDD")
910
+ System_Boundary(specky, "Specky SDD Platform") {
911
+ System(cli, "specky CLI", "Installs target-native agents, prompts, skills, hooks, and MCP registration")
912
+ System(mcp, "Specky MCP Server", "Executes 58 validated SDD tools and the 10-phase state machine")
913
+ System(apm, "APM Primitive Source", "Canonical .apm agents, prompts, skills, instructions, and hooks")
914
+ }
915
+ System_Ext(specKit, "Spec-Kit", "Methodology and prompt patterns")
916
+ System_Ext(aiIde, "AI IDE", "GitHub Copilot, Claude Code, Cursor, OpenCode")
917
+ System_Ext(externalMcp, "External MCP ecosystem", "GitHub, Azure DevOps, Jira, Terraform, Figma, Docker")
918
+
919
+ Rel(dev, aiIde, "asks for feature delivery")
920
+ Rel(aiIde, cli, "installs assets with")
921
+ Rel(cli, apm, "compiles from")
922
+ Rel(aiIde, mcp, "calls SDD tools through MCP")
923
+ Rel(mcp, externalMcp, "returns routing payloads for")
924
+ Rel(specKit, apm, "informs methodology encoded in")
925
+ UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1")
926
+ ```
855
927
 
856
928
  ### How Spec-Kit and Specky Complement Each Other
857
929
 
858
930
  **Spec-Kit** — the open-source SDD methodology from [github/spec-kit](https://github.com/github/spec-kit), extended in [paulasilvatech/spec-kit](https://github.com/paulasilvatech/spec-kit) — provides a constitution model, gated workflow phases expressed as prompt templates, and broad coding-assistant support. It defines **what** to do. (Upstream Spec-Kit's phases are advisory prompts; the **EARS** requirements notation and programmatic enforcement below are Specky's additions — EARS was popularized for AI specs by AWS Kiro and originates in the Mavin/Rolls-Royce EARS approach.)
859
931
 
860
- **Specky** is the CLI toolkit that reimplements that methodology as 58 enforceable MCP tools with 13 agents, 22 prompts, 8 skills, and 16 hooks. It enforces **how** to do it.
932
+ **Specky** is the CLI toolkit that reimplements that methodology as 58 enforceable MCP tools with 13 agents, 22 prompts, 14 skills, and 16 hooks. It enforces **how** to do it.
861
933
 
862
934
  | | Spec-Kit (Methodology) | Specky (Plugin) |
863
935
  |--|------------------------|-----------------|
864
- | **What it is** | Prompt templates + agent definitions | CLI toolkit: 13 agents + 58 MCP tools + 22 prompts + 8 skills + 16 hooks |
936
+ | **What it is** | Prompt templates + agent definitions | CLI toolkit: 13 agents + 58 MCP tools + 22 prompts + 14 skills + 16 hooks |
865
937
  | **How it works** | AI reads `.md` templates and follows instructions | AI calls agents that orchestrate tools with hook validation |
866
938
  | **Validation** | AI tries to follow the prompts | State machine, EARS regex, Zod schemas, pre/post hooks |
867
939
  | **Install** | Copy `.github/agents/` and `.claude/commands/` | `npm install -g specky-sdd && specky install` |
@@ -884,7 +956,7 @@ Together they form the **SDD layer** of the GitHub + Microsoft enterprise platfo
884
956
  }
885
957
  ```
886
958
 
887
- > **Note:** This example assumes Specky is installed via `specky install --ide=copilot` (after `npm install -g specky-sdd@latest`). See [Quick Start](#quick-start) for details.
959
+ > **Note:** This example assumes Specky is installed via `specky install --target=copilot` (after `npm install -g specky-sdd@latest`). See [Quick Start](#quick-start) for details.
888
960
 
889
961
  ## Project Configuration
890
962
 
@@ -910,7 +982,6 @@ pipeline:
910
982
 
911
983
  When `templates_path` is set, Specky uses your custom templates instead of the built-in ones. When `audit_enabled` is true, tool invocations are logged locally. `profile: enterprise` turns audit, RBAC, rate limiting, and fail-closed auditing on by default (explicit values win) — see [docs/ENTERPRISE-DEPLOYMENT.md](docs/ENTERPRISE-DEPLOYMENT.md). With `pipeline.require_lgtm: true`, the LGTM quality gates become server-enforced instead of an agent convention: advancing past Specify/Design/Tasks requires the explicit `lgtm: true` input on `sdd_advance_phase`.
912
984
 
913
-
914
985
  ## Staying up to date
915
986
 
916
987
  Specky tells you about new versions in two ways:
@@ -930,12 +1001,30 @@ Teams pinning per-project (`npm install --save-dev specky-sdd`) should let [Reno
930
1001
 
931
1002
  **Opt out** of the registry check with `SPECKY_NO_UPDATE_CHECK=1` in the environment or `update_check: false` in `.specky/config.yml`. The drift warning stays on — it never touches the network.
932
1003
 
933
-
934
1004
  ## MCP Integration Architecture
935
1005
 
936
- <p align="center">
937
- <img src="media/architecture-mcp-ecosystem.svg" alt="Specky MCP Ecosystem Architecture" width="100%"/>
938
- </p>
1006
+ ```mermaid
1007
+ %%{init: {"theme":"base","themeVariables":{"background":"#ffffff","primaryColor":"#f8fafc","primaryBorderColor":"#9ca3af","primaryTextColor":"#111827","secondaryColor":"#f3f4f6","tertiaryColor":"#e5e7eb","lineColor":"#6b7280","fontFamily":"Segoe UI, Arial, sans-serif"}}}%%
1008
+ flowchart TB
1009
+ User["Developer / AI operator"] --> Client["AI client<br/>Copilot, Claude, Cursor, OpenCode"]
1010
+ Client --> Specky["Specky MCP Server<br/>58 SDD tools"]
1011
+ Specky --> Payload["Structured routing payload<br/>JSON, artifacts, next actions"]
1012
+ Payload --> Client
1013
+
1014
+ Client --> GitHub["GitHub MCP<br/>issues, PRs, repos"]
1015
+ Client --> AzureBoards["Azure DevOps MCP<br/>work items, boards"]
1016
+ Client --> Jira["Jira MCP<br/>issues, projects"]
1017
+ Client --> Terraform["Terraform MCP<br/>plan, validate, apply"]
1018
+ Client --> Figma["Figma MCP<br/>design context"]
1019
+ Client --> Docker["Docker MCP<br/>local dev environments"]
1020
+
1021
+ classDef core fill:#f8fafc,stroke:#374151,color:#111827,stroke-width:1px;
1022
+ classDef mcp fill:#ffffff,stroke:#9ca3af,color:#111827,stroke-width:1px;
1023
+ classDef payload fill:#f3f4f6,stroke:#6b7280,color:#111827,stroke-width:1px;
1024
+ class User,Client,Specky core;
1025
+ class Payload payload;
1026
+ class GitHub,AzureBoards,Jira,Terraform,Figma,Docker mcp;
1027
+ ```
939
1028
 
940
1029
  Specky outputs structured JSON with routing instructions. Your AI client calls the appropriate external MCP server:
941
1030
 
@@ -962,7 +1051,6 @@ Specky --> sdd_figma_to_spec(file_key: "abc123") --> Figma request
962
1051
  | **Figma MCP** | Design context, FigJam diagrams |
963
1052
  | **Docker MCP** | Local dev environments |
964
1053
 
965
-
966
1054
  ## EARS Notation
967
1055
 
968
1056
  Every requirement in Specky follows EARS (Easy Approach to Requirements Syntax):
@@ -978,7 +1066,6 @@ Every requirement in Specky follows EARS (Easy Approach to Requirements Syntax):
978
1066
 
979
1067
  The EARS validator programmatically checks every requirement against these 6 patterns. Vague terms like "fast", "good", "easy" are flagged automatically.
980
1068
 
981
-
982
1069
  ## Compliance Frameworks
983
1070
 
984
1071
  Built-in compliance checking against:
@@ -989,7 +1076,6 @@ Built-in compliance checking against:
989
1076
  - **PCI-DSS**: Firewall, stored data protection, encryption, user identification
990
1077
  - **ISO 27001**: Security policies, access control, cryptography, incident management
991
1078
 
992
-
993
1079
  ## Educative Outputs
994
1080
 
995
1081
  Every tool response includes structured guidance:
@@ -1003,16 +1089,29 @@ Every tool response includes structured guidance:
1003
1089
  }
1004
1090
  ```
1005
1091
 
1006
-
1007
1092
  ## Complete Pipeline Flow
1008
1093
 
1009
- <p align="center">
1010
- <img src="media/end-to-end-flow.svg" alt="Specky Complete Pipeline Development Flow" width="100%"/>
1011
- </p>
1094
+ ```mermaid
1095
+ %%{init: {"theme":"base","themeVariables":{"background":"#ffffff","primaryColor":"#f8fafc","primaryBorderColor":"#9ca3af","primaryTextColor":"#111827","secondaryColor":"#f3f4f6","tertiaryColor":"#e5e7eb","lineColor":"#6b7280","fontFamily":"Segoe UI, Arial, sans-serif"}}}%%
1096
+ flowchart LR
1097
+ Input["Any input"] --> Research["Discover<br/>research and constraints"]
1098
+ Research --> Spec["Specify<br/>EARS requirements"]
1099
+ Spec --> Design["Design<br/>architecture, APIs, data"]
1100
+ Design --> Tasks["Tasks<br/>dependency-ordered work"]
1101
+ Tasks --> Build["Implement<br/>code, IaC, tests"]
1102
+ Build --> Verify["Verify<br/>drift and phantom task checks"]
1103
+ Verify --> Release["Release<br/>PR, work items, runbook"]
1104
+ Release --> Ops["Production-ready package"]
1105
+ Verify -->|drift found| Spec
1106
+
1107
+ classDef step fill:#ffffff,stroke:#9ca3af,color:#111827,stroke-width:1px;
1108
+ classDef terminal fill:#f3f4f6,stroke:#374151,color:#111827,stroke-width:1px;
1109
+ class Input,Research,Spec,Design,Tasks,Build,Verify,Release step;
1110
+ class Ops terminal;
1111
+ ```
1012
1112
 
1013
1113
  From any [input](#input-methods-6-ways-to-start) to production -- fully automated, [MCP-orchestrated](#mcp-integration-architecture), with artifacts and diagrams generated at every step. All artifacts are saved in [`.specs/NNN-feature/`](#where-specifications-live).
1014
1114
 
1015
-
1016
1115
  ## Enterprise Ready
1017
1116
 
1018
1117
  Specky is built with enterprise adoption in mind.
@@ -1030,7 +1129,7 @@ Specky is 100% open source (MIT) — enterprise mode is just an opt-in configura
1030
1129
  - **No `eval()` or dynamic code execution** — template rendering is string replacement only
1031
1130
  - **Path traversal prevention**: FileManager sanitizes all paths, blocks `..` sequences
1032
1131
  - **Zod `.strict()` validation** — every tool input is schema-validated; unknown fields rejected
1033
- - **security-scan hook** blocks commits containing hardcoded secrets (exit code 2)
1132
+ - **specky-security-scan hook** blocks commits containing hardcoded secrets (exit code 2)
1034
1133
  - See [SECURITY.md](SECURITY.md) for full OWASP Top 10 coverage
1035
1134
  - See [docs/SYSTEM-DESIGN.md](docs/SYSTEM-DESIGN.md) for complete security architecture
1036
1135
  - See [docs/ENTERPRISE-CONTROLS.md](docs/ENTERPRISE-CONTROLS.md) for RBAC, audit trail, and tool-enforcement controls
@@ -1050,7 +1149,7 @@ When using Specky, follow these practices to protect your data:
1050
1149
  | **Protect the `.specs/` directory** | Contains your specification artifacts (architecture, API contracts, business logic) | Add `.specs/` to `.gitignore` if specs contain sensitive IP, or use a private repo |
1051
1150
  | **Protect checkpoints** | `.specs/{feature}/.checkpoints/` stores full artifact snapshots | Same as above — treat checkpoints like source code |
1052
1151
  | **Review auto-generated specs before committing** | Turnkey and auto-pipeline generate from natural language — may capture sensitive details | Review SPECIFICATION.md and DESIGN.md before `git add` |
1053
- | **Keep the security-scan hook enabled** | Detects API keys, passwords, tokens in staged files | Comes pre-configured; don't disable `.claude/hooks/security-scan.sh` |
1152
+ | **Keep the specky-security-scan hook enabled** | Detects API keys, passwords, tokens in staged files | Comes pre-configured; don't disable `.claude/hooks/specky-security-scan.sh` |
1054
1153
  | **Use environment variables for secrets** | Specky never stores credentials, but your specs might reference them | Write `$DATABASE_URL` in specs, never the actual connection string |
1055
1154
  | **Run `npm audit` regularly** | Catches dependency vulnerabilities | `npm audit` — CI runs this automatically on every PR |
1056
1155
 
@@ -1095,7 +1194,6 @@ Every pipeline phase produces a traceable artifact in `.specs/NNN-feature/`. The
1095
1194
  - **Phase Enforcement** — state machine blocks phase-skipping; required files gate advancement
1096
1195
  - **Unit tests** — CI enforces thresholds on every push
1097
1196
 
1098
-
1099
1197
  ## Development
1100
1198
 
1101
1199
  ```bash
@@ -1120,9 +1218,9 @@ npm run dev
1120
1218
  echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | node dist/index.js 2>/dev/null
1121
1219
 
1122
1220
  # Run the published image from GHCR (multi-arch: linux/amd64 + linux/arm64)
1123
- docker pull ghcr.io/paulasilvatech/specky:latest # or pin a release: :3.6.0
1221
+ docker pull ghcr.io/paulasilvatech/specky:latest # or pin a release: :3.9.0
1124
1222
  docker run --rm -p 3200:3200 ghcr.io/paulasilvatech/specky:latest
1125
- curl http://localhost:3200/health # -> {"status":"ok","version":"3.6.0"}
1223
+ curl http://localhost:3200/health # -> {"status":"ok","version":"3.9.0"}
1126
1224
 
1127
1225
  # Or build and run locally from source
1128
1226
  docker build -t specky-sdd:dev .
@@ -1135,7 +1233,6 @@ and serves an unauthenticated `GET /health`. For hardened/authenticated
1135
1233
  deployments (enterprise profile, token auth, TLS proxy, private packages) see
1136
1234
  [docs/ENTERPRISE-DEPLOYMENT.md](docs/ENTERPRISE-DEPLOYMENT.md).
1137
1235
 
1138
-
1139
1236
  ## Roadmap
1140
1237
 
1141
1238
  ### v3.7 (current)
@@ -1144,7 +1241,7 @@ deployments (enterprise profile, token auth, TLS proxy, private packages) see
1144
1241
  |------------|--------|
1145
1242
  | 58 MCP tools across 10 enforced pipeline phases | Stable |
1146
1243
  | Unified `specky` CLI: install, doctor, status, upgrade, hooks, serve | Stable |
1147
- | IDE-specific install: `--ide=copilot` or `--ide=claude` | Stable |
1244
+ | Target-specific install: `--target=copilot`, `claude`, `cursor`, `opencode`, or `agent-skills` | Stable |
1148
1245
  | Copilot-safe hook manifests (no lifecycle event cross-read) | Stable |
1149
1246
  | Phase validation on every tool with gate enforcement | Stable |
1150
1247
  | 17 software engineering diagram types (C4, sequence, ER, DFD, deployment, network) | Stable |
@@ -1160,7 +1257,7 @@ deployments (enterprise profile, token auth, TLS proxy, private packages) see
1160
1257
  | Test traceability: REQ-ID → test coverage mapping | Stable |
1161
1258
  | Intent drift detection with amendment suggestions | Stable |
1162
1259
  | 16 automation hooks (advisory-default, strict opt-in via SPECKY_GUARD) | Stable |
1163
- | 13 specialized agents + 22 prompts + 8 skills | Stable |
1260
+ | 13 specialized agents + 22 prompts + 14 skills | Stable |
1164
1261
  | 6 compliance frameworks (HIPAA, SOC2, GDPR, PCI-DSS, ISO 27001) | Stable |
1165
1262
  | 6 input types (transcript, PDF, DOCX, Figma, codebase, raw text) | Stable |
1166
1263
  | Test generation for 6 frameworks (vitest, jest, playwright, pytest, junit, xunit) | Stable |
@@ -1188,7 +1285,6 @@ deployments (enterprise profile, token auth, TLS proxy, private packages) see
1188
1285
 
1189
1286
  Have a feature request? [Open an issue](https://github.com/paulasilvatech/specky/issues).
1190
1287
 
1191
-
1192
1288
  ## Examples
1193
1289
 
1194
1290
  See [`examples/`](examples/) for a complete, real spec package generated by
@@ -1197,12 +1293,10 @@ is a greenfield REST API taken from `sdd_init` all the way to an `APPROVE`
1197
1293
  quality gate at 100% traceability. `examples/specky-verify.example.yml` is a
1198
1294
  drop-in GitHub Action that verifies EARS + the quality gate on every PR.
1199
1295
 
1200
-
1201
1296
  ## Contributing
1202
1297
 
1203
1298
  See [CONTRIBUTING.md](CONTRIBUTING.md) for architecture details and how to add tools, templates, or services.
1204
1299
 
1205
-
1206
1300
  ## Links
1207
1301
 
1208
1302
  - [CHANGELOG.md](CHANGELOG.md): Version history and release notes
@@ -1211,7 +1305,6 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for architecture details and how to add t
1211
1305
  - [Spec-Kit](https://github.com/paulasilvatech/spec-kit): The SDD methodology foundation
1212
1306
  - [npm package](https://www.npmjs.com/package/specky-sdd): `specky-sdd` on npm
1213
1307
 
1214
-
1215
1308
  ## License
1216
1309
 
1217
1310
  MIT. Created by [Paula Silva](https://github.com/paulasilvatech) | Americas Software GBB, Microsoft