@polymorphism-tech/morph-spec 4.3.1 → 4.3.2

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 (192) hide show
  1. package/bin/morph-spec.js +1 -1
  2. package/package.json +2 -1
  3. package/src/commands/project/doctor.js +24 -18
  4. package/src/commands/project/init.js +1 -1
  5. package/src/commands/state/state.js +24 -2
  6. package/src/core/templates/template-registry.js +1 -1
  7. package/src/core/workflows/workflow-detector.js +2 -2
  8. package/stacks/blazor-azure/.claude/commands/morph-apply.md +221 -0
  9. package/stacks/blazor-azure/.claude/commands/morph-archive.md +79 -0
  10. package/stacks/blazor-azure/.claude/commands/morph-deploy.md +529 -0
  11. package/stacks/blazor-azure/.claude/commands/morph-infra.md +209 -0
  12. package/stacks/blazor-azure/.claude/commands/morph-preflight.md +227 -0
  13. package/stacks/blazor-azure/.claude/commands/morph-proposal.md +122 -0
  14. package/stacks/blazor-azure/.claude/commands/morph-status.md +86 -0
  15. package/stacks/blazor-azure/.claude/commands/morph-troubleshoot.md +122 -0
  16. package/stacks/blazor-azure/.morph/.morphversion +5 -5
  17. package/stacks/blazor-azure/.morph/archive/.gitkeep +25 -0
  18. package/stacks/blazor-azure/.morph/config/config.json +9 -0
  19. package/stacks/blazor-azure/.morph/features/.gitkeep +25 -0
  20. package/stacks/blazor-azure/.morph/project/context/README.md +17 -0
  21. package/stacks/blazor-azure/.morph/schemas/agent.schema.json +296 -0
  22. package/stacks/blazor-azure/.morph/schemas/tasks.schema.json +220 -0
  23. package/stacks/blazor-azure/.morph/specs/.gitkeep +20 -0
  24. package/stacks/blazor-azure/.morph/standards/ai-agents/blazor-ui.md +364 -0
  25. package/stacks/blazor-azure/.morph/standards/ai-agents/production.md +415 -0
  26. package/stacks/blazor-azure/.morph/standards/ai-agents/setup.md +418 -0
  27. package/stacks/blazor-azure/.morph/standards/ai-agents/team-orchestration.md +479 -0
  28. package/stacks/blazor-azure/.morph/standards/ai-agents/workflows.md +354 -0
  29. package/stacks/blazor-azure/.morph/standards/architecture/ddd/aggregates.md +120 -0
  30. package/stacks/blazor-azure/.morph/standards/architecture/ddd/entities.md +99 -0
  31. package/stacks/blazor-azure/.morph/standards/architecture/ddd/value-objects.md +124 -0
  32. package/stacks/blazor-azure/.morph/standards/backend/api/minimal-api.md +494 -0
  33. package/stacks/blazor-azure/.morph/standards/backend/api/rest.md +492 -0
  34. package/stacks/blazor-azure/.morph/standards/backend/api/validation.md +88 -0
  35. package/stacks/blazor-azure/.morph/standards/backend/authentication/passkeys.md +428 -0
  36. package/stacks/blazor-azure/.morph/standards/backend/database/ef-core.md +199 -0
  37. package/stacks/blazor-azure/.morph/standards/backend/database/migrations.md +393 -0
  38. package/stacks/blazor-azure/.morph/standards/backend/database/postgresql/database.md +352 -0
  39. package/stacks/blazor-azure/.morph/standards/backend/database/repository-patterns.md +528 -0
  40. package/stacks/blazor-azure/.morph/standards/backend/database/vector-search-rag.md +541 -0
  41. package/stacks/blazor-azure/.morph/standards/backend/dotnet/async.md +366 -0
  42. package/stacks/blazor-azure/.morph/standards/backend/dotnet/core.md +117 -0
  43. package/stacks/blazor-azure/.morph/standards/backend/dotnet/di.md +439 -0
  44. package/stacks/blazor-azure/.morph/standards/backend/dotnet/program-cs-checklist.md +92 -0
  45. package/stacks/blazor-azure/.morph/standards/backend/integrations/asaas/asaas-api.md +216 -0
  46. package/stacks/blazor-azure/.morph/standards/backend/integrations/clerk/clerk-auth.md +290 -0
  47. package/stacks/blazor-azure/.morph/standards/backend/integrations/hangfire/hangfire-jobs.md +350 -0
  48. package/stacks/blazor-azure/.morph/standards/backend/integrations/resend/resend-email.md +385 -0
  49. package/stacks/blazor-azure/.morph/standards/context/analytics.md +96 -0
  50. package/stacks/blazor-azure/.morph/standards/context/bundles.md +110 -0
  51. package/stacks/blazor-azure/.morph/standards/context/priming.md +78 -0
  52. package/stacks/blazor-azure/.morph/standards/core/architecture.md +185 -0
  53. package/stacks/blazor-azure/.morph/standards/core/coding.md +214 -0
  54. package/stacks/blazor-azure/.morph/standards/core/git-branching-strategy.md +403 -0
  55. package/stacks/blazor-azure/.morph/standards/core/git.md +185 -0
  56. package/stacks/blazor-azure/.morph/standards/core/testing.md +295 -0
  57. package/stacks/blazor-azure/.morph/standards/data/nosql/blob-storage.md +102 -0
  58. package/stacks/blazor-azure/.morph/standards/data/nosql/cache/redis.md +97 -0
  59. package/stacks/blazor-azure/.morph/standards/data/nosql/cosmos-db.md +118 -0
  60. package/stacks/blazor-azure/.morph/standards/data/vector-search/azure-ai-search.md +121 -0
  61. package/stacks/blazor-azure/.morph/standards/data/vector-search/rag-chunking.md +104 -0
  62. package/stacks/blazor-azure/.morph/standards/frontend/blazor/design-checklist.md +222 -0
  63. package/stacks/blazor-azure/.morph/standards/frontend/blazor/fluent-ui-setup.md +595 -0
  64. package/stacks/blazor-azure/.morph/standards/frontend/blazor/fluent-ui.md +137 -0
  65. package/stacks/blazor-azure/.morph/standards/frontend/blazor/html-conversion.md +184 -0
  66. package/stacks/blazor-azure/.morph/standards/frontend/blazor/lifecycle.md +195 -0
  67. package/stacks/blazor-azure/.morph/standards/frontend/blazor/pitfalls.md +198 -0
  68. package/stacks/blazor-azure/.morph/standards/frontend/blazor/state.md +191 -0
  69. package/stacks/blazor-azure/.morph/standards/frontend/design-system/animations.md +151 -0
  70. package/stacks/blazor-azure/.morph/standards/frontend/design-system/naming.md +64 -0
  71. package/stacks/blazor-azure/.morph/standards/frontend/nextjs/nextjs-patterns.md +198 -0
  72. package/stacks/blazor-azure/.morph/standards/infrastructure/azure/azure.md +624 -0
  73. package/stacks/blazor-azure/.morph/standards/infrastructure/azure/bicep/bicep-patterns.md +422 -0
  74. package/stacks/blazor-azure/.morph/standards/infrastructure/azure/devops/azure-devops-setup.md +516 -0
  75. package/stacks/blazor-azure/.morph/standards/infrastructure/azure/devops/local-development.md +520 -0
  76. package/stacks/blazor-azure/.morph/standards/infrastructure/azure/services/functions.md +486 -0
  77. package/stacks/blazor-azure/.morph/standards/infrastructure/azure/services/service-bus.md +459 -0
  78. package/stacks/blazor-azure/.morph/standards/infrastructure/azure/services/storage.md +407 -0
  79. package/stacks/blazor-azure/.morph/standards/infrastructure/docker/easypanel-deploy.md +196 -0
  80. package/stacks/blazor-azure/.morph/standards/infrastructure/supabase/mcp-setup.md +252 -0
  81. package/stacks/blazor-azure/.morph/standards/infrastructure/supabase/supabase-auth.md +176 -0
  82. package/stacks/blazor-azure/.morph/standards/infrastructure/supabase/supabase-pgvector.md +169 -0
  83. package/stacks/blazor-azure/.morph/standards/infrastructure/supabase/supabase-rls.md +184 -0
  84. package/stacks/blazor-azure/.morph/standards/infrastructure/supabase/supabase-storage.md +153 -0
  85. package/stacks/blazor-azure/.morph/standards/integration/api/graphql.md +91 -0
  86. package/stacks/blazor-azure/.morph/standards/integration/api/grpc.md +114 -0
  87. package/stacks/blazor-azure/.morph/standards/integration/api/rest-design.md +95 -0
  88. package/stacks/blazor-azure/.morph/standards/integration/event-driven/cqrs.md +101 -0
  89. package/stacks/blazor-azure/.morph/standards/integration/event-driven/event-sourcing.md +124 -0
  90. package/stacks/blazor-azure/.morph/standards/integration/event-driven/service-bus.md +95 -0
  91. package/stacks/blazor-azure/.morph/standards/observability/logging.md +131 -0
  92. package/stacks/blazor-azure/.morph/standards/observability/metrics.md +121 -0
  93. package/stacks/blazor-azure/.morph/standards/observability/monitoring.md +114 -0
  94. package/stacks/blazor-azure/.morph/standards/observability/tracing.md +132 -0
  95. package/stacks/blazor-azure/.morph/standards/workflows/parallel-execution.md +112 -0
  96. package/stacks/blazor-azure/.morph/standards/workflows/thread-management.md +113 -0
  97. package/stacks/blazor-azure/.morph/test-infra/example.bicep +59 -0
  98. package/stacks/blazor-azure/CLAUDE.md +106 -101
  99. package/stacks/nextjs-supabase/.claude/commands/morph-apply.md +221 -0
  100. package/stacks/nextjs-supabase/.claude/commands/morph-archive.md +79 -0
  101. package/stacks/nextjs-supabase/.claude/commands/morph-deploy.md +529 -0
  102. package/stacks/nextjs-supabase/.claude/commands/morph-infra.md +209 -0
  103. package/stacks/nextjs-supabase/.claude/commands/morph-preflight.md +227 -0
  104. package/stacks/nextjs-supabase/.claude/commands/morph-proposal.md +122 -0
  105. package/stacks/nextjs-supabase/.claude/commands/morph-status.md +86 -0
  106. package/stacks/nextjs-supabase/.claude/commands/morph-troubleshoot.md +122 -0
  107. package/stacks/nextjs-supabase/.morph/.morphversion +5 -0
  108. package/stacks/nextjs-supabase/.morph/config/agents.json +730 -127
  109. package/stacks/nextjs-supabase/.morph/config/config.json +9 -0
  110. package/stacks/nextjs-supabase/.morph/project/context/README.md +17 -0
  111. package/stacks/nextjs-supabase/.morph/standards/ai-agents/blazor-ui.md +364 -0
  112. package/stacks/nextjs-supabase/.morph/standards/ai-agents/production.md +415 -0
  113. package/stacks/nextjs-supabase/.morph/standards/ai-agents/setup.md +418 -0
  114. package/stacks/nextjs-supabase/.morph/standards/ai-agents/team-orchestration.md +479 -0
  115. package/stacks/nextjs-supabase/.morph/standards/ai-agents/workflows.md +354 -0
  116. package/stacks/nextjs-supabase/.morph/standards/architecture/ddd/aggregates.md +120 -0
  117. package/stacks/nextjs-supabase/.morph/standards/architecture/ddd/entities.md +99 -0
  118. package/stacks/nextjs-supabase/.morph/standards/architecture/ddd/value-objects.md +124 -0
  119. package/stacks/nextjs-supabase/.morph/standards/backend/api/minimal-api.md +494 -0
  120. package/stacks/nextjs-supabase/.morph/standards/backend/api/rest.md +492 -0
  121. package/stacks/nextjs-supabase/.morph/standards/backend/api/validation.md +88 -0
  122. package/stacks/nextjs-supabase/.morph/standards/backend/authentication/passkeys.md +428 -0
  123. package/stacks/nextjs-supabase/.morph/standards/backend/database/ef-core.md +199 -0
  124. package/stacks/nextjs-supabase/.morph/standards/backend/database/migrations.md +393 -0
  125. package/stacks/nextjs-supabase/.morph/standards/backend/database/postgresql/database.md +352 -0
  126. package/stacks/nextjs-supabase/.morph/standards/backend/database/repository-patterns.md +528 -0
  127. package/stacks/nextjs-supabase/.morph/standards/backend/database/vector-search-rag.md +541 -0
  128. package/stacks/nextjs-supabase/.morph/standards/backend/dotnet/async.md +366 -0
  129. package/stacks/nextjs-supabase/.morph/standards/backend/dotnet/core.md +117 -0
  130. package/stacks/nextjs-supabase/.morph/standards/backend/dotnet/di.md +439 -0
  131. package/stacks/nextjs-supabase/.morph/standards/backend/dotnet/program-cs-checklist.md +92 -0
  132. package/stacks/nextjs-supabase/.morph/standards/backend/integrations/asaas/asaas-api.md +216 -0
  133. package/stacks/nextjs-supabase/.morph/standards/backend/integrations/clerk/clerk-auth.md +290 -0
  134. package/stacks/nextjs-supabase/.morph/standards/backend/integrations/hangfire/hangfire-jobs.md +350 -0
  135. package/stacks/nextjs-supabase/.morph/standards/backend/integrations/resend/resend-email.md +385 -0
  136. package/stacks/nextjs-supabase/.morph/standards/context/analytics.md +96 -0
  137. package/stacks/nextjs-supabase/.morph/standards/context/bundles.md +110 -0
  138. package/stacks/nextjs-supabase/.morph/standards/context/priming.md +78 -0
  139. package/stacks/nextjs-supabase/.morph/standards/core/architecture.md +185 -0
  140. package/stacks/nextjs-supabase/.morph/standards/core/coding.md +214 -0
  141. package/stacks/nextjs-supabase/.morph/standards/core/git-branching-strategy.md +403 -0
  142. package/stacks/nextjs-supabase/.morph/standards/core/git.md +185 -0
  143. package/stacks/nextjs-supabase/.morph/standards/core/testing.md +295 -0
  144. package/stacks/nextjs-supabase/.morph/standards/data/nosql/blob-storage.md +102 -0
  145. package/stacks/nextjs-supabase/.morph/standards/data/nosql/cache/redis.md +97 -0
  146. package/stacks/nextjs-supabase/.morph/standards/data/nosql/cosmos-db.md +118 -0
  147. package/stacks/nextjs-supabase/.morph/standards/data/vector-search/azure-ai-search.md +121 -0
  148. package/stacks/nextjs-supabase/.morph/standards/data/vector-search/rag-chunking.md +104 -0
  149. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/design-checklist.md +222 -0
  150. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/fluent-ui-setup.md +595 -0
  151. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/fluent-ui.md +137 -0
  152. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/html-conversion.md +184 -0
  153. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/lifecycle.md +195 -0
  154. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/pitfalls.md +198 -0
  155. package/stacks/nextjs-supabase/.morph/standards/frontend/blazor/state.md +191 -0
  156. package/stacks/nextjs-supabase/.morph/standards/frontend/design-system/animations.md +151 -0
  157. package/stacks/nextjs-supabase/.morph/standards/frontend/design-system/naming.md +64 -0
  158. package/stacks/nextjs-supabase/.morph/standards/frontend/nextjs/nextjs-patterns.md +198 -0
  159. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/azure.md +624 -0
  160. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/bicep/bicep-patterns.md +422 -0
  161. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/devops/azure-devops-setup.md +516 -0
  162. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/devops/local-development.md +520 -0
  163. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/services/functions.md +486 -0
  164. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/services/service-bus.md +459 -0
  165. package/stacks/nextjs-supabase/.morph/standards/infrastructure/azure/services/storage.md +407 -0
  166. package/stacks/nextjs-supabase/.morph/standards/infrastructure/docker/easypanel-deploy.md +196 -0
  167. package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/mcp-setup.md +252 -0
  168. package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/supabase-auth.md +176 -0
  169. package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/supabase-pgvector.md +169 -0
  170. package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/supabase-rls.md +184 -0
  171. package/stacks/nextjs-supabase/.morph/standards/infrastructure/supabase/supabase-storage.md +153 -0
  172. package/stacks/nextjs-supabase/.morph/standards/integration/api/graphql.md +91 -0
  173. package/stacks/nextjs-supabase/.morph/standards/integration/api/grpc.md +114 -0
  174. package/stacks/nextjs-supabase/.morph/standards/integration/api/rest-design.md +95 -0
  175. package/stacks/nextjs-supabase/.morph/standards/integration/event-driven/cqrs.md +101 -0
  176. package/stacks/nextjs-supabase/.morph/standards/integration/event-driven/event-sourcing.md +124 -0
  177. package/stacks/nextjs-supabase/.morph/standards/integration/event-driven/service-bus.md +95 -0
  178. package/stacks/nextjs-supabase/.morph/standards/observability/logging.md +131 -0
  179. package/stacks/nextjs-supabase/.morph/standards/observability/metrics.md +121 -0
  180. package/stacks/nextjs-supabase/.morph/standards/observability/monitoring.md +114 -0
  181. package/stacks/nextjs-supabase/.morph/standards/observability/tracing.md +132 -0
  182. package/stacks/nextjs-supabase/.morph/standards/workflows/parallel-execution.md +112 -0
  183. package/stacks/nextjs-supabase/.morph/standards/workflows/thread-management.md +113 -0
  184. package/stacks/nextjs-supabase/CLAUDE.md +69 -63
  185. package/stacks/blazor-azure/.morph/templates/.gitkeep +0 -0
  186. package/stacks/blazor-azure/.morph/templates/infrastructure/github/workflows/cd-prod.yml.hbs +0 -41
  187. package/stacks/blazor-azure/.morph/templates/infrastructure/github/workflows/cd-staging.yml.hbs +0 -24
  188. package/stacks/blazor-azure/.morph/templates/infrastructure/github/workflows/ci-build.yml.hbs +0 -23
  189. package/stacks/nextjs-supabase/.morph/templates/.gitkeep +0 -0
  190. package/stacks/nextjs-supabase/.morph/templates/infrastructure/github/workflows/cd-prod.yml.hbs +0 -22
  191. package/stacks/nextjs-supabase/.morph/templates/infrastructure/github/workflows/cd-staging.yml.hbs +0 -22
  192. package/stacks/nextjs-supabase/.morph/templates/infrastructure/github/workflows/ci-build.yml.hbs +0 -35
@@ -0,0 +1,227 @@
1
+ # Pre-Flight Check for Azure Deployment
2
+
3
+ Validates project readiness before deploying to Azure.
4
+
5
+ ## Uso
6
+
7
+ ```
8
+ /morph-preflight azure
9
+ ```
10
+
11
+ ## Objetivo
12
+
13
+ Detectar problemas **antes** do deploy que causariam falhas em produção. Economiza tempo e evita debugging em ambiente Azure.
14
+
15
+ ---
16
+
17
+ ## Validações Executadas
18
+
19
+ ### 1. Package Version Conflicts
20
+
21
+ **O que verifica:**
22
+ - `Azure.Identity` especificado explicitamente
23
+ - Sem conflitos de versão (NU1605, NU1608)
24
+ - Packages críticos com versões compatíveis
25
+
26
+ **Como verificar:**
27
+ ```bash
28
+ dotnet restore --verbosity normal 2>&1 | grep -E "(NU1605|NU1608|warning)"
29
+ ```
30
+
31
+ **Fix comum:**
32
+ ```xml
33
+ <PackageReference Include="Azure.Identity" Version="1.14.2" />
34
+ ```
35
+
36
+ ---
37
+
38
+ ### 2. EF Core Migrations
39
+
40
+ **O que verifica:**
41
+ - Sem pending model changes
42
+ - Migrations aplicáveis existem
43
+ - Migration scripts são válidos
44
+
45
+ **Como verificar:**
46
+ ```bash
47
+ dotnet ef migrations has-pending-model-changes \
48
+ --project src/Infrastructure \
49
+ --startup-project src/Web
50
+ ```
51
+
52
+ **Fix comum:**
53
+ ```bash
54
+ dotnet ef migrations add <MigrationName> \
55
+ --project src/Infrastructure \
56
+ --startup-project src/Web
57
+ ```
58
+
59
+ ---
60
+
61
+ ### 3. Dockerfile Validation (se Container Apps)
62
+
63
+ **O que verifica:**
64
+ - Dockerfile existe
65
+ - Base image é válida
66
+ - Multi-stage build configurado
67
+ - EXPOSE ports corretos
68
+ - ENTRYPOINT definido
69
+
70
+ **Como verificar:**
71
+ ```bash
72
+ docker build --check .
73
+ # Ou validação manual do Dockerfile
74
+ ```
75
+
76
+ ---
77
+
78
+ ### 4. Blazor .NET 10 Assets
79
+
80
+ **O que verifica:**
81
+ - `RequiresAspNetWebAssets` está `true` (se Blazor + .NET 10)
82
+ - Static web assets configurados corretamente
83
+
84
+ **Como verificar:**
85
+ ```bash
86
+ grep -r "RequiresAspNetWebAssets" *.csproj
87
+ ```
88
+
89
+ **Fix:**
90
+ ```xml
91
+ <PropertyGroup>
92
+ <RequiresAspNetWebAssets>true</RequiresAspNetWebAssets>
93
+ </PropertyGroup>
94
+ ```
95
+
96
+ ---
97
+
98
+ ### 5. Bicep Syntax Validation
99
+
100
+ **O que verifica:**
101
+ - Arquivos `.bicep` sem erros de sintaxe
102
+ - Parâmetros obrigatórios definidos
103
+ - Resources com nomes válidos
104
+
105
+ **Como verificar:**
106
+ ```bash
107
+ az bicep build --file infra/main.bicep --stdout > /dev/null
108
+ ```
109
+
110
+ ---
111
+
112
+ ### 6. Key Vault Configuration
113
+
114
+ **O que verifica:**
115
+ - Key Vault URI configurado em `appsettings.json` ou environment
116
+ - Não condiciona Key Vault ao ambiente (bug comum)
117
+ - Managed Identity habilitada
118
+
119
+ **Como verificar:**
120
+ ```bash
121
+ grep -r "KeyVaultUri\|AzureKeyVault" appsettings*.json
122
+ grep -r "IsDevelopment()" Program.cs | grep -i keyvault
123
+ ```
124
+
125
+ **Anti-pattern a detectar:**
126
+ ```csharp
127
+ // ❌ ERRADO - Não carrega Key Vault em dev!
128
+ if (!builder.Environment.IsDevelopment())
129
+ {
130
+ builder.Configuration.AddAzureKeyVault(...);
131
+ }
132
+ ```
133
+
134
+ ---
135
+
136
+ ### 7. Connection Strings Security
137
+
138
+ **O que verifica:**
139
+ - Connection strings não hardcoded em código
140
+ - Secrets em Key Vault ou User Secrets
141
+ - Sem credentials em `appsettings.json` (exceto Development)
142
+
143
+ **Como verificar:**
144
+ ```bash
145
+ # Detectar passwords em appsettings
146
+ grep -rE "(Password=|Pwd=|Secret=)" appsettings*.json | grep -v Development
147
+ ```
148
+
149
+ ---
150
+
151
+ ## Output Exemplo
152
+
153
+ ```
154
+ 🔍 MORPH Pre-Flight Check: Azure Deployment
155
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
156
+
157
+ ✅ Packages: No version conflicts detected
158
+ ✅ Migrations: No pending model changes
159
+ ✅ Dockerfile: Valid multi-stage build
160
+ ✅ Blazor Assets: RequiresAspNetWebAssets=true
161
+ ✅ Bicep: Syntax valid
162
+ ❌ Key Vault: URI not configured in appsettings.Production.json
163
+ ⚠️ Connection Strings: Found password in appsettings.Staging.json
164
+
165
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
166
+
167
+ 📋 Summary: 5 passed, 1 failed, 1 warning
168
+
169
+ ❌ BLOCKED: Fix Key Vault configuration before deploy!
170
+
171
+ Recommended fixes:
172
+ 1. Add KeyVaultUri to appsettings.Production.json
173
+ 2. Move password from appsettings.Staging.json to Key Vault
174
+ ```
175
+
176
+ ---
177
+
178
+ ## Workflow de Uso
179
+
180
+ ### Antes de criar PR para produção
181
+
182
+ ```bash
183
+ /morph-preflight azure
184
+ ```
185
+
186
+ ### No pipeline CI/CD
187
+
188
+ ```yaml
189
+ - script: |
190
+ # Package check
191
+ dotnet restore 2>&1 | grep -E "NU1605|NU1608" && exit 1
192
+
193
+ # Migration check
194
+ dotnet ef migrations has-pending-model-changes \
195
+ --project src/Infrastructure \
196
+ --startup-project src/Web
197
+ if [ $? -ne 0 ]; then exit 1; fi
198
+
199
+ # Bicep check
200
+ az bicep build --file infra/main.bicep --stdout > /dev/null
201
+ if [ $? -ne 0 ]; then exit 1; fi
202
+
203
+ echo "Pre-flight checks passed!"
204
+ displayName: 'Pre-flight validation'
205
+ ```
206
+
207
+ ---
208
+
209
+ ## Validações Futuras (Roadmap)
210
+
211
+ - [ ] Cost estimation validation (dentro do budget)
212
+ - [ ] RBAC permissions check
213
+ - [ ] Network security rules validation
214
+ - [ ] Health probe endpoint exists
215
+ - [ ] Application Insights configured
216
+
217
+ ---
218
+
219
+ ## Referências
220
+
221
+ - [azure.md](../../standards/azure.md) - Padrões Azure
222
+ - [dotnet10-migration.md](../../standards/dotnet10-migration.md) - Breaking changes .NET 10
223
+ - [blazor-efcore.md](../../../../framework/standards/blazor-efcore.md) - EF Core patterns
224
+
225
+ ---
226
+
227
+ *MORPH-SPEC by Polymorphism Tech*
@@ -0,0 +1,122 @@
1
+ # MORPH Spec Pipeline
2
+
3
+ Crie ou retome o planejamento de uma feature, guiando automaticamente pelas fases 0→4 com pausas obrigatórias.
4
+
5
+ ---
6
+
7
+ ## 1. Resume Logic
8
+
9
+ Primeiro, verifique se a feature já existe:
10
+
11
+ ```bash
12
+ npx morph-spec state get {feature-name}
13
+ ```
14
+
15
+ - **Se existe:** Identifique a fase atual e retome de onde parou (pular fases já concluídas)
16
+ - **Se não existe:** Iniciar do zero (FASE 0)
17
+
18
+ ---
19
+
20
+ ## 2. FASE 0: PROPOSAL
21
+
22
+ ### Workflow
23
+
24
+ 1. **Detecte agentes automaticamente:**
25
+ ```bash
26
+ npx morph-spec detect-agents "$ARGUMENTS"
27
+ ```
28
+
29
+ 2. **Invoque skills dos agentes detectados:**
30
+ - Para agentes com `skillPath` em agents.json, consulte o Skill correspondente
31
+ - Use conhecimento dos skills para enriquecer a proposta
32
+
33
+ 3. **Analise a solicitação** e identifique: problema, usuários afetados, impacto
34
+
35
+ 4. **Crie a estrutura:**
36
+ ```
37
+ .morph/project/outputs/{feature-name}/
38
+ ├── proposal.md
39
+ ├── spec.md (iniciar)
40
+ └── tasks.json (iniciar)
41
+ ```
42
+
43
+ 5. **Preencha `proposal.md`** baseado em `framework/templates/proposal.md`
44
+
45
+ 6. **Registre no state:**
46
+ ```bash
47
+ npx morph-spec state set {feature-name} status draft
48
+ npx morph-spec state set {feature-name} phase proposal
49
+ npx morph-spec state mark-output {feature-name} proposal
50
+ # Adicionar cada agente detectado:
51
+ npx morph-spec state add-agent {feature-name} {agent-id}
52
+ ```
53
+
54
+ ### PAUSA OBRIGATORIA
55
+
56
+ Apresente: resumo da proposta, agentes ativados, custo estimado, 3 itens de pausa.
57
+
58
+ ---
59
+
60
+ ## 3. Após Aprovação do Proposal → FASE 1: SETUP (auto, sem pausa)
61
+
62
+ **Ler:** `.claude/skills/workflows/phase-setup.md` para instruções detalhadas.
63
+
64
+ Resumo: carregar contexto do projeto, confirmar stack, listar agentes ativos, atualizar state.
65
+
66
+ **Não pausa aqui.** Continuar automaticamente.
67
+
68
+ ---
69
+
70
+ ## 4. FASE 1.5: UI/UX (condicional)
71
+
72
+ Verificar se `uiux-designer` está nos `activeAgents`:
73
+ - **Se SIM:** Ler `.claude/skills/workflows/phase-uiux.md` e executar. **PAUSA OBRIGATORIA** após gerar deliverables UI.
74
+ - **Se NÃO:** Pular para FASE 2.
75
+
76
+ ---
77
+
78
+ ## 5. FASE 2: DESIGN
79
+
80
+ **Ler:** `.claude/skills/workflows/phase-design.md` para instruções detalhadas.
81
+
82
+ Resumo: gerar spec.md, contracts.cs, decisions.md com ADRs, estimar custos.
83
+
84
+ ### PAUSA OBRIGATORIA
85
+
86
+ Apresente: spec, contracts, decisions, custos. 3 itens de pausa (aprovar, ajustar escopo, modificar contracts).
87
+
88
+ ---
89
+
90
+ ## 6. Após Aprovação do Design → FASE 3: CLARIFY (interativo)
91
+
92
+ **Ler:** `.claude/skills/workflows/phase-clarify.md` para instruções detalhadas.
93
+
94
+ Resumo: identificar ambiguidades, gerar 3-7 perguntas, aguardar respostas, atualizar spec com clarificações e edge cases.
95
+
96
+ **Aguardar respostas do usuário antes de continuar.**
97
+
98
+ ---
99
+
100
+ ## 7. FASE 4: TASKS
101
+
102
+ **Ler:** `.claude/skills/workflows/phase-tasks.md` para instruções detalhadas.
103
+
104
+ Resumo: quebrar spec em tasks T001-TXXX, definir dependências, checkpoints, estimativas.
105
+
106
+ ### PAUSA OBRIGATORIA
107
+
108
+ Apresente: breakdown de tasks, ordem de execução, estimativa total. 3 itens de pausa (aprovar, repriorizar, adicionar/remover).
109
+
110
+ ---
111
+
112
+ ## 8. Planejamento Completo
113
+
114
+ Após aprovação das tasks:
115
+
116
+ ```
117
+ Planejamento completo! Execute /morph-apply {feature-name} para iniciar implementação.
118
+ ```
119
+
120
+ ---
121
+
122
+ **Feature solicitada:** $ARGUMENTS
@@ -0,0 +1,86 @@
1
+ # MORPH Project Status
2
+
3
+ Mostre o status atual do projeto MORPH e features em desenvolvimento.
4
+
5
+ ## Como Usar
6
+
7
+ **SEMPRE** use o state-manager CLI para obter status:
8
+
9
+ ```bash
10
+ npx morph-spec state list
11
+ ```
12
+
13
+ Este comando automaticamente mostra:
14
+ - Todas as features ativas
15
+ - Fase atual de cada feature
16
+ - Progresso de tasks (X/Y)
17
+ - Agentes ativos
18
+ - Custos estimados
19
+
20
+ ## Verificações Adicionais
21
+
22
+ ### 1. Configuração MORPH
23
+ - [ ] `.morph/project.md` existe e está preenchido
24
+ - [ ] `.morph/config/config.json` configurado
25
+ - [ ] `.morph/standards/` presentes
26
+
27
+ ### 2. Detalhes de Feature Específica
28
+
29
+ Para obter JSON detalhado de uma feature:
30
+
31
+ ```bash
32
+ npx morph-spec state get {feature-name}
33
+ ```
34
+
35
+ ### 3. Features Arquivadas
36
+
37
+ Verifique `.morph/project/archive/` manualmente se necessário:
38
+ - Quantas features concluídas
39
+ - Tempo total gasto
40
+ - Custo acumulado
41
+
42
+ ### 4. Specs Ativas
43
+
44
+ Verifique `.morph/project/specs/` para specs consolidadas.
45
+
46
+ ## Output
47
+
48
+ O comando `npx morph-spec state list` automaticamente gera um dashboard formatado:
49
+
50
+ ```
51
+ ╔════════════════════════════════════════════════════════════════╗
52
+ ║ MORPH-SPEC PROJECT STATUS ║
53
+ ╠════════════════════════════════════════════════════════════════╣
54
+ ║ Project: {PROJECT_NAME} ║
55
+ ║ Type: blazor-server ║
56
+ ╠════════════════════════════════════════════════════════════════╣
57
+ ║ FEATURES ║
58
+ ╠════════════════════════════════════════════════════════════════╣
59
+ ║ 📝 {feature-1} ║
60
+ ║ Phase: implement │ Tasks: 5/12 ║
61
+ ║ Agents: blazor-builder ef-modeler hangfire-orchestrator ║
62
+ ╠════════════════════════════════════════════════════════════════╣
63
+ ║ 📝 {feature-2} ║
64
+ ║ Phase: design │ Tasks: 0/0 ║
65
+ ║ Agents: None ║
66
+ ╠════════════════════════════════════════════════════════════════╣
67
+ ║ SUMMARY ║
68
+ ╠════════════════════════════════════════════════════════════════╣
69
+ ║ Total Features: 2 ║
70
+ ║ Completed: 0 ║
71
+ ║ Estimated Cost: $5.50/month ║
72
+ ╚════════════════════════════════════════════════════════════════╝
73
+ ```
74
+
75
+ **Simplesmente execute o comando e mostre o resultado ao usuário.**
76
+
77
+ ## Ações Disponíveis
78
+
79
+ Sugira próximas ações:
80
+ - `/morph-proposal {feature}` - Criar nova feature
81
+ - `/morph-apply {feature}` - Implementar feature
82
+ - `/morph-archive {feature}` - Arquivar feature concluída
83
+
84
+ ---
85
+
86
+ $ARGUMENTS
@@ -0,0 +1,122 @@
1
+ # Troubleshoot - Buscar Soluções para Erros
2
+
3
+ Busca soluções para erros e problemas comuns no desenvolvimento .NET/Blazor/Azure.
4
+
5
+ ## Uso
6
+
7
+ ```
8
+ /morph-troubleshoot <descrição do erro ou keywords>
9
+ ```
10
+
11
+ ## Exemplos
12
+
13
+ ```bash
14
+ /morph-troubleshoot blazor.web.js 404
15
+ /morph-troubleshoot DbContext second operation
16
+ /morph-troubleshoot Azure.Identity NU1605
17
+ /morph-troubleshoot Include retorna vazio
18
+ /morph-troubleshoot PendingModelChanges
19
+ ```
20
+
21
+ ## Workflow de 3 Níveis
22
+
23
+ ### Nível 1: Índice JSON (Primário)
24
+
25
+ Primeiro, execute o comando CLI para buscar no índice de problemas conhecidos:
26
+
27
+ ```bash
28
+ npx morph-spec troubleshoot {keywords}
29
+
30
+ # Opções
31
+ --category <cat> # Filtrar por categoria (blazor, efcore, azure)
32
+ --verbose # Mostrar conteúdo completo da solução
33
+ --list-categories # Listar categorias disponíveis
34
+ ```
35
+
36
+ ### Nível 2: Grep nos Standards (Automático)
37
+
38
+ Se o índice retornar poucos resultados, o CLI automaticamente busca nos arquivos:
39
+ - `framework/standards/*.md`
40
+ - `.morph/standards/*.md`
41
+
42
+ ### Nível 3: Web Search (Se necessário)
43
+
44
+ **IMPORTANTE:** Se os níveis 1 e 2 não encontrarem solução, use o tool **WebSearch** nativo do Claude Code para buscar nas seguintes fontes:
45
+
46
+ **Queries recomendadas:**
47
+
48
+ ```
49
+ # GitHub Issues (.NET)
50
+ site:github.com/dotnet/aspnetcore {erro}
51
+ site:github.com/dotnet/efcore {erro}
52
+
53
+ # Stack Overflow
54
+ site:stackoverflow.com [blazor] {erro}
55
+ site:stackoverflow.com [entity-framework-core] {erro}
56
+ site:stackoverflow.com [azure] {erro}
57
+
58
+ # Documentação Microsoft
59
+ site:learn.microsoft.com {erro}
60
+ site:learn.microsoft.com/azure {erro}
61
+ ```
62
+
63
+ **Exemplo de uso do WebSearch:**
64
+
65
+ Se o usuário perguntar sobre um erro de SignalR:
66
+ 1. Primeiro: `npx morph-spec troubleshoot SignalR connection`
67
+ 2. Se não encontrar: WebSearch com `site:github.com/dotnet/aspnetcore SignalR connection closed`
68
+ 3. Retornar links relevantes formatados
69
+
70
+ ## Categorias Disponíveis
71
+
72
+ | Categoria | Descrição |
73
+ |-----------|-----------|
74
+ | `blazor` | Blazor Server/WASM, componentes, lifecycle, renderização |
75
+ | `efcore` | Entity Framework Core, DbContext, migrations, queries |
76
+ | `azure` | Azure services, deploy, identity, Key Vault |
77
+ | `auth` | Authentication, authorization, tokens, claims |
78
+ | `deploy` | Deployment, CI/CD, pipelines, containers |
79
+
80
+ ## Formato de Output
81
+
82
+ Ao encontrar uma solução, apresente no seguinte formato:
83
+
84
+ ```
85
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
86
+
87
+ 🔴 CRITICAL: {título do problema}
88
+
89
+ 📁 Arquivo: {caminho do arquivo com solução}
90
+ 📂 Seção: {seção específica}
91
+
92
+ ❌ Erro:
93
+ {padrão de erro que identifica o problema}
94
+
95
+ 💡 Causa:
96
+ {explicação da causa raiz}
97
+
98
+ ✅ Solução:
99
+ {código ou passos para resolver}
100
+
101
+ 📚 Ver completo: morph-spec read {arquivo}
102
+
103
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
104
+ ```
105
+
106
+ ## Troubleshooting Rápido
107
+
108
+ ### Problemas Mais Comuns
109
+
110
+ | Erro | Solução Rápida |
111
+ |------|----------------|
112
+ | `blazor.web.js 404` | `<RequiresAspNetWebAssets>true</RequiresAspNetWebAssets>` |
113
+ | `PendingModelChangesWarning` | `dotnet ef migrations add <Name>` antes de update |
114
+ | `DbContext second operation` | Usar `IDbContextFactory` para background tasks |
115
+ | `Include() vazio` | Usar `HasMany(x => x.Nav)` em vez de `HasMany<T>()` |
116
+ | `Azure.Identity NU1605` | Especificar versão explícita no .csproj |
117
+ | `Key Vault não carrega` | Não condicionar ao ambiente (IsDevelopment) |
118
+ | `DefaultAzureCredential lento` | Desabilitar credenciais não usadas |
119
+
120
+ ---
121
+
122
+ **Input:** $ARGUMENTS
@@ -0,0 +1,5 @@
1
+ {
2
+ "morphVersion": "4.3.1",
3
+ "installedAt": "2026-02-19T17:49:33.357Z",
4
+ "cliVersion": "4.3.1"
5
+ }