@polymorphism-tech/morph-spec 4.12.0 → 4.13.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 (314) hide show
  1. package/README.md +21 -29
  2. package/bin/morph-spec.js +41 -24
  3. package/bin/task-manager.js +962 -1341
  4. package/bin/validate.js +1 -1
  5. package/claude-plugin.json +1 -1
  6. package/docs/CHEATSHEET.md +10 -11
  7. package/docs/QUICKSTART.md +15 -15
  8. package/framework/CLAUDE.md +5 -2
  9. package/framework/agents/README.md +3 -4
  10. package/framework/agents/ai-agents/ai-system-architect.md +6 -10
  11. package/framework/agents/architecture/seo-growth-hacker.md +166 -326
  12. package/framework/agents/architecture/standards-architect.md +21 -31
  13. package/framework/agents/backend/dotnet-senior.md +160 -86
  14. package/framework/agents/backend/ef-modeler.md +2 -6
  15. package/framework/agents/backend/hangfire-orchestrator.md +8 -9
  16. package/framework/agents/backend/ms-agent-expert.md +1 -1
  17. package/framework/agents/frontend/nextjs-expert.md +198 -133
  18. package/framework/agents/frontend/ui-ux-designer.md +226 -267
  19. package/framework/agents/infrastructure/infra-architect.md +191 -27
  20. package/framework/agents/integrations/clerk-auth.md +19 -26
  21. package/framework/agents/integrations/hangfire-integration.md +1 -4
  22. package/framework/agents.json +215 -1453
  23. package/framework/commands/morph-apply.md +4 -4
  24. package/framework/commands/morph-preflight.md +4 -26
  25. package/framework/commands/morph-proposal.md +19 -19
  26. package/framework/commands/morph-status.md +2 -2
  27. package/framework/commands/morph-troubleshoot.md +6 -13
  28. package/framework/hooks/README.md +1 -6
  29. package/framework/hooks/claude-code/post-tool-use/validator-feedback.js +4 -6
  30. package/framework/hooks/claude-code/pre-compact/save-morph-context.js +12 -7
  31. package/framework/hooks/claude-code/pre-tool-use/enforce-phase-writes.js +2 -2
  32. package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +2 -2
  33. package/framework/hooks/claude-code/pre-tool-use/task-tracking-guard.js +5 -10
  34. package/framework/hooks/claude-code/session-start/inject-morph-context.js +63 -30
  35. package/framework/hooks/claude-code/session-start/resume-context.js +77 -0
  36. package/framework/hooks/claude-code/statusline.py +4 -5
  37. package/framework/hooks/claude-code/stop/validate-completion.js +4 -4
  38. package/framework/hooks/claude-code/user-prompt/enrich-prompt.js +8 -8
  39. package/framework/hooks/shared/compact-restore.js +28 -5
  40. package/framework/hooks/shared/phase-utils.js +4 -8
  41. package/framework/hooks/shared/state-reader.js +34 -3
  42. package/framework/phases.json +7 -45
  43. package/framework/rules/ai-agents-standards.md +15 -0
  44. package/framework/rules/asaas-standards.md +13 -0
  45. package/framework/rules/clerk-standards.md +13 -0
  46. package/framework/rules/csharp-standards.md +8 -4
  47. package/framework/rules/data-standards.md +18 -0
  48. package/framework/rules/dotnet-templates.md +87 -0
  49. package/framework/rules/frontend-standards.md +13 -13
  50. package/framework/rules/hangfire-standards.md +13 -0
  51. package/framework/rules/infrastructure-standards.md +27 -16
  52. package/framework/rules/morph-workflow.md +73 -13
  53. package/framework/rules/nextjs-standards.md +1 -0
  54. package/framework/rules/nextjs-templates.md +40 -0
  55. package/framework/rules/resend-standards.md +12 -0
  56. package/framework/rules/supabase-standards.md +29 -0
  57. package/framework/skills/README.md +6 -8
  58. package/framework/skills/level-0-meta/mcp-registry.json +21 -99
  59. package/framework/{standards/ai-agents/team-orchestration.md → skills/level-0-meta/morph-agent-teams/SKILL.md} +472 -479
  60. package/framework/skills/level-0-meta/morph-brainstorming/SKILL.md +28 -1
  61. package/framework/skills/level-0-meta/morph-checklist/SKILL.md +2 -2
  62. package/framework/skills/level-0-meta/morph-code-review/SKILL.md +1 -5
  63. package/framework/skills/level-0-meta/morph-code-review/scripts/scan-csharp.mjs +1 -1
  64. package/framework/skills/level-0-meta/morph-frontend-review/SKILL.md +23 -41
  65. package/framework/skills/level-0-meta/morph-init/SKILL.md +18 -14
  66. package/framework/skills/level-0-meta/morph-parallel-dispatch/SKILL.md +225 -0
  67. package/framework/skills/level-0-meta/morph-post-implementation/SKILL.md +20 -0
  68. package/framework/skills/level-0-meta/morph-tool-usage-guide/SKILL.md +4 -8
  69. package/framework/skills/level-0-meta/morph-tool-usage-guide/references/tools-per-phase.md +15 -59
  70. package/framework/skills/level-0-meta/morph-verification-before-completion/SKILL.md +7 -19
  71. package/framework/skills/level-0-meta/morph-verification-before-completion/scripts/check-phase-outputs.mjs +8 -8
  72. package/framework/skills/level-1-workflows/README.md +1 -1
  73. package/framework/skills/level-1-workflows/morph-phase-codebase-analysis/SKILL.md +49 -50
  74. package/framework/skills/level-1-workflows/morph-phase-design/SKILL.md +58 -124
  75. package/framework/skills/level-1-workflows/morph-phase-design/references/architecture-analysis-guide.md +5 -50
  76. package/framework/skills/level-1-workflows/morph-phase-design/references/spec-example.md +1 -1
  77. package/framework/skills/level-1-workflows/morph-phase-implement/SKILL.md +127 -159
  78. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/implementer-prompt.md +4 -3
  79. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/spec-reviewer-prompt.md +2 -2
  80. package/framework/skills/level-1-workflows/morph-phase-implement/references/recap-example.md +1 -1
  81. package/framework/skills/level-1-workflows/morph-phase-plan/SKILL.md +17 -13
  82. package/framework/skills/level-1-workflows/morph-phase-tasks/SKILL.md +22 -40
  83. package/framework/skills/level-1-workflows/morph-phase-tasks/references/task-planning-patterns.md +0 -2
  84. package/framework/skills/level-1-workflows/morph-phase-tasks/references/tasks-example.md +5 -5
  85. package/framework/skills/level-1-workflows/morph-phase-uiux/SKILL.md +57 -77
  86. package/framework/skills/level-1-workflows/morph-scope-escalation/SKILL.md +1 -1
  87. package/framework/squad-templates/backend-only.json +6 -6
  88. package/framework/squad-templates/frontend-only.json +17 -8
  89. package/framework/squad-templates/full-stack.json +29 -24
  90. package/framework/standards/STANDARDS.json +1021 -2369
  91. package/framework/standards/backend/dotnet/fluent-validation-vsa.md +200 -0
  92. package/framework/standards/backend/dotnet/result-pattern.md +213 -0
  93. package/framework/standards/backend/dotnet/scalar-ui.md +172 -0
  94. package/framework/standards/backend/dotnet/scrutor.md +158 -0
  95. package/framework/standards/backend/dotnet/vsa-handler-patterns.md +274 -0
  96. package/framework/standards/frontend/nextjs/motion-patterns.md +1 -1
  97. package/framework/standards/infrastructure/supabase/mcp-setup.md +83 -193
  98. package/framework/standards/integration/mcp/mcp-tools.md +91 -77
  99. package/framework/templates/IDE-SNIPPETS.md +2 -6
  100. package/framework/templates/README.md +709 -814
  101. package/framework/templates/REGISTRY.json +223 -762
  102. package/framework/templates/code/dotnet/abstractions/api-endpoint.cs +7 -0
  103. package/framework/templates/code/dotnet/abstractions/error.cs +60 -0
  104. package/framework/templates/code/dotnet/abstractions/handler.cs +12 -0
  105. package/framework/templates/code/dotnet/abstractions/result.cs +74 -0
  106. package/framework/templates/code/dotnet/backend/repository.cs +148 -141
  107. package/framework/templates/code/dotnet/constants/api-tags.cs +6 -0
  108. package/framework/templates/code/dotnet/exceptions/exception-handler.cs +32 -0
  109. package/framework/templates/code/dotnet/extensions/database-extensions.cs +20 -0
  110. package/framework/templates/code/dotnet/extensions/handler-registration.cs +38 -0
  111. package/framework/templates/code/dotnet/extensions/health-checks.cs +24 -0
  112. package/framework/templates/code/dotnet/extensions/map-endpoints.cs +35 -0
  113. package/framework/templates/code/dotnet/extensions/result-extensions.cs +29 -0
  114. package/framework/templates/code/dotnet/feature/endpoint.cs.hbs +21 -0
  115. package/framework/templates/code/dotnet/feature/entity.cs.hbs +8 -0
  116. package/framework/templates/code/dotnet/feature/errors.cs.hbs +8 -0
  117. package/framework/templates/code/dotnet/feature/handler.cs.hbs +24 -0
  118. package/framework/templates/code/dotnet/feature/request.cs.hbs +4 -0
  119. package/framework/templates/code/dotnet/feature/response.cs.hbs +4 -0
  120. package/framework/templates/code/dotnet/feature/validator.cs.hbs +15 -0
  121. package/framework/templates/code/dotnet/jobs/job.cs +21 -17
  122. package/framework/templates/code/dotnet/pipelines/logging-decorator.cs +31 -0
  123. package/framework/templates/code/dotnet/pipelines/validation-decorator.cs +97 -0
  124. package/framework/templates/code/dotnet/test.cs +192 -106
  125. package/framework/templates/context/ARCHITECTURE.md +89 -0
  126. package/framework/templates/context/CONTEXT-FEATURE.md +2 -2
  127. package/framework/templates/context/CONTEXT.md +180 -181
  128. package/framework/templates/context/design-system.md +1 -5
  129. package/framework/templates/docs/onboarding.md +2 -3
  130. package/framework/templates/docs/proposal.md +171 -182
  131. package/framework/templates/docs/spec.md +1 -3
  132. package/framework/templates/docs/ui-components.md +0 -72
  133. package/framework/templates/examples/design-system-examples.md +4 -4
  134. package/framework/templates/feature/decisions.md +0 -66
  135. package/framework/templates/feature/recap.md +1 -2
  136. package/framework/templates/infrastructure/github/README.md +56 -593
  137. package/framework/templates/integrations/clerk-config.cs +0 -41
  138. package/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +2 -2
  139. package/framework/templates/meta-prompts/squad-leaders/backend-squad.md +1 -2
  140. package/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +83 -126
  141. package/framework/templates/meta-prompts/validators/pre-commit-validator.md +2 -2
  142. package/framework/templates/project/validate.js +2 -4
  143. package/framework/templates/ui/design-system.css +1 -1
  144. package/framework/workflows/README.md +8 -8
  145. package/framework/workflows/configs/fast-track.json +51 -0
  146. package/framework/workflows/configs/full.json +68 -0
  147. package/framework/workflows/configs/standard.json +7 -3
  148. package/framework/workflows/docs/STORY-DRIVEN-DEVELOPMENT.md +1 -1
  149. package/framework/workflows/docs/enforcement-pipeline.md +18 -19
  150. package/framework/workflows/docs/full-morph.md +69 -76
  151. package/framework/workflows/docs/standard.md +49 -44
  152. package/framework/workflows/docs/ui-refresh.md +1 -1
  153. package/package.json +3 -3
  154. package/src/commands/agents/dispatch-agents.js +55 -116
  155. package/src/commands/context/context-refresh.js +79 -0
  156. package/src/commands/phase/phase-reset.js +1 -1
  157. package/src/commands/project/doctor.js +10 -32
  158. package/src/commands/project/init.js +12 -0
  159. package/src/commands/project/status.js +6 -12
  160. package/src/commands/scaffold/scaffold.js +131 -0
  161. package/src/commands/scope/escalate.js +1 -1
  162. package/src/commands/state/advance-phase.js +15 -29
  163. package/src/commands/state/state.js +20 -5
  164. package/src/commands/tasks/task.js +0 -30
  165. package/src/commands/validation/validate-feature.js +3 -10
  166. package/src/core/paths/output-schema.js +12 -13
  167. package/src/core/state/phase-state-machine.js +211 -217
  168. package/src/core/state/state-manager.js +9 -9
  169. package/src/lib/agents/agents-manager.js +2 -2
  170. package/src/lib/agents/output-collector.js +1 -2
  171. package/src/lib/detectors/design-system-detector.js +4 -4
  172. package/src/lib/detectors/index.js +1 -11
  173. package/src/lib/generators/architecture-scanner.js +640 -0
  174. package/src/lib/generators/context-generator.js +3 -3
  175. package/src/lib/generators/design-system-generator.js +508 -587
  176. package/src/lib/generators/index.js +12 -10
  177. package/src/lib/generators/metadata-extractor.js +386 -387
  178. package/src/lib/generators/recap-generator.js +4 -4
  179. package/src/lib/generators/scaffold-generator.js +317 -0
  180. package/src/lib/generators/settings-generator.js +0 -1
  181. package/src/lib/phase-chain/phase-validator.js +64 -42
  182. package/src/lib/stack/stack-profile.js +2 -2
  183. package/src/lib/standards/digest-builder.js +72 -285
  184. package/src/lib/tasks/task-parser.js +11 -5
  185. package/src/lib/validators/architecture/architecture-validator.js +259 -387
  186. package/src/lib/validators/content/content-validator.js +287 -287
  187. package/src/lib/validators/css/css-validator.js +340 -352
  188. package/src/lib/validators/packages/package-validator.js +347 -360
  189. package/src/lib/validators/shared/issue-counter.js +14 -18
  190. package/src/lib/validators/validation-runner.js +3 -19
  191. package/src/scripts/setup-infra.js +1 -1
  192. package/src/utils/agents-installer.js +24 -3
  193. package/src/utils/file-copier.js +1 -0
  194. package/src/utils/hooks-installer.js +11 -19
  195. package/src/utils/skills-installer.js +178 -178
  196. package/framework/agents/architecture/prompt-engineer.md +0 -195
  197. package/framework/agents/backend/api-designer.md +0 -106
  198. package/framework/agents/frontend/blazor-builder.md +0 -229
  199. package/framework/agents/frontend/nextjs-ui-specialist.md +0 -218
  200. package/framework/agents/infrastructure/azure-architect.md +0 -150
  201. package/framework/agents/infrastructure/azure-deploy-specialist.md +0 -707
  202. package/framework/agents/infrastructure/bicep-architect.md +0 -132
  203. package/framework/agents/infrastructure/container-specialist.md +0 -137
  204. package/framework/agents/infrastructure/devops-engineer.md +0 -126
  205. package/framework/agents/integrations/azure-identity.md +0 -148
  206. package/framework/agents/quality/code-analyzer.md +0 -239
  207. package/framework/agents/quality/testing-specialist.md +0 -130
  208. package/framework/hooks/claude-code/notification/approval-reminder.js +0 -57
  209. package/framework/hooks/claude-code/post-tool-use/context-refresh.js +0 -109
  210. package/framework/hooks/claude-code/post-tool-use/skill-reminder.js +0 -78
  211. package/framework/index/troubleshooting-index.json +0 -184
  212. package/framework/rules/testing-standards.md +0 -14
  213. package/framework/skills/level-0-meta/morph-replicate/SKILL.md +0 -230
  214. package/framework/skills/level-0-meta/morph-replicate/references/blazor-html-mapping.md +0 -70
  215. package/framework/skills/level-1-workflows/morph-phase-clarify/SKILL.md +0 -256
  216. package/framework/skills/level-1-workflows/morph-phase-clarify/references/clarifications-example.md +0 -117
  217. package/framework/skills/level-1-workflows/morph-phase-setup/SKILL.md +0 -269
  218. package/framework/standards/ai-agents/blazor-ui.md +0 -364
  219. package/framework/standards/architecture/ddd/aggregates.md +0 -120
  220. package/framework/standards/architecture/ddd/bounded-contexts.md +0 -105
  221. package/framework/standards/architecture/ddd/complexity-levels.md +0 -108
  222. package/framework/standards/architecture/ddd/entities.md +0 -99
  223. package/framework/standards/architecture/ddd/ubiquitous-language.md +0 -58
  224. package/framework/standards/architecture/ddd/value-objects.md +0 -124
  225. package/framework/standards/backend/api/minimal-api.md +0 -494
  226. package/framework/standards/backend/api/rest.md +0 -492
  227. package/framework/standards/backend/authentication/passkeys.md +0 -428
  228. package/framework/standards/backend/database/ef-core.md +0 -199
  229. package/framework/standards/backend/database/migrations.md +0 -393
  230. package/framework/standards/backend/database/repository-patterns.md +0 -528
  231. package/framework/standards/backend/dotnet/async.md +0 -366
  232. package/framework/standards/backend/dotnet/core.md +0 -117
  233. package/framework/standards/backend/dotnet/di.md +0 -439
  234. package/framework/standards/backend/dotnet/program-cs-checklist.md +0 -92
  235. package/framework/standards/context/analytics.md +0 -96
  236. package/framework/standards/context/bundles.md +0 -110
  237. package/framework/standards/context/priming.md +0 -78
  238. package/framework/standards/core/architecture.md +0 -185
  239. package/framework/standards/core/coding.md +0 -214
  240. package/framework/standards/core/git-branching-strategy.md +0 -403
  241. package/framework/standards/core/git.md +0 -185
  242. package/framework/standards/core/testing.md +0 -295
  243. package/framework/standards/data/nosql/blob-storage.md +0 -102
  244. package/framework/standards/data/vector-search/azure-ai-search.md +0 -121
  245. package/framework/standards/frontend/blazor/design-checklist.md +0 -222
  246. package/framework/standards/frontend/blazor/fluent-ui-setup.md +0 -595
  247. package/framework/standards/frontend/blazor/fluent-ui.md +0 -137
  248. package/framework/standards/frontend/blazor/html-conversion.md +0 -184
  249. package/framework/standards/frontend/blazor/lifecycle.md +0 -195
  250. package/framework/standards/frontend/blazor/pitfalls.md +0 -198
  251. package/framework/standards/frontend/blazor/state.md +0 -191
  252. package/framework/standards/frontend/design-system/aesthetic-direction.md +0 -266
  253. package/framework/standards/frontend/design-system/design-trends.md +0 -171
  254. package/framework/standards/infrastructure/azure/azure.md +0 -624
  255. package/framework/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -422
  256. package/framework/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -516
  257. package/framework/standards/infrastructure/azure/devops/local-development.md +0 -520
  258. package/framework/standards/infrastructure/azure/services/functions.md +0 -486
  259. package/framework/standards/infrastructure/azure/services/service-bus.md +0 -459
  260. package/framework/standards/infrastructure/azure/services/storage.md +0 -407
  261. package/framework/standards/infrastructure/vercel/vercel-database.md +0 -106
  262. package/framework/standards/integration/api/graphql.md +0 -91
  263. package/framework/standards/integration/api/grpc.md +0 -114
  264. package/framework/standards/integration/api/rest-design.md +0 -95
  265. package/framework/standards/integration/event-driven/cqrs.md +0 -101
  266. package/framework/standards/integration/event-driven/event-sourcing.md +0 -124
  267. package/framework/standards/integration/event-driven/service-bus.md +0 -95
  268. package/framework/standards/observability/logging.md +0 -131
  269. package/framework/standards/observability/metrics.md +0 -121
  270. package/framework/standards/observability/monitoring.md +0 -114
  271. package/framework/standards/observability/tracing.md +0 -132
  272. package/framework/standards/workflows/parallel-execution.md +0 -112
  273. package/framework/standards/workflows/thread-management.md +0 -113
  274. package/framework/templates/code/dotnet/backend/service.cs +0 -139
  275. package/framework/templates/code/dotnet/contracts/Commands.cs +0 -74
  276. package/framework/templates/code/dotnet/contracts/Entities.cs +0 -25
  277. package/framework/templates/code/dotnet/contracts/Queries.cs +0 -74
  278. package/framework/templates/code/dotnet/contracts/api-contracts.cs +0 -173
  279. package/framework/templates/code/dotnet/contracts/contracts-level1.cs +0 -69
  280. package/framework/templates/code/dotnet/contracts/contracts-level2.cs +0 -86
  281. package/framework/templates/code/dotnet/contracts/contracts-level3.cs +0 -41
  282. package/framework/templates/code/dotnet/frontend/component.razor +0 -239
  283. package/framework/templates/infrastructure/azure/Dockerfile.example +0 -82
  284. package/framework/templates/infrastructure/azure/README.md +0 -286
  285. package/framework/templates/infrastructure/azure/app-insights.bicep +0 -63
  286. package/framework/templates/infrastructure/azure/app-service.bicep +0 -164
  287. package/framework/templates/infrastructure/azure/container-app-env.bicep +0 -49
  288. package/framework/templates/infrastructure/azure/container-app.bicep +0 -156
  289. package/framework/templates/infrastructure/azure/deploy-checklist.md +0 -426
  290. package/framework/templates/infrastructure/azure/deploy.ps1 +0 -229
  291. package/framework/templates/infrastructure/azure/deploy.sh +0 -208
  292. package/framework/templates/infrastructure/azure/key-vault.bicep +0 -91
  293. package/framework/templates/infrastructure/azure/main.bicep +0 -189
  294. package/framework/templates/infrastructure/azure/parameters.dev.json +0 -29
  295. package/framework/templates/infrastructure/azure/parameters.prod.json +0 -29
  296. package/framework/templates/infrastructure/azure/parameters.staging.json +0 -29
  297. package/framework/templates/infrastructure/azure/sql-database.bicep +0 -103
  298. package/framework/templates/infrastructure/azure/storage.bicep +0 -106
  299. package/framework/templates/infrastructure/github/actions/azure-auth/action.yml.hbs +0 -22
  300. package/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +0 -61
  301. package/framework/templates/integrations/azure-identity-config.cs +0 -288
  302. package/framework/templates/project-structure/dotnet-ddd.md +0 -70
  303. package/framework/templates/saas/subscription.cs +0 -347
  304. package/framework/templates/saas/tenant.cs +0 -338
  305. package/framework/templates/ui/FluentDesignTheme.cs +0 -149
  306. package/framework/templates/ui/MudTheme.cs +0 -281
  307. package/framework/workflows/configs/nodejs-cli.json +0 -40
  308. package/src/commands/standards/context-budget.js +0 -89
  309. package/src/lib/standards/index.js +0 -7
  310. package/src/lib/standards/standards-context-injector.js +0 -302
  311. package/src/lib/validators/blazor/blazor-concurrency-analyzer.js +0 -316
  312. package/src/lib/validators/blazor/blazor-state-validator.js +0 -279
  313. package/src/lib/validators/blazor/blazor-validator.js +0 -369
  314. package/src/lib/validators/blazor/index.js +0 -9
@@ -1,16 +1,27 @@
1
- ---
2
- paths:
3
- - "**/*.bicep"
4
- - "**/Dockerfile"
5
- - "**/docker-compose*.yml"
6
- - "**/pipelines/**"
7
- - "**/.github/workflows/**"
8
- stacks:
9
- - azure
10
- - docker
11
- ---
12
-
13
- # Infrastructure Standards
14
-
15
- @.morph/framework/standards/infrastructure/azure/azure.md
16
- @.morph/framework/standards/infrastructure/docker/easypanel-deploy.md
1
+ ---
2
+ paths:
3
+ - "**/Dockerfile*"
4
+ - "**/docker-compose*"
5
+ - "**/.github/**"
6
+ - "**/easypanel*"
7
+ stacks:
8
+ - docker
9
+ ---
10
+
11
+ # Infrastructure Standards
12
+
13
+ @.morph/framework/standards/infrastructure/docker/easypanel-deploy.md
14
+
15
+ ## Infrastructure Templates
16
+
17
+ | Template | Path | Purpose |
18
+ |----------|------|---------|
19
+ | .NET API Dockerfile | `.morph/framework/templates/infrastructure/docker/dockerfile-api.dockerfile` | Multi-stage .NET |
20
+ | Next.js Dockerfile | `.morph/framework/templates/infrastructure/docker/dockerfile-web.dockerfile` | Multi-stage Next.js |
21
+ | Docker Compose | `.morph/framework/templates/infrastructure/docker/docker-compose.template.yml` | Local dev env |
22
+ | EasyPanel Config | `.morph/framework/templates/infrastructure/docker/easypanel.template.json` | Deployment config |
23
+ | .NET Build CI | `.morph/framework/templates/infrastructure/github/workflows/dotnet-build.yml.hbs` | CI workflow |
24
+ | Docker Push CI | `.morph/framework/templates/infrastructure/github/workflows/docker-build-push.yml.hbs` | Build & push |
25
+ | Deploy EasyPanel | `.morph/framework/templates/infrastructure/github/workflows/deploy-easypanel.yml.hbs` | CD webhook |
26
+
27
+ Read the template and adapt to your project structure.
@@ -14,19 +14,19 @@ stacks:
14
14
  **NEVER skip to code without a specification.** Every feature must progress through phases:
15
15
 
16
16
  1. **Proposal** — User story + acceptance criteria (`0-proposal/proposal.md`)
17
- 2. **Design** — Technical spec + C# contracts + decisions (`1-design/`)
17
+ 2. **Design** — Technical spec + C# contracts + decisions (`2-design/`)
18
18
  3. **Plan** — Detailed implementation plan (`3-plan/plan.md`)
19
19
  4. **Tasks** — Atomic task list (`4-tasks/tasks.md`)
20
20
  5. **Implement** — Code + recap (`5-implement/recap.md`)
21
21
 
22
- UI-heavy features also include **UI/UX** phase (`2-ui/`) between Design and Tasks.
22
+ UI-heavy features also include **UI/UX** phase (`1-ui/`) between Design and Tasks.
23
23
 
24
24
  ---
25
25
 
26
26
  ## Phase Sequence
27
27
 
28
28
  ```
29
- proposal → setup → [uiux] → design → clarify → plan → tasks → implement → [sync]
29
+ proposal → [uiux] → design → plan → tasks → implement → [sync]
30
30
  ```
31
31
 
32
32
  Use `morph-spec status {feature}` to see current phase and pending approval gates.
@@ -64,7 +64,6 @@ Use `morph-spec state mark-output <feature> <type>` with one of these exact type
64
64
  | `contracts` | design | — |
65
65
  | `contractsVsa` | design | `contracts-vsa` |
66
66
  | `decisions` | design | — |
67
- | `clarifications` | clarify | — |
68
67
  | `plan` | plan | — |
69
68
  | `tasks` | tasks | — |
70
69
  | `uiDesignSystem` | uiux | `ui-design-system` |
@@ -82,10 +81,10 @@ All outputs go in `.morph/features/{feature}/`:
82
81
  | Phase | Path |
83
82
  |-------|------|
84
83
  | Proposal | `0-proposal/proposal.md` |
85
- | Spec | `1-design/spec.md` |
86
- | Contracts | `1-design/contracts.cs` |
87
- | Decisions | `1-design/decisions.md` |
88
- | UI Design | `2-ui/design-system.md`, `mockups.md`, `components.md`, `flows.md` |
84
+ | UI Design | `1-ui/design-system.md`, `mockups.md`, `components.md`, `flows.md` |
85
+ | Spec | `2-design/spec.md` |
86
+ | Contracts | `2-design/contracts.cs` |
87
+ | Decisions | `2-design/decisions.md` |
89
88
  | Plan | `3-plan/plan.md` |
90
89
  | Tasks | `4-tasks/tasks.md` |
91
90
  | Recap | `5-implement/recap.md` |
@@ -104,11 +103,10 @@ Run a checkpoint every 3 completed tasks:
104
103
 
105
104
  ## Approval Gates
106
105
 
107
- **Design Gate:** Before moving from Design → Plan, spec must be approved.
108
- **Plan Gate:** Before moving from Plan → Tasks, plan must be approved.
109
- **Implementation Gate:** Before starting implementation, task list must be approved.
110
-
111
- Check approval status: `morph-spec approval-status {feature}`
106
+ Before completing any phase, verify pending approval gates:
107
+ - `morph-spec approval-status <feature>` — check which gates are pending
108
+ - `morph-spec approve <feature> <gate>` — approve a gate (design, plan, tasks, uiux)
109
+ - Gates must be approved before advancing to the next phase
112
110
 
113
111
  ---
114
112
 
@@ -133,6 +131,68 @@ Do not modify test files to make a failing test pass when the implementation is
133
131
 
134
132
  ---
135
133
 
134
+ ## Context Maintenance
135
+
136
+ After making structural changes (new packages, dependencies, project config changes), update the project context:
137
+ - Edit `.morph/context/README.md` — update Tech Stack, Architecture, Key Integrations sections
138
+ - Update `.morph/config/config.json` — update stack, architecture, integrations, paths
139
+ - Structural changes include: package.json, .csproj, next.config.*, tsconfig.json, docker-compose.yml
140
+
141
+ ---
142
+
143
+ ## Spec-Driven Task Execution (implement phase)
144
+
145
+ BEFORE implementing ANY task during the implement phase:
146
+
147
+ 1. **Read tasks.md** → identify the FR references for the current task (e.g., `[FR001, FR003]`)
148
+ 2. **Read spec.md** → the sections for those specific FRs
149
+ 3. **Read contracts.cs/.ts** → the DTOs/interfaces referenced by those FRs
150
+ 4. Only then begin implementation
151
+
152
+ This is **NON-NEGOTIABLE**. The spec is the source of truth. Code that doesn't match the spec is a bug.
153
+
154
+ Every task in `tasks.md` MUST have FR cross-references in this format:
155
+ ```
156
+ ### T001: Create user endpoint [FR001, FR003]
157
+ - **Spec refs:** FR001 (user CRUD), FR003 (input validation)
158
+ - **Contracts:** CreateUserRequest, CreateUserResponse, UserErrors
159
+ - **Files:** Features/UserFeature/Create/Handler.cs, Validator.cs, Endpoint.cs
160
+ ```
161
+
162
+ ---
163
+
164
+ ## Mandatory Skills per Phase
165
+
166
+ During implementation, these skills MUST be invoked at the specified triggers:
167
+
168
+ ### Implement Phase
169
+ | Trigger | Skill | When |
170
+ |---------|-------|------|
171
+ | Before each task | `superpowers:test-driven-development` | Invoke BEFORE writing any code for a task |
172
+ | Before task done | `morph-verification-before-completion` | Invoke BEFORE running `morph-spec task done` |
173
+ | On bug/unexpected | `superpowers:systematic-debugging` | Invoke IF a bug or unexpected behavior is encountered |
174
+ | After all tasks | `morph-post-implementation` | Invoke AFTER all tasks completed |
175
+ | Before PR | `morph-checklist` | Invoke BEFORE creating pull request |
176
+
177
+ ### Tasks Phase
178
+ | Trigger | Skill | When |
179
+ |---------|-------|------|
180
+ | On parallel tasks | `superpowers:dispatching-parallel-agents` | When parallel task groups are identified |
181
+ | Before completion | `morph-verification-before-completion` | Before completing the tasks phase |
182
+
183
+ These are MANDATORY. Use the `Skill()` tool. Do NOT skip.
184
+
185
+ ---
186
+
187
+ ## Scope Escalation
188
+
189
+ If during implementation a task reveals significantly more complexity than estimated:
190
+ - **Low impact:** `morph-spec task expand <feature> <task-id> --into "T00Xa: Sub" "T00Xb: Sub"`
191
+ - **Medium/High impact:** `/morph-scope-escalation <feature>`
192
+ - **Never** implement extra functionality within a task without registering it as a subtask
193
+
194
+ ---
195
+
136
196
  ## Context Window Tip
137
197
 
138
198
  When using 3+ MCPs, add `"experimental": { "mcpCliMode": true }` to `.claude/settings.json`.
@@ -17,3 +17,4 @@ stacks:
17
17
  @.morph/framework/standards/frontend/nextjs/state-management.md
18
18
  @.morph/framework/standards/frontend/nextjs/testing.md
19
19
  @.morph/framework/standards/frontend/nextjs/nextjs-patterns.md
20
+ @.morph/framework/standards/frontend/nextjs/motion-patterns.md
@@ -0,0 +1,40 @@
1
+ ---
2
+ paths:
3
+ - "**/*.tsx"
4
+ - "**/*.ts"
5
+ stacks:
6
+ - nextjs
7
+ ---
8
+
9
+ # Next.js Code Templates
10
+
11
+ When implementing Next.js features, use these templates as reference patterns.
12
+ Read the template file to see the exact pattern, then generate code following it.
13
+
14
+ ## Scaffold (preferred for new features)
15
+
16
+ **Always use scaffold for new feature pages — never create feature files manually.**
17
+
18
+ ```bash
19
+ morph-spec scaffold nextjs <feature> [--dry-run]
20
+ ```
21
+
22
+ Examples:
23
+ ```bash
24
+ morph-spec scaffold nextjs book
25
+ morph-spec scaffold nextjs user-profile
26
+ ```
27
+
28
+ Generates 4 files: page (Server Component), list component, form component, TanStack Query hook.
29
+
30
+ **Only use `template render` for individual files when modifying an existing feature.**
31
+
32
+ | Template | Path | Purpose |
33
+ |----------|------|---------|
34
+ | Server Page | `.morph/framework/templates/frontend/nextjs/page.tsx.hbs` | App Router server component |
35
+ | Client Component | `.morph/framework/templates/frontend/nextjs/client-component.tsx.hbs` | `'use client'` component |
36
+ | Feature Form | `.morph/framework/templates/frontend/nextjs/feature-form.tsx.hbs` | react-hook-form + Zod + shadcn |
37
+ | Custom Hook | `.morph/framework/templates/frontend/nextjs/use-feature.ts.hbs` | TanStack Query hook |
38
+ | Env Config | `.morph/framework/templates/frontend/nextjs/env.mjs.hbs` | T3 Env validation |
39
+ | TypeScript Config | `.morph/framework/templates/frontend/nextjs/tsconfig.json.hbs` | Path aliases |
40
+ | Dockerfile | `.morph/framework/templates/frontend/nextjs/Dockerfile.nextjs.hbs` | Multi-stage build |
@@ -0,0 +1,12 @@
1
+ ---
2
+ paths:
3
+ - "**/Email/**"
4
+ - "**/Notification*/**"
5
+ - "**/Resend/**"
6
+ stacks:
7
+ - dotnet
8
+ ---
9
+
10
+ # Resend Email Standards
11
+
12
+ @.morph/framework/standards/backend/integrations/resend/resend-email.md
@@ -0,0 +1,29 @@
1
+ ---
2
+ paths:
3
+ - "**/*.sql"
4
+ - "**/supabase/**"
5
+ - "**/migrations/**"
6
+ stacks:
7
+ - supabase
8
+ ---
9
+
10
+ # Supabase & PostgreSQL Standards
11
+
12
+ @.morph/framework/standards/infrastructure/supabase/supabase-auth.md
13
+ @.morph/framework/standards/infrastructure/supabase/supabase-rls.md
14
+ @.morph/framework/standards/infrastructure/supabase/supabase-storage.md
15
+ @.morph/framework/standards/infrastructure/supabase/supabase-pgvector.md
16
+ @.morph/framework/standards/infrastructure/supabase/mcp-setup.md
17
+ @.morph/framework/standards/infrastructure/supabase/supabase-custom-jwt.md
18
+ @.morph/framework/standards/backend/database/postgresql/database.md
19
+
20
+ ## SQL & Migration Templates
21
+
22
+ | Template | Path | Purpose |
23
+ |----------|------|---------|
24
+ | Migration (full) | `.morph/framework/templates/code/sql/supabase-migration.template.sql` | RLS + indexes |
25
+ | Migration (simple) | `.morph/framework/templates/code/sql/supabase-migration.sql` | Basic migration |
26
+ | RLS Policy | `.morph/framework/templates/code/sql/rls-policy.sql` | Row Level Security |
27
+ | TS Types | `.morph/framework/templates/code/typescript/contracts.ts` | Supabase DB types |
28
+
29
+ Read the template to see the exact pattern for migrations, RLS policies, and type generation.
@@ -16,7 +16,7 @@ Each skill is a directory: `{name}/SKILL.md` + optional `scripts/`, `references/
16
16
  | `brainstorming` | Collaborative ideation → spec via dialogue |
17
17
  | `verification-before-completion` | Gate check before marking any work done |
18
18
  | `code-review` | .NET/C# review checklist (naming, arch, async, DI, DTOs) |
19
- | `morph-replicate` | Convert HTML prototypes to Blazor components |
19
+
20
20
 
21
21
  ### level-0-meta extras
22
22
 
@@ -36,19 +36,17 @@ Invoked internally by `/morph-proposal` and `/morph-apply`. Not user-invocable.
36
36
  | Skill | Phase | Description |
37
37
  |-------|-------|-------------|
38
38
  | `phase-codebase-analysis` | 0 | Analyse existing codebase before design |
39
- | `phase-setup` | 1 | Project scaffolding and initial setup |
40
- | `phase-design` | 2 | Technical spec + contracts + decisions |
41
- | `phase-uiux` | 3 | UI/UX design system + mockups + components |
42
- | `phase-clarify` | 4 | Clarification questions → edge cases → spec update |
43
- | `phase-tasks` | 5 | Break spec into ordered task list (tasks.md) |
44
- | `phase-implement` | 6 | Implement tasks with TDD + checkpoints + recap |
39
+ | `phase-design` | 2 | Technical spec + contracts + decisions + clarification |
40
+ | `phase-uiux` | 1 | UI/UX design system + mockups + components |
41
+ | `phase-plan` | 3 | Implementation plan with exact paths and TDD |
42
+ | `phase-tasks` | 4 | Break spec into ordered task list (tasks.md) |
43
+ | `phase-implement` | 5 | Implement tasks with TDD + checkpoints + recap |
45
44
 
46
45
  ### level-1-workflows extras
47
46
 
48
47
  | Skill | File | Purpose |
49
48
  |-------|------|---------|
50
49
  | `phase-design` | `references/spec-example.md` | Filled-in spec.md example |
51
- | `phase-clarify` | `references/clarifications-example.md` | Filled-in clarifications Q&A |
52
50
  | `phase-tasks` | `references/tasks-example.md` | Filled-in tasks.md with T### format |
53
51
  | `phase-tasks` | `scripts/validate-tasks.mjs` | Validate tasks.md structure and IDs |
54
52
  | `phase-implement` | `references/recap-example.md` | Filled-in recap.md example |
@@ -56,35 +56,8 @@
56
56
  "setupGuide": null
57
57
  }
58
58
  },
59
- "supabase": {
60
- "phases": ["design", "implement"],
61
- "tools": ["list_tables", "get_table_schema", "get_relationships", "query"],
62
- "detection": "mcpServers includes supabase",
63
- "fallback": "Grep query files + Read type definitions for schema inference",
64
- "usage": "Schema analysis, migrations, RLS policies, data operations",
65
- "healthCheck": {
66
- "toolPattern": "supabase",
67
- "testCall": "Call list_tables with no parameters",
68
- "testParams": {},
69
- "successIndicator": "Returns a list of tables (even if empty)",
70
- "failureHint": "Supabase MCP not responding. If using remote mode, re-authenticate via /mcp in Claude Code. If using local mode, verify SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY in .claude/settings.local.json."
71
- },
72
- "install": {
73
- "autoInstall": false,
74
- "transport": "http",
75
- "config": {
76
- "type": "http",
77
- "url": "https://mcp.supabase.com/mcp"
78
- },
79
- "credentials": [],
80
- "prerequisites": [],
81
- "stackRelevance": ["nextjs-supabase", "supabase", "nextjs"],
82
- "warnings": ["Uses OAuth — you will be prompted to authenticate via browser when first connecting.", "NEVER connect to PRODUCTION databases. Use local/dev environment only."],
83
- "setupGuide": "Run: claude mcp add --transport http supabase https://mcp.supabase.com/mcp"
84
- }
85
- },
86
59
  "github": {
87
- "phases": ["setup", "tasks", "implement"],
60
+ "phases": ["tasks", "implement"],
88
61
  "tools": ["get_repo", "search_code", "create_issue", "create_pull_request", "search_issues"],
89
62
  "detection": "mcpServers includes github",
90
63
  "fallback": "Bash `gh` CLI commands",
@@ -153,90 +126,39 @@
153
126
  "setupGuide": "Run: claude mcp add --transport http vercel https://mcp.vercel.com"
154
127
  }
155
128
  },
156
- "docker": {
157
- "phases": ["implement"],
158
- "tools": ["build", "run", "compose"],
159
- "detection": "mcpServers includes docker",
160
- "fallback": "Bash `docker` CLI commands",
161
- "usage": "Container management, build and run containers",
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",
162
135
  "healthCheck": {
163
- "toolPattern": "docker",
164
- "testCall": "Call any read-only Docker tool to verify Docker daemon connectivity",
165
- "testParams": {},
166
- "successIndicator": "Tool responds without connection errors (Docker daemon is reachable)",
167
- "failureHint": "Docker MCP not responding. Ensure Docker Desktop is running and the Docker daemon is accessible. Run 'docker info' to verify."
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"
168
141
  },
169
142
  "install": {
170
143
  "autoInstall": false,
171
- "transport": "stdio",
144
+ "transport": "http",
172
145
  "config": {
173
- "command": "cmd",
174
- "args": ["/c", "npx", "-y", "@modelcontextprotocol/server-docker"]
146
+ "type": "http",
147
+ "url": "https://docs.asaas.com/mcp"
175
148
  },
176
149
  "credentials": [],
177
- "prerequisites": [
178
- {
179
- "name": "Docker",
180
- "checkCommand": "docker --version",
181
- "installUrl": "https://docs.docker.com/get-docker/"
182
- }
183
- ],
184
- "stackRelevance": ["dotnet", "blazor", "nextjs", "nodejs"],
185
- "warnings": [],
186
- "setupGuide": null
187
- }
188
- },
189
- "azure": {
190
- "phases": ["implement"],
191
- "tools": ["deploy", "resource_management"],
192
- "detection": "mcpServers includes azure",
193
- "fallback": "Bash `az` CLI commands",
194
- "usage": "Cloud resource management, deployment",
195
- "healthCheck": {
196
- "toolPattern": "azure",
197
- "testCall": "Call any read-only Azure tool to verify credentials and connectivity",
198
- "testParams": {},
199
- "successIndicator": "Tool responds without authentication or subscription errors",
200
- "failureHint": "Azure MCP not responding. Verify AZURE_SUBSCRIPTION_ID in .claude/settings.local.json and ensure 'az login' has been run. Check that Azure CLI is installed with 'az --version'."
201
- },
202
- "install": {
203
- "autoInstall": false,
204
- "transport": "stdio",
205
- "config": {
206
- "command": "cmd",
207
- "args": ["/c", "npx", "-y", "@azure/mcp-server"],
208
- "env": {
209
- "AZURE_SUBSCRIPTION_ID": ""
210
- }
211
- },
212
- "credentials": [
213
- {
214
- "name": "Azure Subscription ID",
215
- "envVar": "AZURE_SUBSCRIPTION_ID",
216
- "secret": false,
217
- "helpUrl": "https://portal.azure.com/#blade/Microsoft_Azure_Billing/SubscriptionsBlade"
218
- }
219
- ],
220
- "prerequisites": [
221
- {
222
- "name": "Azure CLI",
223
- "checkCommand": "az --version",
224
- "installUrl": "https://learn.microsoft.com/en-us/cli/azure/install-azure-cli"
225
- }
226
- ],
227
- "stackRelevance": ["blazor", "dotnet", "azure"],
228
- "warnings": [],
229
- "setupGuide": null
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"
230
154
  }
231
155
  }
232
156
  },
233
157
  "phaseMatrix": {
234
158
  "proposal": ["context7"],
235
- "setup": ["github"],
236
159
  "uiux": ["playwright", "context7"],
237
- "design": ["supabase", "context7", "github"],
238
- "clarify": ["context7", "github"],
160
+ "design": ["context7", "github"],
239
161
  "tasks": ["context7", "github"],
240
- "implement": ["supabase", "context7", "playwright", "github", "vercel", "docker", "azure"]
162
+ "implement": ["context7", "playwright", "github", "vercel"]
241
163
  }
242
164
  }