@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.
- package/CLAUDE.md +314 -1673
- package/LICENSE +72 -72
- package/README.md +515 -516
- package/bin/detect-agents.js +225 -225
- package/bin/morph-spec.js +358 -173
- package/bin/render-template.js +302 -302
- package/bin/semantic-detect-agents.js +246 -246
- package/bin/task-manager.js +429 -0
- package/bin/validate-agents-skills.js +251 -251
- package/bin/validate-agents.js +69 -69
- package/bin/validate-phase.js +263 -263
- package/bin/validate.js +369 -0
- package/content/.azure/README.md +293 -293
- package/content/.azure/docs/azure-devops-setup.md +454 -454
- package/content/.azure/docs/branch-strategy.md +398 -398
- package/content/.azure/docs/local-development.md +515 -515
- package/content/.azure/pipelines/pipeline-variables.yml +34 -34
- package/content/.azure/pipelines/prod-pipeline.yml +319 -319
- package/content/.azure/pipelines/staging-pipeline.yml +234 -234
- package/content/.azure/pipelines/templates/build-dotnet.yml +75 -75
- package/content/.azure/pipelines/templates/deploy-app-service.yml +94 -94
- package/content/.azure/pipelines/templates/deploy-container-app.yml +120 -120
- package/content/.azure/pipelines/templates/infra-deploy.yml +90 -90
- package/content/.claude/commands/morph-apply.md +221 -158
- package/content/.claude/commands/morph-archive.md +79 -79
- package/content/.claude/commands/morph-infra.md +209 -209
- package/content/.claude/commands/morph-preflight.md +227 -0
- package/content/.claude/commands/morph-proposal.md +122 -101
- package/content/.claude/commands/morph-status.md +86 -86
- package/content/.claude/commands/morph-troubleshoot.md +122 -0
- package/content/.claude/settings.local.json +15 -15
- package/content/.claude/skills/checklists/code-review.md +226 -0
- package/content/.claude/skills/checklists/morph-checklist.md +117 -0
- package/content/.claude/skills/checklists/simulation-checklist.md +77 -0
- package/content/.claude/skills/infra/bicep-architect.md +126 -419
- package/content/.claude/skills/infra/container-specialist.md +131 -437
- package/content/.claude/skills/infra/devops-engineer.md +119 -405
- package/content/.claude/skills/integrations/asaas-financial.md +130 -333
- package/content/.claude/skills/integrations/azure-identity.md +142 -309
- package/content/.claude/skills/integrations/clerk-auth.md +108 -290
- package/content/.claude/skills/integrations/resend-email.md +119 -0
- package/content/.claude/skills/specialists/ai-system-architect.md +192 -604
- package/content/.claude/skills/specialists/azure-architect.md +142 -142
- package/content/.claude/skills/specialists/code-analyzer.md +235 -0
- package/content/.claude/skills/specialists/dotnet-senior.md +287 -0
- package/content/.claude/skills/specialists/ef-modeler.md +113 -200
- package/content/.claude/skills/specialists/hangfire-orchestrator.md +126 -245
- package/content/.claude/skills/specialists/ms-agent-expert.md +109 -263
- package/content/.claude/skills/specialists/po-pm-advisor.md +197 -197
- package/content/.claude/skills/specialists/standards-architect.md +156 -78
- package/content/.claude/skills/specialists/testing-specialist.md +126 -0
- package/content/.claude/skills/specialists/ui-ux-designer.md +191 -1060
- package/content/.claude/skills/stacks/dotnet-blazor.md +210 -588
- package/content/.claude/skills/stacks/dotnet-nextjs.md +154 -402
- package/content/.claude/skills/workflows/morph-replicate.md +213 -0
- package/content/.claude/{commands/morph-clarify.md → skills/workflows/phase-clarify.md} +5 -58
- package/content/.claude/{commands/morph-design.md → skills/workflows/phase-design.md} +16 -86
- package/content/.claude/{commands/morph-setup.md → skills/workflows/phase-setup.md} +9 -17
- package/content/.claude/skills/workflows/phase-tasks.md +164 -0
- package/content/.claude/{commands/morph-uiux.md → skills/workflows/phase-uiux.md} +15 -88
- package/content/.morph/.morphversion +5 -5
- package/content/.morph/archive/.gitkeep +25 -25
- package/content/.morph/config/agents.json +378 -242
- package/content/.morph/config/config.template.json +89 -108
- package/content/.morph/docs/STORY-DRIVEN-DEVELOPMENT.md +392 -392
- package/content/.morph/docs/workflows/design-impl.md +37 -0
- package/content/.morph/docs/workflows/fast-track.md +29 -0
- package/content/.morph/docs/workflows/full-morph.md +76 -0
- package/content/.morph/docs/workflows/standard.md +44 -0
- package/content/.morph/docs/workflows/ui-refresh.md +39 -0
- package/content/.morph/examples/api-nextjs/README.md +241 -241
- package/content/.morph/examples/api-nextjs/contracts.ts +307 -307
- package/content/.morph/examples/api-nextjs/spec.md +399 -399
- package/content/.morph/examples/api-nextjs/tasks.md +168 -168
- package/content/.morph/examples/micro-saas/README.md +125 -125
- package/content/.morph/examples/micro-saas/contracts.cs +358 -358
- package/content/.morph/examples/micro-saas/decisions.md +246 -246
- package/content/.morph/examples/micro-saas/spec.md +236 -236
- package/content/.morph/examples/micro-saas/tasks.md +150 -150
- package/content/.morph/examples/multi-agent/README.md +309 -309
- package/content/.morph/examples/multi-agent/contracts.cs +433 -433
- package/content/.morph/examples/multi-agent/spec.md +479 -479
- package/content/.morph/examples/multi-agent/tasks.md +185 -185
- package/content/.morph/examples/scheduled-reports/decisions.md +158 -0
- package/content/.morph/examples/scheduled-reports/proposal.md +95 -0
- package/content/.morph/examples/scheduled-reports/spec.md +267 -0
- package/content/.morph/examples/state-v3.json +188 -0
- package/content/.morph/features/.gitkeep +25 -25
- package/content/.morph/hooks/README.md +190 -239
- package/content/.morph/hooks/pre-commit-agents.sh +24 -24
- package/content/.morph/hooks/pre-commit-all.sh +48 -48
- package/content/.morph/hooks/pre-commit-specs.sh +49 -49
- package/content/.morph/hooks/pre-commit-tests.sh +60 -60
- package/content/.morph/project.md +160 -160
- package/content/.morph/schemas/agent.schema.json +296 -296
- package/content/.morph/schemas/tasks.schema.json +220 -0
- package/content/.morph/specs/.gitkeep +20 -20
- package/content/.morph/standards/agent-framework-blazor-ui.md +359 -0
- package/content/.morph/standards/agent-framework-production.md +410 -0
- package/content/.morph/standards/agent-framework-setup.md +413 -453
- package/content/.morph/standards/agent-framework-workflows.md +349 -0
- package/content/.morph/standards/architecture.md +325 -325
- package/content/.morph/standards/azure.md +605 -379
- package/content/.morph/standards/coding.md +377 -377
- package/content/.morph/standards/dotnet10-migration.md +520 -494
- package/content/.morph/standards/fluent-ui-setup.md +590 -590
- package/content/.morph/standards/migration-guide.md +514 -514
- package/content/.morph/standards/passkeys-auth.md +423 -423
- package/content/.morph/standards/vector-search-rag.md +536 -536
- package/content/.morph/state.json +17 -17
- package/content/.morph/templates/FluentDesignTheme.cs +149 -149
- package/content/.morph/templates/MudTheme.cs +281 -281
- package/content/.morph/templates/agent.cs +163 -172
- package/content/.morph/templates/clarify-questions.md +159 -0
- package/content/.morph/templates/component.razor +239 -239
- package/content/.morph/templates/contracts/Commands.cs +74 -0
- package/content/.morph/templates/contracts/Entities.cs +25 -0
- package/content/.morph/templates/contracts/Queries.cs +74 -0
- package/content/.morph/templates/contracts/README.md +74 -0
- package/content/.morph/templates/contracts.cs +217 -217
- package/content/.morph/templates/decisions.md +123 -106
- package/content/.morph/templates/design-system.css +226 -226
- package/content/.morph/templates/infra/.dockerignore.example +89 -89
- package/content/.morph/templates/infra/Dockerfile.example +82 -82
- package/content/.morph/templates/infra/README.md +286 -286
- package/content/.morph/templates/infra/app-insights.bicep +63 -63
- package/content/.morph/templates/infra/app-service.bicep +164 -164
- package/content/.morph/templates/infra/container-app-env.bicep +49 -49
- package/content/.morph/templates/infra/container-app.bicep +156 -156
- package/content/.morph/templates/infra/deploy-checklist.md +426 -0
- package/content/.morph/templates/infra/deploy.ps1 +229 -229
- package/content/.morph/templates/infra/deploy.sh +208 -208
- package/content/.morph/templates/infra/key-vault.bicep +91 -91
- package/content/.morph/templates/infra/main.bicep +189 -189
- package/content/.morph/templates/infra/parameters.dev.json +29 -29
- package/content/.morph/templates/infra/parameters.prod.json +29 -29
- package/content/.morph/templates/infra/parameters.staging.json +29 -29
- package/content/.morph/templates/infra/sql-database.bicep +103 -103
- package/content/.morph/templates/infra/storage.bicep +106 -106
- package/content/.morph/templates/integrations/asaas-client.cs +387 -387
- package/content/.morph/templates/integrations/asaas-webhook.cs +351 -351
- package/content/.morph/templates/integrations/azure-identity-config.cs +288 -288
- package/content/.morph/templates/integrations/clerk-config.cs +258 -258
- package/content/.morph/templates/job.cs +171 -171
- package/content/.morph/templates/migration.cs +83 -83
- package/content/.morph/templates/proposal.md +141 -155
- package/content/.morph/templates/recap.md +94 -105
- package/content/.morph/templates/repository.cs +141 -141
- package/content/.morph/templates/saas/subscription.cs +347 -347
- package/content/.morph/templates/saas/tenant.cs +338 -338
- package/content/.morph/templates/service.cs +139 -139
- package/content/.morph/templates/simulation.md +353 -0
- package/content/.morph/templates/spec.md +149 -148
- package/content/.morph/templates/sprint-status.yaml +68 -68
- package/content/.morph/templates/state.template.json +222 -222
- package/content/.morph/templates/story.md +143 -143
- package/content/.morph/templates/tasks.md +257 -235
- package/content/.morph/templates/test.cs +239 -239
- package/content/.morph/templates/ui-components.md +362 -276
- package/content/.morph/templates/ui-design-system.md +286 -286
- package/content/.morph/templates/ui-flows.md +336 -336
- package/content/.morph/templates/ui-mockups.md +133 -133
- package/content/.morph/test-infra/example.bicep +59 -59
- package/content/CLAUDE.md +150 -442
- package/content/README.md +79 -79
- package/detectors/config-detector.js +223 -223
- package/detectors/conversation-analyzer.js +163 -163
- package/detectors/index.js +84 -84
- package/detectors/standards-generator.js +275 -275
- package/detectors/structure-detector.js +245 -250
- package/docs/README.md +144 -149
- package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +977 -977
- package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1048 -1048
- package/docs/api/scripts/collapse.js +38 -38
- package/docs/api/scripts/commonNav.js +28 -28
- package/docs/api/scripts/linenumber.js +25 -25
- package/docs/api/scripts/nav.js +12 -12
- package/docs/api/scripts/polyfill.js +3 -3
- package/docs/api/scripts/prettify/Apache-License-2.0.txt +202 -202
- package/docs/api/scripts/prettify/lang-css.js +2 -2
- package/docs/api/scripts/prettify/prettify.js +28 -28
- package/docs/api/scripts/search.js +98 -98
- package/docs/api/styles/jsdoc.css +776 -776
- package/docs/api/styles/prettify.css +80 -80
- package/docs/examples.md +328 -328
- package/docs/getting-started.md +301 -302
- package/docs/installation.md +361 -361
- package/docs/templates.md +418 -418
- package/docs/validation-checklist.md +265 -266
- package/package.json +80 -80
- package/scripts/postinstall.js +132 -132
- package/src/commands/advance-phase.js +183 -0
- package/src/commands/analyze-blazor-concurrency.js +193 -0
- package/src/commands/create-story.js +351 -351
- package/src/commands/detect-agents.js +139 -0
- package/src/commands/detect.js +104 -104
- package/src/commands/doctor.js +356 -280
- package/src/commands/generate.js +149 -149
- package/src/commands/init.js +258 -245
- package/src/commands/lint-fluent.js +352 -0
- package/src/commands/rollback-phase.js +185 -0
- package/src/commands/session-summary.js +291 -0
- package/src/commands/shard-spec.js +224 -224
- package/src/commands/sprint-status.js +250 -250
- package/src/commands/state.js +333 -333
- package/src/commands/sync.js +167 -167
- package/src/commands/task.js +78 -0
- package/src/commands/troubleshoot.js +222 -0
- package/src/commands/update.js +192 -159
- package/src/commands/validate-blazor-state.js +210 -0
- package/src/commands/validate-blazor.js +156 -0
- package/src/commands/validate-css.js +84 -0
- package/src/commands/validate-phase.js +221 -0
- package/src/lib/blazor-concurrency-analyzer.js +288 -0
- package/src/lib/blazor-state-validator.js +291 -0
- package/src/lib/blazor-validator.js +374 -0
- package/src/lib/complexity-analyzer.js +441 -292
- package/src/lib/continuous-validator.js +421 -0
- package/src/lib/css-validator.js +352 -0
- package/src/lib/decision-constraint-loader.js +109 -0
- package/src/lib/design-system-generator.js +298 -298
- package/src/lib/learning-system.js +520 -0
- package/src/lib/mockup-generator.js +366 -0
- package/src/lib/recap-generator.js +205 -0
- package/src/lib/state-manager.js +397 -340
- package/src/lib/troubleshoot-grep.js +194 -0
- package/src/lib/troubleshoot-index.js +144 -0
- package/src/lib/ui-detector.js +350 -0
- package/src/lib/validation-runner.js +231 -0
- package/src/lib/validators/architecture-validator.js +387 -0
- package/src/lib/validators/contract-compliance-validator.js +273 -0
- package/src/lib/validators/package-validator.js +360 -0
- package/src/lib/validators/ui-contrast-validator.js +422 -0
- package/src/utils/file-copier.js +179 -139
- package/src/utils/logger.js +32 -32
- package/src/utils/version-checker.js +175 -175
- package/content/.claude/commands/morph-costs.md +0 -206
- package/content/.claude/commands/morph-tasks.md +0 -319
- package/content/.claude/skills/specialists/cost-guardian.md +0 -110
- package/content/.claude/skills/stacks/shopify.md +0 -445
- package/content/.morph/config/azure-pricing.json +0 -70
- package/content/.morph/config/azure-pricing.schema.json +0 -50
- package/content/.morph/hooks/pre-commit-costs.sh +0 -91
- package/docs/api/cost-calculator.js.html +0 -513
- package/docs/api/design-system-generator.js.html +0 -382
- package/docs/api/global.html +0 -5263
- package/docs/api/index.html +0 -96
- package/docs/api/state-manager.js.html +0 -423
- package/src/commands/cost.js +0 -181
- package/src/commands/update-pricing.js +0 -206
- package/src/lib/cost-calculator.js +0 -429
|
@@ -1,101 +1,122 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
Crie
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
2.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
|
@@ -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
|
-
|
|
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
|
-
|
|
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 `
|
|
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
|
+
}
|