specky-sdd 3.8.0 → 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.
- package/.apm/agents/specky-design-architect.agent.md +1 -1
- package/.apm/agents/specky-implementer.agent.md +7 -7
- package/.apm/agents/specky-onboarding.agent.md +1 -1
- package/.apm/agents/specky-quality-reviewer.agent.md +5 -5
- package/.apm/agents/specky-release-engineer.agent.md +7 -7
- package/.apm/agents/specky-requirements-engineer.agent.md +6 -6
- package/.apm/agents/specky-research-analyst.agent.md +7 -7
- package/.apm/agents/specky-sdd-clarify.agent.md +3 -2
- package/.apm/agents/specky-sdd-init.agent.md +1 -1
- package/.apm/agents/specky-spec-engineer.agent.md +1 -1
- package/.apm/agents/specky-task-planner.agent.md +1 -1
- package/.apm/hooks/specky-run.sh +32 -0
- package/.apm/instructions/claude-instructions.instructions.md +74 -0
- package/.apm/instructions/copilot-instructions.instructions.md +3 -9
- package/.apm/instructions/cursor-instructions.instructions.md +20 -0
- package/.apm/prompts/specky-onboarding.prompt.md +1 -0
- package/.apm/prompts/specky-pipeline-status.prompt.md +1 -0
- package/.apm/skills/specky-design-architect/SKILL.md +21 -0
- package/.apm/skills/specky-onboarding/SKILL.md +8 -2
- package/.apm/skills/specky-quality-reviewer/SKILL.md +28 -0
- package/.apm/skills/specky-sdd-clarify/SKILL.md +25 -0
- package/.apm/skills/specky-sdd-init/SKILL.md +28 -0
- package/.apm/skills/specky-sdd-pipeline/SKILL.md +12 -19
- package/.apm/skills/specky-spec-engineer/SKILL.md +27 -0
- package/.apm/skills/specky-task-planner/SKILL.md +20 -0
- package/CHANGELOG.md +28 -0
- package/README.md +169 -79
- package/apm-policy.yml +7 -0
- package/apm.lock.yaml +28 -19
- package/apm.yml +2 -2
- package/config.yml +5 -3
- package/dist/cli/commands/compile.d.ts.map +1 -1
- package/dist/cli/commands/compile.js +35 -14
- package/dist/cli/commands/compile.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +134 -7
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/hooks.js +2 -2
- package/dist/cli/commands/hooks.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +8 -5
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/lib/asset-copier.d.ts.map +1 -1
- package/dist/cli/lib/asset-copier.js +71 -34
- package/dist/cli/lib/asset-copier.js.map +1 -1
- package/dist/cli/lib/gitignore-writer.d.ts.map +1 -1
- package/dist/cli/lib/gitignore-writer.js +2 -1
- package/dist/cli/lib/gitignore-writer.js.map +1 -1
- package/dist/cli/lib/harness/compilers/cursor.d.ts.map +1 -1
- package/dist/cli/lib/harness/compilers/cursor.js +2 -1
- package/dist/cli/lib/harness/compilers/cursor.js.map +1 -1
- package/dist/cli/lib/paths.d.ts +4 -0
- package/dist/cli/lib/paths.d.ts.map +1 -1
- package/dist/cli/lib/paths.js +4 -0
- package/dist/cli/lib/paths.js.map +1 -1
- package/dist/cursor-hooks.json +288 -0
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/package.json +5 -6
- package/site/specky-icon.png +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [3.9.0] - 2026-07-09
|
|
11
|
+
|
|
12
|
+
Cursor-native hook automation, six dedicated phase skills, full `specky doctor` install parity across harnesses, and cross-target instruction isolation fixes.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- **Cursor-native hook automation.** `specky install --target=cursor` now installs `.cursor/hooks.json` (Cursor schema v1), the `.cursor/hooks/specky-run.sh` stdin adapter, and `.cursor/hooks/scripts/` (16 scripts). Blocking gates (artifact validation, phase gate, security scan, release gate) deny unsafe actions with `failClosed`; advisory gates warn without blocking.
|
|
17
|
+
- **Six dedicated phase companion skills** (14 total): `specky-sdd-init`, `specky-spec-engineer`, `specky-sdd-clarify`, `specky-design-architect`, `specky-task-planner`, and `specky-quality-reviewer`. Each phase agent loads its dedicated skill first; `specky-sdd-pipeline` remains the shared cross-phase overview.
|
|
18
|
+
- **Dedicated Cursor instruction primitive** compiled to `.cursor/rules/specky-sdd.mdc` with `alwaysApply` and a neutral title.
|
|
19
|
+
- **Dedicated Claude instruction primitive** compiled to `.claude/rules/specky-sdd.md` with neutral naming (no Copilot title or `@workspace` references).
|
|
20
|
+
- **Full `specky doctor` install parity** for Cursor (11 checks), Claude (10), Copilot (9), and OpenCode (7): agent/prompt/skill/hook-script counts, rule format, MCP registration, and a cross-target leakage scan.
|
|
21
|
+
- Regression suites: `cursor-target`, `copilot-target`, `claude-target`, and `opencode-target`.
|
|
22
|
+
- APM policy now allows the Cursor-native hook events (`sessionStart`, `beforeSubmitPrompt`, `beforeMCPExecution`, `afterMCPExecution`, `preToolUse`, `postToolUse`, `stop`).
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- Renamed the hook-manifest generator `scripts/build-claude-hooks.mjs` → `scripts/build-hook-manifests.mjs`; it now emits Claude, Copilot, **and** Cursor manifests from the single `.apm/hooks/sdd-hooks.json` source of truth.
|
|
27
|
+
- `specky compile` is now target-aware: each target renders only its own instruction primitive (with the Copilot primitive as the neutral fallback) instead of concatenating every primitive into each root context file.
|
|
28
|
+
- EARS notation is unified to the canonical six patterns (Ubiquitous, Event-driven, State-driven, Optional, Unwanted, Complex) across the rule, phase agents, and the `specky-sdd-pipeline` skill.
|
|
29
|
+
- All slash-command prompts now carry an `argument-hint`.
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- Copilot installs no longer copy the Cursor/Claude instruction primitives into `.github/instructions/` (cross-target leak); only the Copilot instruction is installed and stale primitives are removed.
|
|
34
|
+
- Claude installs no longer receive the Copilot-named rule (`copilot-instructions.md`) or `@workspace`/`applyTo` leakage; the stale file is removed on install.
|
|
35
|
+
- Copilot instruction content: merged the orphaned `## Rule #7`/`## Rule #8` headings back into the Key Rules list and replaced the outdated `@workspace /prompt-name` invocation with `/prompt-name`.
|
|
36
|
+
- Corrected duplicated workflow step numbering in phase agents.
|
|
37
|
+
|
|
10
38
|
## [3.8.0] - 2026-07-07
|
|
11
39
|
|
|
12
40
|
Wave 1 multi-harness APM targets (Cursor, OpenCode, Agent Skills) plus a multi-feature phase-advancement fix.
|
package/README.md
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
<br>
|
|
3
|
-
<img src="
|
|
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-
|
|
10
|
-
<img src="https://img.shields.io/badge/tools-58_MCP-
|
|
11
|
-
<img src="https://img.shields.io/badge/phases-10_enforced-
|
|
12
|
-
<img src="https://img.shields.io/badge/hooks-16-
|
|
13
|
-
<img src="https://img.shields.io/badge/license-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=
|
|
18
|
-
<a href="https://www.npmjs.com/package/specky-sdd"><img src="https://img.shields.io/npm/dm/specky-sdd?style=flat-square&color=
|
|
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=
|
|
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-
|
|
26
|
-
<img src="https://img.shields.io/badge/dependencies-3-
|
|
27
|
-
<img src="https://img.shields.io/badge/CLI-specky-
|
|
28
|
-
<img src="https://img.shields.io/badge/OWASP_MCP-Top_10-
|
|
29
|
-
<img src="https://img.shields.io/node/v/specky-sdd?style=flat-square&color=
|
|
30
|
-
<a href="https://github.com/paulasilvatech/specky/issues"><img src="https://img.shields.io/badge/PRs-welcome-
|
|
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,
|
|
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
|
|
|
@@ -76,7 +73,7 @@ Specky is a **complete AI development toolkit** — not just an MCP server. The
|
|
|
76
73
|
|-----------|-----------|------------------|
|
|
77
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 |
|
|
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 |
|
|
80
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
|
|
|
@@ -116,7 +113,7 @@ npm install --save-dev specky-sdd@latest
|
|
|
116
113
|
npx specky install --target=copilot
|
|
117
114
|
```
|
|
118
115
|
|
|
119
|
-
The CLI installs 13 agents, 22 prompts,
|
|
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.
|
|
120
117
|
|
|
121
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.
|
|
122
119
|
|
|
@@ -124,12 +121,24 @@ Specky also has an APM governance layer for enterprise package control. `apm.yml
|
|
|
124
121
|
|
|
125
122
|
Full walkthroughs per OS, offline install, and CLI reference: [docs/INSTALL.md](docs/INSTALL.md) · [docs/CLI.md](docs/CLI.md).
|
|
126
123
|
|
|
127
|
-
|
|
128
124
|
## Why Specifications Matter in the AI Era
|
|
129
125
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
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
|
+
```
|
|
133
142
|
|
|
134
143
|
### The Problem: Vibe Coding
|
|
135
144
|
|
|
@@ -148,7 +157,7 @@ The result? Teams spend 40% of their time on rework because requirements were ne
|
|
|
148
157
|
| **Markdown** | The universal language that both humans and AI read fluently | All spec artifacts are `.md` files in your repo, versioned with Git |
|
|
149
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 |
|
|
150
159
|
| **EARS Notation** | A method for writing requirements that forces precision with 6 patterns | Eliminates vague statements like "the system should be fast" |
|
|
151
|
-
| **Agents and Skills** | Specialized AI roles that invoke Specky tools with domain expertise | 13 agents +
|
|
160
|
+
| **Agents and Skills** | Specialized AI roles that invoke Specky tools with domain expertise | 13 agents + 14 skills orchestrate the full pipeline |
|
|
152
161
|
| **CLI Toolkit** | A complete AI development package: agents + prompts + skills + hooks + MCP server | Installed via npm: `npm install -g specky-sdd` |
|
|
153
162
|
|
|
154
163
|
### How Specky Enforces Determinism
|
|
@@ -166,7 +175,7 @@ Specky adds a **deterministic engine** between your intent and your code:
|
|
|
166
175
|
|
|
167
176
|
| Capability | Specky |
|
|
168
177
|
|---|---|
|
|
169
|
-
| Complete CLI toolkit | 13 agents, 22 prompts,
|
|
178
|
+
| Complete CLI toolkit | 13 agents, 22 prompts, 14 skills, 16 hooks + 58 MCP tools |
|
|
170
179
|
| Pipeline orchestrator | @specky-orchestrator coordinates all 10 phases end-to-end |
|
|
171
180
|
| Onboarding wizard | @specky-onboarding detects context and guides setup |
|
|
172
181
|
| Any input (PDF, DOCX, PPTX, transcript, Figma) to spec | 58 MCP tools handle all input formats |
|
|
@@ -184,7 +193,6 @@ Specky adds a **deterministic engine** between your intent and your code:
|
|
|
184
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) |
|
|
185
194
|
| MIT open source | Fork it, extend it, audit it. No vendor lock, no seat pricing |
|
|
186
195
|
|
|
187
|
-
|
|
188
196
|
## Quick Start
|
|
189
197
|
|
|
190
198
|
### Prerequisites
|
|
@@ -207,7 +215,7 @@ cd your-project
|
|
|
207
215
|
specky install
|
|
208
216
|
```
|
|
209
217
|
|
|
210
|
-
That's it. The CLI auto-detects
|
|
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.
|
|
211
219
|
|
|
212
220
|
**Other install modes:**
|
|
213
221
|
|
|
@@ -255,7 +263,6 @@ The orchestrator coordinates all 10 phases: Init → Discover → Specify → Cl
|
|
|
255
263
|
|
|
256
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.
|
|
257
265
|
|
|
258
|
-
|
|
259
266
|
## Where Specifications Live
|
|
260
267
|
|
|
261
268
|
Every feature gets its own numbered directory inside `.specs/`. This keeps specifications, design documents, and quality reports together as a self-contained package.
|
|
@@ -284,12 +291,27 @@ your-project/
|
|
|
284
291
|
|
|
285
292
|
**Naming convention:** `NNN-feature-name`, zero-padded number + kebab-case name. Each directory is independent; you can work on multiple features simultaneously.
|
|
286
293
|
|
|
287
|
-
|
|
288
294
|
## Input Methods: 6 Ways to Start
|
|
289
295
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
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
|
+
```
|
|
293
315
|
|
|
294
316
|
Specky accepts multiple input types. Choose the one that matches your starting point:
|
|
295
317
|
|
|
@@ -315,6 +337,7 @@ Import a transcript from Teams, Zoom, or Google Meet. Specky extracts topics, de
|
|
|
315
337
|
```
|
|
316
338
|
|
|
317
339
|
The AI calls `sdd_import_transcript` → extracts:
|
|
340
|
+
|
|
318
341
|
- Participants and speakers
|
|
319
342
|
- Topics discussed with summaries
|
|
320
343
|
- Decisions made
|
|
@@ -409,15 +432,23 @@ No file? Just paste the content directly. Every import tool accepts a `raw_text`
|
|
|
409
432
|
Import this and create a specification.
|
|
410
433
|
```
|
|
411
434
|
|
|
412
|
-
|
|
413
435
|
## Three Project Types, One Pipeline
|
|
414
436
|
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
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"]
|
|
418
444
|
|
|
419
|
-
|
|
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
|
+
```
|
|
420
450
|
|
|
451
|
+
Specky adapts to any project type. The pipeline is the same; the **starting point** is what changes.
|
|
421
452
|
|
|
422
453
|
## Greenfield Project: Start from Scratch
|
|
423
454
|
|
|
@@ -475,6 +506,7 @@ system shall return a 400 status with a descriptive error message.
|
|
|
475
506
|
```
|
|
476
507
|
|
|
477
508
|
The AI calls `sdd_write_design` → creates `DESIGN.md` with:
|
|
509
|
+
|
|
478
510
|
- System architecture diagram (Mermaid)
|
|
479
511
|
- Data model / ER diagram
|
|
480
512
|
- API contracts with endpoints, request/response schemas
|
|
@@ -498,6 +530,7 @@ The AI calls `sdd_write_tasks` → creates `TASKS.md` with implementation tasks
|
|
|
498
530
|
```
|
|
499
531
|
|
|
500
532
|
The AI calls:
|
|
533
|
+
|
|
501
534
|
- `sdd_run_analysis` → completeness audit, orphaned criteria detection
|
|
502
535
|
- `sdd_compliance_check` → SOC2 controls validation
|
|
503
536
|
- `sdd_generate_all_diagrams` → architecture, sequence, ER, flow, dependency, traceability diagrams
|
|
@@ -509,6 +542,7 @@ The AI calls:
|
|
|
509
542
|
```
|
|
510
543
|
|
|
511
544
|
The AI calls:
|
|
545
|
+
|
|
512
546
|
- `sdd_generate_iac` → Terraform configuration
|
|
513
547
|
- `sdd_generate_dockerfile` → Dockerfile + docker-compose
|
|
514
548
|
- `sdd_generate_tests` → Test stubs with acceptance criteria mapped to test cases
|
|
@@ -523,7 +557,6 @@ The AI calls `sdd_export_work_items` + `sdd_create_pr` → generates work item p
|
|
|
523
557
|
|
|
524
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.
|
|
525
559
|
|
|
526
|
-
|
|
527
560
|
## Brownfield Project: Add Features to Existing Code
|
|
528
561
|
|
|
529
562
|
**Scenario:** You have a running application and need to add a new feature with proper specifications.
|
|
@@ -594,7 +627,6 @@ The AI calls `sdd_cross_analyze` → checks for contradictions, shared dependenc
|
|
|
594
627
|
|
|
595
628
|
> **Next:** **Next:** See [compliance frameworks](#compliance-frameworks) for regulatory validation, or [MCP integration](#mcp-integration-architecture) for routing to external tools.
|
|
596
629
|
|
|
597
|
-
|
|
598
630
|
## Modernization Project: Assess and Upgrade Legacy Systems
|
|
599
631
|
|
|
600
632
|
**Scenario:** You have a legacy system that needs assessment, documentation, and incremental modernization.
|
|
@@ -636,6 +668,7 @@ The AI calls `sdd_batch_transcripts` → extracts decisions, requirements, const
|
|
|
636
668
|
```
|
|
637
669
|
|
|
638
670
|
The specification accounts for:
|
|
671
|
+
|
|
639
672
|
- Current system behavior (from codebase scan)
|
|
640
673
|
- Existing documentation (from imported docs)
|
|
641
674
|
- Stakeholder decisions (from meeting transcripts)
|
|
@@ -659,6 +692,7 @@ The AI calls `sdd_compliance_check` → validates the specification against regu
|
|
|
659
692
|
```
|
|
660
693
|
|
|
661
694
|
The AI calls:
|
|
695
|
+
|
|
662
696
|
- `sdd_implement` → phased implementation plan with checkpoints
|
|
663
697
|
- `sdd_generate_iac` → infrastructure configuration for the target environment
|
|
664
698
|
- `sdd_generate_runbook` → operational runbook with rollback procedures
|
|
@@ -671,14 +705,27 @@ The AI calls:
|
|
|
671
705
|
|
|
672
706
|
The AI calls `sdd_generate_onboarding` → creates a guide covering architecture decisions, codebase navigation, development workflow, and testing strategy.
|
|
673
707
|
|
|
674
|
-
> **Next:**
|
|
675
|
-
|
|
708
|
+
> **Next:** See [compliance frameworks](#compliance-frameworks) for regulatory validation during modernization, or [project configuration](#project-configuration) to customize Specky for your team.
|
|
676
709
|
|
|
677
710
|
## Pipeline and LGTM Gates
|
|
678
711
|
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
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
|
+
```
|
|
682
729
|
|
|
683
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.
|
|
684
731
|
|
|
@@ -694,9 +741,14 @@ Every Specky project follows the same 10-phase pipeline. The state machine **blo
|
|
|
694
741
|
|
|
695
742
|
The AI calls `sdd_advance_phase` → moves the pipeline forward if all prerequisites are met.
|
|
696
743
|
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
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
|
+
```
|
|
700
752
|
|
|
701
753
|
| Phase | What Happens | Required Output |
|
|
702
754
|
|-------|-------------|----------------|
|
|
@@ -713,7 +765,6 @@ The AI calls `sdd_advance_phase` → moves the pipeline forward if all prerequis
|
|
|
713
765
|
|
|
714
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.
|
|
715
767
|
|
|
716
|
-
|
|
717
768
|
## All 58 Tools
|
|
718
769
|
|
|
719
770
|
### Input and Conversion (6)
|
|
@@ -849,22 +900,40 @@ All artifacts are saved in [`.specs/NNN-feature/`](#where-specifications-live).
|
|
|
849
900
|
|------|-------------|
|
|
850
901
|
| `sdd_verify_audit` | Verify the hash-chained audit trail (`.audit.jsonl`) for tamper evidence and report chain integrity |
|
|
851
902
|
|
|
852
|
-
|
|
853
903
|
## The Spec-Driven Development Platform
|
|
854
904
|
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
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
|
+
```
|
|
858
927
|
|
|
859
928
|
### How Spec-Kit and Specky Complement Each Other
|
|
860
929
|
|
|
861
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.)
|
|
862
931
|
|
|
863
|
-
**Specky** is the CLI toolkit that reimplements that methodology as 58 enforceable MCP tools with 13 agents, 22 prompts,
|
|
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.
|
|
864
933
|
|
|
865
934
|
| | Spec-Kit (Methodology) | Specky (Plugin) |
|
|
866
935
|
|--|------------------------|-----------------|
|
|
867
|
-
| **What it is** | Prompt templates + agent definitions | CLI toolkit: 13 agents + 58 MCP tools + 22 prompts +
|
|
936
|
+
| **What it is** | Prompt templates + agent definitions | CLI toolkit: 13 agents + 58 MCP tools + 22 prompts + 14 skills + 16 hooks |
|
|
868
937
|
| **How it works** | AI reads `.md` templates and follows instructions | AI calls agents that orchestrate tools with hook validation |
|
|
869
938
|
| **Validation** | AI tries to follow the prompts | State machine, EARS regex, Zod schemas, pre/post hooks |
|
|
870
939
|
| **Install** | Copy `.github/agents/` and `.claude/commands/` | `npm install -g specky-sdd && specky install` |
|
|
@@ -913,7 +982,6 @@ pipeline:
|
|
|
913
982
|
|
|
914
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`.
|
|
915
984
|
|
|
916
|
-
|
|
917
985
|
## Staying up to date
|
|
918
986
|
|
|
919
987
|
Specky tells you about new versions in two ways:
|
|
@@ -933,12 +1001,30 @@ Teams pinning per-project (`npm install --save-dev specky-sdd`) should let [Reno
|
|
|
933
1001
|
|
|
934
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.
|
|
935
1003
|
|
|
936
|
-
|
|
937
1004
|
## MCP Integration Architecture
|
|
938
1005
|
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
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
|
+
```
|
|
942
1028
|
|
|
943
1029
|
Specky outputs structured JSON with routing instructions. Your AI client calls the appropriate external MCP server:
|
|
944
1030
|
|
|
@@ -965,7 +1051,6 @@ Specky --> sdd_figma_to_spec(file_key: "abc123") --> Figma request
|
|
|
965
1051
|
| **Figma MCP** | Design context, FigJam diagrams |
|
|
966
1052
|
| **Docker MCP** | Local dev environments |
|
|
967
1053
|
|
|
968
|
-
|
|
969
1054
|
## EARS Notation
|
|
970
1055
|
|
|
971
1056
|
Every requirement in Specky follows EARS (Easy Approach to Requirements Syntax):
|
|
@@ -981,7 +1066,6 @@ Every requirement in Specky follows EARS (Easy Approach to Requirements Syntax):
|
|
|
981
1066
|
|
|
982
1067
|
The EARS validator programmatically checks every requirement against these 6 patterns. Vague terms like "fast", "good", "easy" are flagged automatically.
|
|
983
1068
|
|
|
984
|
-
|
|
985
1069
|
## Compliance Frameworks
|
|
986
1070
|
|
|
987
1071
|
Built-in compliance checking against:
|
|
@@ -992,7 +1076,6 @@ Built-in compliance checking against:
|
|
|
992
1076
|
- **PCI-DSS**: Firewall, stored data protection, encryption, user identification
|
|
993
1077
|
- **ISO 27001**: Security policies, access control, cryptography, incident management
|
|
994
1078
|
|
|
995
|
-
|
|
996
1079
|
## Educative Outputs
|
|
997
1080
|
|
|
998
1081
|
Every tool response includes structured guidance:
|
|
@@ -1006,16 +1089,29 @@ Every tool response includes structured guidance:
|
|
|
1006
1089
|
}
|
|
1007
1090
|
```
|
|
1008
1091
|
|
|
1009
|
-
|
|
1010
1092
|
## Complete Pipeline Flow
|
|
1011
1093
|
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
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
|
+
```
|
|
1015
1112
|
|
|
1016
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).
|
|
1017
1114
|
|
|
1018
|
-
|
|
1019
1115
|
## Enterprise Ready
|
|
1020
1116
|
|
|
1021
1117
|
Specky is built with enterprise adoption in mind.
|
|
@@ -1098,7 +1194,6 @@ Every pipeline phase produces a traceable artifact in `.specs/NNN-feature/`. The
|
|
|
1098
1194
|
- **Phase Enforcement** — state machine blocks phase-skipping; required files gate advancement
|
|
1099
1195
|
- **Unit tests** — CI enforces thresholds on every push
|
|
1100
1196
|
|
|
1101
|
-
|
|
1102
1197
|
## Development
|
|
1103
1198
|
|
|
1104
1199
|
```bash
|
|
@@ -1123,9 +1218,9 @@ npm run dev
|
|
|
1123
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
|
|
1124
1219
|
|
|
1125
1220
|
# Run the published image from GHCR (multi-arch: linux/amd64 + linux/arm64)
|
|
1126
|
-
docker pull ghcr.io/paulasilvatech/specky:latest # or pin a release: :3.
|
|
1221
|
+
docker pull ghcr.io/paulasilvatech/specky:latest # or pin a release: :3.9.0
|
|
1127
1222
|
docker run --rm -p 3200:3200 ghcr.io/paulasilvatech/specky:latest
|
|
1128
|
-
curl http://localhost:3200/health # -> {"status":"ok","version":"3.
|
|
1223
|
+
curl http://localhost:3200/health # -> {"status":"ok","version":"3.9.0"}
|
|
1129
1224
|
|
|
1130
1225
|
# Or build and run locally from source
|
|
1131
1226
|
docker build -t specky-sdd:dev .
|
|
@@ -1138,7 +1233,6 @@ and serves an unauthenticated `GET /health`. For hardened/authenticated
|
|
|
1138
1233
|
deployments (enterprise profile, token auth, TLS proxy, private packages) see
|
|
1139
1234
|
[docs/ENTERPRISE-DEPLOYMENT.md](docs/ENTERPRISE-DEPLOYMENT.md).
|
|
1140
1235
|
|
|
1141
|
-
|
|
1142
1236
|
## Roadmap
|
|
1143
1237
|
|
|
1144
1238
|
### v3.7 (current)
|
|
@@ -1163,7 +1257,7 @@ deployments (enterprise profile, token auth, TLS proxy, private packages) see
|
|
|
1163
1257
|
| Test traceability: REQ-ID → test coverage mapping | Stable |
|
|
1164
1258
|
| Intent drift detection with amendment suggestions | Stable |
|
|
1165
1259
|
| 16 automation hooks (advisory-default, strict opt-in via SPECKY_GUARD) | Stable |
|
|
1166
|
-
| 13 specialized agents + 22 prompts +
|
|
1260
|
+
| 13 specialized agents + 22 prompts + 14 skills | Stable |
|
|
1167
1261
|
| 6 compliance frameworks (HIPAA, SOC2, GDPR, PCI-DSS, ISO 27001) | Stable |
|
|
1168
1262
|
| 6 input types (transcript, PDF, DOCX, Figma, codebase, raw text) | Stable |
|
|
1169
1263
|
| Test generation for 6 frameworks (vitest, jest, playwright, pytest, junit, xunit) | Stable |
|
|
@@ -1191,7 +1285,6 @@ deployments (enterprise profile, token auth, TLS proxy, private packages) see
|
|
|
1191
1285
|
|
|
1192
1286
|
Have a feature request? [Open an issue](https://github.com/paulasilvatech/specky/issues).
|
|
1193
1287
|
|
|
1194
|
-
|
|
1195
1288
|
## Examples
|
|
1196
1289
|
|
|
1197
1290
|
See [`examples/`](examples/) for a complete, real spec package generated by
|
|
@@ -1200,12 +1293,10 @@ is a greenfield REST API taken from `sdd_init` all the way to an `APPROVE`
|
|
|
1200
1293
|
quality gate at 100% traceability. `examples/specky-verify.example.yml` is a
|
|
1201
1294
|
drop-in GitHub Action that verifies EARS + the quality gate on every PR.
|
|
1202
1295
|
|
|
1203
|
-
|
|
1204
1296
|
## Contributing
|
|
1205
1297
|
|
|
1206
1298
|
See [CONTRIBUTING.md](CONTRIBUTING.md) for architecture details and how to add tools, templates, or services.
|
|
1207
1299
|
|
|
1208
|
-
|
|
1209
1300
|
## Links
|
|
1210
1301
|
|
|
1211
1302
|
- [CHANGELOG.md](CHANGELOG.md): Version history and release notes
|
|
@@ -1214,7 +1305,6 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for architecture details and how to add t
|
|
|
1214
1305
|
- [Spec-Kit](https://github.com/paulasilvatech/spec-kit): The SDD methodology foundation
|
|
1215
1306
|
- [npm package](https://www.npmjs.com/package/specky-sdd): `specky-sdd` on npm
|
|
1216
1307
|
|
|
1217
|
-
|
|
1218
1308
|
## License
|
|
1219
1309
|
|
|
1220
1310
|
MIT. Created by [Paula Silva](https://github.com/paulasilvatech) | Americas Software GBB, Microsoft
|
package/apm-policy.yml
CHANGED
|
@@ -25,6 +25,13 @@ hooks:
|
|
|
25
25
|
- PreToolUse
|
|
26
26
|
- PostToolUse
|
|
27
27
|
- Stop
|
|
28
|
+
- sessionStart
|
|
29
|
+
- beforeSubmitPrompt
|
|
30
|
+
- beforeMCPExecution
|
|
31
|
+
- afterMCPExecution
|
|
32
|
+
- preToolUse
|
|
33
|
+
- postToolUse
|
|
34
|
+
- stop
|
|
28
35
|
|
|
29
36
|
# Per-target tool-name isolation. Compiled output for one harness must never
|
|
30
37
|
# contain another harness's native tool tokens.
|