@polymorphism-tech/morph-spec 4.3.6 → 4.5.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 (375) hide show
  1. package/.morph/.morphversion +3 -3
  2. package/.morph/analytics/threads-log.jsonl +44 -9
  3. package/.morph/config/config.json +2 -3
  4. package/.morph/framework/standards/STANDARDS.json +812 -0
  5. package/.morph/{standards → framework/standards}/ai-agents/team-orchestration.md +3 -3
  6. package/.morph/framework/standards/integration/mcp/mcp-tools.md +384 -0
  7. package/.morph/{templates → framework/templates}/README.md +17 -17
  8. package/.morph/{templates → framework/templates}/REGISTRY.json +48 -233
  9. package/.morph/framework/templates/code/dotnet/contracts/contracts.cs.hbs +172 -0
  10. package/.morph/{templates → framework/templates}/context/CONTEXT-FEATURE.md +1 -1
  11. package/.morph/{templates → framework/templates}/context/CONTEXT.md +3 -3
  12. package/.morph/framework/templates/docs/clarifications.md +253 -0
  13. package/.morph/framework/templates/docs/onboarding.md +123 -0
  14. package/.morph/framework/templates/docs/schema-analysis.md +119 -0
  15. package/.morph/{templates → framework/templates}/docs/spec.md +149 -149
  16. package/.morph/framework/templates/docs/ui-components.md +124 -0
  17. package/.morph/framework/templates/docs/ui-design-system.md +76 -0
  18. package/.morph/framework/templates/docs/ui-flows.md +167 -0
  19. package/.morph/framework/templates/docs/ui-mockups.md +98 -0
  20. package/.morph/{templates → framework/templates}/examples/spec-examples.md +1 -1
  21. package/.morph/{templates → framework/templates}/infrastructure/github/README.md +11 -11
  22. package/.morph/{templates → framework/templates}/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +2 -2
  23. package/.morph/{templates → framework/templates}/meta-prompts/parallel-workers/parallel-worker.md +2 -2
  24. package/.morph/{templates → framework/templates}/meta-prompts/validators/pre-commit-validator.md +1 -1
  25. package/.morph/logs/tool-failures.log +51 -0
  26. package/.morph/memory/pre-compact-2026-02-22T17-01-01-658Z.json +16 -0
  27. package/.morph/state.json +1 -1
  28. package/CLAUDE.md +20 -119
  29. package/README.md +20 -18
  30. package/bin/detect-agents.js +1 -1
  31. package/bin/morph-spec.js +116 -266
  32. package/bin/task-manager.cjs +2 -2
  33. package/bin/validate.js +1 -1
  34. package/claude-plugin.json +14 -0
  35. package/docs/claude-alignment-report.md +137 -0
  36. package/docs/plans/2026-02-22-claude-docs-morph-alignment-analysis.md +512 -0
  37. package/docs/plans/2026-02-22-claude-settings.md +515 -0
  38. package/docs/plans/2026-02-22-morph-cc-alignment-impl.md +728 -0
  39. package/docs/plans/2026-02-22-morph-spec-next.md +478 -0
  40. package/docs/plans/2026-02-22-native-alignment-design.md +199 -0
  41. package/docs/plans/2026-02-22-native-alignment-impl.md +925 -0
  42. package/docs/plans/2026-02-22-native-enrichment-design.md +244 -0
  43. package/docs/plans/2026-02-22-native-enrichment.md +735 -0
  44. package/framework/CLAUDE.md +77 -0
  45. package/framework/commands/morph-apply.md +9 -9
  46. package/framework/commands/morph-archive.md +8 -8
  47. package/framework/commands/morph-infra.md +1 -1
  48. package/framework/commands/morph-proposal.md +9 -9
  49. package/framework/commands/morph-status.md +3 -3
  50. package/framework/commands/morph-troubleshoot.md +1 -1
  51. package/framework/hooks/README.md +201 -282
  52. package/framework/hooks/claude-code/notification/approval-reminder.js +52 -0
  53. package/framework/hooks/claude-code/post-tool-use/dispatch.js +83 -0
  54. package/framework/hooks/claude-code/post-tool-use/handle-tool-failure.js +42 -0
  55. package/framework/hooks/claude-code/pre-compact/save-morph-context.js +61 -0
  56. package/framework/hooks/claude-code/pre-tool-use/enforce-phase-writes.js +71 -0
  57. package/framework/hooks/claude-code/pre-tool-use/protect-readonly-files.js +58 -0
  58. package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +64 -0
  59. package/framework/hooks/claude-code/session-start/inject-morph-context.js +94 -0
  60. package/framework/hooks/claude-code/statusline.py +239 -0
  61. package/framework/hooks/claude-code/statusline.sh +7 -0
  62. package/framework/hooks/claude-code/stop/validate-completion.js +88 -0
  63. package/framework/hooks/claude-code/user-prompt/enrich-prompt.js +91 -0
  64. package/framework/hooks/shared/hook-response.js +45 -0
  65. package/framework/hooks/shared/phase-utils.js +129 -0
  66. package/framework/hooks/shared/state-reader.js +138 -0
  67. package/framework/hooks/shared/stdin-reader.js +26 -0
  68. package/framework/phases.json +145 -0
  69. package/framework/rules/csharp-standards.md +10 -0
  70. package/framework/rules/frontend-standards.md +14 -0
  71. package/framework/rules/infrastructure-standards.md +13 -0
  72. package/framework/rules/morph-workflow.md +86 -0
  73. package/framework/rules/testing-standards.md +11 -0
  74. package/framework/skills/level-0-meta/brainstorming.md +133 -0
  75. package/framework/skills/level-0-meta/code-review.md +12 -4
  76. package/framework/skills/level-0-meta/mcp-registry.json +207 -0
  77. package/framework/skills/level-0-meta/morph-checklist.md +9 -1
  78. package/framework/skills/level-0-meta/simulation-checklist.md +9 -1
  79. package/framework/skills/level-0-meta/tool-usage-guide.md +335 -0
  80. package/framework/skills/level-0-meta/verification-before-completion.md +145 -0
  81. package/framework/skills/level-1-workflows/morph-replicate.md +9 -1
  82. package/framework/skills/level-1-workflows/phase-clarify.md +65 -4
  83. package/framework/skills/level-1-workflows/phase-codebase-analysis.md +182 -0
  84. package/framework/skills/level-1-workflows/phase-design.md +342 -80
  85. package/framework/skills/level-1-workflows/phase-implement.md +254 -0
  86. package/framework/skills/level-1-workflows/phase-setup.md +76 -10
  87. package/framework/skills/level-1-workflows/phase-tasks.md +88 -7
  88. package/framework/skills/level-1-workflows/phase-uiux.md +95 -17
  89. package/framework/skills/level-2-domains/ai-agents/ai-system-architect.md +8 -1
  90. package/framework/skills/level-2-domains/architecture/po-pm-advisor.md +8 -1
  91. package/framework/skills/level-2-domains/architecture/prompt-engineer.md +8 -1
  92. package/framework/skills/level-2-domains/architecture/seo-growth-hacker.md +8 -1
  93. package/framework/skills/level-2-domains/architecture/standards-architect.md +11 -4
  94. package/framework/skills/level-2-domains/backend/api-designer.md +8 -1
  95. package/framework/skills/level-2-domains/backend/dotnet-senior.md +8 -1
  96. package/framework/skills/level-2-domains/backend/ef-modeler.md +8 -1
  97. package/framework/skills/level-2-domains/backend/hangfire-orchestrator.md +9 -2
  98. package/framework/skills/level-2-domains/backend/ms-agent-expert.md +8 -1
  99. package/framework/skills/level-2-domains/frontend/blazor-builder.md +8 -1
  100. package/framework/skills/level-2-domains/frontend/nextjs-expert.md +8 -1
  101. package/framework/skills/level-2-domains/frontend/ui-ux-designer.md +9 -2
  102. package/framework/skills/level-2-domains/infrastructure/azure-architect.md +8 -1
  103. package/framework/skills/level-2-domains/infrastructure/azure-deploy-specialist.md +8 -1
  104. package/framework/skills/level-2-domains/infrastructure/bicep-architect.md +8 -1
  105. package/framework/skills/level-2-domains/infrastructure/container-specialist.md +8 -1
  106. package/framework/skills/level-2-domains/infrastructure/devops-engineer.md +8 -1
  107. package/framework/skills/level-2-domains/integrations/asaas-financial.md +8 -1
  108. package/framework/skills/level-2-domains/integrations/azure-identity.md +8 -1
  109. package/framework/skills/level-2-domains/integrations/clerk-auth.md +8 -1
  110. package/framework/skills/level-2-domains/integrations/{hangfire-orchestrator.md → hangfire-integration.md} +8 -1
  111. package/framework/skills/level-2-domains/integrations/resend-email.md +8 -1
  112. package/framework/skills/level-2-domains/quality/code-analyzer.md +10 -3
  113. package/framework/skills/level-2-domains/quality/testing-specialist.md +8 -1
  114. package/framework/standards/STANDARDS.json +812 -0
  115. package/framework/standards/ai-agents/team-orchestration.md +3 -3
  116. package/framework/standards/frontend/nextjs/nextjs-patterns.md +17 -0
  117. package/framework/standards/integration/mcp/mcp-tools.md +384 -0
  118. package/framework/templates/README.md +17 -17
  119. package/framework/templates/REGISTRY.json +48 -233
  120. package/framework/templates/code/dotnet/contracts/contracts.cs.hbs +172 -0
  121. package/framework/templates/context/CONTEXT-FEATURE.md +1 -1
  122. package/framework/templates/context/CONTEXT.md +3 -3
  123. package/framework/templates/docs/clarifications.md +253 -0
  124. package/framework/templates/docs/onboarding.md +123 -0
  125. package/framework/templates/docs/schema-analysis.md +119 -0
  126. package/framework/templates/docs/spec.md +149 -149
  127. package/framework/templates/docs/ui-components.md +124 -0
  128. package/framework/templates/docs/ui-design-system.md +76 -0
  129. package/framework/templates/docs/ui-flows.md +167 -0
  130. package/framework/templates/docs/ui-mockups.md +98 -0
  131. package/framework/templates/docs/user-stories.md +34 -0
  132. package/framework/templates/examples/spec-examples.md +1 -1
  133. package/framework/templates/infrastructure/github/README.md +11 -11
  134. package/framework/templates/infrastructure/github/workflows/deploy-azure-app-service.yml.hbs +2 -2
  135. package/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +2 -2
  136. package/framework/templates/meta-prompts/validators/pre-commit-validator.md +1 -1
  137. package/framework/workflows/configs/express.json +45 -0
  138. package/framework/workflows/configs/spec-only.json +43 -0
  139. package/framework/workflows/docs/enforcement-pipeline.md +8 -8
  140. package/framework/workflows/docs/full-morph.md +3 -3
  141. package/package.json +3 -2
  142. package/scripts/generate-refs.js +336 -0
  143. package/scripts/generate-standards-registry.js +44 -0
  144. package/scripts/validate-real.mjs +255 -0
  145. package/src/commands/feature/create-story.js +362 -361
  146. package/src/commands/feature/shard-spec.js +225 -224
  147. package/src/commands/feature/sprint-status.js +1 -1
  148. package/src/commands/generation/generate-onboarding.js +169 -0
  149. package/src/commands/generation/generate.js +2 -2
  150. package/src/commands/mcp/mcp-setup.js +315 -0
  151. package/src/commands/project/changes.js +66 -0
  152. package/src/commands/project/checkpoint.js +209 -0
  153. package/src/commands/project/cost.js +179 -0
  154. package/src/commands/project/diff.js +278 -0
  155. package/src/commands/project/doctor.js +55 -7
  156. package/src/commands/project/init.js +318 -76
  157. package/src/commands/project/revert.js +173 -0
  158. package/src/commands/project/standards.js +80 -0
  159. package/src/commands/project/status.js +376 -0
  160. package/src/commands/project/update-agents.js +23 -0
  161. package/src/commands/project/update.js +63 -30
  162. package/src/commands/state/advance-phase.js +4 -3
  163. package/src/commands/state/state.js +10 -3
  164. package/src/commands/state/validate-phase.js +19 -2
  165. package/src/commands/templates/template-customize.js +4 -4
  166. package/src/commands/templates/template-render.js +1 -1
  167. package/src/commands/templates/template-show.js +1 -1
  168. package/src/commands/validation/validate-feature.js +359 -0
  169. package/src/core/orchestrator.js +3 -38
  170. package/src/core/paths/output-schema.js +135 -0
  171. package/src/core/state/state-manager.js +831 -592
  172. package/src/core/templates/template-registry.js +2 -2
  173. package/src/core/workflows/workflow-detector.js +17 -1
  174. package/src/lib/agents/micro-agent-factory.js +1 -1
  175. package/src/lib/context/context-bundler.js +2 -1
  176. package/src/lib/detectors/claude-config-detector.js +392 -0
  177. package/src/lib/detectors/conversation-analyzer.js +4 -4
  178. package/src/lib/detectors/design-system-detector.js +6 -5
  179. package/src/lib/detectors/standards-generator.js +2 -2
  180. package/src/lib/generators/context-generator.js +539 -538
  181. package/src/lib/generators/recap-generator.js +1 -1
  182. package/src/lib/generators/settings-generator.js +210 -0
  183. package/src/lib/hooks/hook-executor.js +1 -1
  184. package/src/lib/installers/mcp-installer.js +299 -0
  185. package/src/lib/learning/learning-system.js +3 -3
  186. package/src/lib/orchestration/team-orchestrator.js +1 -1
  187. package/src/lib/standards/standards-context-injector.js +7 -7
  188. package/src/lib/threads/thread-coordinator.js +1 -1
  189. package/src/lib/troubleshooting/troubleshoot-grep.js +1 -1
  190. package/src/lib/validators/contracts/contract-compliance-validator.js +274 -273
  191. package/src/lib/validators/design-system/design-system-validator.js +1 -1
  192. package/src/lib/validators/spec-validator.js +258 -258
  193. package/src/lib/validators/validation-runner.js +270 -269
  194. package/src/utils/agents-installer.js +206 -0
  195. package/src/utils/claude-settings-manager.js +258 -0
  196. package/src/utils/file-copier.js +1 -1
  197. package/src/utils/hooks-installer.js +354 -28
  198. package/src/utils/skills-installer.js +74 -0
  199. package/.morph/project/context/detection-log.md +0 -16
  200. package/.morph/project/standards/inferred.md +0 -59
  201. package/framework/hooks/agent-stop/validate-and-continue.js +0 -96
  202. package/framework/hooks/agent-stop/validate-checkpoints.js +0 -101
  203. package/framework/hooks/agent-stop/validate-tests.js +0 -109
  204. package/framework/hooks/agent-teams/dispatch.js +0 -67
  205. package/framework/hooks/agent-teams/phase-advanced.js +0 -80
  206. package/framework/hooks/agent-teams/task-completed.js +0 -76
  207. package/framework/hooks/agent-teams/teammate-idle.js +0 -70
  208. package/src/commands/agents/agents-fuse.js +0 -97
  209. package/src/commands/agents/micro-agent.js +0 -112
  210. package/src/commands/agents/spawn-team.js +0 -237
  211. package/src/commands/agents/squad-template.js +0 -146
  212. package/src/commands/analytics/analytics.js +0 -176
  213. package/src/commands/context/context-prime.js +0 -63
  214. package/src/commands/context/core-four.js +0 -54
  215. package/src/commands/generation/generate-context.js +0 -40
  216. package/src/commands/project/detect-agents.js +0 -207
  217. package/src/commands/project/detect-workflow.js +0 -174
  218. package/src/commands/threads/thread-template.js +0 -103
  219. package/src/commands/threads/threads.js +0 -261
  220. package/src/commands/utils/session-summary.js +0 -291
  221. package/src/llm/analyzer.js +0 -215
  222. package/src/llm/few-shot-examples.js +0 -216
  223. package/src/llm/project-config-schema.json +0 -188
  224. package/src/llm/prompt-builder.js +0 -96
  225. /package/.morph/{project/context → context}/README.md +0 -0
  226. /package/.morph/{config → framework}/agents.json +0 -0
  227. /package/.morph/{standards → framework/standards}/ai-agents/blazor-ui.md +0 -0
  228. /package/.morph/{standards → framework/standards}/ai-agents/production.md +0 -0
  229. /package/.morph/{standards → framework/standards}/ai-agents/setup.md +0 -0
  230. /package/.morph/{standards → framework/standards}/ai-agents/workflows.md +0 -0
  231. /package/.morph/{standards → framework/standards}/architecture/ddd/aggregates.md +0 -0
  232. /package/.morph/{standards → framework/standards}/architecture/ddd/entities.md +0 -0
  233. /package/.morph/{standards → framework/standards}/architecture/ddd/value-objects.md +0 -0
  234. /package/.morph/{standards → framework/standards}/backend/api/minimal-api.md +0 -0
  235. /package/.morph/{standards → framework/standards}/backend/api/rest.md +0 -0
  236. /package/.morph/{standards → framework/standards}/backend/api/validation.md +0 -0
  237. /package/.morph/{standards → framework/standards}/backend/authentication/passkeys.md +0 -0
  238. /package/.morph/{standards → framework/standards}/backend/database/ef-core.md +0 -0
  239. /package/.morph/{standards → framework/standards}/backend/database/migrations.md +0 -0
  240. /package/.morph/{standards → framework/standards}/backend/database/postgresql/database.md +0 -0
  241. /package/.morph/{standards → framework/standards}/backend/database/repository-patterns.md +0 -0
  242. /package/.morph/{standards → framework/standards}/backend/database/vector-search-rag.md +0 -0
  243. /package/.morph/{standards → framework/standards}/backend/dotnet/async.md +0 -0
  244. /package/.morph/{standards → framework/standards}/backend/dotnet/core.md +0 -0
  245. /package/.morph/{standards → framework/standards}/backend/dotnet/di.md +0 -0
  246. /package/.morph/{standards → framework/standards}/backend/dotnet/program-cs-checklist.md +0 -0
  247. /package/.morph/{standards → framework/standards}/backend/integrations/asaas/asaas-api.md +0 -0
  248. /package/.morph/{standards → framework/standards}/backend/integrations/clerk/clerk-auth.md +0 -0
  249. /package/.morph/{standards → framework/standards}/backend/integrations/hangfire/hangfire-jobs.md +0 -0
  250. /package/.morph/{standards → framework/standards}/backend/integrations/resend/resend-email.md +0 -0
  251. /package/.morph/{standards → framework/standards}/context/analytics.md +0 -0
  252. /package/.morph/{standards → framework/standards}/context/bundles.md +0 -0
  253. /package/.morph/{standards → framework/standards}/context/priming.md +0 -0
  254. /package/.morph/{standards → framework/standards}/core/architecture.md +0 -0
  255. /package/.morph/{standards → framework/standards}/core/coding.md +0 -0
  256. /package/.morph/{standards → framework/standards}/core/git-branching-strategy.md +0 -0
  257. /package/.morph/{standards → framework/standards}/core/git.md +0 -0
  258. /package/.morph/{standards → framework/standards}/core/testing.md +0 -0
  259. /package/.morph/{standards → framework/standards}/data/nosql/blob-storage.md +0 -0
  260. /package/.morph/{standards → framework/standards}/data/nosql/cache/redis.md +0 -0
  261. /package/.morph/{standards → framework/standards}/data/nosql/cosmos-db.md +0 -0
  262. /package/.morph/{standards → framework/standards}/data/vector-search/azure-ai-search.md +0 -0
  263. /package/.morph/{standards → framework/standards}/data/vector-search/rag-chunking.md +0 -0
  264. /package/.morph/{standards → framework/standards}/frontend/blazor/design-checklist.md +0 -0
  265. /package/.morph/{standards → framework/standards}/frontend/blazor/fluent-ui-setup.md +0 -0
  266. /package/.morph/{standards → framework/standards}/frontend/blazor/fluent-ui.md +0 -0
  267. /package/.morph/{standards → framework/standards}/frontend/blazor/html-conversion.md +0 -0
  268. /package/.morph/{standards → framework/standards}/frontend/blazor/lifecycle.md +0 -0
  269. /package/.morph/{standards → framework/standards}/frontend/blazor/pitfalls.md +0 -0
  270. /package/.morph/{standards → framework/standards}/frontend/blazor/state.md +0 -0
  271. /package/.morph/{standards → framework/standards}/frontend/design-system/animations.md +0 -0
  272. /package/.morph/{standards → framework/standards}/frontend/design-system/naming.md +0 -0
  273. /package/.morph/{standards → framework/standards}/frontend/nextjs/nextjs-patterns.md +0 -0
  274. /package/.morph/{standards → framework/standards}/infrastructure/azure/azure.md +0 -0
  275. /package/.morph/{standards → framework/standards}/infrastructure/azure/bicep/bicep-patterns.md +0 -0
  276. /package/.morph/{standards → framework/standards}/infrastructure/azure/devops/azure-devops-setup.md +0 -0
  277. /package/.morph/{standards → framework/standards}/infrastructure/azure/devops/local-development.md +0 -0
  278. /package/.morph/{standards → framework/standards}/infrastructure/azure/services/functions.md +0 -0
  279. /package/.morph/{standards → framework/standards}/infrastructure/azure/services/service-bus.md +0 -0
  280. /package/.morph/{standards → framework/standards}/infrastructure/azure/services/storage.md +0 -0
  281. /package/.morph/{standards → framework/standards}/infrastructure/docker/easypanel-deploy.md +0 -0
  282. /package/.morph/{standards → framework/standards}/infrastructure/supabase/mcp-setup.md +0 -0
  283. /package/.morph/{standards → framework/standards}/infrastructure/supabase/supabase-auth.md +0 -0
  284. /package/.morph/{standards → framework/standards}/infrastructure/supabase/supabase-pgvector.md +0 -0
  285. /package/.morph/{standards → framework/standards}/infrastructure/supabase/supabase-rls.md +0 -0
  286. /package/.morph/{standards → framework/standards}/infrastructure/supabase/supabase-storage.md +0 -0
  287. /package/.morph/{standards → framework/standards}/integration/api/graphql.md +0 -0
  288. /package/.morph/{standards → framework/standards}/integration/api/grpc.md +0 -0
  289. /package/.morph/{standards → framework/standards}/integration/api/rest-design.md +0 -0
  290. /package/.morph/{standards → framework/standards}/integration/event-driven/cqrs.md +0 -0
  291. /package/.morph/{standards → framework/standards}/integration/event-driven/event-sourcing.md +0 -0
  292. /package/.morph/{standards → framework/standards}/integration/event-driven/service-bus.md +0 -0
  293. /package/.morph/{standards → framework/standards}/observability/logging.md +0 -0
  294. /package/.morph/{standards → framework/standards}/observability/metrics.md +0 -0
  295. /package/.morph/{standards → framework/standards}/observability/monitoring.md +0 -0
  296. /package/.morph/{standards → framework/standards}/observability/tracing.md +0 -0
  297. /package/.morph/{standards → framework/standards}/workflows/parallel-execution.md +0 -0
  298. /package/.morph/{standards → framework/standards}/workflows/thread-management.md +0 -0
  299. /package/.morph/{templates → framework/templates}/.idea/morph-templates.xml +0 -0
  300. /package/.morph/{templates → framework/templates}/.vscode/morph-templates.code-snippets +0 -0
  301. /package/.morph/{templates → framework/templates}/IDE-SNIPPETS.md +0 -0
  302. /package/.morph/{templates → framework/templates}/code/dotnet/backend/repository.cs +0 -0
  303. /package/.morph/{templates → framework/templates}/code/dotnet/backend/service.cs +0 -0
  304. /package/.morph/{templates → framework/templates}/code/dotnet/contracts/Commands.cs +0 -0
  305. /package/.morph/{templates → framework/templates}/code/dotnet/contracts/Entities.cs +0 -0
  306. /package/.morph/{templates → framework/templates}/code/dotnet/contracts/Queries.cs +0 -0
  307. /package/.morph/{templates → framework/templates}/code/dotnet/contracts/README.md +0 -0
  308. /package/.morph/{templates → framework/templates}/code/dotnet/contracts/api-contracts.cs +0 -0
  309. /package/.morph/{templates → framework/templates}/code/dotnet/contracts/contracts.cs +0 -0
  310. /package/.morph/{templates → framework/templates}/code/dotnet/database/migration.cs +0 -0
  311. /package/.morph/{templates → framework/templates}/code/dotnet/frontend/component.razor +0 -0
  312. /package/.morph/{templates → framework/templates}/code/dotnet/jobs/agent.cs +0 -0
  313. /package/.morph/{templates → framework/templates}/code/dotnet/jobs/job.cs +0 -0
  314. /package/.morph/{templates → framework/templates}/code/dotnet/test.cs +0 -0
  315. /package/.morph/{templates → framework/templates}/code/sql/rls-policy.sql +0 -0
  316. /package/.morph/{templates → framework/templates}/code/sql/supabase-migration.sql +0 -0
  317. /package/.morph/{templates → framework/templates}/code/sql/supabase-migration.template.sql +0 -0
  318. /package/.morph/{templates → framework/templates}/code/typescript/contracts.ts +0 -0
  319. /package/.morph/{templates → framework/templates}/docs/proposal.md +0 -0
  320. /package/.morph/{templates → framework/templates}/examples/design-system-examples.md +0 -0
  321. /package/.morph/{templates → framework/templates}/feature/decisions.md +0 -0
  322. /package/.morph/{templates → framework/templates}/feature/recap.md +0 -0
  323. /package/.morph/{templates → framework/templates}/feature/tasks.md +0 -0
  324. /package/.morph/{templates → framework/templates}/infrastructure/azure/Dockerfile.example +0 -0
  325. /package/.morph/{templates → framework/templates}/infrastructure/azure/README.md +0 -0
  326. /package/.morph/{templates → framework/templates}/infrastructure/azure/app-insights.bicep +0 -0
  327. /package/.morph/{templates → framework/templates}/infrastructure/azure/app-service.bicep +0 -0
  328. /package/.morph/{templates → framework/templates}/infrastructure/azure/container-app-env.bicep +0 -0
  329. /package/.morph/{templates → framework/templates}/infrastructure/azure/container-app.bicep +0 -0
  330. /package/.morph/{templates → framework/templates}/infrastructure/azure/deploy-checklist.md +0 -0
  331. /package/.morph/{templates → framework/templates}/infrastructure/azure/deploy.ps1 +0 -0
  332. /package/.morph/{templates → framework/templates}/infrastructure/azure/deploy.sh +0 -0
  333. /package/.morph/{templates → framework/templates}/infrastructure/azure/key-vault.bicep +0 -0
  334. /package/.morph/{templates → framework/templates}/infrastructure/azure/main.bicep +0 -0
  335. /package/.morph/{templates → framework/templates}/infrastructure/azure/parameters.dev.json +0 -0
  336. /package/.morph/{templates → framework/templates}/infrastructure/azure/parameters.prod.json +0 -0
  337. /package/.morph/{templates → framework/templates}/infrastructure/azure/parameters.staging.json +0 -0
  338. /package/.morph/{templates → framework/templates}/infrastructure/azure/sql-database.bicep +0 -0
  339. /package/.morph/{templates → framework/templates}/infrastructure/azure/storage.bicep +0 -0
  340. /package/.morph/{templates → framework/templates}/infrastructure/docker/Dockerfile.template +0 -0
  341. /package/.morph/{templates → framework/templates}/infrastructure/docker/docker-compose.template.yml +0 -0
  342. /package/.morph/{templates → framework/templates}/infrastructure/docker/dockerfile-api.dockerfile +0 -0
  343. /package/.morph/{templates → framework/templates}/infrastructure/docker/dockerfile-web.dockerfile +0 -0
  344. /package/.morph/{templates → framework/templates}/infrastructure/docker/easypanel.template.json +0 -0
  345. /package/.morph/{templates → framework/templates}/infrastructure/github/actions/azure-auth/action.yml.hbs +0 -0
  346. /package/.morph/{templates → framework/templates}/infrastructure/github/actions/docker-build-push/action.yml.hbs +0 -0
  347. /package/.morph/{templates → framework/templates}/infrastructure/github/actions/health-check/action.yml.hbs +0 -0
  348. /package/.morph/{templates → framework/templates}/infrastructure/github/workflows/deploy-easypanel.yml.hbs +0 -0
  349. /package/.morph/{templates → framework/templates}/infrastructure/github/workflows/docker-build-push.yml.hbs +0 -0
  350. /package/.morph/{templates → framework/templates}/infrastructure/github/workflows/dotnet-build.yml.hbs +0 -0
  351. /package/.morph/{templates → framework/templates}/integrations/asaas-client.cs +0 -0
  352. /package/.morph/{templates → framework/templates}/integrations/asaas-webhook.cs +0 -0
  353. /package/.morph/{templates → framework/templates}/integrations/azure-identity-config.cs +0 -0
  354. /package/.morph/{templates → framework/templates}/integrations/clerk-config.cs +0 -0
  355. /package/.morph/{templates → framework/templates}/meta-prompts/fusion/fusion-agent.md +0 -0
  356. /package/.morph/{templates → framework/templates}/meta-prompts/fusion/fusion-aggregator.md +0 -0
  357. /package/.morph/{templates → framework/templates}/meta-prompts/hops/hop-retry.md +0 -0
  358. /package/.morph/{templates → framework/templates}/meta-prompts/hops/hop-validation.md +0 -0
  359. /package/.morph/{templates → framework/templates}/meta-prompts/hops/hop-wrapper.md +0 -0
  360. /package/.morph/{templates → framework/templates}/meta-prompts/parallel-workers/parallel-coordinator.md +0 -0
  361. /package/.morph/{templates → framework/templates}/meta-prompts/squad-leaders/backend-squad.md +0 -0
  362. /package/.morph/{templates → framework/templates}/meta-prompts/squad-leaders/frontend-squad.md +0 -0
  363. /package/.morph/{templates → framework/templates}/meta-prompts/squad-leaders/squad-leader.md +0 -0
  364. /package/.morph/{templates → framework/templates}/meta-prompts/validators/checkpoint-validator.md +0 -0
  365. /package/.morph/{templates → framework/templates}/saas/subscription.cs +0 -0
  366. /package/.morph/{templates → framework/templates}/saas/tenant.cs +0 -0
  367. /package/.morph/{templates → framework/templates}/state.template.json +0 -0
  368. /package/.morph/{templates → framework/templates}/ui/FluentDesignTheme.cs +0 -0
  369. /package/.morph/{templates → framework/templates}/ui/MudTheme.cs +0 -0
  370. /package/.morph/{templates → framework/templates}/ui/design-system.css +0 -0
  371. /package/framework/hooks/{commit-msg → git/commit-msg}/conventional-commits.sh +0 -0
  372. /package/framework/hooks/{pre-commit → git/pre-commit}/agents.sh +0 -0
  373. /package/framework/hooks/{pre-commit → git/pre-commit}/orchestrator.sh +0 -0
  374. /package/framework/hooks/{pre-commit → git/pre-commit}/specs.sh +0 -0
  375. /package/framework/hooks/{pre-push → git/pre-push}/run-tests.sh +0 -0
@@ -1,149 +1,149 @@
1
- # Feature Specification: {{titleCase FEATURE_NAME}}
2
-
3
- | Field | Value |
4
- |-------|-------|
5
- | **ID** | {{FEATURE_NAME}} |
6
- | **Status** | Draft / In Review / Approved / In Progress / Done |
7
- | **Created** | {{DATE}} |
8
- | **Stack** | {{STACK}} |
9
- | **Complexity** | Low / Medium / High |
10
- | **Estimated Cost** | $X/month |
11
- | **Agents** | Core: All / Specialists: {list} |
12
-
13
- ---
14
-
15
- ## Overview
16
-
17
- **Problem:** {What problem this feature solves}
18
-
19
- **Solution:** {High-level solution}
20
-
21
- **Success Criteria:**
22
- - [ ] {Criterion 1}
23
- - [ ] {Criterion 2}
24
-
25
- ---
26
-
27
- ## Requirements
28
-
29
- **Functional:** FR1: {desc} | FR2: {desc} | FR3: {desc}
30
-
31
- **Non-Functional:** NFR1: Performance - {target} | NFR2: Reliability - {target}
32
-
33
- ---
34
-
35
- ## User Stories
36
-
37
- ### US001: {Title}
38
- **As** {user type} **I want** {feature} **so that** {benefit}
39
-
40
- **Acceptance Criteria:** 1. {criterion} 2. {criterion}
41
-
42
- **Edge Cases:** {edge case}: {handling}
43
-
44
- ---
45
-
46
- ## Technical Design
47
-
48
- ### Stack
49
- | Component | Technology |
50
- |-----------|------------|
51
- | Frontend | {Blazor Server / Next.js} |
52
- | Backend | .NET 10 / C# 14 |
53
- | Database | {Azure SQL / Cosmos DB} |
54
-
55
- ### Data Model
56
-
57
- #### {EntityName}
58
- | Column | Type | Constraints |
59
- |--------|------|-------------|
60
- | Id | Guid | PK |
61
- | {Property} | {Type} | {Constraints} |
62
- | CreatedAt | datetime2 | Default: GETUTCDATE() |
63
-
64
- ### Contracts
65
-
66
- > **Ref:** `framework/standards/blazor-efcore.md` for background operations
67
-
68
- ```csharp
69
- public interface I{{pascalCase FEATURE_NAME}}Service
70
- {
71
- Task<{{pascalCase FEATURE_NAME}}Dto> GetByIdAsync(int id);
72
- Task<{{pascalCase FEATURE_NAME}}Dto> CreateAsync(Create{{pascalCase FEATURE_NAME}}Request request);
73
- }
74
- ```
75
-
76
- **Contracts Workflow:** Generate `contracts.cs` FIRST → validate names → reference in spec → approve with user.
77
-
78
- **Validation Checklist:**
79
- - [ ] Property names are descriptive (not generic "Data", "Value")
80
- - [ ] Records use correct types (Stream vs byte[], Guid vs string)
81
- - [ ] Response DTOs have all properties needed for UI
82
- - [ ] Request DTOs have implicit validations (required, nullable)
83
-
84
- ---
85
-
86
- ## UI/UX Design (if front-end)
87
-
88
- ### Wireframes
89
- ```
90
- {ASCII wireframe per screen - include states: loading, error, empty}
91
- ```
92
-
93
- ### User Flow
94
- 1. {Step} → {System response}
95
-
96
- ---
97
-
98
- ## Flows
99
-
100
- ### {Flow Name}
101
- **Trigger:** {what starts this flow}
102
- 1. {Actor} {action} → {system response}
103
- 2. If {condition}: Path A / Else: Path B
104
- **End State:** {final state}
105
-
106
- ---
107
-
108
- ## Cost Estimate
109
-
110
- | Resource | SKU | Monthly Cost | Justification |
111
- |----------|-----|--------------|---------------|
112
- | {Resource} | {SKU} | ${X} | {Why} |
113
- | **Total** | | **${X}/month** | |
114
-
115
- ---
116
-
117
- ## ADRs (Architectural Decision Records)
118
-
119
- ### ADR-001: {Decision Title}
120
- **Status:** Proposed / Accepted
121
- **Context:** {Why decide now}
122
- **Decision:** {What we chose}
123
- **Alternatives:** 1. {Alt} (pros/cons) 2. {Alt} (pros/cons)
124
- **Trade-offs:** {key trade-offs}
125
-
126
- ---
127
-
128
- ## Security
129
-
130
- | Action | Required Policy |
131
- |--------|-----------------|
132
- | View | CanView{Feature} |
133
- | Create | CanManage{Feature} |
134
-
135
- ## Risks
136
-
137
- | Risk | Impact | Mitigation |
138
- |------|--------|------------|
139
- | {Risk} | {H/M/L} | {Mitigation} |
140
-
141
- ## Out of Scope
142
- - {Item}
143
-
144
- ## Definition of Done
145
- - [ ] Code implemented
146
- - [ ] Tests >80% coverage
147
- - [ ] Code review approved
148
- - [ ] Deploy to staging
149
- - [ ] Recap.md generated
1
+ # Feature Specification: {{titleCase FEATURE_NAME}}
2
+
3
+ | Field | Value |
4
+ |-------|-------|
5
+ | **ID** | {{FEATURE_NAME}} |
6
+ | **Status** | Draft / In Review / Approved / In Progress / Done |
7
+ | **Created** | {{DATE}} |
8
+ | **Stack** | {{STACK}} |
9
+ | **Complexity** | Low / Medium / High |
10
+ | **Estimated Cost** | $X/month |
11
+ | **Agents** | Core: All / Specialists: {list} |
12
+
13
+ ---
14
+
15
+ ## Overview
16
+
17
+ **Problem:** {What problem this feature solves}
18
+
19
+ **Solution:** {High-level solution}
20
+
21
+ **Success Criteria:**
22
+ - [ ] {Criterion 1}
23
+ - [ ] {Criterion 2}
24
+
25
+ ---
26
+
27
+ ## Requirements
28
+
29
+ **Functional:** FR1: {desc} | FR2: {desc} | FR3: {desc}
30
+
31
+ **Non-Functional:** NFR1: Performance - {target} | NFR2: Reliability - {target}
32
+
33
+ ---
34
+
35
+ ## User Stories
36
+
37
+ ### US001: {Title}
38
+ **As** {user type} **I want** {feature} **so that** {benefit}
39
+
40
+ **Acceptance Criteria:** 1. {criterion} 2. {criterion}
41
+
42
+ **Edge Cases:** {edge case}: {handling}
43
+
44
+ ---
45
+
46
+ ## Technical Design
47
+
48
+ ### Stack
49
+ | Component | Technology |
50
+ |-----------|------------|
51
+ | Frontend | {Blazor Server / Next.js} |
52
+ | Backend | .NET 10 / C# 14 |
53
+ | Database | {Azure SQL / Cosmos DB} |
54
+
55
+ ### Data Model
56
+
57
+ #### {EntityName}
58
+ | Column | Type | Constraints |
59
+ |--------|------|-------------|
60
+ | Id | Guid | PK |
61
+ | {Property} | {Type} | {Constraints} |
62
+ | CreatedAt | datetime2 | Default: GETUTCDATE() |
63
+
64
+ ### Contracts
65
+
66
+ > **Ref:** `framework/standards/backend/database/ef-core.md` for background operations
67
+
68
+ ```csharp
69
+ public interface I{{pascalCase FEATURE_NAME}}Service
70
+ {
71
+ Task<{{pascalCase FEATURE_NAME}}Dto> GetByIdAsync(int id);
72
+ Task<{{pascalCase FEATURE_NAME}}Dto> CreateAsync(Create{{pascalCase FEATURE_NAME}}Request request);
73
+ }
74
+ ```
75
+
76
+ **Contracts Workflow:** Generate `contracts.cs` FIRST → validate names → reference in spec → approve with user.
77
+
78
+ **Validation Checklist:**
79
+ - [ ] Property names are descriptive (not generic "Data", "Value")
80
+ - [ ] Records use correct types (Stream vs byte[], Guid vs string)
81
+ - [ ] Response DTOs have all properties needed for UI
82
+ - [ ] Request DTOs have implicit validations (required, nullable)
83
+
84
+ ---
85
+
86
+ ## UI/UX Design (if front-end)
87
+
88
+ ### Wireframes
89
+ ```
90
+ {ASCII wireframe per screen - include states: loading, error, empty}
91
+ ```
92
+
93
+ ### User Flow
94
+ 1. {Step} → {System response}
95
+
96
+ ---
97
+
98
+ ## Flows
99
+
100
+ ### {Flow Name}
101
+ **Trigger:** {what starts this flow}
102
+ 1. {Actor} {action} → {system response}
103
+ 2. If {condition}: Path A / Else: Path B
104
+ **End State:** {final state}
105
+
106
+ ---
107
+
108
+ ## Cost Estimate
109
+
110
+ | Resource | SKU | Monthly Cost | Justification |
111
+ |----------|-----|--------------|---------------|
112
+ | {Resource} | {SKU} | ${X} | {Why} |
113
+ | **Total** | | **${X}/month** | |
114
+
115
+ ---
116
+
117
+ ## ADRs (Architectural Decision Records)
118
+
119
+ ### ADR-001: {Decision Title}
120
+ **Status:** Proposed / Accepted
121
+ **Context:** {Why decide now}
122
+ **Decision:** {What we chose}
123
+ **Alternatives:** 1. {Alt} (pros/cons) 2. {Alt} (pros/cons)
124
+ **Trade-offs:** {key trade-offs}
125
+
126
+ ---
127
+
128
+ ## Security
129
+
130
+ | Action | Required Policy |
131
+ |--------|-----------------|
132
+ | View | CanView{Feature} |
133
+ | Create | CanManage{Feature} |
134
+
135
+ ## Risks
136
+
137
+ | Risk | Impact | Mitigation |
138
+ |------|--------|------------|
139
+ | {Risk} | {H/M/L} | {Mitigation} |
140
+
141
+ ## Out of Scope
142
+ - {Item}
143
+
144
+ ## Definition of Done
145
+ - [ ] Code implemented
146
+ - [ ] Tests >80% coverage
147
+ - [ ] Code review approved
148
+ - [ ] Deploy to staging
149
+ - [ ] Recap.md generated
@@ -0,0 +1,124 @@
1
+ # UI Components: {{titleCase FEATURE_NAME}}
2
+
3
+ | Field | Value |
4
+ |-------|-------|
5
+ | **Feature** | {{FEATURE_NAME}} |
6
+ | **Created** | {{DATE}} |
7
+ | **Stack** | {{STACK}} |
8
+
9
+ ---
10
+
11
+ {{#if (eq STACK "blazor-azure")}}
12
+ ## Component Library: FluentUI Blazor / MudBlazor
13
+
14
+ **NuGet Package:**
15
+ ```xml
16
+ <PackageReference Include="Microsoft.FluentUI.AspNetCore.Components" Version="4.x.x" />
17
+ ```
18
+
19
+ ---
20
+
21
+ ### C001: Header Navigation
22
+
23
+ **Component:** `<FluentHeader>`
24
+
25
+ ```razor
26
+ <FluentHeader>
27
+ <FluentLabel>{{FEATURE_NAME}}</FluentLabel>
28
+ <FluentSpacer />
29
+ <FluentPersona Name="@userName" OnClick="@ShowUserMenu" />
30
+ </FluentHeader>
31
+ ```
32
+
33
+ ---
34
+
35
+ ### C002: Primary Button
36
+
37
+ **Component:** `<FluentButton>`
38
+
39
+ ```razor
40
+ <FluentButton Appearance="Appearance.Accent"
41
+ OnClick="@HandleSave"
42
+ Disabled="@(!isValid)">
43
+ Save
44
+ </FluentButton>
45
+ ```
46
+
47
+ ---
48
+
49
+ ### C003: Data Table
50
+
51
+ **Component:** `<FluentDataGrid>`
52
+
53
+ ```razor
54
+ <FluentDataGrid Items="@items" Pagination="@pagination">
55
+ <PropertyColumn Property="@(i => i.Name)" Sortable="true" />
56
+ <PropertyColumn Property="@(i => i.Status)" Sortable="true" />
57
+ <TemplateColumn Title="Actions">
58
+ <FluentMenu>
59
+ <FluentMenuItem OnClick="@(() => EditItem(context))">Edit</FluentMenuItem>
60
+ <FluentMenuItem OnClick="@(() => DeleteItem(context))">Delete</FluentMenuItem>
61
+ </FluentMenu>
62
+ </TemplateColumn>
63
+ </FluentDataGrid>
64
+ ```
65
+
66
+ ---
67
+
68
+ ### C004: Form Input
69
+
70
+ **Component:** `<FluentTextField>`
71
+
72
+ ```razor
73
+ <FluentTextField @bind-Value="model.Name"
74
+ Label="Name"
75
+ Required="true"
76
+ MaxLength="100"
77
+ ErrorMessage="@GetValidationError(nameof(model.Name))">
78
+ </FluentTextField>
79
+ ```
80
+
81
+ {{/if}}
82
+
83
+ {{#if (eq STACK "nextjs-supabase")}}
84
+ ## Component Library: shadcn/ui
85
+
86
+ ### C001: Button
87
+
88
+ ```tsx
89
+ import { Button } from '@/components/ui/button';
90
+
91
+ <Button onClick={handleSave} disabled={!isValid}>
92
+ Save
93
+ </Button>
94
+ ```
95
+
96
+ ### C002: Data Table
97
+
98
+ ```tsx
99
+ import { DataTable } from '@/components/ui/data-table';
100
+
101
+ <DataTable columns={columns} data={items} />
102
+ ```
103
+
104
+ {{/if}}
105
+
106
+ ---
107
+
108
+ ## Form Validation
109
+
110
+ | Field | Rule | Error Message |
111
+ |-------|------|---------------|
112
+ | **Name** | Required, max 100 | "Name is required" |
113
+ | **Email** | Valid email | "Invalid email" |
114
+
115
+ ---
116
+
117
+ ## Accessibility
118
+ - [ ] All inputs have labels
119
+ - [ ] Error messages announced
120
+ - [ ] Keyboard navigation works
121
+
122
+ ---
123
+
124
+ *Generated with MORPH Framework*
@@ -0,0 +1,76 @@
1
+ # UI Design System: {{titleCase FEATURE_NAME}}
2
+
3
+ | Field | Value |
4
+ |-------|-------|
5
+ | **Feature** | {{FEATURE_NAME}} |
6
+ | **Created** | {{DATE}} |
7
+ | **Project** | {{PROJECT_NAME}} |
8
+
9
+ ---
10
+
11
+ ## Color Palette
12
+
13
+ ### Primary Colors
14
+ | Token | Value | Usage |
15
+ |-------|-------|-------|
16
+ | `--color-primary` | #0078D4 | Primary actions, links |
17
+ | `--color-primary-hover` | #106EBE | Hover states |
18
+
19
+ ### Semantic Colors
20
+ | Token | Value | Usage |
21
+ |-------|-------|-------|
22
+ | `--color-success` | #107C10 | Success states |
23
+ | `--color-warning` | #F7630C | Warnings |
24
+ | `--color-error` | #D13438 | Errors |
25
+
26
+ ---
27
+
28
+ ## Typography
29
+
30
+ | Token | Size | Weight | Usage |
31
+ |-------|------|--------|-------|
32
+ | `--text-h1` | 24px | 600 | Section headers |
33
+ | `--text-body` | 14px | 400 | Body text |
34
+ | `--text-caption` | 12px | 400 | Labels |
35
+
36
+ ---
37
+
38
+ ## Spacing
39
+
40
+ | Token | Value | Usage |
41
+ |-------|-------|-------|
42
+ | `--space-sm` | 8px | Compact spacing |
43
+ | `--space-md` | 16px | Standard spacing |
44
+ | `--space-lg` | 24px | Wide spacing |
45
+
46
+ ---
47
+
48
+ ## Components
49
+
50
+ ### Buttons
51
+ - **Primary**: `--color-primary` background, white text
52
+ - **Secondary**: Transparent, `--color-primary` border
53
+ - **Sizes**: Small (24px), Medium (32px), Large (40px)
54
+
55
+ ### Forms
56
+ - **Input height**: 32px
57
+ - **Focus**: 2px solid `--color-primary`
58
+ - **Error**: 1px solid `--color-error`
59
+
60
+ ---
61
+
62
+ ## Accessibility
63
+ - [ ] 4.5:1 contrast ratio (WCAG AA)
64
+ - [ ] Touch targets minimum 44x44px
65
+ - [ ] Keyboard navigation supported
66
+
67
+ ---
68
+
69
+ ## Responsive Breakpoints
70
+ - **Mobile**: < 768px
71
+ - **Tablet**: 768px - 1199px
72
+ - **Desktop**: ≥ 1200px
73
+
74
+ ---
75
+
76
+ *Generated with MORPH Framework*
@@ -0,0 +1,167 @@
1
+ # UI Flows: {{titleCase FEATURE_NAME}}
2
+
3
+ | Field | Value |
4
+ |-------|-------|
5
+ | **Feature** | {{FEATURE_NAME}} |
6
+ | **Created** | {{DATE}} |
7
+
8
+ ---
9
+
10
+ ## User Stories
11
+
12
+ ### US001: {Primary User Story}
13
+
14
+ **As** a {user type}
15
+ **I want** to {capability}
16
+ **So that** {benefit}
17
+
18
+ **Acceptance Criteria:**
19
+ 1. {Criterion 1}
20
+ 2. {Criterion 2}
21
+
22
+ ---
23
+
24
+ ## Flow Inventory
25
+
26
+ | Flow ID | Name | Priority |
27
+ |---------|------|----------|
28
+ | **F001** | Create New Item | High |
29
+ | **F002** | Edit Existing Item | High |
30
+ | **F003** | Delete Item | Medium |
31
+
32
+ ---
33
+
34
+ ## F001: Create New Item
35
+
36
+ ### Happy Path
37
+
38
+ ```
39
+ START
40
+
41
+ [User clicks "Add New"]
42
+
43
+ [Modal opens with form]
44
+
45
+ [User fills required fields]
46
+
47
+ [User clicks "Submit"]
48
+
49
+ [Validation passes] ✓
50
+
51
+ [API call: POST /api/items]
52
+
53
+ [Success response]
54
+
55
+ [Modal closes]
56
+
57
+ [Success toast: "Item created"]
58
+
59
+ [Table refreshes]
60
+
61
+ END
62
+ ```
63
+
64
+ **Duration:** 15-30 seconds
65
+ **Success Rate Target:** 95%
66
+
67
+ ---
68
+
69
+ ### Alternative Path: Validation Error
70
+
71
+ ```
72
+ [User clicks "Submit"]
73
+
74
+ [Validation fails] ✕
75
+
76
+ [Error messages shown inline]
77
+
78
+ [User corrects errors]
79
+
80
+ [Real-time validation clears errors]
81
+
82
+ → Returns to Happy Path
83
+ ```
84
+
85
+ ---
86
+
87
+ ### Edge Cases
88
+
89
+ | Scenario | Behavior |
90
+ |----------|----------|
91
+ | **Duplicate Name** | Show warning, allow submit |
92
+ | **Network Error** | Show error toast, preserve data |
93
+ | **Session Expired** | Redirect to login |
94
+
95
+ ---
96
+
97
+ ## F002: Edit Existing Item
98
+
99
+ ```
100
+ [User clicks "Edit"]
101
+
102
+ [Modal opens with pre-filled form]
103
+
104
+ [User modifies fields]
105
+
106
+ [User clicks "Save"]
107
+
108
+ [API call: PUT /api/items/{id}]
109
+
110
+ [Success toast]
111
+
112
+ [Table refreshes]
113
+ END
114
+ ```
115
+
116
+ ---
117
+
118
+ ## F003: Delete Item
119
+
120
+ ```
121
+ [User clicks "Delete"]
122
+
123
+ [Confirmation dialog: "Delete item?"]
124
+
125
+ [User confirms]
126
+
127
+ [API call: DELETE /api/items/{id}]
128
+
129
+ [Success toast]
130
+
131
+ [Table refreshes]
132
+ END
133
+ ```
134
+
135
+ ---
136
+
137
+ ## Toast Notifications
138
+
139
+ | Event | Type | Message | Duration |
140
+ |-------|------|---------|----------|
141
+ | **Item Created** | Success | "Item created successfully" | 3s |
142
+ | **Item Updated** | Success | "Item updated successfully" | 3s |
143
+ | **Item Deleted** | Success | "Item deleted successfully" | 3s |
144
+ | **Error** | Error | "Something went wrong" | 5s |
145
+
146
+ ---
147
+
148
+ ## Keyboard Shortcuts
149
+
150
+ | Shortcut | Action |
151
+ |----------|--------|
152
+ | **Ctrl+N** | New Item |
153
+ | **Escape** | Close modal |
154
+ | **Enter** | Submit form |
155
+
156
+ ---
157
+
158
+ ## Performance Targets
159
+
160
+ | Flow | Target |
161
+ |------|--------|
162
+ | **Create Item** | < 2s (API response) |
163
+ | **Search** | < 500ms |
164
+
165
+ ---
166
+
167
+ *Generated with MORPH Framework*