@polymorphism-tech/morph-spec 2.3.0 → 3.0.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 (166) hide show
  1. package/CLAUDE.md +446 -1730
  2. package/README.md +515 -516
  3. package/bin/morph-spec.js +366 -294
  4. package/bin/task-manager.js +429 -368
  5. package/bin/validate.js +369 -268
  6. package/content/.claude/commands/morph-apply.md +221 -158
  7. package/content/.claude/commands/morph-deploy.md +529 -0
  8. package/content/.claude/commands/morph-preflight.md +227 -0
  9. package/content/.claude/commands/morph-proposal.md +122 -101
  10. package/content/.claude/commands/morph-status.md +86 -86
  11. package/content/.claude/commands/morph-troubleshoot.md +122 -0
  12. package/content/.claude/skills/infra/azure-deploy-specialist.md +699 -0
  13. package/content/.claude/skills/level-0-meta/README.md +7 -0
  14. package/content/.claude/skills/level-0-meta/code-review.md +226 -0
  15. package/content/.claude/skills/level-0-meta/morph-checklist.md +117 -0
  16. package/content/.claude/skills/level-0-meta/simulation-checklist.md +77 -0
  17. package/content/.claude/skills/level-1-workflows/README.md +7 -0
  18. package/content/.claude/skills/level-1-workflows/morph-replicate.md +213 -0
  19. package/content/.claude/{commands/morph-clarify.md → skills/level-1-workflows/phase-clarify.md} +131 -184
  20. package/content/.claude/{commands/morph-design.md → skills/level-1-workflows/phase-design.md} +213 -275
  21. package/content/.claude/skills/level-1-workflows/phase-setup.md +106 -0
  22. package/content/.claude/skills/level-1-workflows/phase-tasks.md +164 -0
  23. package/content/.claude/{commands/morph-uiux.md → skills/level-1-workflows/phase-uiux.md} +169 -211
  24. package/content/.claude/skills/level-2-domains/README.md +14 -0
  25. package/content/.claude/skills/level-2-domains/ai-agents/ai-system-architect.md +192 -0
  26. package/content/.claude/skills/{specialists → level-2-domains/architecture}/po-pm-advisor.md +197 -197
  27. package/content/.claude/skills/level-2-domains/architecture/standards-architect.md +156 -0
  28. package/content/.claude/skills/level-2-domains/backend/dotnet-senior.md +287 -0
  29. package/content/.claude/skills/level-2-domains/backend/ef-modeler.md +113 -0
  30. package/content/.claude/skills/level-2-domains/backend/hangfire-orchestrator.md +126 -0
  31. package/content/.claude/skills/level-2-domains/backend/ms-agent-expert.md +109 -0
  32. package/content/.claude/skills/level-2-domains/frontend/blazor-builder.md +210 -0
  33. package/content/.claude/skills/level-2-domains/frontend/nextjs-expert.md +154 -0
  34. package/content/.claude/skills/level-2-domains/frontend/ui-ux-designer.md +191 -0
  35. package/content/.claude/skills/{specialists → level-2-domains/infrastructure}/azure-architect.md +142 -142
  36. package/content/.claude/skills/level-2-domains/infrastructure/bicep-architect.md +126 -0
  37. package/content/.claude/skills/level-2-domains/infrastructure/container-specialist.md +131 -0
  38. package/content/.claude/skills/level-2-domains/infrastructure/devops-engineer.md +119 -0
  39. package/content/.claude/skills/level-2-domains/integrations/asaas-financial.md +130 -0
  40. package/content/.claude/skills/level-2-domains/integrations/azure-identity.md +142 -0
  41. package/content/.claude/skills/level-2-domains/integrations/clerk-auth.md +108 -0
  42. package/content/.claude/skills/level-2-domains/integrations/resend-email.md +119 -0
  43. package/content/.claude/skills/level-2-domains/quality/code-analyzer.md +235 -0
  44. package/content/.claude/skills/level-2-domains/quality/testing-specialist.md +126 -0
  45. package/content/.claude/skills/level-3-technologies/README.md +7 -0
  46. package/content/.claude/skills/level-4-patterns/README.md +7 -0
  47. package/content/.claude/skills/specialists/prompt-engineer.md +189 -0
  48. package/content/.claude/skills/specialists/seo-growth-hacker.md +320 -0
  49. package/content/.morph/config/agents.json +762 -242
  50. package/content/.morph/config/config.template.json +122 -108
  51. package/content/.morph/docs/workflows/design-impl.md +37 -0
  52. package/content/.morph/docs/workflows/enforcement-pipeline.md +668 -0
  53. package/content/.morph/docs/workflows/fast-track.md +29 -0
  54. package/content/.morph/docs/workflows/full-morph.md +76 -0
  55. package/content/.morph/docs/workflows/standard.md +44 -0
  56. package/content/.morph/docs/workflows/ui-refresh.md +39 -0
  57. package/content/.morph/examples/scheduled-reports/decisions.md +158 -0
  58. package/content/.morph/examples/scheduled-reports/proposal.md +95 -0
  59. package/content/.morph/examples/scheduled-reports/spec.md +267 -0
  60. package/content/.morph/hooks/README.md +348 -239
  61. package/content/.morph/hooks/pre-commit-agents.sh +24 -24
  62. package/content/.morph/hooks/task-completed.js +73 -0
  63. package/content/.morph/hooks/teammate-idle.js +68 -0
  64. package/content/.morph/schemas/tasks.schema.json +220 -0
  65. package/content/.morph/standards/agent-framework-blazor-ui.md +359 -0
  66. package/content/.morph/standards/agent-framework-production.md +410 -0
  67. package/content/.morph/standards/agent-framework-setup.md +413 -453
  68. package/content/.morph/standards/agent-framework-workflows.md +349 -0
  69. package/content/.morph/standards/agent-teams-workflow.md +474 -0
  70. package/content/.morph/standards/architecture.md +325 -325
  71. package/content/.morph/standards/azure.md +605 -379
  72. package/content/.morph/standards/dotnet10-migration.md +520 -494
  73. package/content/.morph/templates/CONTEXT-FEATURE.md +276 -0
  74. package/content/.morph/templates/CONTEXT.md +170 -0
  75. package/content/.morph/templates/agent.cs +163 -172
  76. package/content/.morph/templates/clarify-questions.md +159 -0
  77. package/content/.morph/templates/contracts/Commands.cs +74 -0
  78. package/content/.morph/templates/contracts/Entities.cs +25 -0
  79. package/content/.morph/templates/contracts/Queries.cs +74 -0
  80. package/content/.morph/templates/contracts/README.md +74 -0
  81. package/content/.morph/templates/decisions.md +123 -106
  82. package/content/.morph/templates/infra/azure-pipelines-deploy.yml +480 -0
  83. package/content/.morph/templates/infra/deploy-checklist.md +426 -0
  84. package/content/.morph/templates/proposal.md +141 -155
  85. package/content/.morph/templates/recap.md +94 -105
  86. package/content/.morph/templates/simulation.md +353 -0
  87. package/content/.morph/templates/spec.md +149 -148
  88. package/content/.morph/templates/state.template.json +222 -222
  89. package/content/.morph/templates/tasks.md +257 -235
  90. package/content/.morph/templates/ui-components.md +362 -276
  91. package/content/CLAUDE.md +150 -442
  92. package/detectors/structure-detector.js +245 -250
  93. package/docs/README.md +144 -149
  94. package/docs/getting-started.md +301 -302
  95. package/docs/installation.md +361 -361
  96. package/docs/validation-checklist.md +265 -266
  97. package/package.json +80 -80
  98. package/src/commands/advance-phase.js +266 -0
  99. package/src/commands/analyze-blazor-concurrency.js +193 -0
  100. package/src/commands/deploy.js +780 -0
  101. package/src/commands/detect-agents.js +167 -0
  102. package/src/commands/doctor.js +356 -280
  103. package/src/commands/generate-context.js +40 -0
  104. package/src/commands/init.js +258 -245
  105. package/src/commands/lint-fluent.js +352 -0
  106. package/src/commands/rollback-phase.js +185 -0
  107. package/src/commands/session-summary.js +291 -0
  108. package/src/commands/task.js +78 -75
  109. package/src/commands/troubleshoot.js +222 -0
  110. package/src/commands/update.js +192 -159
  111. package/src/commands/validate-blazor-state.js +210 -0
  112. package/src/commands/validate-blazor.js +156 -0
  113. package/src/commands/validate-css.js +84 -0
  114. package/src/commands/validate-phase.js +221 -0
  115. package/src/lib/blazor-concurrency-analyzer.js +288 -0
  116. package/src/lib/blazor-state-validator.js +291 -0
  117. package/src/lib/blazor-validator.js +374 -0
  118. package/src/lib/complexity-analyzer.js +441 -292
  119. package/src/lib/context-generator.js +513 -0
  120. package/src/lib/continuous-validator.js +421 -440
  121. package/src/lib/css-validator.js +352 -0
  122. package/src/lib/decision-constraint-loader.js +109 -0
  123. package/src/lib/design-system-detector.js +187 -0
  124. package/src/lib/design-system-scaffolder.js +299 -0
  125. package/src/lib/hook-executor.js +256 -0
  126. package/src/lib/recap-generator.js +205 -0
  127. package/src/lib/spec-validator.js +258 -0
  128. package/src/lib/standards-context-injector.js +287 -0
  129. package/src/lib/state-manager.js +397 -340
  130. package/src/lib/team-orchestrator.js +322 -0
  131. package/src/lib/troubleshoot-grep.js +194 -0
  132. package/src/lib/troubleshoot-index.js +144 -0
  133. package/src/lib/validation-runner.js +283 -0
  134. package/src/lib/validators/contract-compliance-validator.js +273 -0
  135. package/src/lib/validators/design-system-validator.js +231 -0
  136. package/src/utils/file-copier.js +187 -139
  137. package/content/.claude/commands/morph-costs.md +0 -206
  138. package/content/.claude/commands/morph-setup.md +0 -100
  139. package/content/.claude/commands/morph-tasks.md +0 -319
  140. package/content/.claude/skills/infra/bicep-architect.md +0 -419
  141. package/content/.claude/skills/infra/container-specialist.md +0 -437
  142. package/content/.claude/skills/infra/devops-engineer.md +0 -405
  143. package/content/.claude/skills/integrations/asaas-financial.md +0 -333
  144. package/content/.claude/skills/integrations/azure-identity.md +0 -309
  145. package/content/.claude/skills/integrations/clerk-auth.md +0 -290
  146. package/content/.claude/skills/specialists/ai-system-architect.md +0 -604
  147. package/content/.claude/skills/specialists/cost-guardian.md +0 -110
  148. package/content/.claude/skills/specialists/ef-modeler.md +0 -211
  149. package/content/.claude/skills/specialists/hangfire-orchestrator.md +0 -255
  150. package/content/.claude/skills/specialists/ms-agent-expert.md +0 -263
  151. package/content/.claude/skills/specialists/standards-architect.md +0 -78
  152. package/content/.claude/skills/specialists/ui-ux-designer.md +0 -1100
  153. package/content/.claude/skills/stacks/dotnet-blazor.md +0 -606
  154. package/content/.claude/skills/stacks/dotnet-nextjs.md +0 -402
  155. package/content/.claude/skills/stacks/shopify.md +0 -445
  156. package/content/.morph/config/azure-pricing.json +0 -70
  157. package/content/.morph/config/azure-pricing.schema.json +0 -50
  158. package/content/.morph/hooks/pre-commit-costs.sh +0 -91
  159. package/docs/api/cost-calculator.js.html +0 -513
  160. package/docs/api/design-system-generator.js.html +0 -382
  161. package/docs/api/global.html +0 -5263
  162. package/docs/api/index.html +0 -96
  163. package/docs/api/state-manager.js.html +0 -423
  164. package/src/commands/cost.js +0 -181
  165. package/src/commands/update-pricing.js +0 -206
  166. package/src/lib/cost-calculator.js +0 -429
@@ -1,158 +1,221 @@
1
- # Apply MORPH Feature Implementation - FASE 5
2
-
3
- Implemente a feature especificada seguindo as tasks definidas.
4
-
5
- ## Uso
6
-
7
- ```
8
- /morph-apply {feature-name}
9
- ```
10
-
11
- ## Pré-requisitos
12
-
13
- ### CRÍTICO: Validar Fases Anteriores
14
-
15
- **SEMPRE verifique que fases anteriores foram concluídas:**
16
-
17
- ```bash
18
- # Obter estado da feature
19
- node bin/state-manager.js get {feature-name}
20
- ```
21
-
22
- **Validações obrigatórias:**
23
-
24
- 1. **FASE 0 (Proposal):**
25
- - [ ] Output `proposal` criado
26
- - [ ] Agentes detectados e registrados
27
-
28
- 2. **FASE 1 (Setup):**
29
- - [ ] Phase passou por "setup"
30
- - [ ] Contexto carregado
31
-
32
- 3. **FASE 1.5 (UI/UX) - SE APLICÁVEL:**
33
- - [ ] Se `uiux-designer` está nos activeAgents → outputs ui-* devem existir
34
- - [ ] Se NÃO tem uiux-designer → pode pular
35
-
36
- 4. **FASE 2 (Design):**
37
- - [ ] Output `spec` criado
38
- - [ ] Output `contracts` criado
39
- - [ ] Output `decisions` criado
40
-
41
- 5. **FASE 3 (Clarify):**
42
- - [ ] Phase passou por "clarify"
43
- - [ ] Spec atualizado com clarificações
44
-
45
- 6. **FASE 4 (Tasks):**
46
- - [ ] Output `tasks` criado
47
- - [ ] `tasks.json` tem array de tasks
48
- - [ ] `tasks.total` > 0 no state
49
-
50
- **Se QUALQUER validação falhar:**
51
- ```
52
- ❌ ERRO: Fase {X} não foi concluída!
53
-
54
- Para continuar, execute primeiro:
55
- - /morph-proposal (FASE 0)
56
- - /morph-setup (FASE 1)
57
- - /morph-uiux (FASE 1.5 - se necessário)
58
- - /morph-design (FASE 2)
59
- - /morph-clarify (FASE 3)
60
- - /morph-tasks (FASE 4)
61
-
62
- Fase atual: {current_phase}
63
- ```
64
-
65
- **NÃO prossiga com implementação até todas as fases estarem completas!**
66
-
67
- ### Arquivos Necessários
68
-
69
- - [ ] Feature existe em `.morph/project/outputs/{feature}/`
70
- - [ ] `spec.md` está aprovado
71
- - [ ] `tasks.json` tem tasks definidas
72
- - [ ] `contracts.cs` define as interfaces
73
-
74
- ## Workflow
75
-
76
- 1. **Carregue o contexto**:
77
- - Leia `.morph/project/outputs/{feature}/spec.md`
78
- - Leia `.morph/project/outputs/{feature}/tasks.json`
79
- - Leia `.morph/project/outputs/{feature}/contracts.cs`
80
- - Leia framework/standards/ e .morph/project/standards/ para padrões
81
-
82
- 2. **Inicialize state tracking**:
83
- ```bash
84
- # Atualizar fase para implement
85
- node bin/state-manager.js set {feature} phase implement
86
- node bin/state-manager.js set {feature} status in_progress
87
-
88
- # Definir total de tasks (baseado em tasks.json)
89
- node bin/state-manager.js set {feature} tasks.total {N}
90
- ```
91
-
92
- 3. **Execute tasks em ordem**:
93
- - Marque task como `[~] In Progress`
94
- - Atualize state: `node bin/state-manager.js set {feature} tasks.inProgress 1`
95
- - Implemente seguindo os padrões
96
- - Marque task como `[x] Completed`
97
- - Atualize state: `node bin/state-manager.js set {feature} tasks.completed {X}`
98
- - Atualize state: `node bin/state-manager.js set {feature} tasks.inProgress 0`
99
-
100
- 4. **Checkpoints a cada 3 tasks**:
101
- ```bash
102
- # Registrar checkpoint
103
- node bin/state-manager.js checkpoint {feature} "Completadas tasks T001-T003"
104
- ```
105
- - Pause e apresente o que foi feito
106
- - Mostre progresso: `node bin/state-manager.js list`
107
- - Aguarde aprovação para continuar
108
-
109
- 5. **Marcar outputs criados**:
110
- Sempre que gerar um arquivo de output:
111
- ```bash
112
- node bin/state-manager.js mark-output {feature} spec
113
- node bin/state-manager.js mark-output {feature} contracts
114
- node bin/state-manager.js mark-output {feature} tasks
115
- # etc.
116
- ```
117
-
118
- 6. **Ao finalizar**:
119
- - Atualize state: `node bin/state-manager.js set {feature} status done`
120
- - Marque recap: `node bin/state-manager.js mark-output {feature} recap`
121
- - Atualize `recap.md` com resultados
122
- - Liste arquivos criados/modificados
123
- - Calcule custo real vs estimado
124
-
125
- ## Padrões Obrigatórios
126
-
127
- Siga sempre (priorize project/standards/ se houver):
128
- - `framework/standards/coding.md` - Padrões base do MORPH
129
- - `.morph/project/standards/coding.md` - Padrões específicos do projeto
130
- - `.morph/project/standards/architecture.md` - Estrutura de projeto
131
- - `.morph/project/standards/azure.md` - Recursos e custos
132
-
133
- ## Validações
134
-
135
- Antes de marcar task como completa:
136
- - [ ] Código compila
137
- - [ ] Segue padrões de nomenclatura
138
- - [ ] Testes unitários (se aplicável)
139
- - [ ] Sem hardcoded secrets
140
-
141
- ## Output
142
-
143
- Ao final de cada task, mostre:
144
- 1. Task completada
145
- 2. Arquivos criados/modificados
146
- 3. Próxima task
147
- 4. Progresso geral (X/Y tasks) - usar `node bin/state-manager.js get {feature}`
148
-
149
- Ao final de cada checkpoint:
150
- ```bash
151
- node bin/state-manager.js list
152
- ```
153
-
154
- Isso mostra o progresso atualizado automaticamente.
155
-
156
- ---
157
-
158
- **Feature:** $ARGUMENTS
1
+ # Apply MORPH Feature Implementation - FASE 5
2
+
3
+ Implemente a feature especificada seguindo as tasks definidas.
4
+
5
+ ## Uso
6
+
7
+ ```
8
+ /morph-apply {feature-name}
9
+ ```
10
+
11
+ ## Pré-requisitos
12
+
13
+ ### CRÍTICO: Validar Fases Anteriores
14
+
15
+ **SEMPRE verifique que fases anteriores foram concluídas:**
16
+
17
+ ```bash
18
+ # Obter estado da feature
19
+ npx morph-spec state get {feature-name}
20
+ ```
21
+
22
+ **Validações obrigatórias:**
23
+
24
+ 1. **FASE 0 (Proposal):**
25
+ - [ ] Output `proposal` criado
26
+ - [ ] Agentes detectados e registrados
27
+
28
+ 2. **FASE 1 (Setup):**
29
+ - [ ] Phase passou por "setup"
30
+ - [ ] Contexto carregado
31
+
32
+ 3. **FASE 1.5 (UI/UX) - SE APLICÁVEL:**
33
+ - [ ] Se `uiux-designer` está nos activeAgents → outputs ui-* devem existir
34
+ - [ ] Se NÃO tem uiux-designer → pode pular
35
+
36
+ 4. **FASE 2 (Design):**
37
+ - [ ] Output `spec` criado
38
+ - [ ] Output `contracts` criado
39
+ - [ ] Output `decisions` criado
40
+
41
+ 5. **FASE 3 (Clarify):**
42
+ - [ ] Phase passou por "clarify"
43
+ - [ ] Spec atualizado com clarificações
44
+
45
+ 6. **FASE 4 (Tasks):**
46
+ - [ ] Output `tasks` criado
47
+ - [ ] `tasks.json` tem array de tasks
48
+ - [ ] `tasks.total` > 0 no state
49
+
50
+ **Se QUALQUER validação falhar:**
51
+ ```
52
+ ❌ ERRO: Fase {X} não foi concluída!
53
+
54
+ Para completar as fases de planejamento, execute:
55
+ /morph-proposal {feature-name}
56
+ (Resume automaticamente da fase atual: {current_phase})
57
+ ```
58
+
59
+ **NÃO prossiga com implementação até todas as fases estarem completas!**
60
+
61
+ ### Arquivos Necessários
62
+
63
+ - [ ] Feature existe em `.morph/project/outputs/{feature}/`
64
+ - [ ] `spec.md` está aprovado
65
+ - [ ] `tasks.json` tem tasks definidas
66
+ - [ ] `contracts.cs` define as interfaces
67
+
68
+ ## Workflow
69
+
70
+ 1. **Carregue o contexto**:
71
+ - Leia `.morph/project/outputs/{feature}/spec.md`
72
+ - Leia `.morph/project/outputs/{feature}/tasks.json`
73
+ - Leia `.morph/project/outputs/{feature}/contracts.cs`
74
+ - Leia framework/standards/ e .morph/project/standards/ para padrões
75
+
76
+ 2. **Inicialize state tracking**:
77
+ ```bash
78
+ # Atualizar fase para implement
79
+ npx morph-spec state set {feature} phase implement
80
+ npx morph-spec state set {feature} status in_progress
81
+
82
+ # Definir total de tasks (baseado em tasks.json)
83
+ npx morph-spec state set {feature} tasks.total {N}
84
+ ```
85
+
86
+ 3. **Execute tasks em ordem**:
87
+ - Marque task como in progress: `npx morph-spec task start {feature} {task-id}`
88
+ - Implemente seguindo os padrões e contracts.cs
89
+ - Complete task: `npx morph-spec task done {feature} {task-id}`
90
+ - **Validators run automatically** on task-done. If validation fails:
91
+ - Read the error messages and fix violations
92
+ - Re-run `task done` — do NOT use `--skip-validation` unless user authorizes
93
+ - Framework auto-manages checkpoints (every 3 tasks, includes validation summary)
94
+
95
+ 4. **Phase advancement**:
96
+ ```bash
97
+ # Advance to next phase (validates advances → shows next steps)
98
+ npx morph-spec phase advance {feature}
99
+ ```
100
+
101
+ 5. **Marcar outputs criados**:
102
+ Sempre que gerar um arquivo de output:
103
+ ```bash
104
+ npx morph-spec state mark-output {feature} spec
105
+ npx morph-spec state mark-output {feature} contracts
106
+ npx morph-spec state mark-output {feature} tasks
107
+ # etc.
108
+ ```
109
+
110
+ 6. **Ao finalizar**:
111
+ - Generate recap automatically: `npx morph-spec generate recap {feature}`
112
+ - Atualize state: `npx morph-spec state set {feature} status done`
113
+ - Marque recap: `npx morph-spec state mark-output {feature} recap`
114
+ - Liste arquivos criados/modificados
115
+ - Calcule custo real vs estimado
116
+
117
+ ## Padrões Obrigatórios
118
+
119
+ Siga sempre (priorize project/standards/ se houver):
120
+ - `framework/standards/coding.md` - Padrões base do MORPH
121
+ - `.morph/project/standards/coding.md` - Padrões específicos do projeto
122
+ - `.morph/project/standards/architecture.md` - Estrutura de projeto
123
+ - `.morph/project/standards/azure.md` - Recursos e custos
124
+
125
+ ---
126
+
127
+ ## Checklist Pré-Deploy Azure
128
+
129
+ **ANTES de fazer deploy para Azure, execute `/morph-preflight azure` ou verifique manualmente:**
130
+
131
+ ### Packages e Build
132
+
133
+ - [ ] Packages sem conflitos de versão (`dotnet restore` sem warnings NU1605/NU1608)
134
+ - [ ] `Azure.Identity` especificado explicitamente no `.csproj`
135
+ - [ ] Build passa sem erros (`dotnet build`)
136
+
137
+ ### EF Core Migrations
138
+
139
+ - [ ] Sem pending model changes (`dotnet ef migrations has-pending-model-changes`)
140
+ - [ ] Migration criada para todas as mudanças de schema
141
+ - [ ] Migration script revisado (`dotnet ef migrations script --idempotent`)
142
+
143
+ ### Blazor .NET 10 (se aplicável)
144
+
145
+ - [ ] `.csproj` contém `<RequiresAspNetWebAssets>true</RequiresAspNetWebAssets>`
146
+ - [ ] Static assets funcionando localmente
147
+
148
+ ### Container/Docker (se Container Apps)
149
+
150
+ - [ ] Dockerfile válido e testado localmente
151
+ - [ ] `docker build` funciona sem erros
152
+ - [ ] Container roda localmente (`docker run`)
153
+
154
+ ### Infraestrutura Azure
155
+
156
+ - [ ] Bicep sem erros de sintaxe (`az bicep build`)
157
+ - [ ] Key Vault URI configurado em `appsettings.Production.json`
158
+ - [ ] Connection strings em Key Vault (não hardcoded)
159
+ - [ ] Managed Identity habilitada nos recursos
160
+
161
+ ### Segurança
162
+
163
+ - [ ] Sem secrets em código ou `appsettings.json` (exceto Development)
164
+ - [ ] HTTPS enforçado
165
+ - [ ] CORS configurado corretamente
166
+
167
+ ### Comandos de Verificação
168
+
169
+ ```bash
170
+ # 1. Package conflicts
171
+ dotnet restore 2>&1 | grep -E "NU1605|NU1608"
172
+
173
+ # 2. Pending migrations
174
+ dotnet ef migrations has-pending-model-changes \
175
+ --project src/Infrastructure \
176
+ --startup-project src/Web
177
+
178
+ # 3. Bicep validation
179
+ az bicep build --file infra/main.bicep --stdout > /dev/null
180
+
181
+ # 4. Docker build
182
+ docker build -t myapp:test .
183
+
184
+ # 5. Secret scan (basic)
185
+ grep -rE "(Password=|Pwd=|Secret=)" appsettings*.json | grep -v Development
186
+ ```
187
+
188
+ ### Se QUALQUER item falhar
189
+
190
+ ```
191
+ ❌ BLOQUEADO: Não faça deploy até resolver!
192
+
193
+ Use /morph-preflight azure para diagnóstico detalhado.
194
+ ```
195
+
196
+ ## Validações
197
+
198
+ Antes de marcar task como completa:
199
+ - [ ] Código compila
200
+ - [ ] Segue padrões de nomenclatura
201
+ - [ ] Testes unitários (se aplicável)
202
+ - [ ] Sem hardcoded secrets
203
+
204
+ ## Output
205
+
206
+ Ao final de cada task, mostre:
207
+ 1. Task completada
208
+ 2. Arquivos criados/modificados
209
+ 3. Próxima task
210
+ 4. Progresso geral (X/Y tasks) - usar `npx morph-spec state get {feature}`
211
+
212
+ Ao final de cada checkpoint:
213
+ ```bash
214
+ npx morph-spec state list
215
+ ```
216
+
217
+ Isso mostra o progresso atualizado automaticamente.
218
+
219
+ ---
220
+
221
+ **Feature:** $ARGUMENTS