@polymorphism-tech/morph-spec 4.22.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/CLAUDE.md +57 -71
  2. package/README.md +2 -2
  3. package/bin/morph-spec.js +224 -491
  4. package/claude-plugin.json +1 -1
  5. package/docs/CHEATSHEET.md +1 -1
  6. package/docs/QUICKSTART.md +1 -1
  7. package/framework/CLAUDE.md +55 -38
  8. package/framework/MORPH.md +244 -0
  9. package/framework/agents.json +127 -1198
  10. package/framework/commands/morph-apply.md +56 -240
  11. package/framework/commands/morph-archive.md +48 -85
  12. package/framework/commands/morph-preflight.md +7 -7
  13. package/framework/commands/morph-proposal.md +35 -191
  14. package/framework/commands/morph-status.md +19 -50
  15. package/framework/commands/morph-troubleshoot.md +2 -2
  16. package/framework/evals/rubrics/README.md +44 -0
  17. package/framework/evals/rubrics/architecture.md +46 -0
  18. package/framework/evals/rubrics/code-quality.md +50 -0
  19. package/framework/evals/rubrics/contracts.md +47 -0
  20. package/framework/evals/rubrics/test-coverage.md +50 -0
  21. package/framework/evals/scenarios/dotnet-crud.yaml +42 -0
  22. package/framework/evals/scenarios/nextjs-auth.yaml +38 -0
  23. package/framework/evals/suites/standard.yaml +5 -0
  24. package/framework/evals/trace-schema.md +67 -0
  25. package/framework/hooks/claude-code/core/README.md +3 -0
  26. package/framework/hooks/claude-code/core/denylist.json +14 -0
  27. package/framework/hooks/claude-code/{pre-tool-use → core}/enforce-phase-writes.js +5 -5
  28. package/framework/hooks/claude-code/core/post-edit-typecheck.js +69 -0
  29. package/framework/hooks/claude-code/core/pre-bash-denylist.js +29 -0
  30. package/framework/hooks/claude-code/{pre-tool-use → core}/protect-spec-files.js +4 -6
  31. package/framework/hooks/claude-code/{stop → core}/validate-completion.js +13 -82
  32. package/framework/hooks/shared/phase-utils.js +20 -31
  33. package/framework/hooks/shared/state-reader.js +4 -5
  34. package/framework/{skills/level-0-meta/mcp-registry.json → mcp/registry.json} +254 -243
  35. package/framework/phases.json +41 -115
  36. package/framework/rubrics/eval-rubric.json +66 -0
  37. package/framework/skills/README.md +39 -64
  38. package/framework/skills/core/README.md +3 -0
  39. package/framework/skills/core/morph-brainstorming/SKILL.md +102 -0
  40. package/framework/skills/core/morph-eval/SKILL.md +57 -0
  41. package/framework/skills/core/morph-implement/SKILL.md +83 -0
  42. package/framework/skills/core/morph-plan/SKILL.md +64 -0
  43. package/framework/skills/core/morph-review/SKILL.md +62 -0
  44. package/framework/skills/core/morph-stack-scan/SKILL.md +109 -0
  45. package/framework/skills/core/morph-standards/SKILL.md +49 -0
  46. package/framework/templates/CLAUDE.md.core.guide.md +29 -0
  47. package/framework/templates/CLAUDE.md.core.template +22 -0
  48. package/framework/templates/REGISTRY.json +4 -4
  49. package/framework/workflows/configs/fast-track.json +5 -10
  50. package/framework/workflows/configs/full.json +4 -8
  51. package/framework/workflows/configs/quick.json +32 -0
  52. package/framework/workflows/configs/standard.json +57 -64
  53. package/package.json +7 -6
  54. package/src/commands/mcp/mcp-setup.js +58 -31
  55. package/src/commands/project/doctor.js +69 -70
  56. package/src/commands/project/init.js +26 -5
  57. package/src/commands/project/status.js +18 -19
  58. package/src/commands/state/approve.js +1 -1
  59. package/src/commands/validation/validate-feature.js +18 -112
  60. package/src/core/paths/output-schema.js +133 -152
  61. package/src/core/state/phase-state-machine.js +10 -24
  62. package/src/core/state/state-manager.js +17 -17
  63. package/src/core/workflows/workflow-detector.js +214 -31
  64. package/src/core/workflows/workflow-router.js +204 -0
  65. package/src/dashboard/app/pages/AgentMap.jsx +32 -33
  66. package/src/dashboard/app/pages/LiveState.jsx +1 -1
  67. package/src/dashboard/app/pages/PhasePipeline.jsx +2 -4
  68. package/src/dashboard/app/pages/SkillsLibrary.jsx +2 -3
  69. package/src/dashboard/app/pages/Workflows.jsx +2 -2
  70. package/src/dashboard/scanner/agents-scanner.js +30 -35
  71. package/src/lib/agents/metrics-aggregator.js +1 -1
  72. package/src/lib/agents/output-collector.js +7 -9
  73. package/src/lib/context/context-builder.js +289 -0
  74. package/src/lib/detectors/claude-config-detector.js +19 -3
  75. package/src/lib/generators/context-generator.js +20 -42
  76. package/src/lib/generators/index.js +1 -0
  77. package/src/lib/generators/mandate-generator.js +512 -0
  78. package/src/lib/generators/metadata-extractor.js +1 -1
  79. package/src/lib/generators/recap-generator.js +3 -4
  80. package/src/lib/installers/mcp-installer.js +300 -92
  81. package/src/lib/phase-chain/phase-validator.js +36 -40
  82. package/src/lib/stack/stack-profile.js +74 -91
  83. package/src/lib/tasks/task-parser.js +1 -1
  84. package/src/lib/tasks/wave-resolver.js +353 -0
  85. package/src/lib/validators/checkpoint-persistence.js +2 -2
  86. package/src/lib/validators/content/cross-phase-validator.js +281 -0
  87. package/src/lib/validators/content/index.js +1 -0
  88. package/src/lib/validators/shared/emit-validator-dispatch.js +6 -56
  89. package/src/scripts/global-install.js +2 -27
  90. package/src/utils/agents-installer.js +224 -447
  91. package/src/utils/claude-settings-manager.js +57 -15
  92. package/src/utils/file-copier.js +1 -0
  93. package/src/utils/hooks-installer.js +15 -117
  94. package/src/utils/skills-installer.js +12 -18
  95. package/bin/detect-agents.js +0 -226
  96. package/bin/task-manager.js +0 -1036
  97. package/framework/agents/README.md +0 -13
  98. package/framework/agents/ai-agents/ai-system-architect.md +0 -194
  99. package/framework/agents/ai-agents/vector-search-expert.md +0 -247
  100. package/framework/agents/architecture/architecture-expert.md +0 -98
  101. package/framework/agents/architecture/morph-spec-architect.md +0 -66
  102. package/framework/agents/architecture/packages-validator.md +0 -89
  103. package/framework/agents/architecture/security-expert.md +0 -79
  104. package/framework/agents/architecture/seo-growth-hacker.md +0 -168
  105. package/framework/agents/architecture/standards-architect.md +0 -153
  106. package/framework/agents/backend/dotnet-senior.md +0 -163
  107. package/framework/agents/backend/ef-modeler.md +0 -119
  108. package/framework/agents/backend/hangfire-orchestrator.md +0 -133
  109. package/framework/agents/backend/ms-agent-expert.md +0 -55
  110. package/framework/agents/backend/neon-expert.md +0 -379
  111. package/framework/agents/frontend/css-specialist.md +0 -89
  112. package/framework/agents/frontend/design-system-validator.md +0 -100
  113. package/framework/agents/frontend/gsap-animator.md +0 -131
  114. package/framework/agents/frontend/nextjs-component-validator.md +0 -97
  115. package/framework/agents/frontend/nextjs-expert.md +0 -201
  116. package/framework/agents/frontend/ui-designer.md +0 -259
  117. package/framework/agents/infrastructure/infra-architect.md +0 -215
  118. package/framework/agents/integrations/asaas-financial.md +0 -138
  119. package/framework/agents/integrations/neon-auth.md +0 -151
  120. package/framework/agents/integrations/resend-email.md +0 -127
  121. package/framework/hooks/claude-code/post-tool-use/agent-complete.js +0 -122
  122. package/framework/hooks/claude-code/post-tool-use/dispatch.js +0 -363
  123. package/framework/hooks/claude-code/post-tool-use/handle-tool-failure.js +0 -78
  124. package/framework/hooks/claude-code/post-tool-use/validator-feedback.js +0 -194
  125. package/framework/hooks/claude-code/pre-compact/save-morph-context.js +0 -199
  126. package/framework/hooks/claude-code/pre-tool-use/task-tracking-guard.js +0 -55
  127. package/framework/hooks/claude-code/session-start/inject-morph-context.js +0 -323
  128. package/framework/hooks/claude-code/session-start/post-compact-restore.js +0 -41
  129. package/framework/hooks/claude-code/session-start/resume-context.js +0 -77
  130. package/framework/hooks/claude-code/teammate-idle/teammate-idle.js +0 -90
  131. package/framework/hooks/claude-code/user-prompt/enrich-prompt.js +0 -114
  132. package/framework/hooks/shared/compact-restore.js +0 -123
  133. package/framework/hooks/shared/dispatch-helpers.js +0 -147
  134. package/framework/hooks/shared/skill-reminder-helpers.js +0 -79
  135. package/framework/hooks/shared/stale-task-reset.js +0 -57
  136. package/framework/hooks/shared/worktree-helpers.js +0 -75
  137. package/framework/skills/level-0-meta/README.md +0 -7
  138. package/framework/skills/level-0-meta/morph-agent-teams/SKILL.md +0 -472
  139. package/framework/skills/level-0-meta/morph-brainstorming/SKILL.md +0 -174
  140. package/framework/skills/level-0-meta/morph-brainstorming/references/proposal-example.md +0 -138
  141. package/framework/skills/level-0-meta/morph-checklist/SKILL.md +0 -145
  142. package/framework/skills/level-0-meta/morph-code-review/SKILL.md +0 -250
  143. package/framework/skills/level-0-meta/morph-code-review/references/review-example.md +0 -164
  144. package/framework/skills/level-0-meta/morph-code-review/references/review-guidelines.md +0 -100
  145. package/framework/skills/level-0-meta/morph-code-review/scripts/scan-csharp.mjs +0 -151
  146. package/framework/skills/level-0-meta/morph-code-review-nextjs/SKILL.md +0 -165
  147. package/framework/skills/level-0-meta/morph-code-review-nextjs/references/review-example-nextjs.md +0 -254
  148. package/framework/skills/level-0-meta/morph-code-review-nextjs/scripts/scan-nextjs.mjs +0 -189
  149. package/framework/skills/level-0-meta/morph-frontend-review/SKILL.md +0 -344
  150. package/framework/skills/level-0-meta/morph-frontend-review/scripts/scan-accessibility.mjs +0 -376
  151. package/framework/skills/level-0-meta/morph-gemini-image/SKILL.md +0 -290
  152. package/framework/skills/level-0-meta/morph-init/SKILL.md +0 -537
  153. package/framework/skills/level-0-meta/morph-parallel-dispatch/SKILL.md +0 -225
  154. package/framework/skills/level-0-meta/morph-post-implementation/SKILL.md +0 -401
  155. package/framework/skills/level-0-meta/morph-post-implementation/scripts/detect-dev-server.mjs +0 -153
  156. package/framework/skills/level-0-meta/morph-post-implementation/scripts/detect-stack.mjs +0 -234
  157. package/framework/skills/level-0-meta/morph-simulation-checklist/SKILL.md +0 -106
  158. package/framework/skills/level-0-meta/morph-tool-usage-guide/SKILL.md +0 -243
  159. package/framework/skills/level-0-meta/morph-tool-usage-guide/references/tools-per-phase.md +0 -169
  160. package/framework/skills/level-0-meta/morph-verification-before-completion/SKILL.md +0 -148
  161. package/framework/skills/level-0-meta/morph-verification-before-completion/scripts/check-phase-outputs.mjs +0 -110
  162. package/framework/skills/level-1-workflows/README.md +0 -7
  163. package/framework/skills/level-1-workflows/morph-phase-codebase-analysis/SKILL.md +0 -269
  164. package/framework/skills/level-1-workflows/morph-phase-design/SKILL.md +0 -453
  165. package/framework/skills/level-1-workflows/morph-phase-design/references/architecture-analysis-guide.md +0 -44
  166. package/framework/skills/level-1-workflows/morph-phase-design/references/spec-authoring-guide.md +0 -55
  167. package/framework/skills/level-1-workflows/morph-phase-design/references/spec-example.md +0 -253
  168. package/framework/skills/level-1-workflows/morph-phase-implement/.morph/logs/activity.json +0 -38
  169. package/framework/skills/level-1-workflows/morph-phase-implement/SKILL.md +0 -634
  170. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/code-quality-reviewer-prompt.md +0 -50
  171. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/implementer-prompt.md +0 -54
  172. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/spec-reviewer-prompt.md +0 -47
  173. package/framework/skills/level-1-workflows/morph-phase-implement/references/recap-example.md +0 -132
  174. package/framework/skills/level-1-workflows/morph-phase-implement/references/vsa-implementation-guide.md +0 -92
  175. package/framework/skills/level-1-workflows/morph-phase-plan/SKILL.md +0 -257
  176. package/framework/skills/level-1-workflows/morph-phase-tasks/.morph/logs/activity.json +0 -14
  177. package/framework/skills/level-1-workflows/morph-phase-tasks/SKILL.md +0 -291
  178. package/framework/skills/level-1-workflows/morph-phase-tasks/references/task-planning-patterns.md +0 -143
  179. package/framework/skills/level-1-workflows/morph-phase-tasks/references/tasks-example.md +0 -404
  180. package/framework/skills/level-1-workflows/morph-phase-tasks/scripts/validate-tasks.mjs +0 -112
  181. package/framework/skills/level-1-workflows/morph-phase-uiux/SKILL.md +0 -995
  182. package/framework/skills/level-1-workflows/morph-scope-escalation/SKILL.md +0 -147
  183. package/framework/squad-templates/backend-only.json +0 -47
  184. package/framework/squad-templates/frontend-only.json +0 -56
  185. package/framework/squad-templates/full-stack.json +0 -74
  186. package/src/commands/agents/agent-metrics.js +0 -174
  187. package/src/commands/agents/audit-dispatch.js +0 -82
  188. package/src/commands/agents/detect-agents.js +0 -275
  189. package/src/commands/agents/dispatch-agents.js +0 -461
  190. package/src/commands/agents/index.js +0 -13
  191. package/src/commands/agents/manage-agents.js +0 -352
  192. package/src/commands/agents/project-metrics.js +0 -74
  193. package/src/commands/phase/phase-reset.js +0 -74
  194. package/src/commands/scope/escalate.js +0 -217
  195. package/src/commands/state/advance-phase.js +0 -600
  196. package/src/commands/state/phase-runner.js +0 -215
  197. package/src/commands/state/state.js +0 -444
  198. package/src/commands/task/expand.js +0 -100
  199. package/src/commands/tasks/index.js +0 -4
  200. package/src/commands/tasks/task.js +0 -105
  201. package/src/commands/templates/index.js +0 -5
  202. package/src/commands/templates/template-render.js +0 -93
  203. package/src/commands/trust/trust.js +0 -118
  204. package/src/lib/agents/agents-manager.js +0 -349
  205. package/src/lib/build/build-runner.js +0 -99
  206. package/src/lib/checkpoints/checkpoint-hooks.js +0 -111
  207. package/src/lib/contracts/sprint-contract-generator.js +0 -137
  208. package/src/lib/scope/impact-analyzer.js +0 -106
  209. package/src/lib/trust/trust-manager.js +0 -157
  210. package/src/utils/tier-helpers.js +0 -24
  211. /package/framework/hooks/claude-code/{post-tool-use → core}/loop-detect.js +0 -0
@@ -1,243 +1,254 @@
1
- {
2
- "version": "4.0.0",
3
- "description": "Centralized MCP registry with phase relevance and install configuration for morph-spec workflows",
4
- "mcps": {
5
- "context7": {
6
- "phases": ["proposal", "design", "tasks", "implement"],
7
- "tools": ["resolve-library-id", "query-docs"],
8
- "detection": "enabledPlugins includes context7 or mcpServers includes context7",
9
- "fallback": "WebSearch + WebFetch for library documentation",
10
- "usage": "Library documentation lookups, API reference, implementation patterns",
11
- "healthCheck": {
12
- "toolPattern": "context7",
13
- "testCall": "Call resolve-library-id with libraryName 'react' and query 'react hooks'",
14
- "testParams": { "libraryName": "react", "query": "react hooks" },
15
- "successIndicator": "Returns a library ID (e.g., /facebook/react)",
16
- "failureHint": "Context7 MCP not responding. Check that @upstash/context7-mcp is installed and the MCP server is running. Try restarting Claude Code."
17
- },
18
- "install": {
19
- "autoInstall": true,
20
- "transport": "stdio",
21
- "config": {
22
- "command": "cmd",
23
- "args": ["/c", "npx", "-y", "@upstash/context7-mcp@latest"]
24
- },
25
- "credentials": [],
26
- "prerequisites": [],
27
- "stackRelevance": ["*"],
28
- "warnings": [],
29
- "setupGuide": null
30
- }
31
- },
32
- "playwright": {
33
- "phases": ["uiux", "implement"],
34
- "tools": ["browser_navigate", "browser_snapshot", "browser_take_screenshot", "browser_console_messages", "browser_click", "browser_resize"],
35
- "detection": "mcpServers includes playwright",
36
- "fallback": "WebFetch for read-only page content, manual testing",
37
- "usage": "UI preview, smoke testing, page inspection, responsive testing, screenshot capture",
38
- "healthCheck": {
39
- "toolPattern": "playwright",
40
- "testCall": "Call browser_navigate with url 'about:blank'",
41
- "testParams": { "url": "about:blank" },
42
- "successIndicator": "Page navigates successfully (no error thrown)",
43
- "failureHint": "Playwright MCP not responding. Ensure @playwright/mcp is installed and browser binaries are available. Run 'npx playwright install' if needed."
44
- },
45
- "install": {
46
- "autoInstall": true,
47
- "transport": "stdio",
48
- "config": {
49
- "command": "cmd",
50
- "args": ["/c", "npx", "-y", "@playwright/mcp@latest"]
51
- },
52
- "credentials": [],
53
- "prerequisites": [],
54
- "stackRelevance": ["*"],
55
- "warnings": [],
56
- "setupGuide": null
57
- }
58
- },
59
- "github": {
60
- "phases": ["tasks", "implement"],
61
- "tools": ["get_repo", "search_code", "create_issue", "create_pull_request", "search_issues"],
62
- "detection": "mcpServers includes github",
63
- "fallback": "Bash `gh` CLI commands",
64
- "usage": "Repo metadata, code search, issue creation, PR management",
65
- "healthCheck": {
66
- "toolPattern": "github",
67
- "testCall": "Call any read-only GitHub tool (e.g., search_repositories or get_repo) to verify connectivity",
68
- "testParams": {},
69
- "successIndicator": "Returns repository data or search results without auth errors",
70
- "failureHint": "GitHub MCP not responding. If using Docker, ensure Docker Desktop is running. Verify GITHUB_PERSONAL_ACCESS_TOKEN env var is set. Ensure the token has not expired and has the required scopes (repo, read:org)."
71
- },
72
- "install": {
73
- "autoInstall": false,
74
- "transport": "stdio",
75
- "config": {
76
- "command": "docker",
77
- "args": ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"],
78
- "env": {
79
- "GITHUB_PERSONAL_ACCESS_TOKEN": ""
80
- }
81
- },
82
- "credentials": [
83
- {
84
- "name": "GitHub Personal Access Token",
85
- "envVar": "GITHUB_PERSONAL_ACCESS_TOKEN",
86
- "secret": true,
87
- "helpUrl": "https://github.com/settings/tokens"
88
- }
89
- ],
90
- "prerequisites": [
91
- {
92
- "name": "Docker",
93
- "checkCommand": "docker --version",
94
- "installUrl": "https://docs.docker.com/get-docker/"
95
- }
96
- ],
97
- "stackRelevance": ["*"],
98
- "warnings": [],
99
- "setupGuide": "Official GitHub MCP Server (github/github-mcp-server). Requires Docker."
100
- }
101
- },
102
- "vercel": {
103
- "phases": ["implement"],
104
- "tools": ["search_docs", "list_projects", "get_deployments", "get_deployment_logs", "manage_env_vars"],
105
- "detection": "mcpServers includes vercel",
106
- "fallback": "Bash `vercel` CLI commands",
107
- "usage": "Deployment monitoring, project management, environment variables, log analysis",
108
- "healthCheck": {
109
- "toolPattern": "vercel",
110
- "testCall": "Call search_docs with a query to verify connectivity",
111
- "testParams": { "query": "deployments" },
112
- "successIndicator": "Returns documentation search results without auth errors",
113
- "failureHint": "Vercel MCP not responding. Re-authenticate via /mcp in Claude Code. Ensure you have authorized the Vercel OAuth connection."
114
- },
115
- "install": {
116
- "autoInstall": false,
117
- "transport": "http",
118
- "config": {
119
- "type": "http",
120
- "url": "https://mcp.vercel.com"
121
- },
122
- "credentials": [],
123
- "prerequisites": [],
124
- "stackRelevance": ["nextjs", "nextjs-neon", "vercel"],
125
- "warnings": ["Uses OAuth — you will be prompted to authenticate via browser when first connecting."],
126
- "setupGuide": "Run: claude mcp add --transport http vercel https://mcp.vercel.com"
127
- }
128
- },
129
- "asaas": {
130
- "phases": ["design", "implement"],
131
- "tools": ["enumerate_endpoints", "get_endpoint_schema", "generate_code_example", "execute_api_call", "search_docs"],
132
- "detection": "mcpServers includes asaas",
133
- "fallback": "WebFetch https://docs.asaas.com for API documentation",
134
- "usage": "Asaas payment API docs, endpoint schemas, code examples, direct API calls",
135
- "healthCheck": {
136
- "toolPattern": "asaas",
137
- "testCall": "Search Asaas docs for 'payments' to verify connectivity",
138
- "testParams": { "query": "payments" },
139
- "successIndicator": "Returns documentation results about payment endpoints",
140
- "failureHint": "Asaas MCP not responding. Verify the MCP is configured with url: https://docs.asaas.com/mcp"
141
- },
142
- "install": {
143
- "autoInstall": false,
144
- "transport": "http",
145
- "config": {
146
- "type": "http",
147
- "url": "https://docs.asaas.com/mcp"
148
- },
149
- "credentials": [],
150
- "prerequisites": [],
151
- "stackRelevance": ["asaas"],
152
- "warnings": ["API call execution requires your Asaas access_token. Doc search works without authentication."],
153
- "setupGuide": "Run: claude mcp add --transport http asaas https://docs.asaas.com/mcp"
154
- }
155
- },
156
- "stitch": {
157
- "phases": ["uiux"],
158
- "tools": ["create_project", "list_projects", "get_project", "list_screens", "get_screen", "generate_screen_from_text", "fetch_screen_code", "fetch_screen_image"],
159
- "detection": "mcpServers includes stitch",
160
- "fallback": "HTML mockup + Playwright screenshots (Step 3.5 workflow)",
161
- "usage": "AI-generated screen designs, design.md export, visual design exploration",
162
- "healthCheck": {
163
- "toolPattern": "stitch",
164
- "testCall": "Call list_projects to verify connectivity",
165
- "testParams": {},
166
- "successIndicator": "Returns a list of projects (possibly empty) without auth errors",
167
- "failureHint": "Stitch MCP not responding. Verify gcloud auth: run 'gcloud auth application-default print-access-token'. Check .claude/stitch-proxy.cjs exists and GCP project ID is correct."
168
- },
169
- "install": {
170
- "autoInstall": false,
171
- "transport": "stdio",
172
- "config": {
173
- "command": "node",
174
- "args": [".claude/stitch-proxy.cjs"]
175
- },
176
- "credentials": [
177
- {
178
- "name": "GCP Project ID",
179
- "envVar": "STITCH_GCP_PROJECT",
180
- "secret": false,
181
- "helpUrl": "https://console.cloud.google.com/projectselector2/home/dashboard"
182
- }
183
- ],
184
- "prerequisites": [
185
- {
186
- "name": "gcloud CLI",
187
- "checkCommand": "gcloud --version",
188
- "installUrl": "https://cloud.google.com/sdk/docs/install"
189
- }
190
- ],
191
- "stackRelevance": ["nextjs", "nextjs-neon", "vite"],
192
- "warnings": ["Requires gcloud CLI with application-default credentials. Run 'gcloud auth application-default login' before setup.", "Add .claude/stitch-proxy.cjs to .gitignore (contains your GCP project ID)."],
193
- "setupGuide": "Run: morph-spec mcp setup stitch (generates OAuth proxy script)"
194
- },
195
- "companionSkills": {
196
- "repo": "google-labs-code/stitch-skills",
197
- "installCommand": "npx skills add google-labs-code/stitch-skills",
198
- "skills": ["stitch-design", "stitch-loop", "design-md", "prompt-enhance", "react-components", "shadcn-ui"],
199
- "description": "Official Stitch agent skills for Claude Code — design generation, multi-page loops, design.md export"
200
- }
201
- },
202
- "gemini-image": {
203
- "phases": ["uiux", "implement"],
204
- "tools": ["generate_image", "edit_image", "continue_editing", "list_images", "get_image_info", "get_configuration_status"],
205
- "detection": "mcpServers includes gemini-image-mcp",
206
- "fallback": "Manual image creation, stock photos, or placeholder divs",
207
- "usage": "AI image generation for project assets (heroes, illustrations, brand images) using Gemini models",
208
- "healthCheck": {
209
- "toolPattern": "gemini-image",
210
- "testCall": "Call get_configuration_status to verify API key and server health",
211
- "testParams": {},
212
- "successIndicator": "Returns status with valid API key configured",
213
- "failureHint": "Gemini Image MCP not responding. Ensure GEMINI_API_KEY is set in MCP server configuration. Install: npx gemini-image-mcp@latest"
214
- },
215
- "install": {
216
- "autoInstall": false,
217
- "transport": "stdio",
218
- "config": {
219
- "command": "cmd",
220
- "args": ["/c", "npx", "-y", "gemini-image-mcp@latest"]
221
- },
222
- "credentials": [
223
- {
224
- "name": "Gemini API Key",
225
- "envVar": "GEMINI_API_KEY",
226
- "source": "Google AI Studio (https://aistudio.google.com/apikey)"
227
- }
228
- ],
229
- "prerequisites": ["Google AI Studio API key"],
230
- "stackRelevance": ["nextjs", "next"],
231
- "warnings": ["Requires GEMINI_API_KEY environment variable. Image generation costs apply per Google AI pricing."],
232
- "setupGuide": "1. Get API key from https://aistudio.google.com/apikey\n2. Run: claude mcp add gemini-image-mcp -- npx gemini-image-mcp@latest\n3. Set GEMINI_API_KEY in MCP env config"
233
- }
234
- }
235
- },
236
- "phaseMatrix": {
237
- "proposal": ["context7"],
238
- "uiux": ["playwright", "context7", "stitch", "gemini-image"],
239
- "design": ["context7", "github"],
240
- "tasks": ["context7", "github"],
241
- "implement": ["context7", "playwright", "github", "vercel", "gemini-image"]
242
- }
243
- }
1
+ {
2
+ "version": "4.0.0",
3
+ "description": "Centralized MCP registry with phase relevance and install configuration for morph-spec workflows",
4
+ "mcps": {
5
+ "context7": {
6
+ "phases": ["proposal", "design", "tasks", "implement"],
7
+ "tools": ["resolve-library-id", "query-docs"],
8
+ "detection": "enabledPlugins includes context7 or mcpServers includes context7",
9
+ "fallback": "WebSearch + WebFetch for library documentation",
10
+ "usage": "Library documentation lookups, API reference, implementation patterns",
11
+ "healthCheck": {
12
+ "toolPattern": "context7",
13
+ "testCall": "Call resolve-library-id with libraryName 'react' and query 'react hooks'",
14
+ "testParams": { "libraryName": "react", "query": "react hooks" },
15
+ "successIndicator": "Returns a library ID (e.g., /facebook/react)",
16
+ "failureHint": "Context7 MCP not responding. Check that @upstash/context7-mcp is installed and the MCP server is running. Try restarting Claude Code."
17
+ },
18
+ "install": {
19
+ "autoInstall": true,
20
+ "transport": "stdio",
21
+ "config": {
22
+ "type": "stdio",
23
+ "command": "cmd",
24
+ "args": ["/c", "npx", "-y", "@upstash/context7-mcp@latest"]
25
+ },
26
+ "credentials": [],
27
+ "prerequisites": [],
28
+ "stackRelevance": ["*"],
29
+ "warnings": [],
30
+ "setupGuide": null
31
+ }
32
+ },
33
+ "playwright": {
34
+ "phases": ["uiux", "implement"],
35
+ "tools": ["browser_navigate", "browser_snapshot", "browser_take_screenshot", "browser_console_messages", "browser_click", "browser_resize"],
36
+ "detection": "mcpServers includes playwright",
37
+ "fallback": "WebFetch for read-only page content, manual testing",
38
+ "usage": "UI preview, smoke testing, page inspection, responsive testing, screenshot capture",
39
+ "healthCheck": {
40
+ "toolPattern": "playwright",
41
+ "testCall": "Call browser_navigate with url 'about:blank'",
42
+ "testParams": { "url": "about:blank" },
43
+ "successIndicator": "Page navigates successfully (no error thrown)",
44
+ "failureHint": "Playwright MCP not responding. Ensure @playwright/mcp is installed and browser binaries are available. Run 'npx playwright install' if needed."
45
+ },
46
+ "install": {
47
+ "autoInstall": true,
48
+ "transport": "stdio",
49
+ "config": {
50
+ "type": "stdio",
51
+ "command": "cmd",
52
+ "args": ["/c", "npx", "-y", "@playwright/mcp@latest"]
53
+ },
54
+ "credentials": [],
55
+ "prerequisites": [],
56
+ "stackRelevance": ["*"],
57
+ "warnings": [],
58
+ "setupGuide": null
59
+ }
60
+ },
61
+ "github": {
62
+ "phases": ["tasks", "implement"],
63
+ "tools": ["get_repo", "search_code", "create_issue", "create_pull_request", "search_issues"],
64
+ "detection": "mcpServers includes github",
65
+ "fallback": "Bash `gh` CLI commands",
66
+ "usage": "Repo metadata, code search, issue creation, PR management",
67
+ "healthCheck": {
68
+ "toolPattern": "github",
69
+ "testCall": "Call any read-only GitHub tool (e.g., search_repositories or get_repo) to verify connectivity",
70
+ "testParams": {},
71
+ "successIndicator": "Returns repository data or search results without auth errors",
72
+ "failureHint": "GitHub MCP not responding. If using Docker, ensure Docker Desktop is running. Verify GITHUB_PERSONAL_ACCESS_TOKEN env var is set. Ensure the token has not expired and has the required scopes (repo, read:org)."
73
+ },
74
+ "install": {
75
+ "autoInstall": false,
76
+ "transport": "stdio",
77
+ "config": {
78
+ "type": "stdio",
79
+ "command": "docker",
80
+ "args": ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"],
81
+ "env": {
82
+ "GITHUB_PERSONAL_ACCESS_TOKEN": ""
83
+ }
84
+ },
85
+ "credentials": [
86
+ {
87
+ "name": "GitHub Personal Access Token",
88
+ "envVar": "GITHUB_PERSONAL_ACCESS_TOKEN",
89
+ "secret": true,
90
+ "helpUrl": "https://github.com/settings/tokens"
91
+ }
92
+ ],
93
+ "prerequisites": [
94
+ {
95
+ "name": "Docker",
96
+ "checkCommand": "docker --version",
97
+ "installUrl": "https://docs.docker.com/get-docker/"
98
+ }
99
+ ],
100
+ "stackRelevance": ["*"],
101
+ "warnings": [],
102
+ "setupGuide": "Official GitHub MCP Server (github/github-mcp-server). Requires Docker."
103
+ }
104
+ },
105
+ "vercel": {
106
+ "phases": ["implement"],
107
+ "tools": ["search_docs", "list_projects", "get_deployments", "get_deployment_logs", "manage_env_vars"],
108
+ "detection": "mcpServers includes vercel",
109
+ "fallback": "Bash `vercel` CLI commands",
110
+ "usage": "Deployment monitoring, project management, environment variables, log analysis",
111
+ "healthCheck": {
112
+ "toolPattern": "vercel",
113
+ "testCall": "Call search_docs with a query to verify connectivity",
114
+ "testParams": { "query": "deployments" },
115
+ "successIndicator": "Returns documentation search results without auth errors",
116
+ "failureHint": "Vercel MCP not responding. Re-authenticate via /mcp in Claude Code. Ensure you have authorized the Vercel OAuth connection."
117
+ },
118
+ "install": {
119
+ "autoInstall": false,
120
+ "transport": "http",
121
+ "config": {
122
+ "type": "http",
123
+ "url": "https://mcp.vercel.com"
124
+ },
125
+ "credentials": [],
126
+ "prerequisites": [],
127
+ "stackRelevance": ["nextjs", "nextjs-neon", "vercel"],
128
+ "warnings": ["Uses OAuth — you will be prompted to authenticate via browser when first connecting."],
129
+ "setupGuide": "Run: claude mcp add --transport http vercel https://mcp.vercel.com"
130
+ }
131
+ },
132
+ "asaas": {
133
+ "phases": ["design", "implement"],
134
+ "tools": ["enumerate_endpoints", "get_endpoint_schema", "generate_code_example", "execute_api_call", "search_docs"],
135
+ "detection": "mcpServers includes asaas",
136
+ "fallback": "WebFetch https://docs.asaas.com for API documentation",
137
+ "usage": "Asaas payment API docs, endpoint schemas, code examples, direct API calls",
138
+ "healthCheck": {
139
+ "toolPattern": "asaas",
140
+ "testCall": "Search Asaas docs for 'payments' to verify connectivity",
141
+ "testParams": { "query": "payments" },
142
+ "successIndicator": "Returns documentation results about payment endpoints",
143
+ "failureHint": "Asaas MCP not responding. Verify the MCP is configured with url: https://docs.asaas.com/mcp"
144
+ },
145
+ "install": {
146
+ "autoInstall": false,
147
+ "transport": "http",
148
+ "config": {
149
+ "type": "http",
150
+ "url": "https://docs.asaas.com/mcp"
151
+ },
152
+ "credentials": [],
153
+ "prerequisites": [],
154
+ "stackRelevance": ["asaas"],
155
+ "warnings": ["API call execution requires your Asaas access_token. Doc search works without authentication."],
156
+ "setupGuide": "Run: claude mcp add --transport http asaas https://docs.asaas.com/mcp"
157
+ }
158
+ },
159
+ "stitch": {
160
+ "phases": ["uiux"],
161
+ "tools": ["create_project", "list_projects", "get_project", "list_screens", "get_screen", "generate_screen_from_text", "fetch_screen_code", "fetch_screen_image"],
162
+ "detection": "mcpServers includes stitch",
163
+ "fallback": "HTML mockup + Playwright screenshots (Step 3.5 workflow)",
164
+ "usage": "AI-generated screen designs, design.md export, visual design exploration",
165
+ "healthCheck": {
166
+ "toolPattern": "stitch",
167
+ "testCall": "Call list_projects to verify connectivity",
168
+ "testParams": {},
169
+ "successIndicator": "Returns a list of projects (possibly empty) without auth errors",
170
+ "failureHint": "Stitch MCP not responding. Verify gcloud auth: run 'gcloud auth application-default print-access-token'. Check .claude/stitch-proxy.cjs exists and GCP project ID is correct."
171
+ },
172
+ "install": {
173
+ "type": "proxy-generate",
174
+ "autoInstall": false,
175
+ "transport": "stdio",
176
+ "config": {
177
+ "type": "stdio",
178
+ "command": "node",
179
+ "args": [".claude/stitch-proxy.cjs"]
180
+ },
181
+ "credentials": [
182
+ {
183
+ "name": "GCP Project ID",
184
+ "envVar": "STITCH_GCP_PROJECT",
185
+ "secret": false,
186
+ "helpUrl": "https://console.cloud.google.com/projectselector2/home/dashboard"
187
+ }
188
+ ],
189
+ "prerequisites": [
190
+ {
191
+ "name": "gcloud CLI",
192
+ "checkCommand": "gcloud --version",
193
+ "installUrl": "https://cloud.google.com/sdk/docs/install"
194
+ }
195
+ ],
196
+ "requiredCredentials": ["gcloud-adc"],
197
+ "setupFn": "setupStitch",
198
+ "testCall": "initialize",
199
+ "successIndicator": "protocolVersion",
200
+ "failureHint": "Run: gcloud auth application-default login && gcloud services enable stitch.googleapis.com",
201
+ "stackRelevance": ["nextjs", "nextjs-neon", "vite"],
202
+ "warnings": ["Requires gcloud CLI with application-default credentials. Run 'gcloud auth application-default login' before setup.", "Add .claude/stitch-proxy.cjs to .gitignore (contains your GCP project ID)."],
203
+ "setupGuide": "Run: morph-spec mcp setup stitch (generates OAuth proxy script)"
204
+ },
205
+ "companionSkills": {
206
+ "repo": "google-labs-code/stitch-skills",
207
+ "installCommand": "npx skills add google-labs-code/stitch-skills",
208
+ "skills": ["stitch-design", "stitch-loop", "design-md", "prompt-enhance", "react-components", "shadcn-ui"],
209
+ "description": "Official Stitch agent skills for Claude Code — design generation, multi-page loops, design.md export"
210
+ }
211
+ },
212
+ "gemini-image": {
213
+ "phases": ["uiux", "implement"],
214
+ "tools": ["generate_image", "edit_image", "continue_editing", "list_images", "get_image_info", "get_configuration_status"],
215
+ "detection": "mcpServers includes gemini-image-mcp",
216
+ "fallback": "Manual image creation, stock photos, or placeholder divs",
217
+ "usage": "AI image generation for project assets (heroes, illustrations, brand images) using Gemini models",
218
+ "healthCheck": {
219
+ "toolPattern": "gemini-image",
220
+ "testCall": "Call get_configuration_status to verify API key and server health",
221
+ "testParams": {},
222
+ "successIndicator": "Returns status with valid API key configured",
223
+ "failureHint": "Gemini Image MCP not responding. Ensure GEMINI_API_KEY is set in MCP server configuration. Install: npx gemini-image-mcp@latest"
224
+ },
225
+ "install": {
226
+ "autoInstall": false,
227
+ "transport": "stdio",
228
+ "config": {
229
+ "type": "stdio",
230
+ "command": "cmd",
231
+ "args": ["/c", "npx", "-y", "gemini-image-mcp@latest"]
232
+ },
233
+ "credentials": [
234
+ {
235
+ "name": "Gemini API Key",
236
+ "envVar": "GEMINI_API_KEY",
237
+ "source": "Google AI Studio (https://aistudio.google.com/apikey)"
238
+ }
239
+ ],
240
+ "prerequisites": ["Google AI Studio API key"],
241
+ "stackRelevance": ["nextjs", "next"],
242
+ "warnings": ["Requires GEMINI_API_KEY environment variable. Image generation costs apply per Google AI pricing."],
243
+ "setupGuide": "1. Get API key from https://aistudio.google.com/apikey\n2. Run: claude mcp add gemini-image-mcp -- npx gemini-image-mcp@latest\n3. Set GEMINI_API_KEY in MCP env config"
244
+ }
245
+ }
246
+ },
247
+ "phaseMatrix": {
248
+ "proposal": ["context7"],
249
+ "uiux": ["playwright", "context7", "stitch", "gemini-image"],
250
+ "design": ["context7", "github"],
251
+ "tasks": ["context7", "github"],
252
+ "implement": ["context7", "playwright", "github", "vercel", "gemini-image"]
253
+ }
254
+ }