specky-sdd 3.7.2 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/.apm/agents/{design-architect.agent.md → specky-design-architect.agent.md} +2 -2
  2. package/.apm/agents/{implementer.agent.md → specky-implementer.agent.md} +2 -2
  3. package/.apm/agents/specky-onboarding.agent.md +1 -1
  4. package/.apm/agents/specky-orchestrator.agent.md +10 -10
  5. package/.apm/agents/{quality-reviewer.agent.md → specky-quality-reviewer.agent.md} +2 -2
  6. package/.apm/agents/{release-engineer.agent.md → specky-release-engineer.agent.md} +4 -4
  7. package/.apm/agents/{requirements-engineer.agent.md → specky-requirements-engineer.agent.md} +2 -2
  8. package/.apm/agents/{research-analyst.agent.md → specky-research-analyst.agent.md} +2 -2
  9. package/.apm/agents/{sdd-clarify.agent.md → specky-sdd-clarify.agent.md} +2 -2
  10. package/.apm/agents/{sdd-init.agent.md → specky-sdd-init.agent.md} +3 -3
  11. package/.apm/agents/{spec-engineer.agent.md → specky-spec-engineer.agent.md} +2 -2
  12. package/.apm/agents/{task-planner.agent.md → specky-task-planner.agent.md} +2 -2
  13. package/.apm/agents/{test-verifier.agent.md → specky-test-verifier.agent.md} +2 -2
  14. package/.apm/hooks/scripts/{artifact-validator.sh → specky-artifact-validator.sh} +11 -11
  15. package/.apm/hooks/scripts/{auto-checkpoint.sh → specky-auto-checkpoint.sh} +1 -1
  16. package/.apm/hooks/scripts/{branch-validator.sh → specky-branch-validator.sh} +3 -3
  17. package/.apm/hooks/scripts/{cognitive-debt-alert.sh → specky-cognitive-debt-alert.sh} +1 -1
  18. package/.apm/hooks/scripts/{drift-monitor.sh → specky-drift-monitor.sh} +1 -1
  19. package/.apm/hooks/scripts/{ears-validator.sh → specky-ears-validator.sh} +1 -1
  20. package/.apm/hooks/scripts/{lgtm-gate.sh → specky-lgtm-gate.sh} +1 -1
  21. package/.apm/hooks/scripts/{metrics-dashboard.sh → specky-metrics-dashboard.sh} +2 -2
  22. package/.apm/hooks/scripts/{phase-gate.sh → specky-phase-gate.sh} +1 -1
  23. package/.apm/hooks/scripts/{pipeline-guard.sh → specky-pipeline-guard.sh} +3 -3
  24. package/.apm/hooks/scripts/{release-gate.sh → specky-release-gate.sh} +1 -1
  25. package/.apm/hooks/scripts/{security-scan.sh → specky-security-scan.sh} +2 -2
  26. package/.apm/hooks/scripts/{session-banner.sh → specky-session-banner.sh} +4 -4
  27. package/.apm/hooks/scripts/{spec-quality.sh → specky-spec-quality.sh} +1 -1
  28. package/.apm/hooks/scripts/{spec-sync.sh → specky-spec-sync.sh} +2 -2
  29. package/.apm/hooks/scripts/{task-tracer.sh → specky-task-tracer.sh} +1 -1
  30. package/.apm/hooks/sdd-hooks.json +51 -51
  31. package/.apm/instructions/copilot-instructions.instructions.md +17 -17
  32. package/.apm/prompts/specky-api.prompt.md +2 -2
  33. package/.apm/prompts/specky-brownfield.prompt.md +2 -2
  34. package/.apm/prompts/specky-clarify.prompt.md +1 -1
  35. package/.apm/prompts/specky-debug-hook.prompt.md +1 -1
  36. package/.apm/prompts/specky-deploy.prompt.md +1 -1
  37. package/.apm/prompts/specky-design.prompt.md +1 -1
  38. package/.apm/prompts/specky-from-meeting.prompt.md +1 -1
  39. package/.apm/prompts/specky-greenfield.prompt.md +2 -2
  40. package/.apm/prompts/specky-implement.prompt.md +1 -1
  41. package/.apm/prompts/specky-migration.prompt.md +3 -3
  42. package/.apm/prompts/specky-release.prompt.md +1 -1
  43. package/.apm/prompts/specky-research.prompt.md +1 -1
  44. package/.apm/prompts/specky-specify.prompt.md +1 -1
  45. package/.apm/prompts/specky-tasks.prompt.md +1 -1
  46. package/.apm/prompts/specky-verify.prompt.md +1 -1
  47. package/.apm/skills/{implementer → specky-implementer}/SKILL.md +3 -3
  48. package/.apm/skills/specky-onboarding/SKILL.md +29 -29
  49. package/.apm/skills/specky-orchestrator/SKILL.md +28 -28
  50. package/.apm/skills/{release-engineer → specky-release-engineer}/SKILL.md +7 -7
  51. package/.apm/skills/{research-analyst → specky-research-analyst}/SKILL.md +2 -2
  52. package/.apm/skills/{sdd-markdown-standard → specky-sdd-markdown-standard}/SKILL.md +2 -2
  53. package/.apm/skills/{sdd-pipeline → specky-sdd-pipeline}/SKILL.md +30 -30
  54. package/.apm/skills/{test-verifier → specky-test-verifier}/SKILL.md +2 -2
  55. package/CHANGELOG.md +76 -0
  56. package/README.md +24 -17
  57. package/apm-policy.yml +53 -0
  58. package/apm.lock.yaml +71 -0
  59. package/apm.yml +32 -2
  60. package/config.yml +31 -31
  61. package/dist/claude-hooks.json +51 -51
  62. package/dist/cli/commands/apm.d.ts +2 -0
  63. package/dist/cli/commands/apm.d.ts.map +1 -0
  64. package/dist/cli/commands/apm.js +139 -0
  65. package/dist/cli/commands/apm.js.map +1 -0
  66. package/dist/cli/commands/compile.d.ts +7 -0
  67. package/dist/cli/commands/compile.d.ts.map +1 -0
  68. package/dist/cli/commands/compile.js +106 -0
  69. package/dist/cli/commands/compile.js.map +1 -0
  70. package/dist/cli/commands/doctor.d.ts.map +1 -1
  71. package/dist/cli/commands/doctor.js +35 -13
  72. package/dist/cli/commands/doctor.js.map +1 -1
  73. package/dist/cli/commands/init.d.ts +1 -0
  74. package/dist/cli/commands/init.d.ts.map +1 -1
  75. package/dist/cli/commands/init.js +114 -15
  76. package/dist/cli/commands/init.js.map +1 -1
  77. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  78. package/dist/cli/commands/upgrade.js +5 -2
  79. package/dist/cli/commands/upgrade.js.map +1 -1
  80. package/dist/cli/index.js +30 -2
  81. package/dist/cli/index.js.map +1 -1
  82. package/dist/cli/lib/apm/lock.d.ts +23 -0
  83. package/dist/cli/lib/apm/lock.d.ts.map +1 -0
  84. package/dist/cli/lib/apm/lock.js +90 -0
  85. package/dist/cli/lib/apm/lock.js.map +1 -0
  86. package/dist/cli/lib/apm/manifest.d.ts +31 -0
  87. package/dist/cli/lib/apm/manifest.d.ts.map +1 -0
  88. package/dist/cli/lib/apm/manifest.js +65 -0
  89. package/dist/cli/lib/apm/manifest.js.map +1 -0
  90. package/dist/cli/lib/apm/policy.d.ts +23 -0
  91. package/dist/cli/lib/apm/policy.d.ts.map +1 -0
  92. package/dist/cli/lib/apm/policy.js +99 -0
  93. package/dist/cli/lib/apm/policy.js.map +1 -0
  94. package/dist/cli/lib/asset-copier.d.ts +13 -0
  95. package/dist/cli/lib/asset-copier.d.ts.map +1 -1
  96. package/dist/cli/lib/asset-copier.js +46 -126
  97. package/dist/cli/lib/asset-copier.js.map +1 -1
  98. package/dist/cli/lib/gitignore-writer.d.ts.map +1 -1
  99. package/dist/cli/lib/gitignore-writer.js +10 -0
  100. package/dist/cli/lib/gitignore-writer.js.map +1 -1
  101. package/dist/cli/lib/harness/compilers/agent-skills.d.ts +7 -0
  102. package/dist/cli/lib/harness/compilers/agent-skills.d.ts.map +1 -0
  103. package/dist/cli/lib/harness/compilers/agent-skills.js +23 -0
  104. package/dist/cli/lib/harness/compilers/agent-skills.js.map +1 -0
  105. package/dist/cli/lib/harness/compilers/claude.d.ts +10 -0
  106. package/dist/cli/lib/harness/compilers/claude.d.ts.map +1 -0
  107. package/dist/cli/lib/harness/compilers/claude.js +29 -0
  108. package/dist/cli/lib/harness/compilers/claude.js.map +1 -0
  109. package/dist/cli/lib/harness/compilers/common.d.ts +14 -0
  110. package/dist/cli/lib/harness/compilers/common.d.ts.map +1 -0
  111. package/dist/cli/lib/harness/compilers/common.js +43 -0
  112. package/dist/cli/lib/harness/compilers/common.js.map +1 -0
  113. package/dist/cli/lib/harness/compilers/copilot.d.ts +10 -0
  114. package/dist/cli/lib/harness/compilers/copilot.d.ts.map +1 -0
  115. package/dist/cli/lib/harness/compilers/copilot.js +32 -0
  116. package/dist/cli/lib/harness/compilers/copilot.js.map +1 -0
  117. package/dist/cli/lib/harness/compilers/cursor.d.ts +8 -0
  118. package/dist/cli/lib/harness/compilers/cursor.d.ts.map +1 -0
  119. package/dist/cli/lib/harness/compilers/cursor.js +27 -0
  120. package/dist/cli/lib/harness/compilers/cursor.js.map +1 -0
  121. package/dist/cli/lib/harness/compilers/opencode.d.ts +7 -0
  122. package/dist/cli/lib/harness/compilers/opencode.d.ts.map +1 -0
  123. package/dist/cli/lib/harness/compilers/opencode.js +26 -0
  124. package/dist/cli/lib/harness/compilers/opencode.js.map +1 -0
  125. package/dist/cli/lib/harness/index.d.ts +12 -0
  126. package/dist/cli/lib/harness/index.d.ts.map +1 -0
  127. package/dist/cli/lib/harness/index.js +24 -0
  128. package/dist/cli/lib/harness/index.js.map +1 -0
  129. package/dist/cli/lib/harness/tool-map.d.ts +15 -0
  130. package/dist/cli/lib/harness/tool-map.d.ts.map +1 -0
  131. package/dist/cli/lib/harness/tool-map.js +114 -0
  132. package/dist/cli/lib/harness/tool-map.js.map +1 -0
  133. package/dist/cli/lib/harness/types.d.ts +42 -0
  134. package/dist/cli/lib/harness/types.d.ts.map +1 -0
  135. package/dist/cli/lib/harness/types.js +12 -0
  136. package/dist/cli/lib/harness/types.js.map +1 -0
  137. package/dist/cli/lib/mcp-writer.d.ts +1 -0
  138. package/dist/cli/lib/mcp-writer.d.ts.map +1 -1
  139. package/dist/cli/lib/mcp-writer.js +5 -1
  140. package/dist/cli/lib/mcp-writer.js.map +1 -1
  141. package/dist/cli/lib/paths.d.ts +16 -0
  142. package/dist/cli/lib/paths.d.ts.map +1 -1
  143. package/dist/cli/lib/paths.js +18 -0
  144. package/dist/cli/lib/paths.js.map +1 -1
  145. package/dist/copilot-hooks.json +46 -46
  146. package/dist/services/state-machine.d.ts +4 -3
  147. package/dist/services/state-machine.d.ts.map +1 -1
  148. package/dist/services/state-machine.js +17 -9
  149. package/dist/services/state-machine.js.map +1 -1
  150. package/package.json +6 -4
  151. /package/.apm/skills/{sdd-pipeline → specky-sdd-pipeline}/references/ears-notation.md +0 -0
  152. /package/.apm/skills/{sdd-pipeline → specky-sdd-pipeline}/references/model-routing.md +0 -0
@@ -47,17 +47,17 @@ Check for:
47
47
  |-------|-------|---------|
48
48
  | @specky-onboarding | Pre | Interactive wizard and help |
49
49
  | @specky-orchestrator | All | Full pipeline coordinator |
50
- | @sdd-init | 0 | Initialize pipeline + create spec branch |
51
- | @research-analyst | 1 | Codebase scan + discovery |
52
- | @spec-engineer | 2 | Write SPECIFICATION.md with EARS |
53
- | @sdd-clarify | 3 | Resolve ambiguities + EARS validation |
54
- | @design-architect | 4 | Write DESIGN.md + diagrams |
55
- | @task-planner | 5 | Write TASKS.md + CHECKLIST.md |
56
- | @quality-reviewer | 6 | Completeness audit + compliance |
57
- | @implementer | 7 | Implementation plan + test stubs + IaC |
58
- | @test-verifier | 8 | Coverage + drift + phantom detection |
59
- | @requirements-engineer | Pre | FRD + NFRD from raw input |
60
- | @release-engineer | 9 | Gates + PR + docs + work items |
50
+ | @specky-sdd-init | 0 | Initialize pipeline + create spec branch |
51
+ | @specky-research-analyst | 1 | Codebase scan + discovery |
52
+ | @specky-spec-engineer | 2 | Write SPECIFICATION.md with EARS |
53
+ | @specky-sdd-clarify | 3 | Resolve ambiguities + EARS validation |
54
+ | @specky-design-architect | 4 | Write DESIGN.md + diagrams |
55
+ | @specky-task-planner | 5 | Write TASKS.md + CHECKLIST.md |
56
+ | @specky-quality-reviewer | 6 | Completeness audit + compliance |
57
+ | @specky-implementer | 7 | Implementation plan + test stubs + IaC |
58
+ | @specky-test-verifier | 8 | Coverage + drift + phantom detection |
59
+ | @specky-requirements-engineer | Pre | FRD + NFRD from raw input |
60
+ | @specky-release-engineer | 9 | Gates + PR + docs + work items |
61
61
 
62
62
  ## All 22 Prompts
63
63
 
@@ -95,14 +95,14 @@ Check for:
95
95
 
96
96
  | Skill | Triggers On |
97
97
  |-------|-------------|
98
- | sdd-pipeline | "specky", "SDD pipeline", "EARS notation", "pipeline phases" |
98
+ | specky-sdd-pipeline | "specky", "SDD pipeline", "EARS notation", "pipeline phases" |
99
99
  | specky-orchestrator | "orchestrate", "run full pipeline", "advance phase" |
100
100
  | specky-onboarding | "help", "get started", "what is specky" |
101
101
  | implementer | "implementation plan", "test stubs", "IaC generation" |
102
102
  | test-verifier | "verify tests", "check coverage", "phantom detection" |
103
103
  | release-engineer | "prepare release", "create PR", "release gates" |
104
104
  | research-analyst | "research codebase", "scan tech stack", "import documents" |
105
- | sdd-markdown-standard | "artifact format", "spec formatting" |
105
+ | specky-sdd-markdown-standard | "artifact format", "spec formatting" |
106
106
 
107
107
  ## 58 MCP Tools by Category
108
108
 
@@ -135,21 +135,21 @@ Check for:
135
135
  ## 16 Hook Scripts
136
136
 
137
137
  **Blocking (exit 2 = halt):**
138
- - artifact-validator.sh — Prerequisite .md files exist
139
- - phase-gate.sh — Output artifact created with quality
140
- - security-scan.sh — OWASP + secrets scan
141
- - release-gate.sh — 90% pass rate + artifact checks
138
+ - specky-artifact-validator.sh — Prerequisite .md files exist
139
+ - specky-phase-gate.sh — Output artifact created with quality
140
+ - specky-security-scan.sh — OWASP + secrets scan
141
+ - specky-release-gate.sh — 90% pass rate + artifact checks
142
142
 
143
143
  **Advisory (exit 0 = warn):**
144
- - branch-validator.sh — Branch matches phase expectations
145
- - pipeline-guard.sh — Pipeline ordering / phase-skip guard
146
- - lgtm-gate.sh — Human review reminder at Phases 2/4/5
147
- - session-banner.sh — Session start pipeline-status banner
148
- - spec-sync.sh — Detect spec-code drift
149
- - auto-checkpoint.sh — Suggest checkpoint after writes
150
- - spec-quality.sh — Specification quality metrics
151
- - ears-validator.sh — EARS pattern compliance
152
- - task-tracer.sh — Task dependency graph
153
- - drift-monitor.sh — CONSTITUTION drift detection
154
- - cognitive-debt-alert.sh — Cognitive surrender detection
155
- - metrics-dashboard.sh — Quality metrics collection
144
+ - specky-branch-validator.sh — Branch matches phase expectations
145
+ - specky-pipeline-guard.sh — Pipeline ordering / phase-skip guard
146
+ - specky-lgtm-gate.sh — Human review reminder at Phases 2/4/5
147
+ - specky-session-banner.sh — Session start pipeline-status banner
148
+ - specky-spec-sync.sh — Detect spec-code drift
149
+ - specky-auto-checkpoint.sh — Suggest checkpoint after writes
150
+ - specky-spec-quality.sh — Specification quality metrics
151
+ - specky-ears-validator.sh — EARS pattern compliance
152
+ - specky-task-tracer.sh — Task dependency graph
153
+ - specky-drift-monitor.sh — CONSTITUTION drift detection
154
+ - specky-cognitive-debt-alert.sh — Cognitive surrender detection
155
+ - specky-metrics-dashboard.sh — Quality metrics collection
@@ -15,16 +15,16 @@ Model guidance is capability-based: fast, balanced, and reasoning-focused. Do no
15
15
 
16
16
  | Phase | Agent | Recommended Class | MCP Tools | Required Input | Output Artifact |
17
17
  |-------|-------|-------------------|-----------|----------------|-----------------|
18
- | 0 Init | @sdd-init | Fast | sdd_init, sdd_scan_codebase | — | CONSTITUTION.md, .sdd-state.json |
19
- | 1 Discover | @research-analyst | Balanced | sdd_discover, sdd_research, sdd_import_document, sdd_import_transcript, sdd_check_ecosystem | CONSTITUTION.md | RESEARCH.md |
20
- | 2 Specify | @spec-engineer | Reasoning-focused | sdd_write_spec, sdd_turnkey_spec, sdd_validate_ears, sdd_figma_to_spec | RESEARCH.md | SPECIFICATION.md |
21
- | 3 Clarify | @sdd-clarify | Reasoning-focused | sdd_clarify, sdd_validate_ears, sdd_turnkey_spec | SPECIFICATION.md | Updates to SPECIFICATION.md |
22
- | 4 Design | @design-architect | Reasoning-focused | sdd_write_design, sdd_generate_all_diagrams, sdd_generate_diagram | SPECIFICATION.md | DESIGN.md |
23
- | 5 Tasks | @task-planner | Balanced | sdd_write_tasks, sdd_checklist | DESIGN.md | TASKS.md, CHECKLIST.md |
24
- | 6 Analyze | @quality-reviewer | Balanced | sdd_run_analysis, sdd_cross_analyze, sdd_compliance_check, sdd_check_sync | TASKS.md, CHECKLIST.md | ANALYSIS.md, COMPLIANCE.md |
25
- | 7 Implement | @implementer | Balanced | sdd_implement, sdd_generate_tests, sdd_generate_pbt, sdd_generate_iac, sdd_generate_dockerfile | ANALYSIS.md | Code scaffolding, test stubs |
26
- | 8 Verify | @test-verifier | Reasoning-focused | sdd_verify_tests, sdd_verify_tasks, sdd_check_sync, sdd_validate_ears | SPECIFICATION.md, TASKS.md | VERIFICATION.md, CROSS_ANALYSIS.md |
27
- | 9 Release | @release-engineer | Fast | sdd_create_pr, sdd_generate_all_docs, sdd_export_work_items | ANALYSIS.md (APPROVE) | PR, docs, work items |
18
+ | 0 Init | @specky-sdd-init | Fast | sdd_init, sdd_scan_codebase | — | CONSTITUTION.md, .sdd-state.json |
19
+ | 1 Discover | @specky-research-analyst | Balanced | sdd_discover, sdd_research, sdd_import_document, sdd_import_transcript, sdd_check_ecosystem | CONSTITUTION.md | RESEARCH.md |
20
+ | 2 Specify | @specky-spec-engineer | Reasoning-focused | sdd_write_spec, sdd_turnkey_spec, sdd_validate_ears, sdd_figma_to_spec | RESEARCH.md | SPECIFICATION.md |
21
+ | 3 Clarify | @specky-sdd-clarify | Reasoning-focused | sdd_clarify, sdd_validate_ears, sdd_turnkey_spec | SPECIFICATION.md | Updates to SPECIFICATION.md |
22
+ | 4 Design | @specky-design-architect | Reasoning-focused | sdd_write_design, sdd_generate_all_diagrams, sdd_generate_diagram | SPECIFICATION.md | DESIGN.md |
23
+ | 5 Tasks | @specky-task-planner | Balanced | sdd_write_tasks, sdd_checklist | DESIGN.md | TASKS.md, CHECKLIST.md |
24
+ | 6 Analyze | @specky-quality-reviewer | Balanced | sdd_run_analysis, sdd_cross_analyze, sdd_compliance_check, sdd_check_sync | TASKS.md, CHECKLIST.md | ANALYSIS.md, COMPLIANCE.md |
25
+ | 7 Implement | @specky-implementer | Balanced | sdd_implement, sdd_generate_tests, sdd_generate_pbt, sdd_generate_iac, sdd_generate_dockerfile | ANALYSIS.md | Code scaffolding, test stubs |
26
+ | 8 Verify | @specky-test-verifier | Reasoning-focused | sdd_verify_tests, sdd_verify_tasks, sdd_check_sync, sdd_validate_ears | SPECIFICATION.md, TASKS.md | VERIFICATION.md, CROSS_ANALYSIS.md |
27
+ | 9 Release | @specky-release-engineer | Fast | sdd_create_pr, sdd_generate_all_docs, sdd_export_work_items | ANALYSIS.md (APPROVE) | PR, docs, work items |
28
28
 
29
29
  ## Hook Enforcement Matrix
30
30
 
@@ -32,34 +32,34 @@ Model guidance is capability-based: fast, balanced, and reasoning-focused. Do no
32
32
 
33
33
  | Tool Matcher | Hooks | Type |
34
34
  |-------------|-------|------|
35
- | sdd_init | branch-validator | Advisory |
36
- | sdd_discover, sdd_research, sdd_import_* | artifact-validator, branch-validator | Blocking + Advisory |
37
- | sdd_write_spec, sdd_turnkey_spec, sdd_figma_to_spec | artifact-validator, branch-validator | Blocking + Advisory |
38
- | sdd_write_design, sdd_generate_all_diagrams | artifact-validator, branch-validator | Blocking + Advisory |
39
- | sdd_write_tasks, sdd_checklist | artifact-validator, branch-validator | Blocking + Advisory |
40
- | sdd_implement, sdd_generate_tests | artifact-validator, branch-validator | Blocking + Advisory |
41
- | sdd_verify_tests, sdd_verify_tasks | artifact-validator, branch-validator | Blocking + Advisory |
42
- | sdd_run_analysis, sdd_cross_analyze | artifact-validator, branch-validator | Blocking + Advisory |
43
- | sdd_create_pr | artifact-validator, branch-validator, security-scan, release-gate | All Blocking |
35
+ | sdd_init | specky-branch-validator | Advisory |
36
+ | sdd_discover, sdd_research, sdd_import_* | specky-artifact-validator, specky-branch-validator | Blocking + Advisory |
37
+ | sdd_write_spec, sdd_turnkey_spec, sdd_figma_to_spec | specky-artifact-validator, specky-branch-validator | Blocking + Advisory |
38
+ | sdd_write_design, sdd_generate_all_diagrams | specky-artifact-validator, specky-branch-validator | Blocking + Advisory |
39
+ | sdd_write_tasks, sdd_checklist | specky-artifact-validator, specky-branch-validator | Blocking + Advisory |
40
+ | sdd_implement, sdd_generate_tests | specky-artifact-validator, specky-branch-validator | Blocking + Advisory |
41
+ | sdd_verify_tests, sdd_verify_tasks | specky-artifact-validator, specky-branch-validator | Blocking + Advisory |
42
+ | sdd_run_analysis, sdd_cross_analyze | specky-artifact-validator, specky-branch-validator | Blocking + Advisory |
43
+ | sdd_create_pr | specky-artifact-validator, specky-branch-validator, specky-security-scan, specky-release-gate | All Blocking |
44
44
 
45
45
  ### Post-Phase Hooks (validate after tool runs)
46
46
 
47
47
  | Tool Matcher | Hooks | Type |
48
48
  |-------------|-------|------|
49
- | sdd_init | phase-gate, auto-checkpoint | Blocking + Advisory |
50
- | sdd_write_spec, sdd_turnkey_spec | phase-gate, spec-quality, ears-validator, lgtm-gate, spec-sync, auto-checkpoint | Mixed |
51
- | sdd_write_design | phase-gate, spec-sync, lgtm-gate, auto-checkpoint | Mixed |
52
- | sdd_write_tasks | phase-gate, task-tracer, lgtm-gate, spec-sync, auto-checkpoint | Mixed |
53
- | sdd_implement, sdd_generate_tests | spec-sync, auto-checkpoint | Advisory |
54
- | sdd_verify_tests, sdd_verify_tasks | phase-gate, drift-monitor | Mixed |
55
- | sdd_run_analysis, sdd_cross_analyze | phase-gate, cognitive-debt-alert, metrics-dashboard, drift-monitor | Mixed |
49
+ | sdd_init | specky-phase-gate, specky-auto-checkpoint | Blocking + Advisory |
50
+ | sdd_write_spec, sdd_turnkey_spec | specky-phase-gate, specky-spec-quality, specky-ears-validator, specky-lgtm-gate, specky-spec-sync, specky-auto-checkpoint | Mixed |
51
+ | sdd_write_design | specky-phase-gate, specky-spec-sync, specky-lgtm-gate, specky-auto-checkpoint | Mixed |
52
+ | sdd_write_tasks | specky-phase-gate, specky-task-tracer, specky-lgtm-gate, specky-spec-sync, specky-auto-checkpoint | Mixed |
53
+ | sdd_implement, sdd_generate_tests | specky-spec-sync, specky-auto-checkpoint | Advisory |
54
+ | sdd_verify_tests, sdd_verify_tasks | specky-phase-gate, specky-drift-monitor | Mixed |
55
+ | sdd_run_analysis, sdd_cross_analyze | specky-phase-gate, specky-cognitive-debt-alert, specky-metrics-dashboard, specky-drift-monitor | Mixed |
56
56
 
57
57
  ## LGTM Gate Protocol
58
58
 
59
59
  Phases 2 (Specify), 4 (Design), and 5 (Tasks) require human LGTM before advancing:
60
60
 
61
61
  1. Phase agent completes and writes artifact
62
- 2. lgtm-gate.sh runs → prints artifact summary
62
+ 2. specky-lgtm-gate.sh runs → prints artifact summary
63
63
  3. Orchestrator asks: "Review [ARTIFACT]. Reply 'LGTM' to proceed."
64
64
  4. If LGTM → call sdd_advance_phase → next agent
65
65
  5. If feedback → route back to phase agent for revision
@@ -79,7 +79,7 @@ Phases 2 (Specify), 4 (Design), and 5 (Tasks) require human LGTM before advancin
79
79
 
80
80
  Before calling sdd_advance_phase, verify:
81
81
  1. ✅ Required artifact exists (PHASE_REQUIRED_FILES)
82
- 2. ✅ Artifact has minimum quality (phase-gate.sh passed)
82
+ 2. ✅ Artifact has minimum quality (specky-phase-gate.sh passed)
83
83
  3. ✅ LGTM received (if phase 2, 4, or 5)
84
84
  4. ✅ Branch matches expectations
85
85
  5. ✅ Checkpoint created (sdd_checkpoint)
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: release-engineer
2
+ name: specky-release-engineer
3
3
  description: "This skill should be used when the user asks to 'prepare release', 'create PR', 'generate documentation', 'run release gates', or needs guidance on Phase 9 release. Also trigger on 'sdd release', 'blocking gates', 'security scan', 'release gate', or 'export work items'."
4
4
  ---
5
5
 
@@ -33,11 +33,11 @@ Missing prerequisites block release. Run `/specky:check-gates` to validate.
33
33
 
34
34
  Two sequential blocking gates must pass before release:
35
35
 
36
- ### Gate 1: Security Gate (security-scan.sh)
36
+ ### Gate 1: Security Gate (specky-security-scan.sh)
37
37
 
38
38
  Execute security scanning:
39
39
  ```bash
40
- ./scripts/security-scan.sh --full
40
+ ./scripts/specky-security-scan.sh --full
41
41
  ```
42
42
 
43
43
  Checks performed:
@@ -56,11 +56,11 @@ Pass criteria:
56
56
 
57
57
  Fail items block release completely.
58
58
 
59
- ### Gate 2: Release Gate (release-gate.sh)
59
+ ### Gate 2: Release Gate (specky-release-gate.sh)
60
60
 
61
61
  Execute final release checklist:
62
62
  ```bash
63
- ./scripts/release-gate.sh --version=X.Y.Z
63
+ ./scripts/specky-release-gate.sh --version=X.Y.Z
64
64
  ```
65
65
 
66
66
  Verifies:
@@ -260,7 +260,7 @@ Generate from commit history, SPECIFICATION.md, and VERIFICATION.md:
260
260
 
261
261
  ```
262
262
  /specky:release --version=X.Y.Z # Full release workflow
263
- /specky:release --security-scan # Run security gate only
263
+ /specky:release --specky-security-scan # Run security gate only
264
264
  /specky:release --generate-docs # Generate docs only
265
265
  /specky:release --create-pr --no-merge # Create PR, don't merge
266
266
  /specky:release --export-items # Export to project mgmt
@@ -290,4 +290,4 @@ If post-release issues detected:
290
290
 
291
291
  ## Companion Agent
292
292
 
293
- **@release-engineer** — Phase 9 agent that runs blocking gates and calls these tools. Load this skill as first step.
293
+ **@specky-release-engineer** — Phase 9 agent that runs blocking gates and calls these tools. Load this skill as first step.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: research-analyst
2
+ name: specky-research-analyst
3
3
  description: "This skill should be used when the user asks to 'research codebase', 'scan tech stack', 'import documents', 'discovery questions', or needs guidance on Phase 1 research. Also trigger on 'sdd research', 'brownfield scan', 'import transcript', or 'check ecosystem'."
4
4
  ---
5
5
 
@@ -283,4 +283,4 @@ Structure the research artifact as:
283
283
 
284
284
  ## Companion Agent
285
285
 
286
- **@research-analyst** — Phase 1 agent that calls these tools to build the knowledge baseline. Load this skill as first step.
286
+ **@specky-research-analyst** — Phase 1 agent that calls these tools to build the knowledge baseline. Load this skill as first step.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: sdd-markdown-standard
2
+ name: specky-sdd-markdown-standard
3
3
  description: "This skill should be used when generating or formatting SDD artifacts (CONSTITUTION.md, SPECIFICATION.md, DESIGN.md, TASKS.md, VERIFICATION.md, ANALYSIS.md). Also trigger on 'sdd markdown', 'artifact format', or 'spec formatting'."
4
4
  ---
5
5
 
@@ -279,4 +279,4 @@ Run markdown linter: `markdownlint sdd-artifacts/`
279
279
 
280
280
  ## Companion Agent
281
281
 
282
- **@requirements-engineer** — Pre-pipeline agent that produces FRD/NFRD documents using this formatting standard. Load this skill as first step.
282
+ **@specky-requirements-engineer** — Pre-pipeline agent that produces FRD/NFRD documents using this formatting standard. Load this skill as first step.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: sdd-pipeline
2
+ name: specky-sdd-pipeline
3
3
  description: "This skill should be used when the user asks about 'spec-driven development', 'SDD pipeline', 'specky', 'pipeline phases', 'EARS notation', 'requirements engineering', 'model routing', or needs guidance on the 10-phase SDD workflow (Init → Discover → Specify → Clarify → Design → Tasks → Analyze → Implement → Verify → Release). Also trigger on 'spec this', 'plan this feature', 'break into tasks', 'quality gate', 'constitution', or 'spec sync'."
4
4
  ---
5
5
 
@@ -79,22 +79,22 @@ For Phase 7 (Implementation), prioritize fast feedback loops over long reasoning
79
79
  The pipeline includes 16 automation hooks for customization:
80
80
 
81
81
  **Blocking Hooks** (workflow stops if hook fails — exit code 2):
82
- 1. `artifact-validator` — Pre-tool: blocks if required artifacts missing
83
- 2. `phase-gate` — Post-tool: blocks if output artifact wasn't created
84
- 3. `security-scan` — Pre-release: blocks if hardcoded secrets detected
85
- 4. `release-gate` — Pre-release: blocks if gate conditions not met
82
+ 1. `specky-artifact-validator` — Pre-tool: blocks if required artifacts missing
83
+ 2. `specky-phase-gate` — Post-tool: blocks if output artifact wasn't created
84
+ 3. `specky-security-scan` — Pre-release: blocks if hardcoded secrets detected
85
+ 4. `specky-release-gate` — Pre-release: blocks if gate conditions not met
86
86
 
87
87
  **Advisory Hooks** (workflow continues; failures logged):
88
- 1. `branch-validator` — Pre-tool: warns if wrong branch for phase
89
- 2. `spec-sync` — Post-tool: checks spec-code drift
90
- 3. `auto-checkpoint` — Post-tool: suggests checkpoint after artifact changes
91
- 4. `spec-quality` — Post-spec: validates specification quality
92
- 5. `task-tracer` — Post-tasks: traces task dependencies
93
- 6. `ears-validator` — Post-spec: validates EARS notation patterns
94
- 7. `lgtm-gate` — Post-spec/design/tasks: pauses for human LGTM
95
- 8. `drift-monitor` — Post-verify/review: monitors specification drift
96
- 9. `cognitive-debt-alert` — Post-analysis: flags cognitive debt metrics
97
- 10. `metrics-dashboard` — Post-analysis: updates metrics dashboard
88
+ 1. `specky-branch-validator` — Pre-tool: warns if wrong branch for phase
89
+ 2. `specky-spec-sync` — Post-tool: checks spec-code drift
90
+ 3. `specky-auto-checkpoint` — Post-tool: suggests checkpoint after artifact changes
91
+ 4. `specky-spec-quality` — Post-spec: validates specification quality
92
+ 5. `specky-task-tracer` — Post-tasks: traces task dependencies
93
+ 6. `specky-ears-validator` — Post-spec: validates EARS notation patterns
94
+ 7. `specky-lgtm-gate` — Post-spec/design/tasks: pauses for human LGTM
95
+ 8. `specky-drift-monitor` — Post-verify/review: monitors specification drift
96
+ 9. `specky-cognitive-debt-alert` — Post-analysis: flags cognitive debt metrics
97
+ 10. `specky-metrics-dashboard` — Post-analysis: updates metrics dashboard
98
98
 
99
99
  Hooks are configured in `sdd-hooks.json` with PreToolUse and PostToolUse matchers.
100
100
 
@@ -127,9 +127,9 @@ Hooks are configured in `sdd-hooks.json` with PreToolUse and PostToolUse matcher
127
127
  **Agent-based:**
128
128
  ```
129
129
  @specky-orchestrator (end-to-end pipeline coordinator)
130
- @sdd-init feature-name (Phase 0 — initialize feature)
131
- @spec-engineer (Phase 2 — write SPECIFICATION.md)
132
- @implementer (Phase 7 — scaffold code + tests)
130
+ @specky-sdd-init feature-name (Phase 0 — initialize feature)
131
+ @specky-spec-engineer (Phase 2 — write SPECIFICATION.md)
132
+ @specky-implementer (Phase 7 — scaffold code + tests)
133
133
  ```
134
134
 
135
135
  See [copilot-instructions.instructions.md](../../instructions/copilot-instructions.instructions.md) for the full agent catalog.
@@ -179,7 +179,7 @@ spec/003-notifs ──→ ↑
179
179
  git checkout develop
180
180
  git pull origin develop
181
181
  git checkout -b spec/001-user-authentication
182
- # Run @sdd-init / /specky-greenfield
182
+ # Run @specky-sdd-init / /specky-greenfield
183
183
  ```
184
184
 
185
185
  **After Phase 7 passes:**
@@ -195,7 +195,7 @@ git push origin develop
195
195
  git checkout stage
196
196
  git merge --no-ff develop
197
197
  git push origin stage
198
- # Run @release-engineer for blocking gates
198
+ # Run @specky-release-engineer for blocking gates
199
199
  ```
200
200
 
201
201
  **Releasing to production:**
@@ -228,13 +228,13 @@ git push origin main --tags
228
228
  |-------|-------|-------------------|
229
229
  | Pre | @specky-onboarding | Fast |
230
230
  | All | @specky-orchestrator | Balanced |
231
- | 0 | @sdd-init | Fast |
232
- | 1 | @research-analyst | Balanced |
233
- | 2 | @spec-engineer | Reasoning-focused |
234
- | 3 | @sdd-clarify | Reasoning-focused |
235
- | 4 | @design-architect | Reasoning-focused |
236
- | 5 | @task-planner | Balanced |
237
- | 6 | @quality-reviewer | Balanced |
238
- | 7 | @implementer | Balanced |
239
- | 8 | @test-verifier | Reasoning-focused |
240
- | 9 | @release-engineer | Fast |
231
+ | 0 | @specky-sdd-init | Fast |
232
+ | 1 | @specky-research-analyst | Balanced |
233
+ | 2 | @specky-spec-engineer | Reasoning-focused |
234
+ | 3 | @specky-sdd-clarify | Reasoning-focused |
235
+ | 4 | @specky-design-architect | Reasoning-focused |
236
+ | 5 | @specky-task-planner | Balanced |
237
+ | 6 | @specky-quality-reviewer | Balanced |
238
+ | 7 | @specky-implementer | Balanced |
239
+ | 8 | @specky-test-verifier | Reasoning-focused |
240
+ | 9 | @specky-release-engineer | Fast |
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: test-verifier
2
+ name: specky-test-verifier
3
3
  description: "This skill should be used when the user asks to 'verify tests', 'check coverage', 'detect phantom completions', 'check spec drift', or needs guidance on Phase 8 verification. Also trigger on 'sdd test', 'test traceability', 'verification report', or 'gate criteria'."
4
4
  ---
5
5
 
@@ -214,4 +214,4 @@ Produce standardized verification artifact:
214
214
 
215
215
  ## Companion Agent
216
216
 
217
- **@test-verifier** — Phase 8 agent that calls these tools in sequence. Load this skill as first step.
217
+ **@specky-test-verifier** — Phase 8 agent that calls these tools in sequence. Load this skill as first step.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,81 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [3.8.0] - 2026-07-07
11
+
12
+ Wave 1 multi-harness APM targets (Cursor, OpenCode, Agent Skills) plus a multi-feature phase-advancement fix.
13
+
14
+ ### Added
15
+
16
+ - Wave 1 APM target support for `cursor`, `opencode`, and `agent-skills`, including target-native compiler registration, install paths, MCP config writers, and regression coverage.
17
+ - `specky install --target=<targets>` as the canonical APM-aligned install selector. The legacy `--ide` flag remains as a deprecated alias for backward compatibility.
18
+ - `specky compile --target=<targets>` for compiling instruction primitives into root context files (`.github/copilot-instructions.md`, `CLAUDE.md`, or `AGENTS.md`).
19
+ - `.markdownlint.json` configuration codifying the repository's Markdown conventions (Keep a Changelog sibling headings, intentional inline HTML in `README.md`) so documentation lint is clean.
20
+ - Regression test verifying that pre-existing Claude hooks in `.claude/settings.json` are removed when Copilot is installed into the same workspace, while non-hook user settings are preserved.
21
+
22
+ ### Changed
23
+
24
+ - **All APM primitives are now namespaced with a `specky-` prefix** (agents, skills, and hook scripts; prompts already carried the prefix) to avoid collisions with other packages installed in the same workspace. Agent mentions change accordingly (for example `@spec-engineer` is now `@specky-spec-engineer`). The Copilot instruction primitive keeps the reserved `.github/copilot-instructions.md` filename.
25
+ - `specky doctor` now validates installed `targets[]` metadata instead of assuming only Copilot/Claude IDE scopes.
26
+ - Copilot-inclusive installs strip Claude hooks from `.claude/settings.json` even when installing both Copilot and Claude assets, preventing Copilot hook cross-read blocks.
27
+ - APM manifest and policy now use canonical target names and include Cursor/OpenCode target isolation checks.
28
+
29
+ ### Fixed
30
+
31
+ - Fixed multi-feature phase advancement so artifact validation uses the requested feature number instead of always validating `state.features[0]`.
32
+ - Confirmed existing diagram persistence and REQ-ID test generation regressions remain covered by passing tests.
33
+
34
+ ## [3.7.3] - 2026-07-07
35
+
36
+ APM governance, primitive lockfiles, and enterprise package validation.
37
+
38
+ ### Added
39
+
40
+ - APM governance commands: `specky apm validate`, `specky apm lock`, `specky apm verify-lock`, `specky apm policy`, `specky apm audit`, and `specky apm sbom`.
41
+ - `apm-policy.yml` and `apm.lock.yaml` package governance files. The lock pins SHA256 hashes for packaged primitives and the policy enforces MCP allowlists, allowed hook events, and per-harness tool-name isolation.
42
+ - Harness compiler registry (`src/cli/lib/harness`) and APM governance modules (`src/cli/lib/apm`) with regression coverage.
43
+
44
+ ### Changed
45
+
46
+ - `npm run build` now checks `apm.yml` name/version parity with `package.json` before compiling.
47
+ - `npm pack --dry-run` now includes `apm.yml`, `apm.lock.yaml`, `apm-policy.yml`, and the compiled `specky apm` command/modules.
48
+
49
+ ## [3.7.2] - 2026-07-06
50
+
51
+ Platform-native primitive generation for GitHub Copilot and Claude Code.
52
+
53
+ ### Changed
54
+
55
+ - `.apm` primitive source is now GitHub Copilot-native: agents use VS Code tool ids such as `search`, `agent`, and namespaced Specky MCP tools like `specky/sdd_get_status`; prompts use `agent: agent` frontmatter.
56
+ - `specky install --ide=claude` now transforms the shared source into Claude-native primitives at install time: agents use `Read`, `Glob`, `Grep`, `Task`, and `mcp__specky__sdd_*`; slash commands omit Copilot-only `agent:` metadata; Claude rules use `paths` instead of `applyTo`.
57
+ - `specky install --ide=copilot` keeps Copilot-native syntax in `.github/agents` and `.github/prompts` instead of copying Claude-style tool names.
58
+
59
+ ### Added
60
+
61
+ - Primitive audit coverage for Copilot-native tool names, namespaced Specky MCP tool ids, and prompt `agent:` frontmatter.
62
+ - Regression tests proving Copilot and Claude installs generate different platform-correct agent, prompt, and instruction frontmatter.
63
+
64
+ ### Fixed
65
+
66
+ - GitHub Copilot agents no longer receive Claude-only tool names such as `Read`, `Glob`, `Grep`, or `Task`.
67
+ - Claude Code agents no longer receive Copilot-only tool names such as `search`, `agent`, or `specky/sdd_*`.
68
+
69
+ ## [3.7.1] - 2026-07-04
70
+
71
+ GitHub Copilot primitive metadata and hook cleanup.
72
+
73
+ ### Changed
74
+
75
+ - Normalized Specky Agent Skill names to lowercase kebab-case matching their folder names.
76
+ - Added agent-mode prompt metadata and corrected reset-phase guidance to use checkpoint restore tools.
77
+ - Reduced native mutating tools in agents where Specky MCP tools perform the artifact writes.
78
+
79
+ ### Fixed
80
+
81
+ - Copilot instruction file now has `applyTo: '**'` frontmatter.
82
+ - Fixed branch-validator/session hooks to read `current_phase` and string phase names.
83
+ - Prevented Copilot hook manifests from falling back to unresolved Claude plugin paths.
84
+
10
85
  ## [3.7.0] - 2026-07-03
11
86
 
12
87
  Update awareness: users of old versions now find out — without the server ever
@@ -434,6 +509,7 @@ default array.
434
509
  **Regression test (`tests/integration/status-detection.test.ts`):**
435
510
 
436
511
  4 new tests covering:
512
+
437
513
  1. Greenfield (no `.specs/`) → features:[] + current_phase:init ✅
438
514
  2. Single feature in progress → detected with correct phase/progress ✅
439
515
  3. Multiple features → aggregated independently with per-feature state ✅
package/README.md CHANGED
@@ -74,10 +74,10 @@ Specky is a **complete AI development toolkit** — not just an MCP server. The
74
74
 
75
75
  | Primitive | What it is | Specky includes |
76
76
  |-----------|-----------|------------------|
77
- | **Agents** | Specialized AI personas with defined roles, tools, and guardrails | 13 agents — @specky-orchestrator (full pipeline), @specky-onboarding (wizard), @spec-engineer, @design-architect, @task-planner, @quality-reviewer, and 7 more |
77
+ | **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
78
  | **Prompts** | Slash commands that activate the right agent for a task | 22 prompts — `/specky-greenfield`, `/specky-specify`, `/specky-release`, `/specky-orchestrate`, etc. |
79
79
  | **Skills** | Domain knowledge files loaded into agent context automatically | 8 skills — SDD pipeline rules, EARS patterns, implementation patterns, test criteria, release gate protocol |
80
- | **Hooks** | Scripts that run before/after every tool call for validation | 16 hooks — artifact-validator, branch-validator, phase-gate, lgtm-gate, security-scan, etc. |
80
+ | **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
81
  | **MCP Server** | The tool engine that validates, generates, and enforces | 58 tools via Model Context Protocol (the runtime underneath) |
82
82
 
83
83
  ### Why not just an MCP server?
@@ -97,24 +97,31 @@ Specky ships as a single npm package with a unified `specky` CLI. Works on macOS
97
97
  # 1. Install the CLI globally (once per machine)
98
98
  npm install -g specky-sdd@latest
99
99
 
100
- # 2. Bootstrap your project — choose your IDE:
100
+ # 2. Bootstrap your project — choose your target harness:
101
101
  cd your-project
102
- specky install --ide=copilot # VS Code + GitHub Copilot (recommended)
103
- specky install --ide=claude # Claude Code
102
+ specky install --target=copilot # VS Code + GitHub Copilot (recommended)
103
+ specky install --target=claude # Claude Code
104
+ specky install --target=cursor # Cursor
105
+ specky install --target=opencode # OpenCode
106
+ specky install --target=agent-skills # Shared .agents/skills bundle
104
107
  ```
105
108
 
106
- > **Important:** Always specify `--ide=copilot` or `--ide=claude`. The default `--ide=auto` installs for both IDEs, which can cause hook cross-read conflicts between Copilot and Claude Code in the same workspace. See [docs/INSTALL.md](docs/INSTALL.md) for details.
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.
107
110
 
108
111
  Or per-project (for teams — pins version in `package.json`, run via `npx`):
109
112
 
110
113
  ```bash
111
114
  cd your-project
112
115
  npm install --save-dev specky-sdd@latest
113
- npx specky install --ide=copilot
116
+ npx specky install --target=copilot
114
117
  ```
115
118
 
116
119
  The CLI installs 13 agents, 22 prompts, 8 skills, 16 hooks, the MCP server registration (`.mcp.json` + `.vscode/mcp.json`, pinned to the installed version), and pre-authorizes a **least-privilege** set of tools — the Specky MCP tools plus scoped `git`/`npm`/`npx` and file editing. It does **not** pre-authorize arbitrary shell, `rm`, or network access; those still prompt. Run `specky doctor` anytime to validate integrity and config.
117
120
 
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. Wave 1 APM targets also include Cursor, OpenCode, and the neutral `agent-skills` target.
122
+
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.
124
+
118
125
  Full walkthroughs per OS, offline install, and CLI reference: [docs/INSTALL.md](docs/INSTALL.md) · [docs/CLI.md](docs/CLI.md).
119
126
 
120
127
 
@@ -165,15 +172,15 @@ Specky adds a **deterministic engine** between your intent and your code:
165
172
  | Any input (PDF, DOCX, PPTX, transcript, Figma) to spec | 58 MCP tools handle all input formats |
166
173
  | EARS validation (programmatic, not AI guessing) | 6 patterns enforced at schema level |
167
174
  | Enforced pipeline (not suggestions) | 10 phases with actual gates that block advancement |
168
- | Pre/post hooks on every phase | artifact-validator, branch-validator, phase-gate, lgtm-gate |
175
+ | Pre/post hooks on every phase | specky-artifact-validator, specky-branch-validator, specky-phase-gate, specky-lgtm-gate |
169
176
  | 17 diagram types generated automatically | C4 (4 levels), sequence, ER, activity, use case, DFD, deployment, network |
170
177
  | Infrastructure as Code | Terraform, Bicep, Dockerfile from DESIGN.md |
171
178
  | Work item export | GitHub Issues, Azure Boards, Jira via MCP-to-MCP routing |
172
179
  | 6 compliance frameworks | HIPAA, SOC2, GDPR, PCI-DSS, ISO 27001 built-in |
173
180
  | Cross-artifact traceability | Requirement to design to task to test to code |
174
181
  | Gitflow-SDD branching | spec/NNN → develop → stage → main |
175
- | Unified CLI distribution | `npm install -g specky-sdd && specky install --ide=copilot` — one binary, multi-OS (macOS/Linux/Windows/WSL) |
176
- | Works in any MCP host | VS Code + Copilot, Claude Code, Cursor, Windsurf, or any MCP client |
182
+ | Unified CLI distribution | `npm install -g specky-sdd && specky install --target=copilot` — one binary, multi-OS (macOS/Linux/Windows/WSL) |
183
+ | First-class harness targets | VS Code + Copilot, Claude Code, Cursor, OpenCode, plus shared `.agents/skills` |
177
184
  | 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) |
178
185
  | MIT open source | Fork it, extend it, audit it. No vendor lock, no seat pricing |
179
186
 
@@ -183,7 +190,7 @@ Specky adds a **deterministic engine** between your intent and your code:
183
190
  ### Prerequisites
184
191
 
185
192
  - **Node.js 20+**: [Download here](https://nodejs.org/) (Node 20 LTS recommended)
186
- - **An AI IDE**: VS Code with Copilot, Claude Code, Cursor, or Windsurf
193
+ - **An AI IDE or agent CLI**: VS Code with Copilot, Claude Code, Cursor, or OpenCode
187
194
 
188
195
  ### Install the Plugin
189
196
 
@@ -880,7 +887,7 @@ Together they form the **SDD layer** of the GitHub + Microsoft enterprise platfo
880
887
  }
881
888
  ```
882
889
 
883
- > **Note:** This example assumes Specky is installed via `specky install --ide=copilot` (after `npm install -g specky-sdd@latest`). See [Quick Start](#quick-start) for details.
890
+ > **Note:** This example assumes Specky is installed via `specky install --target=copilot` (after `npm install -g specky-sdd@latest`). See [Quick Start](#quick-start) for details.
884
891
 
885
892
  ## Project Configuration
886
893
 
@@ -1026,7 +1033,7 @@ Specky is 100% open source (MIT) — enterprise mode is just an opt-in configura
1026
1033
  - **No `eval()` or dynamic code execution** — template rendering is string replacement only
1027
1034
  - **Path traversal prevention**: FileManager sanitizes all paths, blocks `..` sequences
1028
1035
  - **Zod `.strict()` validation** — every tool input is schema-validated; unknown fields rejected
1029
- - **security-scan hook** blocks commits containing hardcoded secrets (exit code 2)
1036
+ - **specky-security-scan hook** blocks commits containing hardcoded secrets (exit code 2)
1030
1037
  - See [SECURITY.md](SECURITY.md) for full OWASP Top 10 coverage
1031
1038
  - See [docs/SYSTEM-DESIGN.md](docs/SYSTEM-DESIGN.md) for complete security architecture
1032
1039
  - See [docs/ENTERPRISE-CONTROLS.md](docs/ENTERPRISE-CONTROLS.md) for RBAC, audit trail, and tool-enforcement controls
@@ -1046,7 +1053,7 @@ When using Specky, follow these practices to protect your data:
1046
1053
  | **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 |
1047
1054
  | **Protect checkpoints** | `.specs/{feature}/.checkpoints/` stores full artifact snapshots | Same as above — treat checkpoints like source code |
1048
1055
  | **Review auto-generated specs before committing** | Turnkey and auto-pipeline generate from natural language — may capture sensitive details | Review SPECIFICATION.md and DESIGN.md before `git add` |
1049
- | **Keep the security-scan hook enabled** | Detects API keys, passwords, tokens in staged files | Comes pre-configured; don't disable `.claude/hooks/security-scan.sh` |
1056
+ | **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` |
1050
1057
  | **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 |
1051
1058
  | **Run `npm audit` regularly** | Catches dependency vulnerabilities | `npm audit` — CI runs this automatically on every PR |
1052
1059
 
@@ -1116,9 +1123,9 @@ npm run dev
1116
1123
  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
1117
1124
 
1118
1125
  # Run the published image from GHCR (multi-arch: linux/amd64 + linux/arm64)
1119
- docker pull ghcr.io/paulasilvatech/specky:latest # or pin a release: :3.6.0
1126
+ docker pull ghcr.io/paulasilvatech/specky:latest # or pin a release: :3.8.0
1120
1127
  docker run --rm -p 3200:3200 ghcr.io/paulasilvatech/specky:latest
1121
- curl http://localhost:3200/health # -> {"status":"ok","version":"3.6.0"}
1128
+ curl http://localhost:3200/health # -> {"status":"ok","version":"3.8.0"}
1122
1129
 
1123
1130
  # Or build and run locally from source
1124
1131
  docker build -t specky-sdd:dev .
@@ -1140,7 +1147,7 @@ deployments (enterprise profile, token auth, TLS proxy, private packages) see
1140
1147
  |------------|--------|
1141
1148
  | 58 MCP tools across 10 enforced pipeline phases | Stable |
1142
1149
  | Unified `specky` CLI: install, doctor, status, upgrade, hooks, serve | Stable |
1143
- | IDE-specific install: `--ide=copilot` or `--ide=claude` | Stable |
1150
+ | Target-specific install: `--target=copilot`, `claude`, `cursor`, `opencode`, or `agent-skills` | Stable |
1144
1151
  | Copilot-safe hook manifests (no lifecycle event cross-read) | Stable |
1145
1152
  | Phase validation on every tool with gate enforcement | Stable |
1146
1153
  | 17 software engineering diagram types (C4, sequence, ER, DFD, deployment, network) | Stable |
package/apm-policy.yml ADDED
@@ -0,0 +1,53 @@
1
+ # apm-policy.yml — enterprise governance policy for Specky primitive packaging.
2
+ #
3
+ # Enforced by `specky apm policy check` (and in CI via .github/workflows).
4
+ # The goal is least-privilege, reproducible, harness-isolated primitives.
5
+
6
+ schemaVersion: 1
7
+
8
+ # Package sources that may be installed/trusted.
9
+ allowedSources:
10
+ - github.com/paulasilvatech/specky
11
+ - registry.npmjs.org/specky-sdd
12
+
13
+ # MCP governance. Only these servers may be declared in apm.yml, and
14
+ # transitive MCP servers are not auto-trusted.
15
+ mcp:
16
+ allowTransitive: false
17
+ allowedServers:
18
+ - specky
19
+
20
+ # Hook governance. Hook manifests may only register these event types.
21
+ hooks:
22
+ allowedEvents:
23
+ - SessionStart
24
+ - UserPromptSubmit
25
+ - PreToolUse
26
+ - PostToolUse
27
+ - Stop
28
+
29
+ # Per-target tool-name isolation. Compiled output for one harness must never
30
+ # contain another harness's native tool tokens.
31
+ targets:
32
+ github-copilot:
33
+ forbidToolTokens:
34
+ - Read
35
+ - Glob
36
+ - Grep
37
+ - Task
38
+ - mcp__specky__
39
+ claude-code:
40
+ forbidToolTokens:
41
+ - "specky/"
42
+ cursor:
43
+ forbidToolTokens:
44
+ - "specky/"
45
+ - '"search"'
46
+ - '"agent"'
47
+ opencode:
48
+ forbidToolTokens:
49
+ - Read
50
+ - Glob
51
+ - Grep
52
+ - Task
53
+ - mcp__specky__