@polymorphism-tech/morph-spec 8.0.0 → 8.1.1

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 (168) hide show
  1. package/README.md +2 -2
  2. package/bin/validate.js +379 -379
  3. package/claude-plugin.json +1 -1
  4. package/docs/CHEATSHEET.md +1 -1
  5. package/docs/QUICKSTART.md +1 -1
  6. package/framework/CLAUDE.md +1 -1
  7. package/framework/MORPH.md +5 -5
  8. package/framework/agents.json +1 -1
  9. package/framework/commands/commit.md +166 -166
  10. package/framework/commands/morph-infra.md +215 -215
  11. package/framework/commands/morph-preflight.md +205 -205
  12. package/framework/commands/morph-troubleshoot.md +124 -124
  13. package/framework/hooks/README.md +0 -1
  14. package/framework/hooks/claude-code/statusline.py +679 -679
  15. package/framework/hooks/claude-code/statusline.sh +11 -11
  16. package/framework/hooks/git/commit-msg/conventional-commits.sh +33 -33
  17. package/framework/hooks/git/pre-commit/agents.sh +25 -25
  18. package/framework/hooks/git/pre-commit/orchestrator.sh +64 -64
  19. package/framework/hooks/git/pre-commit/specs.sh +50 -50
  20. package/framework/hooks/git/pre-push/run-tests.sh +44 -44
  21. package/framework/hooks/shared/activity-logger.js +160 -160
  22. package/framework/hooks/shared/stdin-reader.js +26 -26
  23. package/framework/rubrics/backend.json +41 -41
  24. package/framework/rules/ai-agents-standards.md +45 -45
  25. package/framework/rules/dotnet-templates.md +86 -86
  26. package/framework/rules/frontend-standards.md +13 -13
  27. package/framework/rules/infrastructure-standards.md +27 -27
  28. package/framework/rules/neon-standards.md +25 -25
  29. package/framework/rules/nextjs-standards.md +20 -20
  30. package/framework/rules/nextjs-templates.md +40 -40
  31. package/framework/skills/core/create-umbraco-lp/SKILL.md +1 -1
  32. package/framework/skills/core/migrate-lp-to-umbraco/SKILL.md +1 -1
  33. package/framework/skills/core/morph-apply/SKILL.md +12 -21
  34. package/framework/skills/core/morph-brainstorming/SKILL.md +1 -1
  35. package/framework/skills/core/morph-eval/SKILL.md +1 -1
  36. package/framework/skills/core/morph-hotfix/SKILL.md +2 -4
  37. package/framework/skills/core/morph-implement/SKILL.md +10 -19
  38. package/framework/skills/core/morph-plan/SKILL.md +1 -1
  39. package/framework/skills/core/morph-proposal/SKILL.md +1 -1
  40. package/framework/skills/core/morph-review/SKILL.md +11 -15
  41. package/framework/skills/core/morph-stack-scan/SKILL.md +1 -1
  42. package/framework/skills/core/morph-standards/SKILL.md +1 -1
  43. package/framework/standards/ai-agents/agent-session.md +160 -160
  44. package/framework/standards/ai-agents/batching.md +193 -193
  45. package/framework/standards/ai-agents/context-providers.md +188 -188
  46. package/framework/standards/ai-agents/mcp-server.md +250 -250
  47. package/framework/standards/ai-agents/mcp-tools.md +197 -197
  48. package/framework/standards/ai-agents/middleware-patterns.md +207 -207
  49. package/framework/standards/ai-agents/modalities-image-gen.md +173 -173
  50. package/framework/standards/ai-agents/modalities-speech-to-text.md +171 -171
  51. package/framework/standards/ai-agents/modalities-text-to-speech.md +181 -181
  52. package/framework/standards/ai-agents/modalities-vision.md +201 -201
  53. package/framework/standards/ai-agents/multi-agent-patterns.md +155 -155
  54. package/framework/standards/ai-agents/production.md +275 -275
  55. package/framework/standards/ai-agents/prompts-in-db.md +214 -214
  56. package/framework/standards/ai-agents/providers/model-registry.md +158 -158
  57. package/framework/standards/ai-agents/service-tier-flex.md +135 -135
  58. package/framework/standards/ai-agents/structured-output.md +249 -249
  59. package/framework/standards/ai-agents/sweet-spot.md +109 -109
  60. package/framework/templates/IDE-SNIPPETS.md +262 -262
  61. package/framework/templates/code/dotnet/abstractions/api-endpoint.cs +7 -7
  62. package/framework/templates/code/dotnet/ai-agents/AgentBootstrap.cs.template +39 -39
  63. package/framework/templates/code/dotnet/ai-agents/EmbeddingService.cs.template +68 -68
  64. package/framework/templates/code/dotnet/ai-agents/ModelRegistry.cs.template +117 -117
  65. package/framework/templates/code/dotnet/ai-agents/PromptRepository.cs.template +95 -95
  66. package/framework/templates/code/dotnet/ai-agents/ResilientToolMiddleware.cs.template +61 -61
  67. package/framework/templates/code/dotnet/ai-agents/VectorSearchTool.cs.template +107 -107
  68. package/framework/templates/code/dotnet/ai-agents/model-registry.json.template +58 -58
  69. package/framework/templates/code/dotnet/contracts/contracts-vsa.cs +281 -281
  70. package/framework/templates/code/dotnet/database/migration.cs +83 -83
  71. package/framework/templates/code/dotnet/feature/endpoint.cs.hbs +21 -21
  72. package/framework/templates/code/dotnet/feature/request.cs.hbs +4 -4
  73. package/framework/templates/code/dotnet/feature/response.cs.hbs +4 -4
  74. package/framework/templates/code/dotnet/feature/validator.cs.hbs +15 -15
  75. package/framework/templates/code/sql/ai-agents/agent-prompts-migration.sql.template +58 -58
  76. package/framework/templates/code/sql/ai-agents/pgvector-embeddings-migration.sql.template +91 -91
  77. package/framework/templates/code/typescript/contracts.ts +167 -167
  78. package/framework/templates/docs/clarifications.md +253 -253
  79. package/framework/templates/docs/schema-analysis.md +119 -119
  80. package/framework/templates/docs/ui-components.md +52 -52
  81. package/framework/templates/docs/ui-design-system.md +76 -76
  82. package/framework/templates/docs/ui-flows.md +167 -167
  83. package/framework/templates/docs/ui-mockups.md +98 -98
  84. package/framework/templates/feature/decisions.md +122 -122
  85. package/framework/templates/frontend/nextjs/Dockerfile.nextjs.hbs +43 -43
  86. package/framework/templates/frontend/nextjs/client-component.tsx.hbs +26 -26
  87. package/framework/templates/frontend/nextjs/env.mjs.hbs +32 -32
  88. package/framework/templates/frontend/nextjs/feature-form.tsx.hbs +56 -56
  89. package/framework/templates/frontend/nextjs/page.tsx.hbs +22 -22
  90. package/framework/templates/frontend/nextjs/tsconfig.json.hbs +26 -26
  91. package/framework/templates/frontend/nextjs/use-feature.ts.hbs +54 -54
  92. package/framework/templates/infrastructure/docker/Dockerfile.template +58 -58
  93. package/framework/templates/infrastructure/docker/docker-compose.template.yml +50 -50
  94. package/framework/templates/infrastructure/docker/dockerfile-api.dockerfile +38 -38
  95. package/framework/templates/infrastructure/docker/dockerfile-web.dockerfile +48 -48
  96. package/framework/templates/infrastructure/github/README.md +56 -56
  97. package/framework/templates/infrastructure/github/actions/docker-build-push/action.yml.hbs +45 -45
  98. package/framework/templates/infrastructure/github/actions/health-check/action.yml.hbs +27 -27
  99. package/framework/templates/infrastructure/github/workflows/docker-build-push.yml.hbs +59 -59
  100. package/framework/templates/infrastructure/github/workflows/dotnet-build.yml.hbs +39 -39
  101. package/framework/templates/integrations/asaas-client.cs +387 -387
  102. package/framework/templates/integrations/asaas-webhook.cs +351 -351
  103. package/framework/templates/meta-prompts/fusion/fusion-agent.md +76 -76
  104. package/framework/templates/meta-prompts/fusion/fusion-aggregator.md +100 -100
  105. package/framework/templates/meta-prompts/validators/pre-commit-validator.md +95 -95
  106. package/framework/templates/project/validate.js +120 -120
  107. package/framework/templates/state.template.json +17 -17
  108. package/framework/templates/ui/design-system.css +226 -226
  109. package/package.json +1 -1
  110. package/src/commands/dashboard/dashboard.js +53 -53
  111. package/src/commands/index.js +13 -13
  112. package/src/commands/mcp/mcp-setup.js +519 -519
  113. package/src/commands/project/checkpoint.js +209 -209
  114. package/src/commands/project/worktree.js +83 -1
  115. package/src/core/state/phase-state-machine.js +197 -197
  116. package/src/core/templates/template-renderer.js +477 -477
  117. package/src/dashboard/app/components/DetailPanel.jsx +11 -11
  118. package/src/dashboard/app/components/FlowGraph.jsx +17 -17
  119. package/src/dashboard/app/components/SearchFilter.jsx +22 -22
  120. package/src/dashboard/app/hooks/useDetailPanel.js +15 -15
  121. package/src/dashboard/app/main.jsx +13 -13
  122. package/src/dashboard/app/pages/AgentMap.jsx +370 -370
  123. package/src/dashboard/app/pages/HookInspector.jsx +418 -418
  124. package/src/dashboard/app/pages/PhasePipeline.jsx +408 -408
  125. package/src/dashboard/app/pages/RulesMap.jsx +273 -273
  126. package/src/dashboard/app/pages/SkillsLibrary.jsx +366 -366
  127. package/src/dashboard/app/pages/Standards.jsx +332 -332
  128. package/src/dashboard/app/styles/index.css +47 -47
  129. package/src/dashboard/index.html +12 -12
  130. package/src/dashboard/package.json +24 -24
  131. package/src/dashboard/scanner/hooks-scanner.js +41 -41
  132. package/src/dashboard/scanner/phases-scanner.js +15 -15
  133. package/src/dashboard/scanner/rubrics-scanner.js +12 -12
  134. package/src/dashboard/scanner/rules-scanner.js +37 -37
  135. package/src/dashboard/scanner/skills-scanner.js +43 -43
  136. package/src/dashboard/scanner/squads-scanner.js +13 -13
  137. package/src/dashboard/scanner/standards-scanner.js +26 -26
  138. package/src/dashboard/vite-plugin-morph-data.js +17 -17
  139. package/src/dashboard/vite.config.js +24 -24
  140. package/src/lib/agents/metrics-aggregator.js +56 -56
  141. package/src/lib/agents/metrics-calculator.js +125 -125
  142. package/src/lib/agents/output-collector.js +73 -73
  143. package/src/lib/detectors/claude-config-detector.js +152 -152
  144. package/src/lib/detectors/design-system-detector.js +231 -231
  145. package/src/lib/detectors/index.js +217 -217
  146. package/src/lib/generators/architecture-scanner.js +639 -639
  147. package/src/lib/generators/design-system-generator.js +508 -508
  148. package/src/lib/generators/index.js +13 -13
  149. package/src/lib/generators/settings-generator.js +209 -209
  150. package/src/lib/hooks/hook-executor.js +167 -167
  151. package/src/lib/installers/mcp-installer.js +719 -719
  152. package/src/lib/tasks/task-classifier.js +30 -30
  153. package/src/lib/tasks/task-parser.js +209 -209
  154. package/src/lib/validators/architecture/architecture-validator.js +259 -259
  155. package/src/lib/validators/checkpoint-persistence.js +39 -39
  156. package/src/lib/validators/contracts/contract-compliance-validator.js +274 -274
  157. package/src/lib/validators/css/css-validator.js +340 -340
  158. package/src/lib/validators/packages/package-validator.js +347 -347
  159. package/src/lib/validators/shared/emit-validator-dispatch.js +14 -14
  160. package/src/lib/validators/shared/issue-counter.js +14 -14
  161. package/src/lib/validators/validation-runner.js +349 -349
  162. package/src/utils/agent-id-mapper.js +11 -11
  163. package/src/utils/claude-settings-manager.js +300 -300
  164. package/src/utils/hooks-installer.js +3 -24
  165. package/src/utils/skills-installer.js +174 -174
  166. package/framework/hooks/claude-code/core/subagent-report-guard.js +0 -95
  167. package/framework/templates/.idea/morph-templates.xml +0 -92
  168. package/framework/templates/.vscode/morph-templates.code-snippets +0 -186
@@ -1,186 +0,0 @@
1
- {
2
- "MORPH Template - PascalCase": {
3
- "prefix": "morph-pascal",
4
- "body": ["{{pascalCase ${1:FEATURE_NAME}}}"],
5
- "description": "Convert to PascalCase (UserAuth)"
6
- },
7
- "MORPH Template - camelCase": {
8
- "prefix": "morph-camel",
9
- "body": ["{{camelCase ${1:FEATURE_NAME}}}"],
10
- "description": "Convert to camelCase (userAuth)"
11
- },
12
- "MORPH Template - snake_case": {
13
- "prefix": "morph-snake",
14
- "body": ["{{snakeCase ${1:FEATURE_NAME}}}"],
15
- "description": "Convert to snake_case (user_auth)"
16
- },
17
- "MORPH Template - Title Case": {
18
- "prefix": "morph-title",
19
- "body": ["{{titleCase ${1:FEATURE_NAME}}}"],
20
- "description": "Convert to Title Case (User Auth)"
21
- },
22
- "MORPH Template - kebab-case": {
23
- "prefix": "morph-kebab",
24
- "body": ["{{kebabCase ${1:FEATURE_NAME}}}"],
25
- "description": "Convert to kebab-case (user-auth)"
26
- },
27
- "MORPH Template - UPPER_SNAKE_CASE": {
28
- "prefix": "morph-upper-snake",
29
- "body": ["{{upperSnakeCase ${1:FEATURE_NAME}}}"],
30
- "description": "Convert to UPPER_SNAKE_CASE (USER_AUTH)"
31
- },
32
- "MORPH Template - Conditional If": {
33
- "prefix": "morph-if",
34
- "body": [
35
- "{{#if ${1:condition}}}",
36
- " $2",
37
- "{{/if}}"
38
- ],
39
- "description": "Handlebars if block"
40
- },
41
- "MORPH Template - Conditional If-Else": {
42
- "prefix": "morph-if-else",
43
- "body": [
44
- "{{#if ${1:condition}}}",
45
- " $2",
46
- "{{else}}",
47
- " $3",
48
- "{{/if}}"
49
- ],
50
- "description": "Handlebars if-else block"
51
- },
52
- "MORPH Template - Each Loop": {
53
- "prefix": "morph-each",
54
- "body": [
55
- "{{#each ${1:items}}}",
56
- " {{this.$2}}",
57
- "{{/each}}"
58
- ],
59
- "description": "Handlebars each loop"
60
- },
61
- "MORPH Template - Unless": {
62
- "prefix": "morph-unless",
63
- "body": [
64
- "{{#unless ${1:condition}}}",
65
- " $2",
66
- "{{/unless}}"
67
- ],
68
- "description": "Handlebars unless block"
69
- },
70
- "MORPH Template - .NET Service Class": {
71
- "prefix": "morph-service",
72
- "body": [
73
- "namespace {{NAMESPACE}}.Application.Features.{{pascalCase FEATURE_NAME}}.Services;",
74
- "",
75
- "public class {{pascalCase FEATURE_NAME}}Service(",
76
- " I{{pascalCase FEATURE_NAME}}Repository repository,",
77
- " ILogger<{{pascalCase FEATURE_NAME}}Service> logger) : I{{pascalCase FEATURE_NAME}}Service",
78
- "{",
79
- " public async Task<{{pascalCase FEATURE_NAME}}Dto?> GetByIdAsync(int id, CancellationToken cancellationToken = default)",
80
- " {",
81
- " $1",
82
- " }",
83
- "}"
84
- ],
85
- "description": "MORPH .NET Service class template"
86
- },
87
- "MORPH Template - .NET Repository Class": {
88
- "prefix": "morph-repository",
89
- "body": [
90
- "public class {{pascalCase FEATURE_NAME}}Repository(AppDbContext context) : I{{pascalCase FEATURE_NAME}}Repository",
91
- "{",
92
- " private readonly DbSet<{{pascalCase FEATURE_NAME}}> _dbSet = context.Set<{{pascalCase FEATURE_NAME}}>();",
93
- "",
94
- " public async Task<{{pascalCase FEATURE_NAME}}?> GetByIdAsync(int id, CancellationToken cancellationToken = default)",
95
- " {",
96
- " $1",
97
- " }",
98
- "}"
99
- ],
100
- "description": "MORPH .NET Repository class template"
101
- },
102
- "MORPH Template - Blazor Component": {
103
- "prefix": "morph-component",
104
- "body": [
105
- "@page \"/{{kebabCase FEATURE_NAME}}\"",
106
- "@inject I{{pascalCase FEATURE_NAME}}Service {{pascalCase FEATURE_NAME}}Service",
107
- "@inject ILogger<{{pascalCase FEATURE_NAME}}Page> Logger",
108
- "",
109
- "<PageTitle>{{pascalCase FEATURE_NAME}}</PageTitle>",
110
- "",
111
- "<div class=\"container-fluid\">",
112
- " $1",
113
- "</div>",
114
- "",
115
- "@code {",
116
- " $2",
117
- "}"
118
- ],
119
- "description": "MORPH Blazor component template"
120
- },
121
- "MORPH Template - EF Core Migration": {
122
- "prefix": "morph-migration",
123
- "body": [
124
- "public partial class Add{{pascalCase FEATURE_NAME}} : Migration",
125
- "{",
126
- " protected override void Up(MigrationBuilder migrationBuilder)",
127
- " {",
128
- " migrationBuilder.CreateTable(",
129
- " name: \"{{pascalCase FEATURE_NAME}}s\",",
130
- " columns: table => new",
131
- " {",
132
- " Id = table.Column<int>(type: \"int\", nullable: false)",
133
- " .Annotation(\"SqlServer:Identity\", \"1, 1\"),",
134
- " $1",
135
- " },",
136
- " constraints: table =>",
137
- " {",
138
- " table.PrimaryKey(\"PK_{{pascalCase FEATURE_NAME}}s\", x => x.Id);",
139
- " });",
140
- " }",
141
- "",
142
- " protected override void Down(MigrationBuilder migrationBuilder)",
143
- " {",
144
- " migrationBuilder.DropTable(name: \"{{pascalCase FEATURE_NAME}}s\");",
145
- " }",
146
- "}"
147
- ],
148
- "description": "MORPH EF Core migration template"
149
- },
150
- "MORPH Template - Hangfire Job": {
151
- "prefix": "morph-job",
152
- "body": [
153
- "public class {{pascalCase FEATURE_NAME}}ProcessorJob(",
154
- " I{{pascalCase FEATURE_NAME}}Service service,",
155
- " ILogger<{{pascalCase FEATURE_NAME}}ProcessorJob> logger) : I{{pascalCase FEATURE_NAME}}ProcessorJob",
156
- "{",
157
- " [AutomaticRetry(Attempts = 3, DelaysInSeconds = new[] { 60, 300, 900 })]",
158
- " [Queue(\"default\")]",
159
- " [JobDisplayName(\"{{pascalCase FEATURE_NAME}} Processing - ID: {0}\")]",
160
- " public async Task ExecuteAsync(int id, CancellationToken cancellationToken)",
161
- " {",
162
- " $1",
163
- " }",
164
- "}"
165
- ],
166
- "description": "MORPH Hangfire job template"
167
- },
168
- "MORPH Template - TypeScript Contract": {
169
- "prefix": "morph-ts-contract",
170
- "body": [
171
- "export interface {{pascalCase FEATURE_NAME}} {",
172
- " id: number;",
173
- " $1",
174
- "}",
175
- "",
176
- "export interface Create{{pascalCase FEATURE_NAME}}Request {",
177
- " $2",
178
- "}",
179
- "",
180
- "export interface Update{{pascalCase FEATURE_NAME}}Request {",
181
- " $3",
182
- "}"
183
- ],
184
- "description": "MORPH TypeScript contract template"
185
- }
186
- }