@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
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  > Spec-driven development framework for multi-stack projects. Turns feature requests into implementation-ready code through structured, AI-orchestrated phases.
4
4
 
5
5
  **Package:** `@polymorphism-tech/morph-spec`
6
- **Version:** 4.12.0
6
+ **Version:** 4.13.0
7
7
  **Requires:** Node.js 18+, Claude Code
8
8
 
9
9
  ---
@@ -61,22 +61,22 @@ your-project/
61
61
  │ ├── config/
62
62
  │ │ └── config.json # Project configuration
63
63
  │ ├── framework/
64
- │ │ ├── agents.json # 38 agents in 4 tiers (READ-ONLY)
64
+ │ │ ├── agents.json # 22 agents in 4 tiers (READ-ONLY)
65
65
  │ │ ├── standards/ # Coding and architecture standards (READ-ONLY)
66
66
  │ │ └── templates/ # Code and IaC templates (READ-ONLY)
67
67
  │ ├── context/ # Project context (README.md, standards.md)
68
68
  │ ├── features/ # Active features
69
69
  │ │ └── {feature}/
70
70
  │ │ ├── 0-proposal/ # User story + acceptance criteria
71
- │ │ ├── 1-design/ # Technical spec, contracts, decisions
72
- │ │ ├── 2-ui/ # UI/UX design (optional, UI-heavy features)
71
+ │ │ ├── 1-ui/ # UI/UX design (optional, UI-heavy features)
72
+ │ │ ├── 2-design/ # Technical spec, contracts, decisions
73
73
  │ │ ├── 3-tasks/ # Atomic task list
74
74
  │ │ └── 4-implement/ # Recap and implementation notes
75
75
  │ └── state.json # READ-ONLY — managed by CLI only
76
76
  └── .claude/
77
77
  ├── commands/ # Slash commands
78
78
  ├── skills/ # Framework skills (flat .md files)
79
- ├── agents/ # Native subagents (38 agents)
79
+ ├── agents/ # Native subagents (22 agents)
80
80
  ├── rules/ # Path-scoped standards rules
81
81
  └── settings.local.json # Hooks configuration (10 hooks)
82
82
  ```
@@ -99,8 +99,8 @@ Phases in brackets are optional. `uiux` applies to UI-heavy features. `sync` is
99
99
  | Phase | Directory | Key files |
100
100
  | --------- | -------------- | ------------------------------------------------------------- |
101
101
  | Proposal | `0-proposal/` | `proposal.md` |
102
- | Design | `1-design/` | `spec.md`, `contracts.cs`, `decisions.md` |
103
- | UI/UX | `2-ui/` | `design-system.md`, `mockups.md`, `components.md`, `flows.md` |
102
+ | UI/UX | `1-ui/` | `design-system.md`, `mockups.md`, `components.md`, `flows.md` |
103
+ | Design | `2-design/` | `spec.md`, `contracts.cs`, `decisions.md` |
104
104
  | Tasks | `3-tasks/` | `tasks.md` |
105
105
  | Implement | `4-implement/` | `recap.md` |
106
106
 
@@ -154,7 +154,6 @@ morph-spec state set {feature} {key} {value}
154
154
  morph-spec phase advance {feature} # Advance to next phase
155
155
  morph-spec task done {feature} # Mark current task complete
156
156
  morph-spec task start {feature} # Start next task
157
- morph-spec task next {feature} # Preview next task
158
157
  morph-spec status {feature} # Feature status dashboard
159
158
  ```
160
159
 
@@ -170,51 +169,48 @@ morph-spec validate-feature {feature} # Content-aware feature validation
170
169
 
171
170
  ## Agent hierarchy
172
171
 
173
- morph-spec includes 38 agents organized in 4 tiers (3+4+26+5). Tier 1-2 agents are installed as native Claude Code subagents in `.claude/agents/`. Tier 3 domain agents are installed as `.claude/agents/morph-domain-{name}.md`.
172
+ morph-spec includes 22 agents organized in 4 tiers (2+3+13+4). Tier 1-2 agents are installed as native Claude Code subagents in `.claude/agents/`. Tier 3 domain agents are installed as `.claude/agents/morph-domain-{name}.md`.
174
173
 
175
- ### Tier 1 — Orchestrators (3)
174
+ ### Tier 1 — Orchestrators (2)
176
175
 
177
176
 
178
177
  | Agent | Role | Active |
179
178
  | --------------------- | ------------------------------------------------------ | --------- |
180
179
  | `standards-architect` | Chief Architect — enforces standards across all phases | Always |
181
180
  | `ai-system-architect` | AI/Agent system design and orchestration | On-demand |
182
- | `po-pm-advisor` | Product and project advisory | On-demand |
183
181
 
184
182
 
185
- ### Tier 2 — Domain Leaders (4)
183
+ ### Tier 2 — Domain Leaders (3)
186
184
 
187
185
 
188
186
  | Agent | Squad | Active |
189
187
  | ------------------ | ------------------------- | --------- |
190
188
  | `dotnet-senior` | Backend squad lead | Always |
189
+ | `nextjs-expert` | Frontend squad lead | Always |
191
190
  | `infra-architect` | Infrastructure squad lead | Always |
192
- | `domain-architect` | DDD & domain modeling | On-demand |
193
- | `ui-designer` | UI/UX squad lead | On-demand |
194
191
 
195
192
 
196
- ### Tier 3 — Specialists (26)
193
+ ### Tier 3 — Specialists (13)
197
194
 
198
195
  Organized into squads:
199
196
 
200
- **Backend (10):** C#/.NET specialists, EF Core, Dapper, SignalR, CQRS, Domain modeling, API design, Auth, Background services, Testing
197
+ **Backend (6):** ef-modeler, hangfire-orchestrator, ms-agent-expert, supabase-expert, vector-search-expert, morph-spec-architect
201
198
 
202
- **Frontend (3):** Blazor components, Next.js/React, CSS/design system
199
+ **Frontend (3):** css-specialist, ui-designer, seo-growth-hacker
203
200
 
204
- **Infrastructure (5):** Azure Bicep, CI/CD pipelines, Containerization, Monitoring, Cost optimization
201
+ **Integrations (3):** asaas-financial, clerk-auth, resend-email
205
202
 
206
- **Quality/Cross (8):** Security review, Performance, Accessibility, Documentation, Code review, Migration, Integration, Data modeling
203
+ **Security (1):** security-expert
207
204
 
208
- ### Tier 4 — Validators (5)
205
+ ### Tier 4 — Validators (4)
209
206
 
210
207
 
211
208
  | Agent | Validates |
212
209
  | ------------------------------ | --------------------------------------- |
213
- | `security-expert` | Security vulnerabilities and compliance |
214
210
  | `architecture-expert` | Architectural decisions and constraints |
215
211
  | `packages-validator` | Package versions and compatibility |
216
212
  | `design-system-validator` | Design system adherence |
217
- | `blazor-concurrency-validator` | Blazor thread safety and concurrency |
213
+ | `nextjs-component-validator` | Next.js component structure and naming |
218
214
 
219
215
 
220
216
  ---
@@ -235,7 +231,6 @@ Organized into squads:
235
231
  | `PostToolUseFailure` | `handle-tool-failure.js` | Logs failures to `.morph/logs/tool-failures.log` |
236
232
  | `Stop` | `validate-completion.js` | Warns about incomplete tasks/missing outputs/pending gates |
237
233
  | `PreCompact` | `save-morph-context.js` | Snapshots state to `.morph/memory/` before compaction |
238
- | `Notification` | `approval-reminder.js` | Reminds about pending approval gates |
239
234
 
240
235
 
241
236
  Protected files (via `permissions.deny`):
@@ -268,11 +263,8 @@ Path-scoped rules are installed to `.claude/rules/` and activate automatically b
268
263
  | Technology | Support |
269
264
  | ------------------------------------------- | ------------------------------------------------ |
270
265
  | .NET 10 / ASP.NET Core | Full — C# contracts, EF Core, CQRS, Minimal API |
271
- | Blazor (WebAssembly / Server / MAUI Hybrid) | Full — components, concurrency, design system |
272
266
  | Next.js / React / TypeScript | Full — components, routing, state management |
273
- | Azure (Bicep) | Full — IaC templates, cost estimation, pipelines |
274
- | GitHub Actions | Full — CI/CD workflow templates |
275
- | Supabase | Supported via MCP integration |
267
+ | Supabase | Supported via CLI (local Docker) |
276
268
 
277
269
 
278
270
  TypeScript strict mode is enforced by default. See `.morph/framework/standards/` for all coding standards.
@@ -302,7 +294,7 @@ After updating, run `morph-spec doctor` to confirm the installation is healthy.
302
294
  - `.morph/state.json` — use `morph-spec state set`
303
295
  - `.morph/framework/`** — read-only, updated by `morph-spec update`
304
296
 
305
- **Always document decisions.** Each feature has a `1-design/decisions.md`. Architectural choices go there, not in commit messages.
297
+ **Always document decisions.** Each feature has a `2-design/decisions.md`. Architectural choices go there, not in commit messages.
306
298
 
307
299
  **Checkpoints every 3 tasks.** The framework auto-validates architecture compliance, package versions, and security after every third completed task.
308
300
 
@@ -370,4 +362,4 @@ Code generated by morph-spec (contracts, templates, implementation output) belon
370
362
 
371
363
  ---
372
364
 
373
- *morph-spec v4.12.0 by [Polymorphism Tech](https://polymorphism.tech)*
365
+ *morph-spec v4.13.0 by [Polymorphism Tech](https://polymorphism.tech)*
package/bin/morph-spec.js CHANGED
@@ -38,7 +38,7 @@ import {
38
38
  } from '../src/commands/agents/manage-agents.js';
39
39
 
40
40
  // Task commands
41
- import { taskDoneCommand, taskStartCommand, taskNextCommand, taskBulkStartCommand, taskBulkDoneCommand, taskAnnotateCommand } from '../src/commands/tasks/task.js';
41
+ import { taskDoneCommand, taskStartCommand, taskBulkDoneCommand, taskAnnotateCommand } from '../src/commands/tasks/task.js';
42
42
 
43
43
  // Scope escalation commands
44
44
  import { scopeEscalateCommand } from '../src/commands/scope/escalate.js';
@@ -50,6 +50,9 @@ import { validateFeatureCommand } from '../src/commands/validation/validate-feat
50
50
 
51
51
  // Template commands
52
52
  import { templateRenderCommand } from '../src/commands/templates/template-render.js';
53
+
54
+ // Scaffold commands
55
+ import { scaffoldDotnetCommand, scaffoldNextjsCommand } from '../src/commands/scaffold/scaffold.js';
53
56
  // MCP commands
54
57
  import { mcpSetupCommand } from '../src/commands/mcp/mcp-setup.js';
55
58
 
@@ -59,8 +62,8 @@ import { trustStatusCommand, trustSetCommand } from '../src/commands/trust/trust
59
62
  // Project metrics
60
63
  import { projectMetricsCommand } from '../src/commands/agents/project-metrics.js';
61
64
 
62
- // Standards context budget
63
- import { contextBudgetCommand } from '../src/commands/standards/context-budget.js';
65
+ // Context commands
66
+ import { contextRefreshCommand } from '../src/commands/context/context-refresh.js';
64
67
 
65
68
  const __dirname = dirname(fileURLToPath(import.meta.url));
66
69
  const pkg = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf8'));
@@ -148,7 +151,7 @@ program
148
151
  // Task management commands (MORPH-SPEC 3.0)
149
152
  const taskCommand = program
150
153
  .command('task')
151
- .description('Manage feature tasks (done | start | next)');
154
+ .description('Manage feature tasks (done | start | expand | annotate)');
152
155
 
153
156
  taskCommand
154
157
  .command('done <feature> <task-ids...>')
@@ -164,25 +167,12 @@ taskCommand
164
167
  .description('Start a task (mark as in_progress)')
165
168
  .action((feature, taskId, options) => taskStartCommand(feature, taskId, options));
166
169
 
167
- taskCommand
168
- .command('next <feature>')
169
- .description('Show next suggested task')
170
- .action((feature, options) => taskNextCommand(feature, options));
171
-
172
170
  taskCommand
173
171
  .command('expand <feature> <task-id>')
174
172
  .description('Expand a task into sub-tasks (low-impact scope escalation)')
175
173
  .option('--into <subtasks...>', 'Sub-task definitions ("T017a: Title")')
176
174
  .action((feature, taskId, options) => taskExpandCommand(feature, taskId, options));
177
175
 
178
- taskCommand
179
- .command('bulk-start <feature> [range]')
180
- .description('Start multiple tasks at once (mark as in_progress)')
181
- .option('--all', 'Start all pending tasks with met dependencies')
182
- .option('--from <id>', 'Start of task range (e.g. T007)')
183
- .option('--to <id>', 'End of task range (e.g. T014)')
184
- .action((feature, range, options) => taskBulkStartCommand(feature, range, options));
185
-
186
176
  taskCommand
187
177
  .command('bulk-done <feature> [range]')
188
178
  .description('Complete multiple tasks with a single validation pass')
@@ -309,6 +299,28 @@ templateCommand
309
299
  .option('-v, --verbose', 'Show detailed output')
310
300
  .action(templateRenderCommand);
311
301
 
302
+ // Scaffold commands (code generation from templates)
303
+ const scaffoldCmd = program
304
+ .command('scaffold')
305
+ .description('Generate feature files from templates');
306
+
307
+ scaffoldCmd
308
+ .command('dotnet <feature> <slice-name>')
309
+ .description('Generate VSA feature slice (.NET)')
310
+ .option('--dry-run', 'Preview files without writing')
311
+ .option('--namespace <ns>', 'Root namespace (auto-detected from .csproj)')
312
+ .option('--output-dir <path>', 'Output directory (default: cwd)')
313
+ .option('-v, --verbose', 'Show detailed output')
314
+ .action(scaffoldDotnetCommand);
315
+
316
+ scaffoldCmd
317
+ .command('nextjs <feature>')
318
+ .description('Generate feature page + components (Next.js)')
319
+ .option('--dry-run', 'Preview files without writing')
320
+ .option('--output-dir <path>', 'Output directory (default: cwd)')
321
+ .option('-v, --verbose', 'Show detailed output')
322
+ .action(scaffoldNextjsCommand);
323
+
312
324
  // Trust commands
313
325
  const trustCommand = program
314
326
  .command('trust')
@@ -448,12 +460,17 @@ program
448
460
  .option('--save', 'Save metrics to .morph/metrics.json')
449
461
  .action((options) => projectMetricsCommand(options));
450
462
 
451
- // Standards context budget
452
- program
453
- .command('context-budget')
454
- .description('Show estimated token usage for agent standards briefings')
455
- .option('--phase <phase>', 'Phase to compute (default: implement)')
456
- .option('--json', 'Output as JSON')
457
- .action((options) => contextBudgetCommand(options));
463
+ // Context management commands
464
+ const contextCommand = program
465
+ .command('context')
466
+ .description('Project context management (refresh)');
467
+
468
+ contextCommand
469
+ .command('refresh')
470
+ .description('Scan project architecture and generate .morph/context/README.md')
471
+ .option('-p, --path <path>', 'Target path (default: current directory)')
472
+ .option('-v, --verbose', 'Show detailed scan output')
473
+ .option('--json', 'Output scan result as JSON')
474
+ .action((options) => contextRefreshCommand(options));
458
475
 
459
476
  program.parse();