specky-sdd 3.10.2 → 3.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.apm/agents/specky-design-architect.agent.md +8 -28
- package/.apm/agents/specky-implementer.agent.md +15 -27
- package/.apm/agents/specky-onboarding.agent.md +8 -49
- package/.apm/agents/specky-orchestrator.agent.md +12 -37
- package/.apm/agents/specky-quality-reviewer.agent.md +9 -30
- package/.apm/agents/specky-release-engineer.agent.md +8 -30
- package/.apm/agents/specky-requirements-engineer.agent.md +1 -1
- package/.apm/agents/specky-research-analyst.agent.md +1 -1
- package/.apm/agents/specky-sdd-clarify.agent.md +1 -1
- package/.apm/agents/specky-sdd-init.agent.md +8 -19
- package/.apm/agents/specky-spec-engineer.agent.md +8 -30
- package/.apm/agents/specky-task-planner.agent.md +7 -26
- package/.apm/agents/specky-test-verifier.agent.md +7 -17
- package/.apm/hooks/scripts/specky-artifact-validator.sh +14 -10
- package/.apm/hooks/scripts/specky-auto-checkpoint.sh +9 -4
- package/.apm/hooks/scripts/specky-branch-validator.sh +29 -116
- package/.apm/hooks/scripts/specky-cognitive-debt-alert.sh +6 -3
- package/.apm/hooks/scripts/specky-contract-context.bash +24 -0
- package/.apm/hooks/scripts/specky-contract-context.mjs +219 -0
- package/.apm/hooks/scripts/specky-drift-monitor.sh +6 -3
- package/.apm/hooks/scripts/specky-ears-validator.sh +5 -2
- package/.apm/hooks/scripts/specky-lgtm-gate.sh +12 -10
- package/.apm/hooks/scripts/specky-metrics-dashboard.sh +5 -2
- package/.apm/hooks/scripts/specky-phase-gate.sh +18 -9
- package/.apm/hooks/scripts/specky-pipeline-guard.sh +19 -26
- package/.apm/hooks/scripts/specky-release-gate.sh +38 -46
- package/.apm/hooks/scripts/specky-security-scan.sh +53 -36
- package/.apm/hooks/scripts/specky-session-banner.sh +22 -74
- package/.apm/hooks/scripts/specky-spec-quality.sh +7 -4
- package/.apm/hooks/scripts/specky-spec-sync.sh +12 -11
- package/.apm/hooks/scripts/specky-task-tracer.sh +5 -2
- package/.apm/hooks/specky-run.sh +3 -0
- package/.apm/instructions/claude-instructions.instructions.md +3 -3
- package/.apm/instructions/copilot-instructions.instructions.md +3 -3
- package/.apm/instructions/cursor-instructions.instructions.md +3 -3
- package/.apm/instructions/opencode-instructions.instructions.md +2 -2
- package/.apm/prompts/specky-brownfield.prompt.md +8 -5
- package/.apm/prompts/specky-greenfield.prompt.md +7 -5
- package/.apm/prompts/specky-implement.prompt.md +1 -1
- package/.apm/prompts/specky-orchestrate.prompt.md +1 -1
- package/.apm/skills/specky-design-architect/SKILL.md +39 -16
- package/.apm/skills/specky-implementer/SKILL.md +46 -158
- package/.apm/skills/specky-onboarding/SKILL.md +50 -156
- package/.apm/skills/specky-orchestrator/SKILL.md +28 -26
- package/.apm/skills/specky-quality-reviewer/SKILL.md +38 -23
- package/.apm/skills/specky-release-engineer/SKILL.md +38 -270
- package/.apm/skills/specky-research-analyst/SKILL.md +1 -1
- package/.apm/skills/specky-sdd-init/SKILL.md +61 -23
- package/.apm/skills/specky-sdd-pipeline/SKILL.md +36 -216
- package/.apm/skills/specky-spec-engineer/SKILL.md +40 -17
- package/.apm/skills/specky-task-planner/SKILL.md +31 -12
- package/.apm/skills/specky-test-verifier/SKILL.md +23 -202
- package/CHANGELOG.md +39 -0
- package/README.md +49 -47
- package/SECURITY.md +5 -1
- package/apm-policy.yml +2 -0
- package/apm.lock.yaml +55 -53
- package/apm.yml +3 -3
- package/config.yml +32 -53
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +106 -20
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +105 -7
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/migrate-contracts.d.ts +15 -0
- package/dist/cli/commands/migrate-contracts.d.ts.map +1 -0
- package/dist/cli/commands/migrate-contracts.js +311 -0
- package/dist/cli/commands/migrate-contracts.js.map +1 -0
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +63 -48
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/index.js +82 -27
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/lib/apm/policy.d.ts +1 -0
- package/dist/cli/lib/apm/policy.d.ts.map +1 -1
- package/dist/cli/lib/apm/policy.js +15 -0
- package/dist/cli/lib/apm/policy.js.map +1 -1
- package/dist/cli/lib/asset-copier.d.ts +1 -0
- package/dist/cli/lib/asset-copier.d.ts.map +1 -1
- package/dist/cli/lib/asset-copier.js +4 -4
- package/dist/cli/lib/asset-copier.js.map +1 -1
- package/dist/cli/lib/cursor-plugin-writer.d.ts.map +1 -1
- package/dist/cli/lib/cursor-plugin-writer.js +34 -9
- package/dist/cli/lib/cursor-plugin-writer.js.map +1 -1
- package/dist/cli/lib/harness/compilers/claude.js +3 -3
- package/dist/cli/lib/harness/compilers/claude.js.map +1 -1
- package/dist/cli/lib/harness/compilers/common.d.ts +10 -1
- package/dist/cli/lib/harness/compilers/common.d.ts.map +1 -1
- package/dist/cli/lib/harness/compilers/common.js +71 -8
- package/dist/cli/lib/harness/compilers/common.js.map +1 -1
- package/dist/cli/lib/harness/compilers/copilot.js +3 -3
- package/dist/cli/lib/harness/compilers/copilot.js.map +1 -1
- package/dist/cli/lib/harness/compilers/cursor.js +3 -3
- package/dist/cli/lib/harness/compilers/cursor.js.map +1 -1
- package/dist/cli/lib/harness/compilers/opencode.js +3 -3
- package/dist/cli/lib/harness/compilers/opencode.js.map +1 -1
- package/dist/cli/lib/harness/tool-map.d.ts +8 -1
- package/dist/cli/lib/harness/tool-map.d.ts.map +1 -1
- package/dist/cli/lib/harness/tool-map.js +74 -0
- package/dist/cli/lib/harness/tool-map.js.map +1 -1
- package/dist/cli/lib/harness/types.d.ts +11 -1
- package/dist/cli/lib/harness/types.d.ts.map +1 -1
- package/dist/cli/lib/mcp-writer.d.ts +2 -1
- package/dist/cli/lib/mcp-writer.d.ts.map +1 -1
- package/dist/cli/lib/mcp-writer.js +13 -5
- package/dist/cli/lib/mcp-writer.js.map +1 -1
- package/dist/cli/lib/settings-merger.d.ts +15 -0
- package/dist/cli/lib/settings-merger.d.ts.map +1 -1
- package/dist/cli/lib/settings-merger.js +66 -1
- package/dist/cli/lib/settings-merger.js.map +1 -1
- package/dist/config.d.ts +110 -42
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +129 -140
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/contracts/pipeline-profiles.d.ts +61 -0
- package/dist/contracts/pipeline-profiles.d.ts.map +1 -0
- package/dist/contracts/pipeline-profiles.js +303 -0
- package/dist/contracts/pipeline-profiles.js.map +1 -0
- package/dist/contracts/tool-contracts.d.ts +449 -0
- package/dist/contracts/tool-contracts.d.ts.map +1 -0
- package/dist/contracts/tool-contracts.js +83 -0
- package/dist/contracts/tool-contracts.js.map +1 -0
- package/dist/contracts/use-case.d.ts +736 -0
- package/dist/contracts/use-case.d.ts.map +1 -0
- package/dist/contracts/use-case.js +352 -0
- package/dist/contracts/use-case.js.map +1 -0
- package/dist/index.js +7 -4
- package/dist/index.js.map +1 -1
- package/dist/schemas/common.d.ts +3 -3
- package/dist/schemas/common.d.ts.map +1 -1
- package/dist/schemas/common.js +1 -4
- package/dist/schemas/common.js.map +1 -1
- package/dist/schemas/context.d.ts +2 -2
- package/dist/schemas/environment.d.ts +6 -17
- package/dist/schemas/environment.d.ts.map +1 -1
- package/dist/schemas/environment.js +1 -28
- package/dist/schemas/environment.js.map +1 -1
- package/dist/schemas/feature-content.d.ts +116 -0
- package/dist/schemas/feature-content.d.ts.map +1 -0
- package/dist/schemas/feature-content.js +65 -0
- package/dist/schemas/feature-content.js.map +1 -0
- package/dist/schemas/infrastructure.d.ts +6 -28
- package/dist/schemas/infrastructure.d.ts.map +1 -1
- package/dist/schemas/infrastructure.js +1 -30
- package/dist/schemas/infrastructure.js.map +1 -1
- package/dist/schemas/input.d.ts +412 -8
- package/dist/schemas/input.d.ts.map +1 -1
- package/dist/schemas/input.js +6 -7
- package/dist/schemas/input.js.map +1 -1
- package/dist/schemas/integration.d.ts +22 -28
- package/dist/schemas/integration.d.ts.map +1 -1
- package/dist/schemas/integration.js +11 -47
- package/dist/schemas/integration.js.map +1 -1
- package/dist/schemas/metrics.d.ts +3 -2
- package/dist/schemas/metrics.d.ts.map +1 -1
- package/dist/schemas/metrics.js +2 -1
- package/dist/schemas/metrics.js.map +1 -1
- package/dist/schemas/pbt.d.ts +2 -7
- package/dist/schemas/pbt.d.ts.map +1 -1
- package/dist/schemas/pbt.js +1 -9
- package/dist/schemas/pbt.js.map +1 -1
- package/dist/schemas/pipeline.d.ts +282 -35
- package/dist/schemas/pipeline.d.ts.map +1 -1
- package/dist/schemas/pipeline.js +29 -15
- package/dist/schemas/pipeline.js.map +1 -1
- package/dist/schemas/quality.d.ts +15 -19
- package/dist/schemas/quality.d.ts.map +1 -1
- package/dist/schemas/quality.js +6 -3
- package/dist/schemas/quality.js.map +1 -1
- package/dist/schemas/routing.d.ts +2 -2
- package/dist/schemas/routing.d.ts.map +1 -1
- package/dist/schemas/routing.js +2 -4
- package/dist/schemas/routing.js.map +1 -1
- package/dist/schemas/testing.d.ts +4 -13
- package/dist/schemas/testing.d.ts.map +1 -1
- package/dist/schemas/testing.js +2 -10
- package/dist/schemas/testing.js.map +1 -1
- package/dist/schemas/transcript.d.ts +648 -10
- package/dist/schemas/transcript.d.ts.map +1 -1
- package/dist/schemas/transcript.js +25 -12
- package/dist/schemas/transcript.js.map +1 -1
- package/dist/schemas/utility.d.ts +28 -15
- package/dist/schemas/utility.d.ts.map +1 -1
- package/dist/schemas/utility.js +23 -14
- package/dist/schemas/utility.js.map +1 -1
- package/dist/schemas/visualization.d.ts +66 -15
- package/dist/schemas/visualization.d.ts.map +1 -1
- package/dist/schemas/visualization.js +36 -12
- package/dist/schemas/visualization.js.map +1 -1
- package/dist/services/codebase-scanner.d.ts +1 -1
- package/dist/services/codebase-scanner.d.ts.map +1 -1
- package/dist/services/codebase-scanner.js +2 -2
- package/dist/services/codebase-scanner.js.map +1 -1
- package/dist/services/compliance-engine.d.ts +3 -2
- package/dist/services/compliance-engine.d.ts.map +1 -1
- package/dist/services/compliance-engine.js +34 -21
- package/dist/services/compliance-engine.js.map +1 -1
- package/dist/services/diagram-generator.d.ts +4 -96
- package/dist/services/diagram-generator.d.ts.map +1 -1
- package/dist/services/diagram-generator.js +18 -1051
- package/dist/services/diagram-generator.js.map +1 -1
- package/dist/services/doc-generator.d.ts +19 -52
- package/dist/services/doc-generator.d.ts.map +1 -1
- package/dist/services/doc-generator.js +389 -524
- package/dist/services/doc-generator.js.map +1 -1
- package/dist/services/execution-context.d.ts +32 -0
- package/dist/services/execution-context.d.ts.map +1 -0
- package/dist/services/execution-context.js +120 -0
- package/dist/services/execution-context.js.map +1 -0
- package/dist/services/file-manager.d.ts +16 -4
- package/dist/services/file-manager.d.ts.map +1 -1
- package/dist/services/file-manager.js +81 -5
- package/dist/services/file-manager.js.map +1 -1
- package/dist/services/iac-generator.d.ts +9 -10
- package/dist/services/iac-generator.d.ts.map +1 -1
- package/dist/services/iac-generator.js +36 -99
- package/dist/services/iac-generator.js.map +1 -1
- package/dist/services/methodology.js +1 -1
- package/dist/services/methodology.js.map +1 -1
- package/dist/services/metrics-generator.d.ts +1 -1
- package/dist/services/metrics-generator.d.ts.map +1 -1
- package/dist/services/metrics-generator.js +2 -2
- package/dist/services/metrics-generator.js.map +1 -1
- package/dist/services/pbt-generator.d.ts +10 -31
- package/dist/services/pbt-generator.d.ts.map +1 -1
- package/dist/services/pbt-generator.js +43 -515
- package/dist/services/pbt-generator.js.map +1 -1
- package/dist/services/state-machine.d.ts +22 -16
- package/dist/services/state-machine.d.ts.map +1 -1
- package/dist/services/state-machine.js +176 -179
- package/dist/services/state-machine.js.map +1 -1
- package/dist/services/template-engine.d.ts +11 -5
- package/dist/services/template-engine.d.ts.map +1 -1
- package/dist/services/template-engine.js +48 -21
- package/dist/services/template-engine.js.map +1 -1
- package/dist/services/test-generator.d.ts +11 -7
- package/dist/services/test-generator.d.ts.map +1 -1
- package/dist/services/test-generator.js +45 -54
- package/dist/services/test-generator.js.map +1 -1
- package/dist/templates/design.md +6 -0
- package/dist/tools/analysis.d.ts.map +1 -1
- package/dist/tools/analysis.js +8 -9
- package/dist/tools/analysis.js.map +1 -1
- package/dist/tools/checkpoint.d.ts.map +1 -1
- package/dist/tools/checkpoint.js +43 -46
- package/dist/tools/checkpoint.js.map +1 -1
- package/dist/tools/context.d.ts.map +1 -1
- package/dist/tools/context.js +5 -7
- package/dist/tools/context.js.map +1 -1
- package/dist/tools/documentation.d.ts +1 -4
- package/dist/tools/documentation.d.ts.map +1 -1
- package/dist/tools/documentation.js +112 -193
- package/dist/tools/documentation.js.map +1 -1
- package/dist/tools/environment.d.ts +1 -1
- package/dist/tools/environment.d.ts.map +1 -1
- package/dist/tools/environment.js +58 -99
- package/dist/tools/environment.js.map +1 -1
- package/dist/tools/infrastructure.d.ts.map +1 -1
- package/dist/tools/infrastructure.js +36 -38
- package/dist/tools/infrastructure.js.map +1 -1
- package/dist/tools/input.d.ts.map +1 -1
- package/dist/tools/input.js +18 -11
- package/dist/tools/input.js.map +1 -1
- package/dist/tools/integration.d.ts.map +1 -1
- package/dist/tools/integration.js +64 -65
- package/dist/tools/integration.js.map +1 -1
- package/dist/tools/metrics.d.ts.map +1 -1
- package/dist/tools/metrics.js +18 -30
- package/dist/tools/metrics.js.map +1 -1
- package/dist/tools/pbt.d.ts.map +1 -1
- package/dist/tools/pbt.js +10 -12
- package/dist/tools/pbt.js.map +1 -1
- package/dist/tools/pipeline.d.ts.map +1 -1
- package/dist/tools/pipeline.js +156 -274
- package/dist/tools/pipeline.js.map +1 -1
- package/dist/tools/quality.d.ts.map +1 -1
- package/dist/tools/quality.js +58 -45
- package/dist/tools/quality.js.map +1 -1
- package/dist/tools/response-builder.d.ts.map +1 -1
- package/dist/tools/response-builder.js +12 -10
- package/dist/tools/response-builder.js.map +1 -1
- package/dist/tools/testing.d.ts.map +1 -1
- package/dist/tools/testing.js +28 -29
- package/dist/tools/testing.js.map +1 -1
- package/dist/tools/tool-enforcement.d.ts +2 -0
- package/dist/tools/tool-enforcement.d.ts.map +1 -1
- package/dist/tools/tool-enforcement.js +84 -59
- package/dist/tools/tool-enforcement.js.map +1 -1
- package/dist/tools/transcript.d.ts.map +1 -1
- package/dist/tools/transcript.js +304 -374
- package/dist/tools/transcript.js.map +1 -1
- package/dist/tools/turnkey.d.ts +1 -31
- package/dist/tools/turnkey.d.ts.map +1 -1
- package/dist/tools/turnkey.js +104 -488
- package/dist/tools/turnkey.js.map +1 -1
- package/dist/tools/utility.d.ts.map +1 -1
- package/dist/tools/utility.js +115 -134
- package/dist/tools/utility.js.map +1 -1
- package/dist/tools/visualization.d.ts +1 -25
- package/dist/tools/visualization.d.ts.map +1 -1
- package/dist/tools/visualization.js +187 -562
- package/dist/tools/visualization.js.map +1 -1
- package/dist/types.d.ts +21 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/artifact-metadata.d.ts +8 -0
- package/dist/utils/artifact-metadata.d.ts.map +1 -0
- package/dist/utils/artifact-metadata.js +10 -0
- package/dist/utils/artifact-metadata.js.map +1 -0
- package/dist/utils/requirement-partition.d.ts +8 -0
- package/dist/utils/requirement-partition.d.ts.map +1 -0
- package/dist/utils/requirement-partition.js +15 -0
- package/dist/utils/requirement-partition.js.map +1 -0
- package/package.json +11 -2
- package/templates/design.md +6 -0
- package/dist/utils/design-stubs.d.ts +0 -32
- package/dist/utils/design-stubs.d.ts.map +0 -1
- package/dist/utils/design-stubs.js +0 -103
- package/dist/utils/design-stubs.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,45 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [3.11.1] - 2026-07-16
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Signed per-feature use-case contracts for the 54 supported lifecycle, workload, and execution-mode combinations.
|
|
15
|
+
- Central execution-context resolution and contract enforcement for the MCP tool surface.
|
|
16
|
+
- `specky migrate-contracts` for explicit migration of legacy root state to signed v5 per-feature state.
|
|
17
|
+
- Contract-aware pipeline profiles, strict capability configuration, explicit evidence payloads, and atomic multi-file writes.
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- Documentation, diagrams, research, and turnkey specification tools now consume caller-supplied evidence and contract configuration instead of synthesizing unspecified content.
|
|
22
|
+
- Agents, prompts, skills, hooks, installer output, generated API reference, and public site content describe the signed per-feature contract model.
|
|
23
|
+
- Build output is cleaned before compilation so deleted source modules cannot remain in the npm tarball.
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- Cursor plugin creation now avoids the previously identified TOCTOU path race and removes unsafe `any` usage.
|
|
28
|
+
- APM primitive lock material is regenerated for the current canonical assets.
|
|
29
|
+
|
|
30
|
+
### Security
|
|
31
|
+
|
|
32
|
+
- Feature-scoped MCP tools reject ambiguous, legacy, missing, or mismatched execution context rather than selecting a feature implicitly.
|
|
33
|
+
|
|
34
|
+
## [3.11.0] - 2026-07-13
|
|
35
|
+
|
|
36
|
+
### Added
|
|
37
|
+
|
|
38
|
+
- Canonical agent `capabilities:` declarations compiled into target-native tool identifiers for Copilot, Claude Code, Cursor, and OpenCode.
|
|
39
|
+
- `--permission-profile=scoped|prompt` installation modes. The scoped Claude profile derives narrow native, command, and MCP allow rules from installed agent capabilities.
|
|
40
|
+
- Optional GitHub MCP registration with `--integration=github`, including target-aware diagnostics in `specky doctor`.
|
|
41
|
+
- [Target Capabilities](docs/TARGET-CAPABILITIES.md) reference for target rendering, approval boundaries, and GitHub MCP routing.
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
|
|
45
|
+
- Initializer, orchestrator, verifier, implementer, and release workflows now declare the Git/test/release capabilities their instructions require.
|
|
46
|
+
- Release workflows distinguish Specky payload generation from authenticated GitHub MCP mutations.
|
|
47
|
+
- APM runtime references are pinned to the package release version rather than `@latest`.
|
|
48
|
+
|
|
10
49
|
## [3.10.2] - 2026-07-13
|
|
11
50
|
|
|
12
51
|
Patch release: Specky logo in VS Code and Cursor MCP / Agent Plugins UI.
|
package/README.md
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
<br>
|
|
3
3
|
<img src="site/specky-brand-logo.svg" alt="Specky" height="80">
|
|
4
4
|
<br><br>
|
|
5
|
-
<p><strong>13 agents. 58 MCP tools.
|
|
5
|
+
<p><strong>13 agents. 58 MCP tools. Explicit use-case contracts. One CLI.</strong></p>
|
|
6
6
|
<p>Agentic Spec-Driven Development</p>
|
|
7
7
|
|
|
8
8
|
<p>
|
|
9
9
|
<img src="https://img.shields.io/badge/agents-13-374151?style=flat-square" alt="13 Agents"/>
|
|
10
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/
|
|
11
|
+
<img src="https://img.shields.io/badge/phase_graphs-contract_scoped-6b7280?style=flat-square" alt="Contract-scoped phase graphs"/>
|
|
12
12
|
<img src="https://img.shields.io/badge/hooks-16-9ca3af?style=flat-square" alt="16 Hooks"/>
|
|
13
13
|
<img src="https://img.shields.io/badge/license-MIT-d1d5db?style=flat-square" alt="MIT"/>
|
|
14
14
|
</p>
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
<p>
|
|
34
34
|
<a href="https://getspecky.ai">Website</a> ·
|
|
35
35
|
<a href="docs/GETTING-STARTED.md">Getting Started</a> ·
|
|
36
|
+
<a href="docs/USE-CASE-CONTRACTS.md">Use-Case Contracts</a> ·
|
|
36
37
|
<a href="https://www.npmjs.com/package/specky-sdd">npm</a> ·
|
|
37
38
|
<a href="SECURITY.md">Security</a>
|
|
38
39
|
</p>
|
|
@@ -50,19 +51,20 @@
|
|
|
50
51
|
| | [Where Specifications Live](#where-specifications-live) | File structure and naming conventions |
|
|
51
52
|
| | [Input Methods](#input-methods-6-ways-to-start) | 6 ways to feed Specky |
|
|
52
53
|
| | [Three Project Types](#three-project-types-one-pipeline) | Greenfield, Brownfield, Modernization |
|
|
54
|
+
| | [Use-Case Contracts](docs/USE-CASE-CONTRACTS.md) | Lifecycle, workload, mode, capabilities, evidence, migration |
|
|
53
55
|
| | [How to upgrade](#how-to-upgrade) | Bump npm + refresh project assets (no `--target` needed) |
|
|
54
56
|
| | [Staying up to date](#staying-up-to-date) | Update notifications and opt-out |
|
|
55
|
-
| **Pipeline** | [Pipeline and LGTM Gates](#pipeline-and-lgtm-gates) |
|
|
57
|
+
| **Pipeline** | [Pipeline and LGTM Gates](#pipeline-and-lgtm-gates) | Feature-specific phase graphs and configured review gates |
|
|
56
58
|
| | [All 58 Tools](#all-58-tools) | Complete tool reference by category |
|
|
57
59
|
| | [EARS Notation](#ears-notation) | The 6 requirement patterns |
|
|
58
60
|
| **Enterprise** | [Compliance Frameworks](#compliance-frameworks) | HIPAA, SOC2, GDPR, PCI-DSS, ISO 27001 |
|
|
59
61
|
| | [Enterprise Ready](#enterprise-ready) | Security, audit trail, quality gates |
|
|
60
62
|
| **Platform** | [The SDD Platform](#the-spec-driven-development-platform) | Built on Spec-Kit, everything included |
|
|
61
|
-
| | [Roadmap](#roadmap) | v3.
|
|
63
|
+
| | [Roadmap](#roadmap) | v3.11.1 current, future capabilities planned |
|
|
62
64
|
|
|
63
65
|
## What is Specky?
|
|
64
66
|
|
|
65
|
-
Specky is a **CLI toolkit for Spec-Driven Development** — 13 specialized agents, 58 MCP tools, 22 prompts, 14 skills, and 16 automation hooks
|
|
67
|
+
Specky is a **CLI toolkit for Spec-Driven Development** — 13 specialized agents, 58 MCP tools, 22 prompts, 14 skills, and 16 automation hooks. Each feature selects an explicit lifecycle, workload, execution mode, and capability configuration; Specky persists the resolved phase graph and rejects missing identity, hidden defaults, unsupported capabilities, and ungrounded artifact evidence.
|
|
66
68
|
|
|
67
69
|
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**.
|
|
68
70
|
|
|
@@ -82,8 +84,8 @@ Specky is a **complete AI development toolkit** — not just an MCP server. The
|
|
|
82
84
|
|
|
83
85
|
An MCP server gives you **tools**. The CLI toolkit gives you the **experience**:
|
|
84
86
|
|
|
85
|
-
- **Tools alone**: You
|
|
86
|
-
- **CLI toolkit**: You
|
|
87
|
+
- **Tools alone**: You must provide exact feature identity, use-case selection, capability parameters, and evidence.
|
|
88
|
+
- **CLI toolkit**: You invoke `@specky-orchestrator`; it loads the feature's signed contract, follows its persisted graph, delegates to lean agents that read rich skills, and applies configured gates.
|
|
87
89
|
|
|
88
90
|
The MCP engine is the runtime. The agents + hooks + skills are the product.
|
|
89
91
|
|
|
@@ -101,7 +103,7 @@ specky install --target=copilot # VS Code + GitHub Copilot (recommended)
|
|
|
101
103
|
specky install --target=claude # Claude Code
|
|
102
104
|
specky install --target=cursor # Cursor
|
|
103
105
|
specky install --target=opencode # OpenCode
|
|
104
|
-
specky install --target=agent-skills #
|
|
106
|
+
specky install --target=agent-skills # Skills-only shared .agents/skills bundle
|
|
105
107
|
```
|
|
106
108
|
|
|
107
109
|
> **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.
|
|
@@ -114,9 +116,9 @@ npm install --save-dev specky-sdd@latest
|
|
|
114
116
|
npx specky install --target=copilot
|
|
115
117
|
```
|
|
116
118
|
|
|
117
|
-
The CLI installs 13 agents, 22 prompts, 14 skills, 16 hooks,
|
|
119
|
+
The CLI installs 13 agents, 22 prompts, 14 skills, 16 hooks, and target-local MCP registration pinned to the installed version. Canonical agent capabilities compile to the selected harness's native tools; they are not inferred from workflow prose. Use `--permission-profile=scoped` (default) for narrow Claude pre-authorization, or `--permission-profile=prompt` to leave every approval with the host. Specky does **not** pre-authorize arbitrary shell, `rm`, network access, or credentials. Add `--integration=github` only when GitHub MCP routing is required. Run `specky doctor` anytime to validate integrity and configuration.
|
|
118
120
|
|
|
119
|
-
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.
|
|
121
|
+
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. Cursor and OpenCode receive their own native vocabulary. `agent-skills` is intentionally skills-only. See [Target Capabilities](docs/TARGET-CAPABILITIES.md) for the full capability matrix, GitHub MCP opt-in, and host approval boundaries.
|
|
120
122
|
|
|
121
123
|
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.
|
|
122
124
|
|
|
@@ -175,7 +177,7 @@ flowchart LR
|
|
|
175
177
|
|
|
176
178
|
AI coding assistants are fast but chaotic. You say *"build me a login system"* and the AI generates code immediately, skipping requirements, guessing architecture, and producing something that works but doesn't match what anyone actually needed. This is **vibe coding**: generating code based on vibes instead of validated specifications.
|
|
177
179
|
|
|
178
|
-
The result
|
|
180
|
+
The result is avoidable rework: requirements, acceptance criteria, design decisions, tasks, tests, and release evidence cannot be traced to one reviewed contract.
|
|
179
181
|
|
|
180
182
|
### The Solution: Deterministic Development
|
|
181
183
|
|
|
@@ -195,7 +197,7 @@ The result? Teams spend 40% of their time on rework because requirements were ne
|
|
|
195
197
|
|
|
196
198
|
Specky adds a **deterministic engine** between your intent and your code:
|
|
197
199
|
|
|
198
|
-
- **State Machine**:
|
|
200
|
+
- **State Machine**: signed per-feature phase graphs for full, rapid, and emergency execution modes.
|
|
199
201
|
- **EARS Validator**: Every requirement validated against 6 patterns. No vague statements pass.
|
|
200
202
|
- **Cross-Artifact Analysis**: Automatic alignment checking between spec, design, and tasks. Orphaned requirements are flagged instantly.
|
|
201
203
|
- **MCP-to-MCP Architecture**: Specky outputs structured JSON that your AI client routes to GitHub, Azure DevOps, Jira, Terraform, Figma, and Docker MCP servers. No vendor lock-in.
|
|
@@ -207,18 +209,18 @@ Specky adds a **deterministic engine** between your intent and your code:
|
|
|
207
209
|
| Capability | Specky |
|
|
208
210
|
|---|---|
|
|
209
211
|
| Complete CLI toolkit | 13 agents, 22 prompts, 14 skills, 16 hooks + 58 MCP tools |
|
|
210
|
-
| Pipeline orchestrator | @specky-orchestrator
|
|
212
|
+
| Pipeline orchestrator | @specky-orchestrator follows the selected feature's signed phase graph |
|
|
211
213
|
| Onboarding wizard | @specky-onboarding detects context and guides setup |
|
|
212
|
-
|
|
|
214
|
+
| Explicit input contracts | Document, transcript, and Figma tools require enabled capabilities and complete parameters |
|
|
213
215
|
| EARS validation (programmatic, not AI guessing) | 6 patterns enforced at schema level |
|
|
214
|
-
| Enforced pipeline (not suggestions) |
|
|
216
|
+
| Enforced pipeline (not suggestions) | Contract-specific phases, central analysis gate, optional configured LGTM blocking |
|
|
215
217
|
| Pre/post hooks on every phase | specky-artifact-validator, specky-branch-validator, specky-phase-gate, specky-lgtm-gate |
|
|
216
|
-
|
|
|
217
|
-
| Infrastructure as Code | Terraform
|
|
218
|
+
| Workload-specific diagrams | Exact required manifest, explicit Mermaid/FigJam payloads, source evidence references |
|
|
219
|
+
| Infrastructure as Code | Terraform from persisted cloud/resources; DESIGN.md evidence required |
|
|
218
220
|
| Work item export | GitHub Issues, Azure Boards, Jira via MCP-to-MCP routing |
|
|
219
|
-
|
|
|
221
|
+
| 5 compliance frameworks | HIPAA, SOC2, GDPR, PCI-DSS, ISO 27001 with explicit control-ID evidence |
|
|
220
222
|
| Cross-artifact traceability | Requirement to design to task to test to code |
|
|
221
|
-
|
|
|
223
|
+
| Explicit release policy | Branch prefix, base, draft, and checkpoint choices persisted per feature |
|
|
222
224
|
| Unified CLI distribution | `npm install -g specky-sdd && specky install --target=copilot` — one binary, multi-OS (macOS/Linux/Windows/WSL) |
|
|
223
225
|
| First-class harness targets | VS Code + Copilot, Claude Code, Cursor, OpenCode, plus shared `.agents/skills` |
|
|
224
226
|
| 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) |
|
|
@@ -284,7 +286,7 @@ The onboarding wizard detects your project context (greenfield/brownfield/modern
|
|
|
284
286
|
@specky-orchestrator run the pipeline for a todo API
|
|
285
287
|
```
|
|
286
288
|
|
|
287
|
-
The orchestrator
|
|
289
|
+
The orchestrator resolves the selected feature contract and follows its `full`, `rapid`, or `emergency` phase graph. Specify, Design, and Tasks require `lgtm: true` only when workspace configuration enables LGTM enforcement.
|
|
288
290
|
|
|
289
291
|
| Your situation | Guide |
|
|
290
292
|
|---------------|-------|
|
|
@@ -557,26 +559,26 @@ The AI calls `sdd_write_tasks` → creates `TASKS.md` with implementation tasks
|
|
|
557
559
|
### Step 5: Quality gates
|
|
558
560
|
|
|
559
561
|
```
|
|
560
|
-
> Run analysis,
|
|
562
|
+
> Run analysis, submit SOC2 control evidence, and validate the workload-required diagram set
|
|
561
563
|
```
|
|
562
564
|
|
|
563
565
|
The AI calls:
|
|
564
566
|
|
|
565
567
|
- `sdd_run_analysis` → completeness audit, orphaned criteria detection
|
|
566
|
-
- `sdd_compliance_check` → SOC2
|
|
567
|
-
- `sdd_generate_all_diagrams` →
|
|
568
|
+
- `sdd_compliance_check` → evaluates the persisted SOC2 pack using evidence keyed by control ID
|
|
569
|
+
- `sdd_generate_all_diagrams` → validates exactly the workload-required Mermaid payloads against source evidence
|
|
568
570
|
|
|
569
571
|
### Step 6: Generate infrastructure and tests
|
|
570
572
|
|
|
571
573
|
```
|
|
572
|
-
> Generate
|
|
574
|
+
> Generate the persisted Azure Terraform resources, Docker environment, and executable Vitest bindings
|
|
573
575
|
```
|
|
574
576
|
|
|
575
577
|
The AI calls:
|
|
576
578
|
|
|
577
|
-
- `sdd_generate_iac` → Terraform
|
|
578
|
-
- `sdd_generate_dockerfile` → Dockerfile
|
|
579
|
-
- `sdd_generate_tests` →
|
|
579
|
+
- `sdd_generate_iac` → Terraform for the exact cloud/resources stored in the feature contract
|
|
580
|
+
- `sdd_generate_dockerfile` → Dockerfile/compose from the persisted development stack
|
|
581
|
+
- `sdd_generate_tests` → executable tests from fingerprinted requirement bindings
|
|
580
582
|
|
|
581
583
|
### Step 7: Export and ship
|
|
582
584
|
|
|
@@ -758,9 +760,9 @@ flowchart LR
|
|
|
758
760
|
class G1,G2,G3 gate;
|
|
759
761
|
```
|
|
760
762
|
|
|
761
|
-
|
|
763
|
+
This diagram is the `full` execution-mode graph. Rapid and emergency contracts persist smaller ordered graphs. The state machine blocks transitions outside the selected feature's graph.
|
|
762
764
|
|
|
763
|
-
**LGTM gates:**
|
|
765
|
+
**LGTM gates:** Specify, Design, and Tasks can require `lgtm: true` when `.specky/config.yml` enables LGTM enforcement. When disabled, review remains useful but is not a hidden blocking default.
|
|
764
766
|
|
|
765
767
|
**Feedback loop:** If `sdd_verify_tasks` detects drift between specification and implementation, Specky routes you back to the Specify phase to correct the divergence before proceeding.
|
|
766
768
|
|
|
@@ -833,13 +835,13 @@ All artifacts are saved in [`.specs/NNN-feature/`](#where-specifications-live).
|
|
|
833
835
|
| `sdd_validate_ears` | Batch EARS requirement validation |
|
|
834
836
|
| `sdd_check_sync` | Spec-vs-implementation drift detection report |
|
|
835
837
|
|
|
836
|
-
### Diagrams and Visualization (4)
|
|
838
|
+
### Diagrams and Visualization (4) — Workload-Contracted Payloads
|
|
837
839
|
|
|
838
840
|
| Tool | Description |
|
|
839
841
|
|------|-------------|
|
|
840
|
-
| `sdd_generate_diagram` | Single Mermaid diagram
|
|
841
|
-
| `sdd_generate_all_diagrams` |
|
|
842
|
-
| `sdd_generate_user_stories` | User stories with flow diagrams |
|
|
842
|
+
| `sdd_generate_diagram` | Single Mermaid diagram validated against the workload contract's required set |
|
|
843
|
+
| `sdd_generate_all_diagrams` | The exact diagram set the feature contract requires, written atomically |
|
|
844
|
+
| `sdd_generate_user_stories` | User stories with flow diagrams (web-application workload) |
|
|
843
845
|
| `sdd_figma_diagram` | FigJam-ready diagram via Figma MCP |
|
|
844
846
|
|
|
845
847
|
### Infrastructure as Code (3)
|
|
@@ -893,15 +895,15 @@ All artifacts are saved in [`.specs/NNN-feature/`](#where-specifications-live).
|
|
|
893
895
|
|
|
894
896
|
| Tool | Description |
|
|
895
897
|
|------|-------------|
|
|
896
|
-
| `sdd_generate_tests` |
|
|
898
|
+
| `sdd_generate_tests` | Assemble executable tests from persisted requirement bindings (vitest/jest/playwright/pytest/junit/xunit) |
|
|
897
899
|
| `sdd_verify_tests` | Verify test results against requirements, report traceability coverage |
|
|
898
|
-
| `sdd_generate_pbt` |
|
|
900
|
+
| `sdd_generate_pbt` | Assemble executable fast-check or Hypothesis properties from persisted requirement bindings; no generated model stubs |
|
|
899
901
|
|
|
900
902
|
### Turnkey Specification (1)
|
|
901
903
|
|
|
902
904
|
| Tool | Description |
|
|
903
905
|
|------|-------------|
|
|
904
|
-
| `sdd_turnkey_spec` |
|
|
906
|
+
| `sdd_turnkey_spec` | Assemble caller-authored EARS requirements, criteria, evidence, discovery context, and clarification responses for an initialized feature; never infers requirements or creates state |
|
|
905
907
|
|
|
906
908
|
### Checkpointing (3)
|
|
907
909
|
|
|
@@ -921,7 +923,7 @@ All artifacts are saved in [`.specs/NNN-feature/`](#where-specifications-live).
|
|
|
921
923
|
|
|
922
924
|
| Tool | Description |
|
|
923
925
|
|------|-------------|
|
|
924
|
-
| `sdd_model_routing` |
|
|
926
|
+
| `sdd_model_routing` | Capability-class routing guidance for the phase vocabulary; the selected feature graph controls applicable phases |
|
|
925
927
|
| `sdd_context_status` | Context tier assignment (Hot/Domain/Cold) for spec artifacts with token savings |
|
|
926
928
|
| `sdd_check_access` | RBAC access check for current role with per-tool permissions summary |
|
|
927
929
|
|
|
@@ -1161,7 +1163,7 @@ Specky is 100% open source (MIT) — enterprise mode is just an opt-in configura
|
|
|
1161
1163
|
|
|
1162
1164
|
- **3 runtime dependencies** — minimal attack surface (`@modelcontextprotocol/sdk`, `zod`, `yaml`)
|
|
1163
1165
|
- **Zero outbound network requests from the MCP server** — all data stays local; the CLI's optional once-daily update check is the only network touch ([opt-out](#staying-up-to-date))
|
|
1164
|
-
- **
|
|
1166
|
+
- **Strict template rendering** — missing variables/loops raise `TemplateRenderError`; no TODO substitution or dynamic template execution
|
|
1165
1167
|
- **Path traversal prevention**: FileManager sanitizes all paths, blocks `..` sequences
|
|
1166
1168
|
- **Zod `.strict()` validation** — every tool input is schema-validated; unknown fields rejected
|
|
1167
1169
|
- **specky-security-scan hook** blocks commits containing hardcoded secrets (exit code 2)
|
|
@@ -1183,7 +1185,7 @@ When using Specky, follow these practices to protect your data:
|
|
|
1183
1185
|
| **Never expose HTTP mode to public networks without TLS** | HTTP has optional bearer-token auth but no TLS | `--http` binds to `127.0.0.1` by default; set `SDD_HTTP_TOKEN` (shared) or `SDD_HTTP_TOKENS_FILE` (per-user identity + role) for bearer auth. For remote access, add a reverse proxy (nginx, Caddy) terminating TLS |
|
|
1184
1186
|
| **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 |
|
|
1185
1187
|
| **Protect checkpoints** | `.specs/{feature}/.checkpoints/` stores full artifact snapshots | Same as above — treat checkpoints like source code |
|
|
1186
|
-
| **Review
|
|
1188
|
+
| **Review source-backed artifacts before committing** | Transcript/document inputs and explicit source quotes may contain sensitive details | Review SPECIFICATION.md, DESIGN.md, and TRANSCRIPT.md before `git add` |
|
|
1187
1189
|
| **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` |
|
|
1188
1190
|
| **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 |
|
|
1189
1191
|
| **Run `npm audit` regularly** | Catches dependency vulnerabilities | `npm audit` — CI runs this automatically on every PR |
|
|
@@ -1253,9 +1255,9 @@ npm run dev
|
|
|
1253
1255
|
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
|
|
1254
1256
|
|
|
1255
1257
|
# Run the published image from GHCR (multi-arch: linux/amd64 + linux/arm64)
|
|
1256
|
-
docker pull ghcr.io/paulasilvatech/specky:latest # or pin a release: :3.
|
|
1258
|
+
docker pull ghcr.io/paulasilvatech/specky:latest # or pin a release: :3.11.1
|
|
1257
1259
|
docker run --rm -p 3200:3200 ghcr.io/paulasilvatech/specky:latest
|
|
1258
|
-
curl http://localhost:3200/health # -> {"status":"ok","version":"3.
|
|
1260
|
+
curl http://localhost:3200/health # -> {"status":"ok","version":"3.11.1"}
|
|
1259
1261
|
|
|
1260
1262
|
# Or build and run locally from source
|
|
1261
1263
|
docker build -t specky-sdd:dev .
|
|
@@ -1270,20 +1272,20 @@ deployments (enterprise profile, token auth, TLS proxy, private packages) see
|
|
|
1270
1272
|
|
|
1271
1273
|
## Roadmap
|
|
1272
1274
|
|
|
1273
|
-
### v3.
|
|
1275
|
+
### v3.11.1 (current)
|
|
1274
1276
|
|
|
1275
1277
|
| Capability | Status |
|
|
1276
1278
|
|------------|--------|
|
|
1277
|
-
| 58 MCP tools
|
|
1279
|
+
| 58 MCP tools driven by signed per-feature use-case contracts | Stable |
|
|
1278
1280
|
| Unified `specky` CLI: install, doctor, status, upgrade, hooks, serve | Stable |
|
|
1279
1281
|
| Target-specific install: `--target=copilot`, `claude`, `cursor`, `opencode`, or `agent-skills` | Stable |
|
|
1280
1282
|
| Copilot-safe hook manifests (no lifecycle event cross-read) | Stable |
|
|
1281
1283
|
| Phase validation on every tool with gate enforcement | Stable |
|
|
1282
|
-
|
|
|
1284
|
+
| Workload-contracted diagram sets (C4, sequence, ER, DFD, deployment, network) | Stable |
|
|
1283
1285
|
| 12-section system design template (C4 model, security, infrastructure) | Stable |
|
|
1284
1286
|
| Enriched interactive responses on all tools (progress, handoff, education) | Stable |
|
|
1285
1287
|
| Parallel documentation generation (5 types via Promise.all) | Stable |
|
|
1286
|
-
|
|
|
1288
|
+
| Explicit turnkey specification assembly (`sdd_turnkey_spec`) | Stable |
|
|
1287
1289
|
| Property-based testing with fast-check and Hypothesis (`sdd_generate_pbt`) | Stable |
|
|
1288
1290
|
| Checkpoint/restore for spec artifacts | Stable |
|
|
1289
1291
|
| Intelligence layer: model routing hints on all tools | Stable |
|
|
@@ -1293,7 +1295,7 @@ deployments (enterprise profile, token auth, TLS proxy, private packages) see
|
|
|
1293
1295
|
| Intent drift detection with amendment suggestions | Stable |
|
|
1294
1296
|
| 16 automation hooks (advisory-default, strict opt-in via SPECKY_GUARD) | Stable |
|
|
1295
1297
|
| 13 specialized agents + 22 prompts + 14 skills | Stable |
|
|
1296
|
-
|
|
|
1298
|
+
| 5 compliance frameworks (HIPAA, SOC2, GDPR, PCI-DSS, ISO 27001) with explicit control evidence | Stable |
|
|
1297
1299
|
| 6 input types (transcript, PDF, DOCX, Figma, codebase, raw text) | Stable |
|
|
1298
1300
|
| Test generation for 6 frameworks (vitest, jest, playwright, pytest, junit, xunit) | Stable |
|
|
1299
1301
|
| MCP-to-MCP routing (GitHub, Azure DevOps, Jira, Terraform, Figma, Docker) | Stable |
|
|
@@ -1312,7 +1314,7 @@ deployments (enterprise profile, token auth, TLS proxy, private packages) see
|
|
|
1312
1314
|
| OpenCode two-step bootstrap (`install` + `compile`) | Stable |
|
|
1313
1315
|
| VS Code MCP dual schema (`servers` + `mcpServers`) | Stable |
|
|
1314
1316
|
|
|
1315
|
-
###
|
|
1317
|
+
### Future capabilities (planned)
|
|
1316
1318
|
|
|
1317
1319
|
| Feature | Description |
|
|
1318
1320
|
|---------|-------------|
|
package/SECURITY.md
CHANGED
|
@@ -46,6 +46,10 @@ AI Client → JSON-RPC → Zod .strict() validation → Service layer
|
|
|
46
46
|
|
|
47
47
|
Specky does **not** use `eval()`, `Function()`, `vm.runInNewContext()`, or any dynamic code execution. Template rendering uses string replacement only — no template engines that execute code.
|
|
48
48
|
|
|
49
|
+
### Agent Capability Boundaries
|
|
50
|
+
|
|
51
|
+
The Specky MCP server does not execute arbitrary shell commands or persist GitHub credentials. Generated agents may declare narrowly scoped Git, test, or release-gate capabilities, but the selected host runtime executes and approves those native tools. The optional GitHub MCP integration is registered only with `specky install --integration=github`; GitHub authentication and repository authorization remain with the signed-in host identity. See [Target Capabilities](docs/TARGET-CAPABILITIES.md).
|
|
52
|
+
|
|
49
53
|
### Network Calls
|
|
50
54
|
|
|
51
55
|
The **MCP server makes zero outbound network calls**. All data stays on the user's machine. It communicates only via stdio (JSON-RPC over stdin/stdout) or optional HTTP transport on localhost, and this holds unconditionally — `specky serve` never performs the update check described below.
|
|
@@ -127,7 +131,7 @@ The audit trail's plain hash chain detects corruption but not deliberate rewriti
|
|
|
127
131
|
- Zero `any` types in source code — enforced by CI
|
|
128
132
|
- All schemas use `.strict()` — rejects unknown fields
|
|
129
133
|
- `FileManager` is the sole I/O boundary — no direct `fs` calls in tools or other services
|
|
130
|
-
-
|
|
134
|
+
- The Specky MCP server does not execute shell commands; target runtimes may execute only the explicitly declared, host-approved agent capabilities
|
|
131
135
|
|
|
132
136
|
## Security Best Practices for Users
|
|
133
137
|
|
package/apm-policy.yml
CHANGED
package/apm.lock.yaml
CHANGED
|
@@ -2,45 +2,47 @@
|
|
|
2
2
|
schemaVersion: 1
|
|
3
3
|
package:
|
|
4
4
|
name: specky-sdd
|
|
5
|
-
version: 3.
|
|
5
|
+
version: 3.11.1
|
|
6
6
|
primitives:
|
|
7
|
-
.apm/agents/specky-design-architect.agent.md: sha256:
|
|
8
|
-
.apm/agents/specky-implementer.agent.md: sha256:
|
|
9
|
-
.apm/agents/specky-onboarding.agent.md: sha256:
|
|
10
|
-
.apm/agents/specky-orchestrator.agent.md: sha256:
|
|
11
|
-
.apm/agents/specky-quality-reviewer.agent.md: sha256:
|
|
12
|
-
.apm/agents/specky-release-engineer.agent.md: sha256:
|
|
13
|
-
.apm/agents/specky-requirements-engineer.agent.md: sha256:
|
|
14
|
-
.apm/agents/specky-research-analyst.agent.md: sha256:
|
|
15
|
-
.apm/agents/specky-sdd-clarify.agent.md: sha256:
|
|
16
|
-
.apm/agents/specky-sdd-init.agent.md: sha256:
|
|
17
|
-
.apm/agents/specky-spec-engineer.agent.md: sha256:
|
|
18
|
-
.apm/agents/specky-task-planner.agent.md: sha256:
|
|
19
|
-
.apm/agents/specky-test-verifier.agent.md: sha256:
|
|
20
|
-
.apm/hooks/scripts/specky-artifact-validator.sh: sha256:
|
|
21
|
-
.apm/hooks/scripts/specky-auto-checkpoint.sh: sha256:
|
|
22
|
-
.apm/hooks/scripts/specky-branch-validator.sh: sha256:
|
|
23
|
-
.apm/hooks/scripts/specky-cognitive-debt-alert.sh: sha256:
|
|
24
|
-
.apm/hooks/scripts/specky-
|
|
25
|
-
.apm/hooks/scripts/specky-
|
|
26
|
-
.apm/hooks/scripts/specky-
|
|
27
|
-
.apm/hooks/scripts/specky-
|
|
28
|
-
.apm/hooks/scripts/specky-
|
|
29
|
-
.apm/hooks/scripts/specky-
|
|
30
|
-
.apm/hooks/scripts/specky-
|
|
31
|
-
.apm/hooks/scripts/specky-
|
|
32
|
-
.apm/hooks/scripts/specky-
|
|
33
|
-
.apm/hooks/scripts/specky-
|
|
34
|
-
.apm/hooks/scripts/specky-
|
|
35
|
-
.apm/hooks/scripts/specky-
|
|
7
|
+
.apm/agents/specky-design-architect.agent.md: sha256:54c69e392e21cbc1097fce8dd9d53d457d2a80d442390c6072c7d8dc5429c47f
|
|
8
|
+
.apm/agents/specky-implementer.agent.md: sha256:4bad0b5238d185e25011cc01de90a146d2e719ad2621c814989c5e2986f13772
|
|
9
|
+
.apm/agents/specky-onboarding.agent.md: sha256:ce0ef19ef0a54d354dfe376daf70182689eb938f28675ba50d59c2a728f40e67
|
|
10
|
+
.apm/agents/specky-orchestrator.agent.md: sha256:4c5199380792fac7a551c5be570d157a064e677d741f0477e841e15d0766c816
|
|
11
|
+
.apm/agents/specky-quality-reviewer.agent.md: sha256:6e50b686360f780d35c6d2732fefd4d650a613488aba4923e924bafe725521f8
|
|
12
|
+
.apm/agents/specky-release-engineer.agent.md: sha256:fba4fcc0ebd15e7a77a13f03dd15370bf4f2baf2bed54ede550de26258f37a2f
|
|
13
|
+
.apm/agents/specky-requirements-engineer.agent.md: sha256:9393480399ced54dd8b201e6821103c9ed9e27fdbdf7426745e0da9535f60ddb
|
|
14
|
+
.apm/agents/specky-research-analyst.agent.md: sha256:92cd4041e0b021efa310e2cf12abb3c45e8f08e490e4b9bb275a81f4c4845cd9
|
|
15
|
+
.apm/agents/specky-sdd-clarify.agent.md: sha256:0dac1b774dc616eecddd5937e6ee520de32cdb12482fe3c25181a9e199d82302
|
|
16
|
+
.apm/agents/specky-sdd-init.agent.md: sha256:884835a042774aa0f94d4442585d3ae9c101496b96645218be6e539d00cb708d
|
|
17
|
+
.apm/agents/specky-spec-engineer.agent.md: sha256:aeea9446edd6a993b70d46367e1a4f43e847eb199ef6e2e549693721604dd962
|
|
18
|
+
.apm/agents/specky-task-planner.agent.md: sha256:44f9ef861eb4efa3de02b0d13b66a9abe029bab674e88afd1c4b4af9d8526177
|
|
19
|
+
.apm/agents/specky-test-verifier.agent.md: sha256:b93435c5947c3f8ee8cc63f0f197d622ad20c45f8b615b23c7b7efbae44e1442
|
|
20
|
+
.apm/hooks/scripts/specky-artifact-validator.sh: sha256:5d75f3d61ae7a4dd51fc5c8470444c003e983eb7f90edfdbd06fcf614cfa388d
|
|
21
|
+
.apm/hooks/scripts/specky-auto-checkpoint.sh: sha256:b10018985bc627d33b7a0ef29c2e743b3b6ef20f0d35d60b05c381fd2c58ae53
|
|
22
|
+
.apm/hooks/scripts/specky-branch-validator.sh: sha256:185e49625b35f6cf926ec3f73a947d05000c2e232a8e55bd2528ac7a32f84a9d
|
|
23
|
+
.apm/hooks/scripts/specky-cognitive-debt-alert.sh: sha256:125df179fc4778970ddceb6283bcd6f62cf67705c80e452cc389dedecc3f81a5
|
|
24
|
+
.apm/hooks/scripts/specky-contract-context.bash: sha256:0093dcd64fd7e3e498398208005ac280db71742585d9ed1cc91966491133393a
|
|
25
|
+
.apm/hooks/scripts/specky-contract-context.mjs: sha256:2a8ce6fc8861ab9668ff36c6cbf260421cf623538a1a7cb7d60ea1a1b1fd60c1
|
|
26
|
+
.apm/hooks/scripts/specky-drift-monitor.sh: sha256:2050c40fdc74ce636e64c4c4e8b448102eddee77e3a274a26430feb8546d5f90
|
|
27
|
+
.apm/hooks/scripts/specky-ears-validator.sh: sha256:e267fa02d60fc660a9b1eb022e52fe3514aa0e7890b685e80de231222039b926
|
|
28
|
+
.apm/hooks/scripts/specky-lgtm-gate.sh: sha256:6ba53f5a9ebc593a0ecc6ccd21fa7006876731c4871cffb11662437a37299b08
|
|
29
|
+
.apm/hooks/scripts/specky-metrics-dashboard.sh: sha256:05894d6a7fb08c5063f201ed41c4b4a7bc1016958fac823b2344b1847021874f
|
|
30
|
+
.apm/hooks/scripts/specky-phase-gate.sh: sha256:aacef51523610811f0dc0bcbdbfb883ae9e87c90197e89d6a0f452990cd8e02a
|
|
31
|
+
.apm/hooks/scripts/specky-pipeline-guard.sh: sha256:cabcc62ff28c3077e7eafb3b1d8e8341242202d17ad16c8bce270e99f891b190
|
|
32
|
+
.apm/hooks/scripts/specky-release-gate.sh: sha256:7963ea92861ea7bc2f13813ae19f0d618002fa406d64a5bb6c100ad42e28501c
|
|
33
|
+
.apm/hooks/scripts/specky-security-scan.sh: sha256:5d621e43dec7ac3a9be607ecc622a1548c6f9aefa6f5a470d5d094fb60e41626
|
|
34
|
+
.apm/hooks/scripts/specky-session-banner.sh: sha256:92928d633f34186f9d35450f6bd02292211dae96ca08ef01a2854aa1deffc82a
|
|
35
|
+
.apm/hooks/scripts/specky-spec-quality.sh: sha256:2b94a846076807700cdbb157f2ef4bddbe1dfb4b32fbc6d1aed5e4b9a67715cd
|
|
36
|
+
.apm/hooks/scripts/specky-spec-sync.sh: sha256:a884d4b6d44af3f3c7dcd536c9c9b2dfa08855a54d2020c8f1274f217a2f165f
|
|
37
|
+
.apm/hooks/scripts/specky-task-tracer.sh: sha256:db4b7fbc5799da2ac2ac7d5b434b03af7797e5d977cdf4e7e26531a8f9eeb96d
|
|
36
38
|
.apm/hooks/sdd-hooks.json: sha256:ec018c950bfca25d9e67da9eb69bdaf6ca9d38ed7ebc5696f6bd06bffdec55f5
|
|
37
|
-
.apm/hooks/specky-run.sh: sha256:
|
|
38
|
-
.apm/instructions/claude-instructions.instructions.md: sha256:
|
|
39
|
-
.apm/instructions/copilot-instructions.instructions.md: sha256:
|
|
40
|
-
.apm/instructions/cursor-instructions.instructions.md: sha256:
|
|
41
|
-
.apm/instructions/opencode-instructions.instructions.md: sha256:
|
|
39
|
+
.apm/hooks/specky-run.sh: sha256:d5d1a41de4aec428c86a358b37fc248df1e0a3856957b01bd0be389aa4124c4d
|
|
40
|
+
.apm/instructions/claude-instructions.instructions.md: sha256:52eee0c2b4d75830552e6da7aceb33e866d536af71e2a8df17f0c2e5edef304e
|
|
41
|
+
.apm/instructions/copilot-instructions.instructions.md: sha256:99c8f75e8ed9912d9b7e1198f40eee964e50fdf2dbbe86f65b8d90646a7d4b17
|
|
42
|
+
.apm/instructions/cursor-instructions.instructions.md: sha256:1e53572ad481e21427c724ac7ee5fab1c2895e4d211feeaa7f6b8fa706f683db
|
|
43
|
+
.apm/instructions/opencode-instructions.instructions.md: sha256:944db8341600fabcd83e49102fef2c9657462acd57b8f081d56198bb37abcf53
|
|
42
44
|
.apm/prompts/specky-api.prompt.md: sha256:4a13ba39ba58773cbb0bf39c12e462a80d2348aa5fdc4ce612f924658f00c7ed
|
|
43
|
-
.apm/prompts/specky-brownfield.prompt.md: sha256:
|
|
45
|
+
.apm/prompts/specky-brownfield.prompt.md: sha256:f3d20312ca7dc7d7c2d0005b9b475fdf7ca542aff77c42511192ba49c1b731cd
|
|
44
46
|
.apm/prompts/specky-check-drift.prompt.md: sha256:f3a04b00ef10167cbd1cdcf63f8b8595d3bc8196d107b48963f8b123f711f3af
|
|
45
47
|
.apm/prompts/specky-clarify.prompt.md: sha256:60ec6230c3dbf2c943896dae07f8643335e55ce6e14a90d91b815fe77aada930
|
|
46
48
|
.apm/prompts/specky-debug-hook.prompt.md: sha256:c5c0054280f3f05103f4ac2459631f6f1494fe10f248bf8c9a4779d83f5d60b4
|
|
@@ -48,11 +50,11 @@ primitives:
|
|
|
48
50
|
.apm/prompts/specky-design.prompt.md: sha256:c125b4e9da56de11160189b6c23665a181b35753cd4c86191925e7896f282f24
|
|
49
51
|
.apm/prompts/specky-from-figma.prompt.md: sha256:0ba1d4d4a9ced39ea89bae8fa98ae3449c2d973510e9a6cf80e3cfe9f29b1fce
|
|
50
52
|
.apm/prompts/specky-from-meeting.prompt.md: sha256:7682a5a2784fd8b9f95e67eca8d8eb21f4755c5c3e5ad4f2c02412493f9ac35f
|
|
51
|
-
.apm/prompts/specky-greenfield.prompt.md: sha256:
|
|
52
|
-
.apm/prompts/specky-implement.prompt.md: sha256:
|
|
53
|
+
.apm/prompts/specky-greenfield.prompt.md: sha256:07e8c25dbd0a7532f1a23535a88789bd501bacb3fbf7f9501c3b8e9c533f5ea5
|
|
54
|
+
.apm/prompts/specky-implement.prompt.md: sha256:2253cdf444bb8f3f7472f785f4632b5edfbaa0fe9bc123989320936ba2ec5274
|
|
53
55
|
.apm/prompts/specky-migration.prompt.md: sha256:b0ec812513f30718be36666dd2a4cc377ec099d68928e9bfc691ac14360e36f6
|
|
54
56
|
.apm/prompts/specky-onboarding.prompt.md: sha256:164d338bf9b48b6f4bbaf78ebcdc504f96c871913add892188b53f35f9b72911
|
|
55
|
-
.apm/prompts/specky-orchestrate.prompt.md: sha256:
|
|
57
|
+
.apm/prompts/specky-orchestrate.prompt.md: sha256:170aae7b935cfd18607101bea80400e80d6faa362817ccc1eb29c97f6ed590b9
|
|
56
58
|
.apm/prompts/specky-pipeline-status.prompt.md: sha256:3c796d1c8e46c635eda5cb08d890b711ce129308ffa309923874361e7912cc27
|
|
57
59
|
.apm/prompts/specky-release.prompt.md: sha256:6bf07516853fc1ce31d73af9ecaf8c9c49d02c060fd4fe7f9cda329805f3c1c5
|
|
58
60
|
.apm/prompts/specky-research.prompt.md: sha256:bb1040cbfeb90f9c3ecd0ae6f31e3dbfa09e7937c970844d107414fc7b7f54de
|
|
@@ -61,21 +63,21 @@ primitives:
|
|
|
61
63
|
.apm/prompts/specky-specify.prompt.md: sha256:b160f1e6d90657702430a404bd7a372f98161b4c78a1d2f43e827cb0b2dc3e04
|
|
62
64
|
.apm/prompts/specky-tasks.prompt.md: sha256:e06dd4cd6c4e7edddd2bc8319bacc6b4b4c849d3e52ba892fa08f4a77ed711cc
|
|
63
65
|
.apm/prompts/specky-verify.prompt.md: sha256:217327ac0c25b1d39c2fa41390f535aaae38e7c81d8e4cf3127917f44f98d3b9
|
|
64
|
-
.apm/skills/specky-design-architect/SKILL.md: sha256:
|
|
65
|
-
.apm/skills/specky-implementer/SKILL.md: sha256:
|
|
66
|
-
.apm/skills/specky-onboarding/SKILL.md: sha256:
|
|
67
|
-
.apm/skills/specky-orchestrator/SKILL.md: sha256:
|
|
68
|
-
.apm/skills/specky-quality-reviewer/SKILL.md: sha256:
|
|
69
|
-
.apm/skills/specky-release-engineer/SKILL.md: sha256:
|
|
70
|
-
.apm/skills/specky-research-analyst/SKILL.md: sha256:
|
|
66
|
+
.apm/skills/specky-design-architect/SKILL.md: sha256:72d1e3317f13ea005c722c96d2c5fb263f326da1548ddd23c669fab7665e42b8
|
|
67
|
+
.apm/skills/specky-implementer/SKILL.md: sha256:475cc070ffeaf0fd7a32ce13ef428e9466431ae78319e928b078884d20104b7e
|
|
68
|
+
.apm/skills/specky-onboarding/SKILL.md: sha256:7fe13985db0bcfbd2a3dde10424949c30aaeb8cabd94c3c5860550f76c8c7601
|
|
69
|
+
.apm/skills/specky-orchestrator/SKILL.md: sha256:ea59f3fb697e9a80818cd438be012e6dc567f976c2730b96e8e20a90d4c3ac94
|
|
70
|
+
.apm/skills/specky-quality-reviewer/SKILL.md: sha256:fdba4e24141898c9222dbb38be2f08b0b2ba82950c10088553445b95edf78835
|
|
71
|
+
.apm/skills/specky-release-engineer/SKILL.md: sha256:a4345263b6414031b4e6ef09938a011438e697b73aa86ee37f3819bc1bce8c87
|
|
72
|
+
.apm/skills/specky-research-analyst/SKILL.md: sha256:f78ab9100a54c4b438ac9d9b6090c4a7c498d39d3cdba6b8952615bdc7619f1e
|
|
71
73
|
.apm/skills/specky-sdd-clarify/SKILL.md: sha256:7d4958d33b71671fa932b82d88da90f7f055c9ba97e45e1083f7db1b9097f42d
|
|
72
|
-
.apm/skills/specky-sdd-init/SKILL.md: sha256:
|
|
74
|
+
.apm/skills/specky-sdd-init/SKILL.md: sha256:5849974e38a3d7dd2e68737d66c8ec932d1dd06107ca594cceeb63e7ecce09d6
|
|
73
75
|
.apm/skills/specky-sdd-markdown-standard/SKILL.md: sha256:ca74b956fa30cc40f2223e6692797f3d7048ddf5b3e082835476fa3e0de1af66
|
|
74
76
|
.apm/skills/specky-sdd-pipeline/references/ears-notation.md: sha256:580dc051802750904ef409b9f89873ad250326bc17c992bd53366b3b1a04f1c5
|
|
75
77
|
.apm/skills/specky-sdd-pipeline/references/model-routing.md: sha256:6ca9bd5cde2a8d227c795d37c4d43b712dd183c10d5d87b987514b494f7c28f3
|
|
76
|
-
.apm/skills/specky-sdd-pipeline/SKILL.md: sha256:
|
|
77
|
-
.apm/skills/specky-spec-engineer/SKILL.md: sha256:
|
|
78
|
-
.apm/skills/specky-task-planner/SKILL.md: sha256:
|
|
79
|
-
.apm/skills/specky-test-verifier/SKILL.md: sha256:
|
|
80
|
-
apm-policy.yml: sha256:
|
|
81
|
-
apm.yml: sha256:
|
|
78
|
+
.apm/skills/specky-sdd-pipeline/SKILL.md: sha256:4ba6750b0a3e370fe396980cc63f929f79e94f09542bb97e9c951c40bdc55a82
|
|
79
|
+
.apm/skills/specky-spec-engineer/SKILL.md: sha256:372ae3faf5cddf9ba90e1133c0117b032f5ae697069d008e3a3f797e78d60e83
|
|
80
|
+
.apm/skills/specky-task-planner/SKILL.md: sha256:9c1d97624c293525cca9bea253a1f186de593e0d130a5a2b8a704451a200a1f4
|
|
81
|
+
.apm/skills/specky-test-verifier/SKILL.md: sha256:cae6ad89db7ea84aaaab66665db3dbccd3106aedccd73a0869ae7badcc8a2673
|
|
82
|
+
apm-policy.yml: sha256:560cfde2c8efe36bdc2cbb095f259506d51312249d3b4cee67640e244e972530
|
|
83
|
+
apm.yml: sha256:408667a5ff6d41cd041bbabc599aa304a6f05ce2a82fe5bd47a428a776297860
|
package/apm.yml
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
name: specky-sdd
|
|
2
|
-
version: 3.
|
|
2
|
+
version: 3.11.1
|
|
3
3
|
description: "Agentic Spec-Driven Development — 10-phase pipeline with 58 MCP tools, 13 agents, 22 prompts, 14 skills, 16 hooks, EARS notation, model routing, and enterprise security"
|
|
4
4
|
author: Paula Silva
|
|
5
5
|
license: MIT
|
|
@@ -32,7 +32,7 @@ mcp:
|
|
|
32
32
|
registry: false
|
|
33
33
|
transport: stdio
|
|
34
34
|
command: npx
|
|
35
|
-
args: ["-y", "specky-sdd@
|
|
35
|
+
args: ["-y", "specky-sdd@3.11.1", "serve"]
|
|
36
36
|
tools: ["sdd_*"]
|
|
37
37
|
|
|
38
38
|
dependencies:
|
|
@@ -41,7 +41,7 @@ dependencies:
|
|
|
41
41
|
registry: false
|
|
42
42
|
transport: stdio
|
|
43
43
|
command: npx
|
|
44
|
-
args: ["-y", "specky-sdd@
|
|
44
|
+
args: ["-y", "specky-sdd@3.11.1"]
|
|
45
45
|
tools: ["*"]
|
|
46
46
|
|
|
47
47
|
scripts:
|