@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,101 +1,122 @@
1
- # Create MORPH Feature Proposal
2
-
3
- Crie uma nova proposta de feature seguindo o workflow MORPH.
4
-
5
- ## Contexto
6
-
7
- Leia os seguintes arquivos para entender o projeto:
8
- - `.morph/project/context/README.md` - Contexto do projeto
9
- - `framework/standards/` e `.morph/project/standards/` - Padrões técnicos
10
- - `.morph/config/agents.json` - Agentes disponíveis
11
-
12
- ## Workflow
13
-
14
- 1. **Detecte agentes automaticamente**:
15
- ```bash
16
- node bin/detect-agents.js "$ARGUMENTS"
17
- ```
18
- Isso retorna quais agentes devem ser ativados baseado em keywords.
19
-
20
- 2. **Invoque skills dos agentes detectados**:
21
- - Para agentes com `skillPath` em agents.json, invoque o Skill correspondente
22
- - Exemplo: Se detectou `uiux-designer`, consulte `.claude/skills/specialists/ui-ux-designer.md`
23
- - Skills contêm conhecimento especializado, workflows e prompts detalhados
24
- - Use conhecimento dos skills para enriquecer a proposta
25
-
26
- 3. **Analise a solicitação** e identifique:
27
- - Problema a resolver
28
- - Usuários afetados
29
- - Impacto esperado
30
-
31
- 4. **Crie a estrutura da feature**:
32
- ```
33
- .morph/project/outputs/{feature-name}/
34
- ├── proposal.md # Proposta inicial
35
- ├── spec.md # Especificação técnica (iniciar)
36
- └── tasks.json # Lista de tasks (iniciar)
37
- ```
38
-
39
- 5. **Preencha `proposal.md`** baseado em `framework/templates/proposal.md`:
40
- - Problem Statement
41
- - Proposed Solution
42
- - Success Metrics
43
- - Scope (In/Out)
44
- - Estimated Effort
45
- - Cost Impact
46
- - **Agents Activated** (lista dos agentes detectados)
47
-
48
- 6. **Inicie `spec.md`** com:
49
- - User Stories principais
50
- - Arquitetura proposta
51
- - Data Model inicial
52
-
53
- 7. **Inicie `tasks.json`** com:
54
- - Tasks de alto nível identificadas (formato JSON)
55
- - Checkpoints sugeridos
56
-
57
- ## State Management
58
-
59
- Após criar o proposal, **SEMPRE** registre a feature no state.json:
60
-
61
- ```bash
62
- # Criar entrada no state
63
- node bin/state-manager.js set {feature-name} status draft
64
- node bin/state-manager.js set {feature-name} phase proposal
65
-
66
- # Marcar output como criado
67
- node bin/state-manager.js mark-output {feature-name} proposal
68
-
69
- # Adicionar agentes ativados (todos os detectados)
70
- # Parsear output do detect-agents.js e adicionar cada um:
71
- for agent in $(node bin/detect-agents.js --ids-only "$ARGUMENTS"); do
72
- node bin/state-manager.js add-agent {feature-name} $agent
73
- done
74
- ```
75
-
76
- **Exemplo completo:**
77
- ```bash
78
- # Detectar e registrar agentes
79
- AGENTS=$(node bin/detect-agents.js --ids-only "implementar dashboard com charts")
80
- # Retorna: standards-architect, azure-architect, ..., uiux-designer
81
-
82
- # Para cada agente
83
- echo "$AGENTS" | while read agent; do
84
- node bin/state-manager.js add-agent my-feature "$agent"
85
- done
86
- ```
87
-
88
- ## Output
89
-
90
- Ao final, apresente:
91
- 1. Resumo da proposta
92
- 2. Agentes ativados (e registrados no state)
93
- 3. Custo estimado
94
- 4. Perguntas de clarificação (se houver)
95
- 5. Solicitar aprovação para prosseguir para DESIGN
96
-
97
- **IMPORTANTE:** Confirme que a feature foi registrada no state.json executando `node bin/state-manager.js list`.
98
-
99
- ---
100
-
101
- **Feature solicitada:** $ARGUMENTS
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 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
@@ -1,86 +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
- node bin/state-manager.js 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
- node bin/state-manager.js 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 `node bin/state-manager.js 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
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
+ - `content/.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
@@ -1,15 +1,15 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(dotnet:*)",
5
- "Bash(git:*)",
6
- "Read",
7
- "Write",
8
- "Edit",
9
- "Glob",
10
- "Grep"
11
- ],
12
- "deny": []
13
- },
14
- "model": "claude-sonnet-4-20250514"
15
- }
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(dotnet:*)",
5
+ "Bash(git:*)",
6
+ "Read",
7
+ "Write",
8
+ "Edit",
9
+ "Glob",
10
+ "Grep"
11
+ ],
12
+ "deny": []
13
+ },
14
+ "model": "claude-sonnet-4-20250514"
15
+ }