@polymorphism-tech/morph-spec 2.2.0 → 2.4.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 (251) hide show
  1. package/CLAUDE.md +314 -1673
  2. package/LICENSE +72 -72
  3. package/README.md +515 -516
  4. package/bin/detect-agents.js +225 -225
  5. package/bin/morph-spec.js +358 -173
  6. package/bin/render-template.js +302 -302
  7. package/bin/semantic-detect-agents.js +246 -246
  8. package/bin/task-manager.js +429 -0
  9. package/bin/validate-agents-skills.js +251 -251
  10. package/bin/validate-agents.js +69 -69
  11. package/bin/validate-phase.js +263 -263
  12. package/bin/validate.js +369 -0
  13. package/content/.azure/README.md +293 -293
  14. package/content/.azure/docs/azure-devops-setup.md +454 -454
  15. package/content/.azure/docs/branch-strategy.md +398 -398
  16. package/content/.azure/docs/local-development.md +515 -515
  17. package/content/.azure/pipelines/pipeline-variables.yml +34 -34
  18. package/content/.azure/pipelines/prod-pipeline.yml +319 -319
  19. package/content/.azure/pipelines/staging-pipeline.yml +234 -234
  20. package/content/.azure/pipelines/templates/build-dotnet.yml +75 -75
  21. package/content/.azure/pipelines/templates/deploy-app-service.yml +94 -94
  22. package/content/.azure/pipelines/templates/deploy-container-app.yml +120 -120
  23. package/content/.azure/pipelines/templates/infra-deploy.yml +90 -90
  24. package/content/.claude/commands/morph-apply.md +221 -158
  25. package/content/.claude/commands/morph-archive.md +79 -79
  26. package/content/.claude/commands/morph-infra.md +209 -209
  27. package/content/.claude/commands/morph-preflight.md +227 -0
  28. package/content/.claude/commands/morph-proposal.md +122 -101
  29. package/content/.claude/commands/morph-status.md +86 -86
  30. package/content/.claude/commands/morph-troubleshoot.md +122 -0
  31. package/content/.claude/settings.local.json +15 -15
  32. package/content/.claude/skills/checklists/code-review.md +226 -0
  33. package/content/.claude/skills/checklists/morph-checklist.md +117 -0
  34. package/content/.claude/skills/checklists/simulation-checklist.md +77 -0
  35. package/content/.claude/skills/infra/bicep-architect.md +126 -419
  36. package/content/.claude/skills/infra/container-specialist.md +131 -437
  37. package/content/.claude/skills/infra/devops-engineer.md +119 -405
  38. package/content/.claude/skills/integrations/asaas-financial.md +130 -333
  39. package/content/.claude/skills/integrations/azure-identity.md +142 -309
  40. package/content/.claude/skills/integrations/clerk-auth.md +108 -290
  41. package/content/.claude/skills/integrations/resend-email.md +119 -0
  42. package/content/.claude/skills/specialists/ai-system-architect.md +192 -604
  43. package/content/.claude/skills/specialists/azure-architect.md +142 -142
  44. package/content/.claude/skills/specialists/code-analyzer.md +235 -0
  45. package/content/.claude/skills/specialists/dotnet-senior.md +287 -0
  46. package/content/.claude/skills/specialists/ef-modeler.md +113 -200
  47. package/content/.claude/skills/specialists/hangfire-orchestrator.md +126 -245
  48. package/content/.claude/skills/specialists/ms-agent-expert.md +109 -263
  49. package/content/.claude/skills/specialists/po-pm-advisor.md +197 -197
  50. package/content/.claude/skills/specialists/standards-architect.md +156 -78
  51. package/content/.claude/skills/specialists/testing-specialist.md +126 -0
  52. package/content/.claude/skills/specialists/ui-ux-designer.md +191 -1060
  53. package/content/.claude/skills/stacks/dotnet-blazor.md +210 -588
  54. package/content/.claude/skills/stacks/dotnet-nextjs.md +154 -402
  55. package/content/.claude/skills/workflows/morph-replicate.md +213 -0
  56. package/content/.claude/{commands/morph-clarify.md → skills/workflows/phase-clarify.md} +5 -58
  57. package/content/.claude/{commands/morph-design.md → skills/workflows/phase-design.md} +16 -86
  58. package/content/.claude/{commands/morph-setup.md → skills/workflows/phase-setup.md} +9 -17
  59. package/content/.claude/skills/workflows/phase-tasks.md +164 -0
  60. package/content/.claude/{commands/morph-uiux.md → skills/workflows/phase-uiux.md} +15 -88
  61. package/content/.morph/.morphversion +5 -5
  62. package/content/.morph/archive/.gitkeep +25 -25
  63. package/content/.morph/config/agents.json +378 -242
  64. package/content/.morph/config/config.template.json +89 -108
  65. package/content/.morph/docs/STORY-DRIVEN-DEVELOPMENT.md +392 -392
  66. package/content/.morph/docs/workflows/design-impl.md +37 -0
  67. package/content/.morph/docs/workflows/fast-track.md +29 -0
  68. package/content/.morph/docs/workflows/full-morph.md +76 -0
  69. package/content/.morph/docs/workflows/standard.md +44 -0
  70. package/content/.morph/docs/workflows/ui-refresh.md +39 -0
  71. package/content/.morph/examples/api-nextjs/README.md +241 -241
  72. package/content/.morph/examples/api-nextjs/contracts.ts +307 -307
  73. package/content/.morph/examples/api-nextjs/spec.md +399 -399
  74. package/content/.morph/examples/api-nextjs/tasks.md +168 -168
  75. package/content/.morph/examples/micro-saas/README.md +125 -125
  76. package/content/.morph/examples/micro-saas/contracts.cs +358 -358
  77. package/content/.morph/examples/micro-saas/decisions.md +246 -246
  78. package/content/.morph/examples/micro-saas/spec.md +236 -236
  79. package/content/.morph/examples/micro-saas/tasks.md +150 -150
  80. package/content/.morph/examples/multi-agent/README.md +309 -309
  81. package/content/.morph/examples/multi-agent/contracts.cs +433 -433
  82. package/content/.morph/examples/multi-agent/spec.md +479 -479
  83. package/content/.morph/examples/multi-agent/tasks.md +185 -185
  84. package/content/.morph/examples/scheduled-reports/decisions.md +158 -0
  85. package/content/.morph/examples/scheduled-reports/proposal.md +95 -0
  86. package/content/.morph/examples/scheduled-reports/spec.md +267 -0
  87. package/content/.morph/examples/state-v3.json +188 -0
  88. package/content/.morph/features/.gitkeep +25 -25
  89. package/content/.morph/hooks/README.md +190 -239
  90. package/content/.morph/hooks/pre-commit-agents.sh +24 -24
  91. package/content/.morph/hooks/pre-commit-all.sh +48 -48
  92. package/content/.morph/hooks/pre-commit-specs.sh +49 -49
  93. package/content/.morph/hooks/pre-commit-tests.sh +60 -60
  94. package/content/.morph/project.md +160 -160
  95. package/content/.morph/schemas/agent.schema.json +296 -296
  96. package/content/.morph/schemas/tasks.schema.json +220 -0
  97. package/content/.morph/specs/.gitkeep +20 -20
  98. package/content/.morph/standards/agent-framework-blazor-ui.md +359 -0
  99. package/content/.morph/standards/agent-framework-production.md +410 -0
  100. package/content/.morph/standards/agent-framework-setup.md +413 -453
  101. package/content/.morph/standards/agent-framework-workflows.md +349 -0
  102. package/content/.morph/standards/architecture.md +325 -325
  103. package/content/.morph/standards/azure.md +605 -379
  104. package/content/.morph/standards/coding.md +377 -377
  105. package/content/.morph/standards/dotnet10-migration.md +520 -494
  106. package/content/.morph/standards/fluent-ui-setup.md +590 -590
  107. package/content/.morph/standards/migration-guide.md +514 -514
  108. package/content/.morph/standards/passkeys-auth.md +423 -423
  109. package/content/.morph/standards/vector-search-rag.md +536 -536
  110. package/content/.morph/state.json +17 -17
  111. package/content/.morph/templates/FluentDesignTheme.cs +149 -149
  112. package/content/.morph/templates/MudTheme.cs +281 -281
  113. package/content/.morph/templates/agent.cs +163 -172
  114. package/content/.morph/templates/clarify-questions.md +159 -0
  115. package/content/.morph/templates/component.razor +239 -239
  116. package/content/.morph/templates/contracts/Commands.cs +74 -0
  117. package/content/.morph/templates/contracts/Entities.cs +25 -0
  118. package/content/.morph/templates/contracts/Queries.cs +74 -0
  119. package/content/.morph/templates/contracts/README.md +74 -0
  120. package/content/.morph/templates/contracts.cs +217 -217
  121. package/content/.morph/templates/decisions.md +123 -106
  122. package/content/.morph/templates/design-system.css +226 -226
  123. package/content/.morph/templates/infra/.dockerignore.example +89 -89
  124. package/content/.morph/templates/infra/Dockerfile.example +82 -82
  125. package/content/.morph/templates/infra/README.md +286 -286
  126. package/content/.morph/templates/infra/app-insights.bicep +63 -63
  127. package/content/.morph/templates/infra/app-service.bicep +164 -164
  128. package/content/.morph/templates/infra/container-app-env.bicep +49 -49
  129. package/content/.morph/templates/infra/container-app.bicep +156 -156
  130. package/content/.morph/templates/infra/deploy-checklist.md +426 -0
  131. package/content/.morph/templates/infra/deploy.ps1 +229 -229
  132. package/content/.morph/templates/infra/deploy.sh +208 -208
  133. package/content/.morph/templates/infra/key-vault.bicep +91 -91
  134. package/content/.morph/templates/infra/main.bicep +189 -189
  135. package/content/.morph/templates/infra/parameters.dev.json +29 -29
  136. package/content/.morph/templates/infra/parameters.prod.json +29 -29
  137. package/content/.morph/templates/infra/parameters.staging.json +29 -29
  138. package/content/.morph/templates/infra/sql-database.bicep +103 -103
  139. package/content/.morph/templates/infra/storage.bicep +106 -106
  140. package/content/.morph/templates/integrations/asaas-client.cs +387 -387
  141. package/content/.morph/templates/integrations/asaas-webhook.cs +351 -351
  142. package/content/.morph/templates/integrations/azure-identity-config.cs +288 -288
  143. package/content/.morph/templates/integrations/clerk-config.cs +258 -258
  144. package/content/.morph/templates/job.cs +171 -171
  145. package/content/.morph/templates/migration.cs +83 -83
  146. package/content/.morph/templates/proposal.md +141 -155
  147. package/content/.morph/templates/recap.md +94 -105
  148. package/content/.morph/templates/repository.cs +141 -141
  149. package/content/.morph/templates/saas/subscription.cs +347 -347
  150. package/content/.morph/templates/saas/tenant.cs +338 -338
  151. package/content/.morph/templates/service.cs +139 -139
  152. package/content/.morph/templates/simulation.md +353 -0
  153. package/content/.morph/templates/spec.md +149 -148
  154. package/content/.morph/templates/sprint-status.yaml +68 -68
  155. package/content/.morph/templates/state.template.json +222 -222
  156. package/content/.morph/templates/story.md +143 -143
  157. package/content/.morph/templates/tasks.md +257 -235
  158. package/content/.morph/templates/test.cs +239 -239
  159. package/content/.morph/templates/ui-components.md +362 -276
  160. package/content/.morph/templates/ui-design-system.md +286 -286
  161. package/content/.morph/templates/ui-flows.md +336 -336
  162. package/content/.morph/templates/ui-mockups.md +133 -133
  163. package/content/.morph/test-infra/example.bicep +59 -59
  164. package/content/CLAUDE.md +150 -442
  165. package/content/README.md +79 -79
  166. package/detectors/config-detector.js +223 -223
  167. package/detectors/conversation-analyzer.js +163 -163
  168. package/detectors/index.js +84 -84
  169. package/detectors/standards-generator.js +275 -275
  170. package/detectors/structure-detector.js +245 -250
  171. package/docs/README.md +144 -149
  172. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +977 -977
  173. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1048 -1048
  174. package/docs/api/scripts/collapse.js +38 -38
  175. package/docs/api/scripts/commonNav.js +28 -28
  176. package/docs/api/scripts/linenumber.js +25 -25
  177. package/docs/api/scripts/nav.js +12 -12
  178. package/docs/api/scripts/polyfill.js +3 -3
  179. package/docs/api/scripts/prettify/Apache-License-2.0.txt +202 -202
  180. package/docs/api/scripts/prettify/lang-css.js +2 -2
  181. package/docs/api/scripts/prettify/prettify.js +28 -28
  182. package/docs/api/scripts/search.js +98 -98
  183. package/docs/api/styles/jsdoc.css +776 -776
  184. package/docs/api/styles/prettify.css +80 -80
  185. package/docs/examples.md +328 -328
  186. package/docs/getting-started.md +301 -302
  187. package/docs/installation.md +361 -361
  188. package/docs/templates.md +418 -418
  189. package/docs/validation-checklist.md +265 -266
  190. package/package.json +80 -80
  191. package/scripts/postinstall.js +132 -132
  192. package/src/commands/advance-phase.js +183 -0
  193. package/src/commands/analyze-blazor-concurrency.js +193 -0
  194. package/src/commands/create-story.js +351 -351
  195. package/src/commands/detect-agents.js +139 -0
  196. package/src/commands/detect.js +104 -104
  197. package/src/commands/doctor.js +356 -280
  198. package/src/commands/generate.js +149 -149
  199. package/src/commands/init.js +258 -245
  200. package/src/commands/lint-fluent.js +352 -0
  201. package/src/commands/rollback-phase.js +185 -0
  202. package/src/commands/session-summary.js +291 -0
  203. package/src/commands/shard-spec.js +224 -224
  204. package/src/commands/sprint-status.js +250 -250
  205. package/src/commands/state.js +333 -333
  206. package/src/commands/sync.js +167 -167
  207. package/src/commands/task.js +78 -0
  208. package/src/commands/troubleshoot.js +222 -0
  209. package/src/commands/update.js +192 -159
  210. package/src/commands/validate-blazor-state.js +210 -0
  211. package/src/commands/validate-blazor.js +156 -0
  212. package/src/commands/validate-css.js +84 -0
  213. package/src/commands/validate-phase.js +221 -0
  214. package/src/lib/blazor-concurrency-analyzer.js +288 -0
  215. package/src/lib/blazor-state-validator.js +291 -0
  216. package/src/lib/blazor-validator.js +374 -0
  217. package/src/lib/complexity-analyzer.js +441 -292
  218. package/src/lib/continuous-validator.js +421 -0
  219. package/src/lib/css-validator.js +352 -0
  220. package/src/lib/decision-constraint-loader.js +109 -0
  221. package/src/lib/design-system-generator.js +298 -298
  222. package/src/lib/learning-system.js +520 -0
  223. package/src/lib/mockup-generator.js +366 -0
  224. package/src/lib/recap-generator.js +205 -0
  225. package/src/lib/state-manager.js +397 -340
  226. package/src/lib/troubleshoot-grep.js +194 -0
  227. package/src/lib/troubleshoot-index.js +144 -0
  228. package/src/lib/ui-detector.js +350 -0
  229. package/src/lib/validation-runner.js +231 -0
  230. package/src/lib/validators/architecture-validator.js +387 -0
  231. package/src/lib/validators/contract-compliance-validator.js +273 -0
  232. package/src/lib/validators/package-validator.js +360 -0
  233. package/src/lib/validators/ui-contrast-validator.js +422 -0
  234. package/src/utils/file-copier.js +179 -139
  235. package/src/utils/logger.js +32 -32
  236. package/src/utils/version-checker.js +175 -175
  237. package/content/.claude/commands/morph-costs.md +0 -206
  238. package/content/.claude/commands/morph-tasks.md +0 -319
  239. package/content/.claude/skills/specialists/cost-guardian.md +0 -110
  240. package/content/.claude/skills/stacks/shopify.md +0 -445
  241. package/content/.morph/config/azure-pricing.json +0 -70
  242. package/content/.morph/config/azure-pricing.schema.json +0 -50
  243. package/content/.morph/hooks/pre-commit-costs.sh +0 -91
  244. package/docs/api/cost-calculator.js.html +0 -513
  245. package/docs/api/design-system-generator.js.html +0 -382
  246. package/docs/api/global.html +0 -5263
  247. package/docs/api/index.html +0 -96
  248. package/docs/api/state-manager.js.html +0 -423
  249. package/src/commands/cost.js +0 -181
  250. package/src/commands/update-pricing.js +0 -206
  251. package/src/lib/cost-calculator.js +0 -429
@@ -1,319 +0,0 @@
1
- # MORPH Tasks - FASE 4
2
-
3
- Quebre a especificação em tasks executáveis, defina ordem de execução e estabeleça checkpoints.
4
-
5
- ## Uso
6
-
7
- ```
8
- /morph-tasks {feature-name}
9
- ```
10
-
11
- ## Pré-requisitos
12
-
13
- - [ ] FASE 3 (Clarify) concluída
14
- - [ ] `spec.md` atualizado com clarificações
15
- - [ ] Todos os edge cases documentados
16
-
17
- ## Workflow
18
-
19
- ### Passo 1: Analisar Spec
20
-
21
- Leia `.morph/project/outputs/{feature}/spec.md` e identifique:
22
-
23
- 1. **Requisitos funcionais** (FR001, FR002, ...)
24
- 2. **Componentes técnicos** (Entities, Services, Controllers, Pages)
25
- 3. **Infraestrutura** (Bicep, migrations, configs)
26
- 4. **Testes** (Unit tests, integration tests)
27
-
28
- ### Passo 2: Quebrar em Tasks
29
-
30
- Crie tasks no formato **T{NNN}** seguindo ordem lógica de implementação.
31
-
32
- #### 2.1. Estrutura de Task
33
-
34
- ```json
35
- {
36
- "id": "T001",
37
- "title": "Criar Entity {Nome}",
38
- "description": "Implementar entity {Nome} com propriedades X, Y, Z seguindo padrões EF Core",
39
- "category": "domain",
40
- "dependencies": [],
41
- "estimatedMinutes": 30,
42
- "status": "pending",
43
- "files": [
44
- "Domain/Entities/{Nome}.cs",
45
- "Infrastructure/Data/Configurations/{Nome}Configuration.cs"
46
- ]
47
- }
48
- ```
49
-
50
- #### 2.2. Categorias de Tasks
51
-
52
- | Categoria | Descrição | Exemplos |
53
- |-----------|-----------|----------|
54
- | **domain** | Entities, Value Objects, Enums | Entity, DomainException |
55
- | **application** | Services, DTOs, Interfaces | Service, Validator, Mapper |
56
- | **infrastructure** | DbContext, Repositories, External APIs | EF Config, Repository impl |
57
- | **presentation** | Controllers, Pages, Components | API endpoint, Blazor page |
58
- | **tests** | Unit tests, Integration tests | Service tests, API tests |
59
- | **infra** | Bicep, Migrations, Scripts | Azure resources, DB migration |
60
- | **docs** | README, API docs, Swagger | OpenAPI spec, README update |
61
-
62
- #### 2.3. Ordem de Implementação
63
-
64
- **Bottom-up approach:**
65
- ```
66
- 1. Domain (Entities, Enums, Value Objects)
67
-
68
- 2. Infrastructure (Repositories, DbContext configs)
69
-
70
- 3. Application (Services, DTOs, Business logic)
71
-
72
- 4. Presentation (Controllers, Pages, Components)
73
-
74
- 5. Tests (Unit → Integration)
75
-
76
- 6. Infra (Bicep, Migrations, Deploy scripts)
77
-
78
- 7. Docs (README, Swagger, Comments)
79
- ```
80
-
81
- ### Passo 3: Definir Dependências
82
-
83
- Para cada task, especifique dependências:
84
-
85
- ```json
86
- {
87
- "id": "T005",
88
- "title": "Criar {Nome}Service",
89
- "dependencies": ["T001", "T002"], // Precisa de Entities primeiro
90
- "status": "pending"
91
- }
92
- ```
93
-
94
- **Regra:** Task só pode ser executada quando todas as dependências estão `completed`.
95
-
96
- ### Passo 4: Estabelecer Checkpoints
97
-
98
- Defina checkpoints a cada **3 tasks** ou **marcos significativos**:
99
-
100
- ```json
101
- {
102
- "id": "CHECKPOINT_001",
103
- "title": "Domain Layer Completo",
104
- "afterTasks": ["T001", "T002", "T003"],
105
- "validations": [
106
- "Todas as entities criadas",
107
- "Migrations aplicadas",
108
- "Testes de domain passando"
109
- ]
110
- }
111
- ```
112
-
113
- **Checkpoints obrigatórios:**
114
- - Após domain layer
115
- - Após infrastructure layer
116
- - Após application layer
117
- - Após presentation layer
118
- - Antes de deploy (final)
119
-
120
- ### Passo 5: Estimar Esforço
121
-
122
- Para cada task, estime tempo em minutos:
123
-
124
- | Complexidade | Tempo Estimado |
125
- |--------------|----------------|
126
- | Trivial (CRUD básico) | 15-30 min |
127
- | Simples (Service, Controller) | 30-60 min |
128
- | Média (Business logic, validações) | 60-120 min |
129
- | Complexa (Integrações, AI) | 120-240 min |
130
-
131
- **Total:** Some todos os tempos para estimar esforço total da feature.
132
-
133
- ### Passo 6: Gerar `tasks.json`
134
-
135
- Crie `.morph/project/outputs/{feature}/tasks.json`:
136
-
137
- ```json
138
- {
139
- "feature": "{feature-name}",
140
- "totalTasks": 15,
141
- "estimatedHours": 8.5,
142
- "checkpoints": [
143
- {
144
- "id": "CHECKPOINT_001",
145
- "title": "Domain Layer Completo",
146
- "afterTasks": ["T001", "T002", "T003"]
147
- },
148
- {
149
- "id": "CHECKPOINT_002",
150
- "title": "Application Layer Completo",
151
- "afterTasks": ["T006", "T007", "T008"]
152
- }
153
- ],
154
- "tasks": [
155
- {
156
- "id": "T001",
157
- "title": "Criar Entity {Nome}",
158
- "description": "...",
159
- "category": "domain",
160
- "dependencies": [],
161
- "estimatedMinutes": 30,
162
- "status": "pending",
163
- "files": ["Domain/Entities/{Nome}.cs"]
164
- },
165
- {
166
- "id": "T002",
167
- "title": "Configurar EF para {Nome}",
168
- "description": "...",
169
- "category": "infrastructure",
170
- "dependencies": ["T001"],
171
- "estimatedMinutes": 20,
172
- "status": "pending",
173
- "files": ["Infrastructure/Data/Configurations/{Nome}Configuration.cs"]
174
- }
175
- // ... mais tasks
176
- ]
177
- }
178
- ```
179
-
180
- ### Passo 7: Incluir Tasks de IaC (se necessário)
181
-
182
- Se houver recursos Azure:
183
-
184
- ```json
185
- {
186
- "id": "T050",
187
- "title": "Criar Bicep para Azure SQL",
188
- "description": "Bicep module para Azure SQL Database Basic tier",
189
- "category": "infra",
190
- "dependencies": ["T001", "T002"], // Domain entities devem existir
191
- "estimatedMinutes": 45,
192
- "status": "pending",
193
- "files": [
194
- "infra/modules/sql-database.bicep",
195
- "infra/parameters.dev.json"
196
- ]
197
- },
198
- {
199
- "id": "T051",
200
- "title": "Criar migration inicial",
201
- "description": "EF Core migration com todas as entities",
202
- "category": "infra",
203
- "dependencies": ["T002", "T003"],
204
- "estimatedMinutes": 15,
205
- "status": "pending",
206
- "files": ["Infrastructure/Data/Migrations/"]
207
- }
208
- ```
209
-
210
- ### Passo 8: Atualizar State
211
-
212
- ```bash
213
- # Marcar fase como tasks
214
- node bin/state-manager.js set {feature-name} phase tasks
215
-
216
- # Definir total de tasks
217
- node bin/state-manager.js set {feature-name} tasks.total {N}
218
-
219
- # Marcar output tasks criado
220
- node bin/state-manager.js mark-output {feature-name} tasks
221
- ```
222
-
223
- ## Outputs Gerados
224
-
225
- - `.morph/project/outputs/{feature}/tasks.json` - Breakdown completo de tasks
226
-
227
- **Resumo em formato texto:**
228
-
229
- Gere também um resumo visual em `.morph/project/outputs/{feature}/tasks-summary.md`:
230
-
231
- ```markdown
232
- # Tasks Breakdown - {Feature Name}
233
-
234
- ## Overview
235
- - **Total Tasks:** 15
236
- - **Estimated Time:** 8.5 hours
237
- - **Checkpoints:** 3
238
-
239
- ## Tasks by Category
240
-
241
- ### Domain (3 tasks, 1.5h)
242
- - T001: Criar Entity {Nome} (30min)
243
- - T002: Configurar EF para {Nome} (20min)
244
- - T003: Criar Enum {Status} (15min)
245
-
246
- ### Infrastructure (4 tasks, 2h)
247
- - T004: Criar Repository interface (30min)
248
- - T005: Implementar Repository (60min)
249
- - ...
250
-
251
- ### Application (5 tasks, 3h)
252
- - T006: Criar {Nome}Service (90min)
253
- - T007: Criar DTOs (45min)
254
- - ...
255
-
256
- ### Presentation (3 tasks, 2h)
257
- - T010: Criar API Controller (60min)
258
- - T011: Criar Blazor Page (60min)
259
- - ...
260
-
261
- ## Checkpoints
262
-
263
- ### CHECKPOINT_001: Domain Layer Completo
264
- **After:** T001, T002, T003
265
- **Validations:**
266
- - [ ] Entities criadas
267
- - [ ] EF configurations ok
268
- - [ ] Compile sem erros
269
-
270
- ### CHECKPOINT_002: Application Layer Completo
271
- **After:** T006, T007, T008
272
- **Validations:**
273
- - [ ] Services implementados
274
- - [ ] DTOs validados
275
- - [ ] Testes unitários passando
276
-
277
- ## Execution Order
278
-
279
- ```
280
- T001 → T002 → T003 → CHECKPOINT_001
281
-
282
- T004 → T005
283
-
284
- T006 → T007 → T008 → CHECKPOINT_002
285
-
286
- T010 → T011 → T012
287
-
288
- T013 → T014 → T015 → CHECKPOINT_003
289
- ```
290
- ```
291
-
292
- ## ⛔ PAUSA OBRIGATÓRIA
293
-
294
- Apresente ao usuário 3 ações sugeridas:
295
-
296
- 1. ✅ **Aprovar breakdown e iniciar implementação**
297
- Prosseguir para `/morph-apply` (FASE 5)
298
-
299
- 2. 🔀 **Repriorizar tasks**
300
- Mudar ordem de execução se necessário
301
-
302
- 3. ➕ **Adicionar/remover tasks**
303
- Ajustar escopo se alguma task foi esquecida ou é desnecessária
304
-
305
- ## Critérios de Avanço
306
-
307
- - [x] `tasks.json` criado com todas as tasks
308
- - [x] Tasks categorizadas corretamente
309
- - [x] Dependências mapeadas
310
- - [x] Checkpoints definidos (a cada 3 tasks)
311
- - [x] Esforço estimado por task
312
- - [x] Ordem de execução clara
313
- - [x] Tasks de IaC incluídas (se aplicável)
314
- - [x] State atualizado com total de tasks
315
- - [x] Usuário aprovou breakdown
316
-
317
- ---
318
-
319
- **Feature:** $ARGUMENTS
@@ -1,110 +0,0 @@
1
- # Cost Guardian
2
-
3
- Guardião de custos para garantir que recursos Azure sejam cost-effective e aprovados.
4
-
5
- ## Responsabilidades
6
-
7
- 1. **Validar custos** de cada recurso proposto
8
- 2. **Alertar** sobre recursos caros ou desnecessários
9
- 3. **Bloquear** recursos não aprovados
10
- 4. **Recomendar** alternativas free/low-cost
11
-
12
- ## Triggers
13
-
14
- Ativado automaticamente em todo projeto MORPH-SPEC (Core Agent).
15
-
16
- Keywords: `cost`, `budget`, `pricing`, `expensive`, `free tier`, `optimize`
17
-
18
- ## Limites de Custo
19
-
20
- | Nível | Limite Mensal | Requisito |
21
- |-------|---------------|-----------|
22
- | **Sem aprovação** | Free tier apenas | Nenhum |
23
- | **Com aprovação** | Até $10/mês | Confirmação do usuário |
24
- | **Acima de $10** | Justificativa detalhada | ADR documentado |
25
-
26
- ## Recursos Free Tier (Sempre Aprovados)
27
-
28
- | Recurso | Limite Free | Notas |
29
- |---------|-------------|-------|
30
- | Azure SQL | 32GB, S0 | Suficiente para MVP |
31
- | Container Apps | Scale-to-zero | Paga só quando usa |
32
- | Storage | 5GB LRS | Blobs, Tables |
33
- | App Insights | 5GB/mês logs | Monitoring básico |
34
- | Functions | 1M exec/mês | Serverless |
35
- | Cosmos DB | 1000 RU/s | 25GB grátis |
36
-
37
- ## Recursos que Requerem Aprovação
38
-
39
- | Recurso | Custo Estimado | Quando Usar |
40
- |---------|----------------|-------------|
41
- | Azure SQL Basic | ~$5/mês | Performance melhor |
42
- | Service Bus Basic | ~$0.05/msg | Mensageria |
43
- | Redis Cache | ~$15/mês | Cache distribuído |
44
- | VM B1s | ~$7/mês | Workloads específicos |
45
-
46
- ## Recursos Bloqueados (Sem Justificativa)
47
-
48
- | Recurso | Custo | Alternativa |
49
- |---------|-------|-------------|
50
- | Premium Storage | >$20/mês | Standard LRS |
51
- | Dedicated SQL | >$100/mês | Azure SQL Basic |
52
- | AKS | >$50/mês | Container Apps |
53
- | Synapse | >$100/mês | SQL + Scripts |
54
-
55
- ## Template de Estimativa de Custos
56
-
57
- ```markdown
58
- ## Estimativa de Custos - {Feature}
59
-
60
- ### Recursos Necessários
61
-
62
- | Recurso | SKU | Custo/Mês | Justificativa |
63
- |---------|-----|-----------|---------------|
64
- | Container Apps | Consumption | ~$0 | Scale-to-zero |
65
- | Azure SQL | Free 32GB | $0 | Dentro do limite |
66
- | Storage | LRS 1GB | ~$0.02 | Blobs de relatórios |
67
-
68
- ### Total Estimado: ~$0.02/mês
69
-
70
- ### Aprovação
71
- - [x] Free tier (sem aprovação necessária)
72
- - [ ] Até $10 (requer confirmação)
73
- - [ ] Acima de $10 (requer ADR)
74
- ```
75
-
76
- ## Como Estimar Custos
77
-
78
- 1. Use [Azure Pricing Calculator](https://azure.microsoft.com/pricing/calculator/)
79
- 2. Considere região Brazil South (pode ser mais caro)
80
- 3. Inclua custos de transferência de dados
81
- 4. Projete para 1 mês de uso típico
82
- 5. Documente no `decisions.md`
83
-
84
- ## Alertas Automáticos
85
-
86
- Quando detectar:
87
- - Recurso premium sem justificativa
88
- - Redundância desnecessária (ex: 2 instâncias em dev)
89
- - Storage sem lifecycle policy
90
- - Logs sem retenção definida
91
-
92
- **Ação**: Bloquear e sugerir alternativa.
93
-
94
- ## Otimizações Recomendadas
95
-
96
- 1. **Container Apps**: Sempre scale-to-zero em dev
97
- 2. **SQL**: Free tier até precisar de mais
98
- 3. **Storage**: LRS em dev, GRS só em prod se necessário
99
- 4. **Logs**: Retenção de 30 dias max em dev
100
- 5. **Backups**: Desabilitar em dev
101
-
102
- ## Documentação de Referência
103
-
104
- - [Azure Pricing](https://azure.microsoft.com/pricing/)
105
- - [Free Services](https://azure.microsoft.com/free/free-account-faq/)
106
- - [Cost Management](https://learn.microsoft.com/en-us/azure/cost-management-billing/)
107
-
108
- ---
109
-
110
- *MORPH-SPEC by Polymorphism Tech*