@polymorphism-tech/morph-spec 4.12.0 → 4.14.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 (316) hide show
  1. package/CLAUDE.md +7 -7
  2. package/README.md +28 -34
  3. package/bin/morph-spec.js +41 -24
  4. package/bin/task-manager.js +962 -1341
  5. package/bin/validate.js +1 -1
  6. package/claude-plugin.json +1 -1
  7. package/docs/CHEATSHEET.md +14 -16
  8. package/docs/QUICKSTART.md +15 -15
  9. package/framework/CLAUDE.md +5 -2
  10. package/framework/agents/README.md +3 -4
  11. package/framework/agents/ai-agents/ai-system-architect.md +6 -10
  12. package/framework/agents/architecture/seo-growth-hacker.md +166 -326
  13. package/framework/agents/architecture/standards-architect.md +21 -31
  14. package/framework/agents/backend/dotnet-senior.md +160 -86
  15. package/framework/agents/backend/ef-modeler.md +2 -6
  16. package/framework/agents/backend/hangfire-orchestrator.md +8 -9
  17. package/framework/agents/backend/ms-agent-expert.md +1 -1
  18. package/framework/agents/frontend/nextjs-expert.md +198 -133
  19. package/framework/agents/frontend/ui-ux-designer.md +226 -267
  20. package/framework/agents/infrastructure/infra-architect.md +191 -27
  21. package/framework/agents/integrations/clerk-auth.md +19 -26
  22. package/framework/agents/integrations/hangfire-integration.md +1 -4
  23. package/framework/agents.json +1084 -2278
  24. package/framework/commands/morph-apply.md +4 -6
  25. package/framework/commands/morph-preflight.md +192 -269
  26. package/framework/commands/morph-proposal.md +210 -238
  27. package/framework/commands/morph-status.md +72 -92
  28. package/framework/commands/morph-troubleshoot.md +6 -13
  29. package/framework/hooks/README.md +1 -6
  30. package/framework/hooks/claude-code/post-tool-use/validator-feedback.js +4 -6
  31. package/framework/hooks/claude-code/pre-compact/save-morph-context.js +12 -7
  32. package/framework/hooks/claude-code/pre-tool-use/enforce-phase-writes.js +2 -2
  33. package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +2 -2
  34. package/framework/hooks/claude-code/pre-tool-use/task-tracking-guard.js +5 -10
  35. package/framework/hooks/claude-code/session-start/inject-morph-context.js +63 -30
  36. package/framework/hooks/claude-code/session-start/resume-context.js +77 -0
  37. package/framework/hooks/claude-code/statusline.py +4 -5
  38. package/framework/hooks/claude-code/stop/validate-completion.js +4 -4
  39. package/framework/hooks/claude-code/user-prompt/enrich-prompt.js +8 -8
  40. package/framework/hooks/shared/compact-restore.js +28 -5
  41. package/framework/hooks/shared/phase-utils.js +4 -8
  42. package/framework/hooks/shared/state-reader.js +34 -3
  43. package/framework/phases.json +162 -200
  44. package/framework/rules/ai-agents-standards.md +15 -0
  45. package/framework/rules/asaas-standards.md +13 -0
  46. package/framework/rules/clerk-standards.md +13 -0
  47. package/framework/rules/csharp-standards.md +8 -4
  48. package/framework/rules/data-standards.md +18 -0
  49. package/framework/rules/dotnet-templates.md +87 -0
  50. package/framework/rules/frontend-standards.md +13 -13
  51. package/framework/rules/hangfire-standards.md +13 -0
  52. package/framework/rules/infrastructure-standards.md +27 -16
  53. package/framework/rules/morph-workflow.md +73 -13
  54. package/framework/rules/nextjs-standards.md +1 -0
  55. package/framework/rules/nextjs-templates.md +40 -0
  56. package/framework/rules/resend-standards.md +12 -0
  57. package/framework/rules/supabase-standards.md +29 -0
  58. package/framework/skills/README.md +6 -8
  59. package/framework/skills/level-0-meta/mcp-registry.json +21 -99
  60. package/framework/{standards/ai-agents/team-orchestration.md → skills/level-0-meta/morph-agent-teams/SKILL.md} +472 -479
  61. package/framework/skills/level-0-meta/morph-brainstorming/SKILL.md +28 -1
  62. package/framework/skills/level-0-meta/morph-checklist/SKILL.md +2 -2
  63. package/framework/skills/level-0-meta/morph-code-review/SKILL.md +1 -5
  64. package/framework/skills/level-0-meta/morph-code-review/scripts/scan-csharp.mjs +1 -1
  65. package/framework/skills/level-0-meta/morph-frontend-review/SKILL.md +23 -41
  66. package/framework/skills/level-0-meta/morph-init/SKILL.md +18 -14
  67. package/framework/skills/level-0-meta/morph-parallel-dispatch/SKILL.md +225 -0
  68. package/framework/skills/level-0-meta/morph-post-implementation/SKILL.md +20 -0
  69. package/framework/skills/level-0-meta/morph-tool-usage-guide/SKILL.md +4 -8
  70. package/framework/skills/level-0-meta/morph-tool-usage-guide/references/tools-per-phase.md +15 -59
  71. package/framework/skills/level-0-meta/morph-verification-before-completion/SKILL.md +7 -19
  72. package/framework/skills/level-0-meta/morph-verification-before-completion/scripts/check-phase-outputs.mjs +8 -8
  73. package/framework/skills/level-1-workflows/README.md +1 -1
  74. package/framework/skills/level-1-workflows/morph-phase-codebase-analysis/SKILL.md +49 -50
  75. package/framework/skills/level-1-workflows/morph-phase-design/SKILL.md +57 -123
  76. package/framework/skills/level-1-workflows/morph-phase-design/references/architecture-analysis-guide.md +5 -50
  77. package/framework/skills/level-1-workflows/morph-phase-design/references/spec-example.md +1 -1
  78. package/framework/skills/level-1-workflows/morph-phase-implement/SKILL.md +127 -159
  79. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/code-quality-reviewer-prompt.md +1 -1
  80. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/implementer-prompt.md +4 -3
  81. package/framework/skills/level-1-workflows/morph-phase-implement/prompts/spec-reviewer-prompt.md +2 -2
  82. package/framework/skills/level-1-workflows/morph-phase-implement/references/recap-example.md +1 -1
  83. package/framework/skills/level-1-workflows/morph-phase-plan/SKILL.md +17 -13
  84. package/framework/skills/level-1-workflows/morph-phase-tasks/SKILL.md +22 -40
  85. package/framework/skills/level-1-workflows/morph-phase-tasks/references/task-planning-patterns.md +143 -172
  86. package/framework/skills/level-1-workflows/morph-phase-tasks/references/tasks-example.md +5 -5
  87. package/framework/skills/level-1-workflows/morph-phase-uiux/SKILL.md +57 -77
  88. package/framework/skills/level-1-workflows/morph-scope-escalation/SKILL.md +1 -1
  89. package/framework/squad-templates/backend-only.json +6 -6
  90. package/framework/squad-templates/frontend-only.json +17 -8
  91. package/framework/squad-templates/full-stack.json +29 -24
  92. package/framework/standards/STANDARDS.json +1021 -2369
  93. package/framework/standards/backend/dotnet/fluent-validation-vsa.md +200 -0
  94. package/framework/standards/backend/dotnet/result-pattern.md +213 -0
  95. package/framework/standards/backend/dotnet/scalar-ui.md +172 -0
  96. package/framework/standards/backend/dotnet/scrutor.md +158 -0
  97. package/framework/standards/backend/dotnet/vsa-handler-patterns.md +274 -0
  98. package/framework/standards/frontend/nextjs/motion-patterns.md +1 -1
  99. package/framework/standards/infrastructure/supabase/mcp-setup.md +83 -193
  100. package/framework/standards/integration/mcp/mcp-tools.md +91 -77
  101. package/framework/templates/IDE-SNIPPETS.md +2 -6
  102. package/framework/templates/README.md +709 -814
  103. package/framework/templates/REGISTRY.json +223 -762
  104. package/framework/templates/code/dotnet/abstractions/api-endpoint.cs +7 -0
  105. package/framework/templates/code/dotnet/abstractions/error.cs +60 -0
  106. package/framework/templates/code/dotnet/abstractions/handler.cs +12 -0
  107. package/framework/templates/code/dotnet/abstractions/result.cs +74 -0
  108. package/framework/templates/code/dotnet/backend/repository.cs +148 -141
  109. package/framework/templates/code/dotnet/constants/api-tags.cs +6 -0
  110. package/framework/templates/code/dotnet/exceptions/exception-handler.cs +32 -0
  111. package/framework/templates/code/dotnet/extensions/database-extensions.cs +20 -0
  112. package/framework/templates/code/dotnet/extensions/handler-registration.cs +38 -0
  113. package/framework/templates/code/dotnet/extensions/health-checks.cs +24 -0
  114. package/framework/templates/code/dotnet/extensions/map-endpoints.cs +35 -0
  115. package/framework/templates/code/dotnet/extensions/result-extensions.cs +29 -0
  116. package/framework/templates/code/dotnet/feature/endpoint.cs.hbs +21 -0
  117. package/framework/templates/code/dotnet/feature/entity.cs.hbs +8 -0
  118. package/framework/templates/code/dotnet/feature/errors.cs.hbs +8 -0
  119. package/framework/templates/code/dotnet/feature/handler.cs.hbs +24 -0
  120. package/framework/templates/code/dotnet/feature/request.cs.hbs +4 -0
  121. package/framework/templates/code/dotnet/feature/response.cs.hbs +4 -0
  122. package/framework/templates/code/dotnet/feature/validator.cs.hbs +15 -0
  123. package/framework/templates/code/dotnet/jobs/job.cs +21 -17
  124. package/framework/templates/code/dotnet/pipelines/logging-decorator.cs +31 -0
  125. package/framework/templates/code/dotnet/pipelines/validation-decorator.cs +97 -0
  126. package/framework/templates/code/dotnet/test.cs +192 -106
  127. package/framework/templates/context/ARCHITECTURE.md +89 -0
  128. package/framework/templates/context/CONTEXT-FEATURE.md +2 -2
  129. package/framework/templates/context/CONTEXT.md +180 -181
  130. package/framework/templates/context/design-system.md +1 -5
  131. package/framework/templates/docs/onboarding.md +2 -3
  132. package/framework/templates/docs/proposal.md +171 -182
  133. package/framework/templates/docs/spec.md +1 -3
  134. package/framework/templates/docs/ui-components.md +0 -72
  135. package/framework/templates/examples/design-system-examples.md +4 -4
  136. package/framework/templates/feature/decisions.md +0 -66
  137. package/framework/templates/feature/recap.md +1 -2
  138. package/framework/templates/infrastructure/github/README.md +56 -593
  139. package/framework/templates/integrations/clerk-config.cs +0 -41
  140. package/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +2 -2
  141. package/framework/templates/meta-prompts/squad-leaders/backend-squad.md +1 -2
  142. package/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +83 -126
  143. package/framework/templates/meta-prompts/validators/pre-commit-validator.md +2 -2
  144. package/framework/templates/project/validate.js +2 -4
  145. package/framework/templates/ui/design-system.css +1 -1
  146. package/framework/workflows/README.md +8 -8
  147. package/framework/workflows/configs/fast-track.json +51 -0
  148. package/framework/workflows/configs/full.json +68 -0
  149. package/framework/workflows/configs/standard.json +7 -3
  150. package/framework/workflows/docs/STORY-DRIVEN-DEVELOPMENT.md +1 -1
  151. package/framework/workflows/docs/enforcement-pipeline.md +18 -19
  152. package/framework/workflows/docs/full-morph.md +69 -76
  153. package/framework/workflows/docs/standard.md +49 -44
  154. package/framework/workflows/docs/ui-refresh.md +1 -1
  155. package/package.json +3 -3
  156. package/src/commands/agents/dispatch-agents.js +55 -116
  157. package/src/commands/context/context-refresh.js +79 -0
  158. package/src/commands/phase/phase-reset.js +1 -1
  159. package/src/commands/project/doctor.js +10 -32
  160. package/src/commands/project/init.js +12 -0
  161. package/src/commands/project/status.js +6 -12
  162. package/src/commands/scaffold/scaffold.js +131 -0
  163. package/src/commands/scope/escalate.js +1 -1
  164. package/src/commands/state/advance-phase.js +15 -29
  165. package/src/commands/state/state.js +20 -5
  166. package/src/commands/tasks/task.js +0 -30
  167. package/src/commands/validation/validate-feature.js +3 -10
  168. package/src/core/paths/output-schema.js +12 -13
  169. package/src/core/state/phase-state-machine.js +211 -217
  170. package/src/core/state/state-manager.js +9 -9
  171. package/src/lib/agents/agents-manager.js +2 -2
  172. package/src/lib/agents/output-collector.js +1 -2
  173. package/src/lib/detectors/design-system-detector.js +4 -4
  174. package/src/lib/detectors/index.js +1 -11
  175. package/src/lib/generators/architecture-scanner.js +640 -0
  176. package/src/lib/generators/context-generator.js +3 -3
  177. package/src/lib/generators/design-system-generator.js +508 -587
  178. package/src/lib/generators/index.js +12 -10
  179. package/src/lib/generators/metadata-extractor.js +386 -387
  180. package/src/lib/generators/recap-generator.js +4 -4
  181. package/src/lib/generators/scaffold-generator.js +317 -0
  182. package/src/lib/generators/settings-generator.js +0 -1
  183. package/src/lib/phase-chain/phase-validator.js +64 -42
  184. package/src/lib/stack/stack-profile.js +2 -2
  185. package/src/lib/standards/digest-builder.js +72 -285
  186. package/src/lib/tasks/task-parser.js +11 -5
  187. package/src/lib/validators/architecture/architecture-validator.js +259 -387
  188. package/src/lib/validators/content/content-validator.js +287 -287
  189. package/src/lib/validators/css/css-validator.js +340 -352
  190. package/src/lib/validators/packages/package-validator.js +347 -360
  191. package/src/lib/validators/shared/issue-counter.js +14 -18
  192. package/src/lib/validators/validation-runner.js +3 -19
  193. package/src/scripts/setup-infra.js +1 -1
  194. package/src/utils/agents-installer.js +61 -10
  195. package/src/utils/file-copier.js +1 -0
  196. package/src/utils/hooks-installer.js +11 -19
  197. package/src/utils/skills-installer.js +178 -178
  198. package/framework/agents/architecture/prompt-engineer.md +0 -195
  199. package/framework/agents/backend/api-designer.md +0 -106
  200. package/framework/agents/frontend/blazor-builder.md +0 -229
  201. package/framework/agents/frontend/nextjs-ui-specialist.md +0 -218
  202. package/framework/agents/infrastructure/azure-architect.md +0 -150
  203. package/framework/agents/infrastructure/azure-deploy-specialist.md +0 -707
  204. package/framework/agents/infrastructure/bicep-architect.md +0 -132
  205. package/framework/agents/infrastructure/container-specialist.md +0 -137
  206. package/framework/agents/infrastructure/devops-engineer.md +0 -126
  207. package/framework/agents/integrations/azure-identity.md +0 -148
  208. package/framework/agents/quality/code-analyzer.md +0 -239
  209. package/framework/agents/quality/testing-specialist.md +0 -130
  210. package/framework/hooks/claude-code/notification/approval-reminder.js +0 -57
  211. package/framework/hooks/claude-code/post-tool-use/context-refresh.js +0 -109
  212. package/framework/hooks/claude-code/post-tool-use/skill-reminder.js +0 -78
  213. package/framework/index/troubleshooting-index.json +0 -184
  214. package/framework/rules/testing-standards.md +0 -14
  215. package/framework/skills/level-0-meta/morph-replicate/SKILL.md +0 -230
  216. package/framework/skills/level-0-meta/morph-replicate/references/blazor-html-mapping.md +0 -70
  217. package/framework/skills/level-1-workflows/morph-phase-clarify/SKILL.md +0 -256
  218. package/framework/skills/level-1-workflows/morph-phase-clarify/references/clarifications-example.md +0 -117
  219. package/framework/skills/level-1-workflows/morph-phase-setup/SKILL.md +0 -269
  220. package/framework/standards/ai-agents/blazor-ui.md +0 -364
  221. package/framework/standards/architecture/ddd/aggregates.md +0 -120
  222. package/framework/standards/architecture/ddd/bounded-contexts.md +0 -105
  223. package/framework/standards/architecture/ddd/complexity-levels.md +0 -108
  224. package/framework/standards/architecture/ddd/entities.md +0 -99
  225. package/framework/standards/architecture/ddd/ubiquitous-language.md +0 -58
  226. package/framework/standards/architecture/ddd/value-objects.md +0 -124
  227. package/framework/standards/backend/api/minimal-api.md +0 -494
  228. package/framework/standards/backend/api/rest.md +0 -492
  229. package/framework/standards/backend/authentication/passkeys.md +0 -428
  230. package/framework/standards/backend/database/ef-core.md +0 -199
  231. package/framework/standards/backend/database/migrations.md +0 -393
  232. package/framework/standards/backend/database/repository-patterns.md +0 -528
  233. package/framework/standards/backend/dotnet/async.md +0 -366
  234. package/framework/standards/backend/dotnet/core.md +0 -117
  235. package/framework/standards/backend/dotnet/di.md +0 -439
  236. package/framework/standards/backend/dotnet/program-cs-checklist.md +0 -92
  237. package/framework/standards/context/analytics.md +0 -96
  238. package/framework/standards/context/bundles.md +0 -110
  239. package/framework/standards/context/priming.md +0 -78
  240. package/framework/standards/core/architecture.md +0 -185
  241. package/framework/standards/core/coding.md +0 -214
  242. package/framework/standards/core/git-branching-strategy.md +0 -403
  243. package/framework/standards/core/git.md +0 -185
  244. package/framework/standards/core/testing.md +0 -295
  245. package/framework/standards/data/nosql/blob-storage.md +0 -102
  246. package/framework/standards/data/vector-search/azure-ai-search.md +0 -121
  247. package/framework/standards/frontend/blazor/design-checklist.md +0 -222
  248. package/framework/standards/frontend/blazor/fluent-ui-setup.md +0 -595
  249. package/framework/standards/frontend/blazor/fluent-ui.md +0 -137
  250. package/framework/standards/frontend/blazor/html-conversion.md +0 -184
  251. package/framework/standards/frontend/blazor/lifecycle.md +0 -195
  252. package/framework/standards/frontend/blazor/pitfalls.md +0 -198
  253. package/framework/standards/frontend/blazor/state.md +0 -191
  254. package/framework/standards/frontend/design-system/aesthetic-direction.md +0 -266
  255. package/framework/standards/frontend/design-system/design-trends.md +0 -171
  256. package/framework/standards/infrastructure/azure/azure.md +0 -624
  257. package/framework/standards/infrastructure/azure/bicep/bicep-patterns.md +0 -422
  258. package/framework/standards/infrastructure/azure/devops/azure-devops-setup.md +0 -516
  259. package/framework/standards/infrastructure/azure/devops/local-development.md +0 -520
  260. package/framework/standards/infrastructure/azure/services/functions.md +0 -486
  261. package/framework/standards/infrastructure/azure/services/service-bus.md +0 -459
  262. package/framework/standards/infrastructure/azure/services/storage.md +0 -407
  263. package/framework/standards/infrastructure/vercel/vercel-database.md +0 -106
  264. package/framework/standards/integration/api/graphql.md +0 -91
  265. package/framework/standards/integration/api/grpc.md +0 -114
  266. package/framework/standards/integration/api/rest-design.md +0 -95
  267. package/framework/standards/integration/event-driven/cqrs.md +0 -101
  268. package/framework/standards/integration/event-driven/event-sourcing.md +0 -124
  269. package/framework/standards/integration/event-driven/service-bus.md +0 -95
  270. package/framework/standards/observability/logging.md +0 -131
  271. package/framework/standards/observability/metrics.md +0 -121
  272. package/framework/standards/observability/monitoring.md +0 -114
  273. package/framework/standards/observability/tracing.md +0 -132
  274. package/framework/standards/workflows/parallel-execution.md +0 -112
  275. package/framework/standards/workflows/thread-management.md +0 -113
  276. package/framework/templates/code/dotnet/backend/service.cs +0 -139
  277. package/framework/templates/code/dotnet/contracts/Commands.cs +0 -74
  278. package/framework/templates/code/dotnet/contracts/Entities.cs +0 -25
  279. package/framework/templates/code/dotnet/contracts/Queries.cs +0 -74
  280. package/framework/templates/code/dotnet/contracts/api-contracts.cs +0 -173
  281. package/framework/templates/code/dotnet/contracts/contracts-level1.cs +0 -69
  282. package/framework/templates/code/dotnet/contracts/contracts-level2.cs +0 -86
  283. package/framework/templates/code/dotnet/contracts/contracts-level3.cs +0 -41
  284. package/framework/templates/code/dotnet/frontend/component.razor +0 -239
  285. package/framework/templates/infrastructure/azure/Dockerfile.example +0 -82
  286. package/framework/templates/infrastructure/azure/README.md +0 -286
  287. package/framework/templates/infrastructure/azure/app-insights.bicep +0 -63
  288. package/framework/templates/infrastructure/azure/app-service.bicep +0 -164
  289. package/framework/templates/infrastructure/azure/container-app-env.bicep +0 -49
  290. package/framework/templates/infrastructure/azure/container-app.bicep +0 -156
  291. package/framework/templates/infrastructure/azure/deploy-checklist.md +0 -426
  292. package/framework/templates/infrastructure/azure/deploy.ps1 +0 -229
  293. package/framework/templates/infrastructure/azure/deploy.sh +0 -208
  294. package/framework/templates/infrastructure/azure/key-vault.bicep +0 -91
  295. package/framework/templates/infrastructure/azure/main.bicep +0 -189
  296. package/framework/templates/infrastructure/azure/parameters.dev.json +0 -29
  297. package/framework/templates/infrastructure/azure/parameters.prod.json +0 -29
  298. package/framework/templates/infrastructure/azure/parameters.staging.json +0 -29
  299. package/framework/templates/infrastructure/azure/sql-database.bicep +0 -103
  300. package/framework/templates/infrastructure/azure/storage.bicep +0 -106
  301. package/framework/templates/infrastructure/github/actions/azure-auth/action.yml.hbs +0 -22
  302. package/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +0 -61
  303. package/framework/templates/integrations/azure-identity-config.cs +0 -288
  304. package/framework/templates/project-structure/dotnet-ddd.md +0 -70
  305. package/framework/templates/saas/subscription.cs +0 -347
  306. package/framework/templates/saas/tenant.cs +0 -338
  307. package/framework/templates/ui/FluentDesignTheme.cs +0 -149
  308. package/framework/templates/ui/MudTheme.cs +0 -281
  309. package/framework/workflows/configs/nodejs-cli.json +0 -40
  310. package/src/commands/standards/context-budget.js +0 -89
  311. package/src/lib/standards/index.js +0 -7
  312. package/src/lib/standards/standards-context-injector.js +0 -302
  313. package/src/lib/validators/blazor/blazor-concurrency-analyzer.js +0 -316
  314. package/src/lib/validators/blazor/blazor-state-validator.js +0 -279
  315. package/src/lib/validators/blazor/blazor-validator.js +0 -369
  316. package/src/lib/validators/blazor/index.js +0 -9
package/CLAUDE.md CHANGED
@@ -51,16 +51,16 @@ No build step — pure ESM JavaScript, runs directly via Node.js 18+.
51
51
  - `installers/` — Agents, skills, hooks installers for target projects
52
52
  - **`src/utils/`** — Shared utilities (logger, banner, file-copier, claude-settings-manager, etc.)
53
53
  - **`framework/`** — Metadata installed into target projects (READ-ONLY at runtime):
54
- - `agents.json` (v4.0.0, 46 agents in 4 tiers)
55
- - `phases.json` (8 phases + sync)
56
- - `standards/STANDARDS.json` (86 entries)
57
- - `hooks/claude-code/` — Hook scripts (10 hooks, fail-open design)
54
+ - `agents.json` (v4.0.0)
55
+ - `phases.json` (7 phases incl. sync)
56
+ - `standards/STANDARDS.json`
57
+ - `hooks/claude-code/` — Hook scripts (fail-open design)
58
58
  - `skills/` — Morph skills (level-0-meta + level-1-workflows)
59
59
  - `templates/` — Handlebars templates for code generation
60
60
 
61
61
  ### Key Architectural Patterns
62
62
 
63
- **Dual-layer phase tracking:** Phase is derived from filesystem (`derivePhase()` scans for highest-numbered phase folder) — state.json only overrides for lightweight phases (setup, clarify, sync).
63
+ **Dual-layer phase tracking:** Phase is derived from filesystem (`derivePhase()` scans for highest-numbered phase folder) — state.json only overrides for lightweight phases (sync).
64
64
 
65
65
  **Output schema as single source of truth:** `src/core/paths/output-schema.js` defines all output types. Run `npm run generate` after modifying it to update derived reference files.
66
66
 
@@ -70,12 +70,12 @@ No build step — pure ESM JavaScript, runs directly via Node.js 18+.
70
70
 
71
71
  **Atomic state writes:** `state-manager.js` writes to a process-ID temp file then renames, preventing corruption from concurrent CLI invocations.
72
72
 
73
- **Stack-aware filtering:** Assets declare `stacks: ['dotnet', 'blazor']` in YAML frontmatter. `setup-infra.js` reads `config.json → project.stack`, splits into tags, and installs only matching assets. `stacks: ['*']` = universal.
73
+ **Stack-aware filtering:** Assets declare `stacks: ['dotnet']` in YAML frontmatter. `setup-infra.js` reads `config.json → project.stack`, splits into tags, and installs only matching assets. `stacks: ['*']` = universal.
74
74
 
75
75
  ### Phase Sequence
76
76
 
77
77
  ```
78
- proposal → setup → [uiux] → design → clarify → plan → tasks → implement → [sync]
78
+ proposal → [uiux] → design → plan → tasks → implement → [sync]
79
79
  ```
80
80
 
81
81
  Phases in brackets are optional. Approval gates exist at: proposal, design, plan, tasks, uiux.
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.14.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
  ```
@@ -88,7 +88,7 @@ your-project/
88
88
  Features move through structured phases. Some are optional depending on feature type.
89
89
 
90
90
  ```
91
- proposal → setup → [uiux] → design → clarify → tasks → implement → [sync]
91
+ proposal → [uiux] → design → plan → tasks → implement → [sync]
92
92
  ```
93
93
 
94
94
  Phases in brackets are optional. `uiux` applies to UI-heavy features. `sync` is a post-implementation reconciliation step.
@@ -99,16 +99,18 @@ 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` |
104
- | Tasks | `3-tasks/` | `tasks.md` |
105
- | Implement | `4-implement/` | `recap.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
+ | Plan | `3-plan/` | `plan.md` |
105
+ | Tasks | `4-tasks/` | `tasks.md` |
106
+ | Implement | `5-implement/` | `recap.md` |
106
107
 
107
108
 
108
109
  ### Approval gates
109
110
 
110
- - **Design gate** — Spec must be approved before moving to Tasks.
111
- - **Implementation gate** — Task list must be approved before implementation starts.
111
+ - **Design gate** — Spec must be approved before moving to Plan.
112
+ - **Plan gate** — Plan must be approved before moving to Tasks.
113
+ - **Tasks gate** — Task list must be approved before implementation starts.
112
114
 
113
115
  Check gate status:
114
116
 
@@ -154,7 +156,6 @@ morph-spec state set {feature} {key} {value}
154
156
  morph-spec phase advance {feature} # Advance to next phase
155
157
  morph-spec task done {feature} # Mark current task complete
156
158
  morph-spec task start {feature} # Start next task
157
- morph-spec task next {feature} # Preview next task
158
159
  morph-spec status {feature} # Feature status dashboard
159
160
  ```
160
161
 
@@ -170,51 +171,48 @@ morph-spec validate-feature {feature} # Content-aware feature validation
170
171
 
171
172
  ## Agent hierarchy
172
173
 
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`.
174
+ 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
175
 
175
- ### Tier 1 — Orchestrators (3)
176
+ ### Tier 1 — Orchestrators (2)
176
177
 
177
178
 
178
179
  | Agent | Role | Active |
179
180
  | --------------------- | ------------------------------------------------------ | --------- |
180
181
  | `standards-architect` | Chief Architect — enforces standards across all phases | Always |
181
182
  | `ai-system-architect` | AI/Agent system design and orchestration | On-demand |
182
- | `po-pm-advisor` | Product and project advisory | On-demand |
183
183
 
184
184
 
185
- ### Tier 2 — Domain Leaders (4)
185
+ ### Tier 2 — Domain Leaders (3)
186
186
 
187
187
 
188
188
  | Agent | Squad | Active |
189
189
  | ------------------ | ------------------------- | --------- |
190
190
  | `dotnet-senior` | Backend squad lead | Always |
191
+ | `nextjs-expert` | Frontend squad lead | Always |
191
192
  | `infra-architect` | Infrastructure squad lead | Always |
192
- | `domain-architect` | DDD & domain modeling | On-demand |
193
- | `ui-designer` | UI/UX squad lead | On-demand |
194
193
 
195
194
 
196
- ### Tier 3 — Specialists (26)
195
+ ### Tier 3 — Specialists (13)
197
196
 
198
197
  Organized into squads:
199
198
 
200
- **Backend (10):** C#/.NET specialists, EF Core, Dapper, SignalR, CQRS, Domain modeling, API design, Auth, Background services, Testing
199
+ **Backend (6):** ef-modeler, hangfire-orchestrator, ms-agent-expert, supabase-expert, vector-search-expert, morph-spec-architect
201
200
 
202
- **Frontend (3):** Blazor components, Next.js/React, CSS/design system
201
+ **Frontend (3):** css-specialist, ui-designer, seo-growth-hacker
203
202
 
204
- **Infrastructure (5):** Azure Bicep, CI/CD pipelines, Containerization, Monitoring, Cost optimization
203
+ **Integrations (3):** asaas-financial, clerk-auth, resend-email
205
204
 
206
- **Quality/Cross (8):** Security review, Performance, Accessibility, Documentation, Code review, Migration, Integration, Data modeling
205
+ **Security (1):** security-expert
207
206
 
208
- ### Tier 4 — Validators (5)
207
+ ### Tier 4 — Validators (4)
209
208
 
210
209
 
211
210
  | Agent | Validates |
212
211
  | ------------------------------ | --------------------------------------- |
213
- | `security-expert` | Security vulnerabilities and compliance |
214
212
  | `architecture-expert` | Architectural decisions and constraints |
215
213
  | `packages-validator` | Package versions and compatibility |
216
214
  | `design-system-validator` | Design system adherence |
217
- | `blazor-concurrency-validator` | Blazor thread safety and concurrency |
215
+ | `nextjs-component-validator` | Next.js component structure and naming |
218
216
 
219
217
 
220
218
  ---
@@ -235,7 +233,6 @@ Organized into squads:
235
233
  | `PostToolUseFailure` | `handle-tool-failure.js` | Logs failures to `.morph/logs/tool-failures.log` |
236
234
  | `Stop` | `validate-completion.js` | Warns about incomplete tasks/missing outputs/pending gates |
237
235
  | `PreCompact` | `save-morph-context.js` | Snapshots state to `.morph/memory/` before compaction |
238
- | `Notification` | `approval-reminder.js` | Reminds about pending approval gates |
239
236
 
240
237
 
241
238
  Protected files (via `permissions.deny`):
@@ -268,11 +265,8 @@ Path-scoped rules are installed to `.claude/rules/` and activate automatically b
268
265
  | Technology | Support |
269
266
  | ------------------------------------------- | ------------------------------------------------ |
270
267
  | .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
268
  | 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 |
269
+ | Supabase | Supported via CLI (local Docker) |
276
270
 
277
271
 
278
272
  TypeScript strict mode is enforced by default. See `.morph/framework/standards/` for all coding standards.
@@ -302,7 +296,7 @@ After updating, run `morph-spec doctor` to confirm the installation is healthy.
302
296
  - `.morph/state.json` — use `morph-spec state set`
303
297
  - `.morph/framework/`** — read-only, updated by `morph-spec update`
304
298
 
305
- **Always document decisions.** Each feature has a `1-design/decisions.md`. Architectural choices go there, not in commit messages.
299
+ **Always document decisions.** Each feature has a `2-design/decisions.md`. Architectural choices go there, not in commit messages.
306
300
 
307
301
  **Checkpoints every 3 tasks.** The framework auto-validates architecture compliance, package versions, and security after every third completed task.
308
302
 
@@ -370,4 +364,4 @@ Code generated by morph-spec (contracts, templates, implementation output) belon
370
364
 
371
365
  ---
372
366
 
373
- *morph-spec v4.12.0 by [Polymorphism Tech](https://polymorphism.tech)*
367
+ *morph-spec v4.14.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();