@polymorphism-tech/morph-spec 3.0.0 → 3.1.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 +68 -400
- package/README.md +198 -76
- package/bin/detect-agents.js +227 -225
- package/bin/morph-spec.js +10 -0
- package/bin/render-template.js +303 -302
- package/bin/semantic-detect-agents.js +247 -246
- package/bin/{task-manager.js → task-manager.cjs} +12 -1
- package/bin/validate-agents-skills.js +257 -251
- package/bin/validate-agents.js +70 -69
- package/bin/validate-phase.js +263 -263
- package/docs/getting-started.md +3 -3
- package/package.json +3 -4
- package/scripts/reorganize-skills.cjs +175 -0
- package/scripts/validate-agents-structure.cjs +52 -0
- package/scripts/validate-skills.cjs +180 -0
- package/src/commands/create-story.js +354 -351
- package/src/commands/detect-agents.js +13 -2
- package/src/commands/detect.js +104 -104
- package/src/commands/state.js +334 -333
- package/src/commands/sync.js +167 -167
- package/src/commands/task.js +1 -1
- package/src/commands/update.js +13 -1
- package/src/lib/context-generator.js +7 -4
- package/{detectors → src/lib/detectors}/config-detector.js +223 -223
- package/{detectors → src/lib/detectors}/conversation-analyzer.js +163 -163
- package/{detectors → src/lib/detectors}/index.js +84 -84
- package/{detectors → src/lib/detectors}/standards-generator.js +275 -275
- package/src/lib/hook-executor.js +2 -1
- package/src/lib/stack-resolver.js +148 -0
- package/src/lib/standards-context-injector.js +4 -3
- package/src/lib/state-manager.js +21 -4
- package/src/lib/team-orchestrator.js +2 -1
- package/src/lib/troubleshoot-grep.js +13 -3
- package/src/lib/validation-runner.js +2 -1
- package/src/utils/file-copier.js +3 -1
- package/{content → stacks/blazor-azure}/.azure/README.md +293 -293
- package/{content → stacks/blazor-azure}/.azure/docs/azure-devops-setup.md +454 -454
- package/{content → stacks/blazor-azure}/.azure/docs/branch-strategy.md +398 -398
- package/{content → stacks/blazor-azure}/.azure/docs/local-development.md +515 -515
- package/{content → stacks/blazor-azure}/.azure/pipelines/pipeline-variables.yml +34 -34
- package/{content → stacks/blazor-azure}/.azure/pipelines/prod-pipeline.yml +319 -319
- package/{content → stacks/blazor-azure}/.azure/pipelines/staging-pipeline.yml +234 -234
- package/{content → stacks/blazor-azure}/.azure/pipelines/templates/build-dotnet.yml +75 -75
- package/{content → stacks/blazor-azure}/.azure/pipelines/templates/deploy-app-service.yml +94 -94
- package/{content → stacks/blazor-azure}/.azure/pipelines/templates/deploy-container-app.yml +120 -120
- package/{content → stacks/blazor-azure}/.azure/pipelines/templates/infra-deploy.yml +90 -90
- package/{content → stacks/blazor-azure}/.claude/commands/morph-archive.md +79 -79
- package/{content → stacks/blazor-azure}/.claude/commands/morph-deploy.md +529 -529
- package/{content → stacks/blazor-azure}/.claude/commands/morph-infra.md +209 -209
- package/{content → stacks/blazor-azure}/.claude/commands/morph-troubleshoot.md +1 -1
- package/{content → stacks/blazor-azure}/.claude/settings.local.json +15 -15
- package/{content → stacks/blazor-azure}/.claude/skills/level-1-workflows/phase-setup.md +1 -1
- package/{content/.claude/skills/specialists → stacks/blazor-azure/.claude/skills/level-2-domains/architecture}/prompt-engineer.md +189 -189
- package/{content/.claude/skills/specialists → stacks/blazor-azure/.claude/skills/level-2-domains/architecture}/seo-growth-hacker.md +320 -320
- package/{content/.claude/skills/infra → stacks/blazor-azure/.claude/skills/level-2-domains/infrastructure}/azure-deploy-specialist.md +699 -699
- package/{content → stacks/blazor-azure}/.morph/.morphversion +5 -5
- package/{content → stacks/blazor-azure}/.morph/archive/.gitkeep +25 -25
- package/{content → stacks/blazor-azure}/.morph/config/agents.json +7 -5
- package/{content → stacks/blazor-azure}/.morph/docs/STORY-DRIVEN-DEVELOPMENT.md +392 -392
- package/{content → stacks/blazor-azure}/.morph/docs/workflows/enforcement-pipeline.md +3 -3
- package/{content → stacks/blazor-azure}/.morph/examples/api-nextjs/README.md +241 -241
- package/{content → stacks/blazor-azure}/.morph/examples/api-nextjs/contracts.ts +307 -307
- package/{content → stacks/blazor-azure}/.morph/examples/api-nextjs/spec.md +399 -399
- package/{content → stacks/blazor-azure}/.morph/examples/api-nextjs/tasks.md +168 -168
- package/{content → stacks/blazor-azure}/.morph/examples/micro-saas/README.md +125 -125
- package/{content → stacks/blazor-azure}/.morph/examples/micro-saas/contracts.cs +358 -358
- package/{content → stacks/blazor-azure}/.morph/examples/micro-saas/decisions.md +246 -246
- package/{content → stacks/blazor-azure}/.morph/examples/micro-saas/spec.md +236 -236
- package/{content → stacks/blazor-azure}/.morph/examples/micro-saas/tasks.md +150 -150
- package/{content → stacks/blazor-azure}/.morph/examples/multi-agent/README.md +309 -309
- package/{content → stacks/blazor-azure}/.morph/examples/multi-agent/contracts.cs +433 -433
- package/{content → stacks/blazor-azure}/.morph/examples/multi-agent/spec.md +479 -479
- package/{content → stacks/blazor-azure}/.morph/examples/multi-agent/tasks.md +185 -185
- package/{content → stacks/blazor-azure}/.morph/examples/state-v3.json +188 -188
- package/{content → stacks/blazor-azure}/.morph/features/.gitkeep +25 -25
- package/{content → stacks/blazor-azure}/.morph/hooks/README.md +12 -12
- package/{content → stacks/blazor-azure}/.morph/hooks/pre-commit-all.sh +48 -48
- package/{content → stacks/blazor-azure}/.morph/hooks/pre-commit-specs.sh +49 -49
- package/{content → stacks/blazor-azure}/.morph/hooks/pre-commit-tests.sh +60 -60
- package/{content → stacks/blazor-azure}/.morph/project.md +160 -160
- package/{content → stacks/blazor-azure}/.morph/schemas/agent.schema.json +296 -296
- package/{content → stacks/blazor-azure}/.morph/specs/.gitkeep +20 -20
- package/{content → stacks/blazor-azure}/.morph/standards/agent-teams-workflow.md +2 -2
- package/{content → stacks/blazor-azure}/.morph/standards/coding.md +377 -377
- package/{content → stacks/blazor-azure}/.morph/standards/fluent-ui-setup.md +590 -590
- package/{content → stacks/blazor-azure}/.morph/standards/migration-guide.md +514 -514
- package/{content → stacks/blazor-azure}/.morph/standards/passkeys-auth.md +423 -423
- package/{content → stacks/blazor-azure}/.morph/standards/vector-search-rag.md +536 -536
- package/{content → stacks/blazor-azure}/.morph/state.json +17 -17
- package/{content → stacks/blazor-azure}/.morph/templates/FluentDesignTheme.cs +149 -149
- package/{content → stacks/blazor-azure}/.morph/templates/MudTheme.cs +281 -281
- package/{content → stacks/blazor-azure}/.morph/templates/component.razor +239 -239
- package/{content → stacks/blazor-azure}/.morph/templates/contracts.cs +217 -217
- package/{content → stacks/blazor-azure}/.morph/templates/design-system.css +226 -226
- package/{content → stacks/blazor-azure}/.morph/templates/infra/.dockerignore.example +89 -89
- package/{content → stacks/blazor-azure}/.morph/templates/infra/Dockerfile.example +82 -82
- package/{content → stacks/blazor-azure}/.morph/templates/infra/README.md +286 -286
- package/{content → stacks/blazor-azure}/.morph/templates/infra/app-insights.bicep +63 -63
- package/{content → stacks/blazor-azure}/.morph/templates/infra/app-service.bicep +164 -164
- package/{content → stacks/blazor-azure}/.morph/templates/infra/azure-pipelines-deploy.yml +480 -480
- package/{content → stacks/blazor-azure}/.morph/templates/infra/container-app-env.bicep +49 -49
- package/{content → stacks/blazor-azure}/.morph/templates/infra/container-app.bicep +156 -156
- package/{content → stacks/blazor-azure}/.morph/templates/infra/deploy.ps1 +229 -229
- package/{content → stacks/blazor-azure}/.morph/templates/infra/deploy.sh +208 -208
- package/{content → stacks/blazor-azure}/.morph/templates/infra/key-vault.bicep +91 -91
- package/{content → stacks/blazor-azure}/.morph/templates/infra/main.bicep +189 -189
- package/{content → stacks/blazor-azure}/.morph/templates/infra/parameters.dev.json +29 -29
- package/{content → stacks/blazor-azure}/.morph/templates/infra/parameters.prod.json +29 -29
- package/{content → stacks/blazor-azure}/.morph/templates/infra/parameters.staging.json +29 -29
- package/{content → stacks/blazor-azure}/.morph/templates/infra/sql-database.bicep +103 -103
- package/{content → stacks/blazor-azure}/.morph/templates/infra/storage.bicep +106 -106
- package/{content → stacks/blazor-azure}/.morph/templates/integrations/asaas-client.cs +387 -387
- package/{content → stacks/blazor-azure}/.morph/templates/integrations/asaas-webhook.cs +351 -351
- package/{content → stacks/blazor-azure}/.morph/templates/integrations/azure-identity-config.cs +288 -288
- package/{content → stacks/blazor-azure}/.morph/templates/integrations/clerk-config.cs +258 -258
- package/{content → stacks/blazor-azure}/.morph/templates/job.cs +171 -171
- package/{content → stacks/blazor-azure}/.morph/templates/migration.cs +83 -83
- package/{content → stacks/blazor-azure}/.morph/templates/repository.cs +141 -141
- package/{content → stacks/blazor-azure}/.morph/templates/saas/subscription.cs +347 -347
- package/{content → stacks/blazor-azure}/.morph/templates/saas/tenant.cs +338 -338
- package/{content → stacks/blazor-azure}/.morph/templates/service.cs +139 -139
- package/{content → stacks/blazor-azure}/.morph/templates/sprint-status.yaml +68 -68
- package/{content → stacks/blazor-azure}/.morph/templates/story.md +143 -143
- package/{content → stacks/blazor-azure}/.morph/templates/test.cs +239 -239
- package/{content → stacks/blazor-azure}/.morph/templates/ui-design-system.md +286 -286
- package/{content → stacks/blazor-azure}/.morph/templates/ui-flows.md +336 -336
- package/{content → stacks/blazor-azure}/.morph/templates/ui-mockups.md +133 -133
- package/{content → stacks/blazor-azure}/.morph/test-infra/example.bicep +59 -59
- package/{content → stacks/blazor-azure}/README.md +79 -79
- package/stacks/nextjs-supabase/.claude/skills/level-2-domains/backend/dotnet-supabase.md +244 -0
- package/stacks/nextjs-supabase/.claude/skills/level-2-domains/frontend/nextjs-supabase.md +335 -0
- package/stacks/nextjs-supabase/.claude/skills/level-2-domains/infrastructure/easypanel-deployer.md +189 -0
- package/stacks/nextjs-supabase/.claude/skills/level-2-domains/integrations/supabase-expert.md +170 -0
- package/stacks/nextjs-supabase/.morph/config/agents.json +345 -0
- package/stacks/nextjs-supabase/.morph/config/config.template.json +92 -0
- package/stacks/nextjs-supabase/.morph/docs/easypanel-setup.md +169 -0
- package/stacks/nextjs-supabase/.morph/docs/supabase-mcp-setup.md +247 -0
- package/stacks/nextjs-supabase/.morph/examples/crud-nextjs-supabase/README.md +697 -0
- package/stacks/nextjs-supabase/.morph/examples/crud-nextjs-supabase/spec.md +85 -0
- package/stacks/nextjs-supabase/.morph/examples/crud-nextjs-supabase/tasks.md +86 -0
- package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/README.md +498 -0
- package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/decisions.md +121 -0
- package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/spec.md +138 -0
- package/stacks/nextjs-supabase/.morph/examples/saas-nextjs-supabase/tasks.md +162 -0
- package/stacks/nextjs-supabase/.morph/project.md +168 -0
- package/stacks/nextjs-supabase/.morph/standards/easypanel-deploy.md +191 -0
- package/stacks/nextjs-supabase/.morph/standards/nextjs-patterns.md +193 -0
- package/stacks/nextjs-supabase/.morph/standards/supabase-auth.md +171 -0
- package/stacks/nextjs-supabase/.morph/standards/supabase-pgvector.md +164 -0
- package/stacks/nextjs-supabase/.morph/standards/supabase-rls.md +179 -0
- package/stacks/nextjs-supabase/.morph/standards/supabase-storage.md +148 -0
- package/stacks/nextjs-supabase/.morph/templates/contracts.cs +173 -0
- package/stacks/nextjs-supabase/.morph/templates/contracts.ts +168 -0
- package/stacks/nextjs-supabase/.morph/templates/decisions.md +115 -0
- package/stacks/nextjs-supabase/.morph/templates/dockerfile-api.dockerfile +38 -0
- package/stacks/nextjs-supabase/.morph/templates/dockerfile-web.dockerfile +48 -0
- package/stacks/nextjs-supabase/.morph/templates/proposal.md +145 -0
- package/stacks/nextjs-supabase/.morph/templates/recap.md +134 -0
- package/stacks/nextjs-supabase/.morph/templates/rls-policy.sql +57 -0
- package/stacks/nextjs-supabase/.morph/templates/spec.md +231 -0
- package/stacks/nextjs-supabase/.morph/templates/supabase-migration.sql +100 -0
- package/stacks/nextjs-supabase/.morph/templates/tasks.md +257 -0
- package/stacks/nextjs-supabase/CLAUDE.md +149 -0
- package/stacks/nextjs-supabase/README.md +112 -0
- /package/{detectors → src/lib/detectors}/structure-detector.js +0 -0
- /package/{content → stacks/blazor-azure}/.claude/commands/morph-apply.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/commands/morph-preflight.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/commands/morph-proposal.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/commands/morph-status.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-0-meta/README.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-0-meta/code-review.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-0-meta/morph-checklist.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-0-meta/simulation-checklist.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-1-workflows/README.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-1-workflows/morph-replicate.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-1-workflows/phase-clarify.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-1-workflows/phase-design.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-1-workflows/phase-tasks.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-1-workflows/phase-uiux.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/README.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/ai-agents/ai-system-architect.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/architecture/po-pm-advisor.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/architecture/standards-architect.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/backend/dotnet-senior.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/backend/ef-modeler.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/backend/hangfire-orchestrator.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/backend/ms-agent-expert.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/frontend/blazor-builder.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/frontend/nextjs-expert.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/frontend/ui-ux-designer.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/infrastructure/azure-architect.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/infrastructure/bicep-architect.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/infrastructure/container-specialist.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/infrastructure/devops-engineer.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/integrations/asaas-financial.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/integrations/azure-identity.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/integrations/clerk-auth.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/integrations/resend-email.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/quality/code-analyzer.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-2-domains/quality/testing-specialist.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-3-technologies/README.md +0 -0
- /package/{content → stacks/blazor-azure}/.claude/skills/level-4-patterns/README.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/config/config.template.json +0 -0
- /package/{content → stacks/blazor-azure}/.morph/docs/workflows/design-impl.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/docs/workflows/fast-track.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/docs/workflows/full-morph.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/docs/workflows/standard.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/docs/workflows/ui-refresh.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/examples/scheduled-reports/decisions.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/examples/scheduled-reports/proposal.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/examples/scheduled-reports/spec.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/hooks/pre-commit-agents.sh +0 -0
- /package/{content → stacks/blazor-azure}/.morph/hooks/task-completed.js +0 -0
- /package/{content → stacks/blazor-azure}/.morph/hooks/teammate-idle.js +0 -0
- /package/{content → stacks/blazor-azure}/.morph/schemas/tasks.schema.json +0 -0
- /package/{content → stacks/blazor-azure}/.morph/standards/agent-framework-blazor-ui.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/standards/agent-framework-production.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/standards/agent-framework-setup.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/standards/agent-framework-workflows.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/standards/architecture.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/standards/azure.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/standards/dotnet10-migration.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/CONTEXT-FEATURE.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/CONTEXT.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/agent.cs +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/clarify-questions.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/contracts/Commands.cs +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/contracts/Entities.cs +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/contracts/Queries.cs +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/contracts/README.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/decisions.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/infra/deploy-checklist.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/proposal.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/recap.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/simulation.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/spec.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/state.template.json +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/tasks.md +0 -0
- /package/{content → stacks/blazor-azure}/.morph/templates/ui-components.md +0 -0
- /package/{content → stacks/blazor-azure}/CLAUDE.md +0 -0
package/CLAUDE.md
CHANGED
|
@@ -1,10 +1,24 @@
|
|
|
1
|
-
# MORPH-SPEC - Instruções para Claude Code
|
|
2
|
-
|
|
3
|
-
**M**ethodical **O**rchestration for **R**eliable **P**roduction-ready **SPEC**-driven development
|
|
1
|
+
# MORPH-SPEC - Instruções para Claude Code (Consumer)
|
|
4
2
|
|
|
5
3
|
> by Polymorphism Tech
|
|
6
4
|
|
|
7
|
-
Sistema de desenvolvimento orientado por especificações. Hub de agentes especializados em multi-stack
|
|
5
|
+
Sistema de desenvolvimento orientado por especificações. Hub de agentes especializados em multi-stack com Infrastructure as Code.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## STACKS DISPONÍVEIS
|
|
10
|
+
|
|
11
|
+
| Stack | Backend | Frontend | Database | Deploy | CLAUDE.md |
|
|
12
|
+
|-------|---------|----------|----------|--------|-----------|
|
|
13
|
+
| **blazor-azure** | .NET 10 Blazor Server | Blazor (C#) | Azure SQL | Azure Container Apps (Bicep) | `stacks/blazor-azure/CLAUDE.md` |
|
|
14
|
+
| **nextjs-supabase** | .NET 10 Minimal API | Next.js 15 | Supabase (PostgreSQL) | EasyPanel (Docker) | `stacks/nextjs-supabase/CLAUDE.md` |
|
|
15
|
+
|
|
16
|
+
Para novos projetos, copie os arquivos da stack desejada:
|
|
17
|
+
```bash
|
|
18
|
+
cp -r stacks/{stack}/.morph/ seu-projeto/.morph/
|
|
19
|
+
cp -r stacks/{stack}/.claude/ seu-projeto/.claude/
|
|
20
|
+
cp stacks/{stack}/CLAUDE.md seu-projeto/CLAUDE.md
|
|
21
|
+
```
|
|
8
22
|
|
|
9
23
|
---
|
|
10
24
|
|
|
@@ -13,433 +27,87 @@ Sistema de desenvolvimento orientado por especificações. Hub de agentes especi
|
|
|
13
27
|
### NUNCA:
|
|
14
28
|
- Pular direto para código sem especificação
|
|
15
29
|
- Implementar sem aprovação do design
|
|
16
|
-
- Ignorar
|
|
17
|
-
- Criar recursos
|
|
30
|
+
- Ignorar padrões em `.morph/standards/`
|
|
31
|
+
- Criar recursos de infra manualmente (use IaC)
|
|
18
32
|
- Gerar código sem contracts definidos
|
|
19
|
-
- **Tomar decisões técnicas sozinho (infraestrutura, bibliotecas, patterns, schemas)**
|
|
20
33
|
|
|
21
34
|
### SEMPRE:
|
|
22
|
-
- Seguir
|
|
23
|
-
- Gerar outputs em `.morph/
|
|
35
|
+
- Seguir as 5 fases obrigatórias
|
|
36
|
+
- Gerar outputs em `.morph/features/{feature}/`
|
|
24
37
|
- Documentar decisões em `decisions.md`
|
|
25
38
|
- Checkpoint a cada 3 tasks implementadas
|
|
26
|
-
- Usar Infrastructure as Code
|
|
27
|
-
- Usar exclusivamente Microsoft Agent Framework (.NET 10)
|
|
28
|
-
- Coletar input do usuário na FASE 1.5 (layout, referências, imagens)
|
|
29
|
-
- **Consultar usuário em DECISION POINTS**
|
|
39
|
+
- Usar Infrastructure as Code
|
|
30
40
|
|
|
31
41
|
---
|
|
32
42
|
|
|
33
|
-
##
|
|
34
|
-
|
|
35
|
-
**MORPH 3.0** usa arquitetura hierárquica de **4 tiers** com **30 agentes** organizados em **squads**:
|
|
36
|
-
|
|
37
|
-
### Hierarquia (4 Tiers)
|
|
38
|
-
|
|
39
|
-
**Tier 1: Orchestrators (3)** — Coordenação global
|
|
40
|
-
- `standards-architect` — Chief Architect (Team Lead) — *sempre ativo*
|
|
41
|
-
- `ai-system-architect` — AI/Agent Architect
|
|
42
|
-
- `popm-advisor` — Product/Project Advisor (FASE 0-2 only)
|
|
43
|
-
|
|
44
|
-
**Tier 2: Domain Leaders (3)** — Líderes de Squad
|
|
45
|
-
- `dotnet-senior` — Backend Squad Leader — *sempre ativo*
|
|
46
|
-
- `azure-architect` — Infrastructure Squad Leader — *sempre ativo*
|
|
47
|
-
- `ui-designer` — UI/UX Squad Leader (FASE 1.5 only)
|
|
48
|
-
|
|
49
|
-
**Tier 3: Specialists (23)** — Experts por domínio
|
|
50
|
-
- **Backend Squad (10):** `ef-modeler`, `event-architect`, `api-designer`, `nosql-cache-expert`, `ddd-expert`, `hangfire-orchestrator`, `ms-agent-expert`, `asaas-financial`, `clerk-auth`, `resend-email`
|
|
51
|
-
- **Frontend Squad (3):** `blazor-builder`, `nextjs-expert`, `css-specialist`
|
|
52
|
-
- **Infrastructure Squad (5):** `bicep-architect`, `devops-engineer`, `container-specialist`, `observability-expert`, `azure-identity`
|
|
53
|
-
- **Quality Squad (5):** `testing-specialist`, `code-analyzer`, `troubleshooting-expert`, `load-testing-expert`, `documentation-specialist`
|
|
54
|
-
|
|
55
|
-
**Tier 4: Validators (1)** — Executam em hooks (não teammates)
|
|
56
|
-
- `security-expert` — Valida em TeammateIdle/TaskCompleted hooks
|
|
57
|
-
|
|
58
|
-
### Agent Detection & Activation
|
|
59
|
-
|
|
60
|
-
**Workflow:** Keywords no input → `npx morph-spec detect-agents "{input}"` → retorna agent-ids → Claude ativa agentes → invoca Skills dos detectados
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
npx morph-spec detect-agents "implementar jobs agendados" # Detectar agentes por keywords
|
|
64
|
-
npx morph-spec detect-agents --verbose "criar dashboard" # Ver matches detalhados
|
|
65
|
-
npx morph-spec detect # Detectar stack/arquitetura do projeto
|
|
66
|
-
npx morph-spec validate-agents-skills # Validar consistência
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Após detectar, registrar: `morph-spec state add-agent {feature} {agent-id}`
|
|
70
|
-
|
|
71
|
-
### Skills (5 Níveis)
|
|
72
|
-
|
|
73
|
-
Skills organizados em **hierarquia de 5 níveis** em `content/.claude/skills/`:
|
|
74
|
-
|
|
75
|
-
- **Level 0: Meta-Skills** — Orquestração high-level (morph-checklist, code-review)
|
|
76
|
-
- **Level 1: Workflows** — Fases MORPH (phase-setup, phase-design, phase-uiux, etc.)
|
|
77
|
-
- **Level 2: Domains** — Expertise por squad (backend/, frontend/, infrastructure/, quality/, ai-agents/, integrations/, architecture/)
|
|
78
|
-
- **Level 3: Technologies** — Patterns específicos de tech (a serem populados)
|
|
79
|
-
- **Level 4: Patterns** — Design patterns (CQRS, Event Sourcing, DDD — a serem populados)
|
|
80
|
-
|
|
81
|
-
### Agent Teams (Claude Code Integration)
|
|
82
|
-
|
|
83
|
-
Para **features complexas** (≥5 agentes, multi-domain, ≥15 arquivos), MORPH pode usar **Agent Teams** (Claude Code experimental feature) para execução paralela:
|
|
84
|
-
|
|
85
|
-
**Quando usar Agent Teams:**
|
|
86
|
-
- ✅ Features high/critical complexity
|
|
87
|
-
- ✅ Multi-domain (backend + frontend + infra)
|
|
88
|
-
- ✅ 3+ módulos independentes
|
|
89
|
-
- ✅ 5+ specialists ativos
|
|
90
|
-
- ❌ NUNCA para trivial/low complexity
|
|
91
|
-
|
|
92
|
-
**Como funciona:**
|
|
93
|
-
1. `team-orchestrator.js` detecta necessidade de Team
|
|
94
|
-
2. Constrói hierarquia: Team Lead (delegate mode) → Domain Leaders → Specialists
|
|
95
|
-
3. Spawna teammates com prompts hierárquicos
|
|
96
|
-
4. Team Lead coordena, Domain Leaders gerenciam squads, Specialists implementam
|
|
97
|
-
5. Validators rodam em hooks (TeammateIdle, TaskCompleted)
|
|
98
|
-
|
|
99
|
-
**Enable:** `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` in `settings.local.json`
|
|
100
|
-
|
|
101
|
-
**Display modes:** `auto` (tmux se disponível) | `in-process` (Shift+Up/Down) | `tmux` (split panes)
|
|
102
|
-
|
|
103
|
-
**Detalhes:** Ver `framework/standards/agent-teams-workflow.md`
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## WORKFLOWS POR COMPLEXIDADE
|
|
108
|
-
|
|
109
|
-
O MORPH-SPEC detecta automaticamente a complexidade via `src/lib/complexity-analyzer.js`. Override: `[FAST-TRACK]` ou `[FULL-MORPH]` no pedido.
|
|
110
|
-
|
|
111
|
-
| Aspecto | Fast Track | Standard | Full MORPH | UI Refresh | Design Impl |
|
|
112
|
-
|---------|-----------|----------|------------|------------|-------------|
|
|
113
|
-
| **Quando** | Bug fixes, ajustes | Features simples | Features complexas | Redesign visual | Prototipo → Codigo |
|
|
114
|
-
| **Arquivos** | ≤ 3 | 3-10 | > 10 | CSS + .razor | .html → .razor |
|
|
115
|
-
| **Fases** | 2 | 4 | 9 (todas) | 3 | 3 |
|
|
116
|
-
| **Pausas** | 1 | 2-3 | 5-6 | 2 | 2 |
|
|
117
|
-
| **Outputs** | Nenhum | proposal, spec, recap | Todos (9+) | checklist, CSS, recap | recap, CSS |
|
|
118
|
-
|
|
119
|
-
**Detalhes de cada workflow:** Ler `content/.morph/docs/workflows/` para fases completas.
|
|
120
|
-
|
|
121
|
-
**Keywords de detecção:**
|
|
122
|
-
- **Trivial:** bug, fix, corrigir, ajustar, hotfix, edge case, cor, css
|
|
123
|
-
- **Infra:** azure, bicep, sql, container, deploy, infra
|
|
124
|
-
- **Arquitetura:** sistema, autenticação, integração, pattern, cqrs, subsistema
|
|
125
|
-
- **UI Refresh:** redesign, redesenhar, bonito, visual, estetica, modernizar
|
|
126
|
-
- **Design Impl:** prototipo, prototype, figma, html para, converter design, replicar
|
|
127
|
-
|
|
128
|
-
---
|
|
129
|
-
|
|
130
|
-
## AS 9 FASES DO WORKFLOW
|
|
131
|
-
|
|
132
|
-
| Fase | Gatilho | Ações Principais | Output | Pausa? |
|
|
133
|
-
|------|---------|-------------------|--------|--------|
|
|
134
|
-
| **0.5 CONTEXT** | Início sessão (auto) | Detectar framework, projeto, stack, histórico; gerar standards inferidos | context/, inferred.md | Não |
|
|
135
|
-
| **0 PROPOSAL** | Feature request | `npx morph-spec detect`; analisar; gerar proposal.md; registrar agentes | proposal.md | **Sim** |
|
|
136
|
-
| **1 SETUP** | Proposal aprovado | Ler config.json; confirmar stack; ativar agentes; criar pasta outputs | Confirmação | Não |
|
|
137
|
-
| **1.5 UI/UX** | Setup + keywords UI *(condicional)* | Perguntar layout/refs ao usuário; gerar wireframes e specs AGNÓSTICOS (sem escolher lib UI) | ui-*.md | **Sim** |
|
|
138
|
-
| **2 DESIGN** | Contexto confirmado | Gerar spec.md + contracts.cs; DECISION POINTS (lib UI, padrões, dados, infra, SDKs); estimar custos | spec.md, contracts.cs, decisions.md | **Sim** |
|
|
139
|
-
| **3 CLARIFY** | Design aprovado | Identificar ambiguidades; perguntas de clarificação; validar edge cases | Spec atualizado | Não |
|
|
140
|
-
| **4 TASKS** | Clarificações resolvidas | Quebrar spec em tasks T001-TXXX; definir ordem, checkpoints, dependências | tasks.json | **Sim** |
|
|
141
|
-
| **5 IMPLEMENT** | Tasks aprovadas | Implementar task por task; `npx morph-spec task done {feature} {task-id}` após cada; gerar recap.md | Código + recap.md | Não |
|
|
142
|
-
| **6 SYNC** | Implementação + complexidade média/alta *(condicional)* | Promover decisions.md para project/standards/; gerar commit sync | standards/*.md | **Sim** |
|
|
143
|
-
|
|
144
|
-
**Fases Obrigatórias:** 0, 1, 2, 3, 4, 5
|
|
145
|
-
**Fases Condicionais:** 0.5 (auto), 1.5 (se UI), 6 (se complexo)
|
|
146
|
-
|
|
147
|
-
### Regras da FASE 5 (IMPLEMENT)
|
|
148
|
-
|
|
149
|
-
- **SEMPRE** chamar `npx morph-spec task done {feature} {task-id}` após cada task (validators run automatically)
|
|
150
|
-
- **Se validação falhar:** corrigir violações ANTES de re-executar `task done`. NUNCA usar `--skip-validation` sem autorização do usuário
|
|
151
|
-
- **NUNCA** atualizar state.json ou tasks.json manualmente
|
|
152
|
-
- **NUNCA** pular tasks com dependências não completadas
|
|
153
|
-
- Framework gerencia checkpoints automaticamente (a cada 3 tasks, inclui validation summary)
|
|
154
|
-
- Usar `morph-spec phase advance {feature}` para avançar entre fases (valida → avança → mostra próximos passos)
|
|
155
|
-
- Gerar recap: `morph-spec generate recap {feature}` (auto-popula com dados reais de state + validation + contracts)
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
## PAUSAS INTERATIVAS
|
|
160
|
-
|
|
161
|
-
Toda pausa obrigatória termina com **exatamente 3 itens** (mix de ações/perguntas/sugestões):
|
|
162
|
-
|
|
163
|
-
| Fase | Mix Recomendado |
|
|
164
|
-
|------|----------------|
|
|
165
|
-
| PROPOSAL | 1 ação + 1 pergunta + 1 sugestão |
|
|
166
|
-
| DESIGN | 2 ações + 1 pergunta/sugestão |
|
|
167
|
-
| TASKS | 3 ações (aprovar/repriorizar/adicionar) |
|
|
168
|
-
|
|
169
|
-
**Template:**
|
|
170
|
-
```
|
|
171
|
-
⛔ PAUSA OBRIGATÓRIA
|
|
172
|
-
{Contexto breve}
|
|
173
|
-
1. {Emoji} **{Título}** - {Descrição}
|
|
174
|
-
2. {Emoji} **{Título}** - {Descrição}
|
|
175
|
-
3. {Emoji} **{Título}** - {Descrição}
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
|
-
## DECISION POINTS
|
|
181
|
-
|
|
182
|
-
### Regra: NUNCA decida sozinho sobre arquitetura, dependências externas ou estrutura de dados.
|
|
183
|
-
|
|
184
|
-
**Requer aprovação do usuário:**
|
|
185
|
-
- Infraestrutura Azure (recursos, SKUs, tiers, custos)
|
|
186
|
-
- Bibliotecas e Frameworks (NuGet, UI libs, auth providers, SDKs)
|
|
187
|
-
- Padrões Arquiteturais (CQRS vs simples, Repository vs EF direto, etc.)
|
|
188
|
-
- Estrutura de Dados (entidades, relacionamentos, normalização)
|
|
189
|
-
|
|
190
|
-
**Decisões são ENFORCED por validators na FASE 5.** Ao documentar decisão em `decisions.md`, os validators automaticamente ajustam suas regras (ex: "Fluent UI chosen" → blazor-validator valida Fluent patterns; "Hangfire chosen" → blazor-concurrency analyzer ativado).
|
|
191
|
-
|
|
192
|
-
**Decisões automáticas permitidas:**
|
|
193
|
-
- Nomenclatura (seguir standards), estrutura de pastas, imports, formatação, tipos primitivos, validações básicas, padrões já em project/standards/
|
|
194
|
-
|
|
195
|
-
**Template de decisão:**
|
|
196
|
-
```
|
|
197
|
-
🤔 DECISÃO TÉCNICA NECESSÁRIA
|
|
198
|
-
Contexto: {por que decidir agora}
|
|
199
|
-
|
|
200
|
-
Opção 1: {Nome} - ✅ {vantagens} | ❌ {desvantagens} | ⚡ {complexidade}
|
|
201
|
-
Opção 2: {Nome} - ✅ {vantagens} | ❌ {desvantagens} | ⚡ {complexidade}
|
|
43
|
+
## WORKFLOW (5 Fases)
|
|
202
44
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
45
|
+
| Fase | Gatilho | Ações | Output | Pausa? |
|
|
46
|
+
|------|---------|-------|--------|--------|
|
|
47
|
+
| **1. SETUP** | Feature request | Ler project.md, identificar stack, ativar agentes, criar pasta | proposal.md | Não |
|
|
48
|
+
| **2. DESIGN** | Setup concluído | Spec + contracts + decisions + custos + IaC | spec.md, contracts, decisions.md | **Sim** |
|
|
49
|
+
| **3. CLARIFY** | Design aprovado | Ambiguidades, perguntas, edge cases | Spec atualizado | Não |
|
|
50
|
+
| **4. TASKS** | Clarificações resolvidas | Quebrar em tasks, ordem, checkpoints, dependências | tasks.md | **Sim** |
|
|
51
|
+
| **5. IMPLEMENT** | Tasks aprovadas | Task por task, checkpoint a cada 3, recap | Código + recap.md | Não |
|
|
206
52
|
|
|
207
53
|
---
|
|
208
54
|
|
|
209
|
-
##
|
|
210
|
-
|
|
211
|
-
MORPH 3.0 possui pipeline completo de enforcement automático (Fases 1-6) que garante qualidade e conformidade sem intervenção manual.
|
|
212
|
-
|
|
213
|
-
### Pipeline Data-Driven
|
|
214
|
-
|
|
215
|
-
**Fonte única de verdade:**
|
|
216
|
-
- `agents.json` → Mapping agente→validators (27/30 agentes configurados)
|
|
217
|
-
- `framework/standards/` → Padrões C# otimizados (23% token reduction)
|
|
218
|
-
- `decisions.md` → Constraints arquiteturais (flow para validators)
|
|
219
|
-
- `state.json` → Agentes ativos (determina validators executados)
|
|
220
|
-
|
|
221
|
-
### 3 Níveis de Enforcement
|
|
222
|
-
|
|
223
|
-
**1. Soft (Context Injection)**
|
|
224
|
-
- Standards automaticamente carregados para agentes via `detect-agents --json`
|
|
225
|
-
- 55k+ caracteres de standards por agente
|
|
226
|
-
- Inclui: coding, architecture, blazor-*, css-*, agent-framework-*
|
|
227
|
-
- Sem compressão (200k context window disponível)
|
|
228
|
-
|
|
229
|
-
**2. Medium (Validation)**
|
|
230
|
-
- Validators detectam violações e mostram warnings
|
|
231
|
-
- Executam em `morph-spec task done` ANTES de marcar task completo
|
|
232
|
-
- 7 validators disponíveis: architecture, packages, blazor, blazor-concurrency, blazor-state, css, design-system
|
|
233
|
-
- Resultados por-validator + summary consolidado
|
|
55
|
+
## ESTRUTURA DO FRAMEWORK
|
|
234
56
|
|
|
235
|
-
**3. Hard (Gates)**
|
|
236
|
-
- `advance-phase` bloqueia avanço em falhas críticas:
|
|
237
|
-
- **Spec Gate:** Bloqueia design → clarify/tasks se contracts.cs tem violações C#
|
|
238
|
-
- **Design System Gate:** Bloqueia tasks → implement se UI agents ativos sem design system
|
|
239
|
-
- Gates fornecem mensagens de erro acionáveis + soluções
|
|
240
|
-
|
|
241
|
-
### Validações Automáticas
|
|
242
|
-
|
|
243
|
-
**Spec Validator (FASE 2):**
|
|
244
|
-
- ❌ UPPER_SNAKE_CASE em constants (deve ser PascalCase)
|
|
245
|
-
- ❌ Async methods sem CancellationToken parameter
|
|
246
|
-
- ❌ Methods retornando Task sem sufixo `Async`
|
|
247
|
-
- ⚠️ Classes não-sealed (warning)
|
|
248
|
-
- ⚠️ DTOs como class em vez de record (warning)
|
|
249
|
-
|
|
250
|
-
**Design System Validator (FASE 5):**
|
|
251
|
-
- ❌ Hardcoded colors fora da palette do design system
|
|
252
|
-
- ❌ Inline styles em arquivos .razor
|
|
253
|
-
- Valida contra 4 níveis: feature-output > project-markdown > generated-css > existing-css-variables
|
|
254
|
-
|
|
255
|
-
**Contract Compliance (FASE 5):**
|
|
256
|
-
- Valida que código implementado segue contracts.cs
|
|
257
|
-
- Checa interfaces declaradas vs implementadas
|
|
258
|
-
- Detecta métodos faltantes ou assinaturas incorretas
|
|
259
|
-
|
|
260
|
-
### Decision Constraints (ADR-Driven)
|
|
261
|
-
|
|
262
|
-
Ao documentar decisão em `decisions.md`, validators ajustam automaticamente:
|
|
263
|
-
|
|
264
|
-
```markdown
|
|
265
|
-
## ADR-001: UI Library Choice
|
|
266
|
-
**Status:** Accepted
|
|
267
|
-
**Decision:** Use Fluent UI Blazor
|
|
268
57
|
```
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
morph-spec phase advance {feature} # Gates checam pré-requisitos
|
|
286
|
-
|
|
287
|
-
# Manual (troubleshooting)
|
|
288
|
-
morph-spec validate {feature} # Rodar todos validators
|
|
289
|
-
morph-spec validate {feature} --validator=blazor # Validator específico
|
|
290
|
-
morph-spec validate {feature} --verbose # Output detalhado
|
|
58
|
+
morph-spec-framework/
|
|
59
|
+
├── stacks/
|
|
60
|
+
│ ├── blazor-azure/ # Stack Blazor + Azure
|
|
61
|
+
│ │ ├── CLAUDE.md
|
|
62
|
+
│ │ ├── .morph/{config, standards, templates, examples}
|
|
63
|
+
│ │ └── .claude/{skills, commands}
|
|
64
|
+
│ │
|
|
65
|
+
│ └── nextjs-supabase/ # Stack Next.js + Supabase
|
|
66
|
+
│ ├── CLAUDE.md
|
|
67
|
+
│ ├── .morph/{config, standards, templates, examples}
|
|
68
|
+
│ └── .claude/{skills}
|
|
69
|
+
│
|
|
70
|
+
├── framework/ # Compartilhado entre stacks
|
|
71
|
+
│ └── standards/{13 files} # coding, architecture, blazor-*, css-*
|
|
72
|
+
│
|
|
73
|
+
└── src/ # CLI (morph-spec)
|
|
291
74
|
```
|
|
292
75
|
|
|
293
|
-
### Bypass de Emergência
|
|
294
|
-
|
|
295
|
-
**NUNCA use sem autorização explícita do usuário:**
|
|
296
|
-
```bash
|
|
297
|
-
morph-spec task done {feature} {task-id} --skip-validation # Emergências APENAS
|
|
298
|
-
morph-spec phase advance {feature} --skip-warnings # Ignora warnings (não errors)
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
**Quando permitido:**
|
|
302
|
-
- Deploy urgente de hotfix crítico
|
|
303
|
-
- Validator com bug conhecido (registrar issue)
|
|
304
|
-
- Usuário aprovou explicitamente bypass temporário
|
|
305
|
-
|
|
306
|
-
---
|
|
307
|
-
|
|
308
|
-
## QUANDO NÃO USAR MORPH
|
|
309
|
-
|
|
310
|
-
| Não usar MORPH | Sempre usar MORPH |
|
|
311
|
-
|----------------|-------------------|
|
|
312
|
-
| Bug fix simples (< 3 arquivos) | Nova feature com UI |
|
|
313
|
-
| Hotfix urgente | Integração com API externa |
|
|
314
|
-
| Ajuste CSS/typo | Novo subsistema/módulo |
|
|
315
|
-
| Atualizar dependência | Mudança de schema de banco |
|
|
316
|
-
| Pergunta sobre código | Autenticação/autorização |
|
|
317
|
-
|
|
318
|
-
> **Regra de Ouro:** ARQUITETURA, DEPENDÊNCIAS EXTERNAS ou ESTRUTURA DE DADOS → Use MORPH. CORREÇÃO, AJUSTE ou OPERAÇÃO → Faça diretamente.
|
|
319
|
-
|
|
320
|
-
Escalação: Se descobrir complexidade maior, `morph-spec state set {feature} workflow full-morph`
|
|
321
|
-
|
|
322
|
-
---
|
|
323
|
-
|
|
324
|
-
## INFRASTRUCTURE AS CODE
|
|
325
|
-
|
|
326
|
-
> NUNCA criar recursos Azure manualmente. Tudo via Bicep.
|
|
327
|
-
|
|
328
|
-
| Recurso | Abordagem |
|
|
329
|
-
|---------|-----------|
|
|
330
|
-
| Infra estática (SQL, Storage, Container Apps) | Bicep |
|
|
331
|
-
| Recursos dinâmicos (Fabric, Azure AI) | SDK .NET |
|
|
332
|
-
| CI/CD | YAML + Bicep |
|
|
333
|
-
|
|
334
|
-
Estrutura: `infra/main.bicep` → `infra/modules/*.bicep` + `parameters.{env}.json`
|
|
335
|
-
|
|
336
|
-
---
|
|
337
|
-
|
|
338
|
-
## STATE MANAGEMENT
|
|
339
|
-
|
|
340
|
-
```bash
|
|
341
|
-
morph-spec state init # Inicializar
|
|
342
|
-
morph-spec state set {feature} phase {phase} # Atualizar fase
|
|
343
|
-
morph-spec state set {feature} status {status} # Atualizar status
|
|
344
|
-
morph-spec state add-agent {feature} {agent-id} # Adicionar agente
|
|
345
|
-
morph-spec state mark-output {feature} {type} # Marcar output
|
|
346
|
-
morph-spec state checkpoint {feature} "{nota}" # Registrar checkpoint
|
|
347
|
-
morph-spec state list # Dashboard
|
|
348
|
-
morph-spec state get {feature} # Detalhes
|
|
349
|
-
```
|
|
350
|
-
|
|
351
|
-
**Quando atualizar:** Criar proposal → phase proposal + mark-output proposal. Iniciar design → phase design + add-agent. Aprovar design → status approved + mark-output spec/contracts. Implementar → phase implement + tasks.total. Completar task → tasks.completed. Finalizar → status done + mark-output recap.
|
|
352
|
-
|
|
353
76
|
---
|
|
354
77
|
|
|
355
78
|
## COMANDOS
|
|
356
79
|
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
| Comando | Descrição |
|
|
363
|
-
|---------|-----------|
|
|
364
|
-
| `/morph-proposal {feature}` | Spec pipeline completo (fases 0-4 com pausas e auto-continuação) |
|
|
365
|
-
| `/morph-apply {feature}` | Implementar (fase 5, valida fases anteriores) |
|
|
366
|
-
| `/morph-status` | Dashboard de progresso |
|
|
80
|
+
| Comando | Ação |
|
|
81
|
+
|---------|------|
|
|
82
|
+
| `/morph-proposal {feature}` | Spec pipeline completo (fases 0-4, auto-continuação com pausas) |
|
|
83
|
+
| `/morph-apply {feature}` | Implementar feature (fase 5) |
|
|
84
|
+
| `/morph-status` | Dashboard |
|
|
367
85
|
| `/morph-archive {feature}` | Arquivar feature concluída |
|
|
368
|
-
| `/morph-infra {action}` | Gerenciar infra Bicep
|
|
369
|
-
| `/morph-preflight` | Validação pre-deploy
|
|
86
|
+
| `/morph-infra {action}` | Gerenciar infra (Bicep ou Docker) |
|
|
87
|
+
| `/morph-preflight` | Validação pre-deploy |
|
|
370
88
|
| `/morph-troubleshoot {error}` | Troubleshooting de erros |
|
|
371
89
|
|
|
372
|
-
**CLI (o que o usuário executa no terminal):**
|
|
373
|
-
| Comando | Descrição |
|
|
374
|
-
|---------|-----------|
|
|
375
|
-
| `morph-spec init` | Inicializar MORPH no projeto |
|
|
376
|
-
| `morph-spec update` | Atualizar templates e standards |
|
|
377
|
-
| `morph-spec doctor` | Check de saúde |
|
|
378
|
-
|
|
379
|
-
### Framework Commands (Claude internal)
|
|
380
|
-
|
|
381
|
-
> Comandos usados pelo Claude automaticamente durante o workflow. Usuário NÃO precisa executar.
|
|
382
|
-
|
|
383
|
-
| Comando | Quando |
|
|
384
|
-
|---------|--------|
|
|
385
|
-
| `morph-spec detect-agents "{text}"` | Detectar agentes na proposta |
|
|
386
|
-
| `morph-spec state <action>` | Gerenciar state.json |
|
|
387
|
-
| `morph-spec task done/start/next` | Gerenciar tasks na implementação |
|
|
388
|
-
| `morph-spec phase advance {feature}` | Avançar entre fases |
|
|
389
|
-
| `morph-spec generate recap/design-system` | Gerar outputs |
|
|
390
|
-
| `morph-spec validate-phase {feature} {phase}` | Validar pré-requisitos |
|
|
391
|
-
| `morph-spec validate/validate-blazor/lint-fluent/...` | Validators |
|
|
392
|
-
| `morph-spec story create/shard/status` | Story-driven development |
|
|
393
|
-
|
|
394
|
-
### Internal Workflow Skills (auto-invoked by /morph-proposal)
|
|
395
|
-
|
|
396
|
-
| Skill | Fase | Path |
|
|
397
|
-
|-------|------|------|
|
|
398
|
-
| phase-setup | 1 | `.claude/skills/workflows/phase-setup.md` |
|
|
399
|
-
| phase-uiux | 1.5 | `.claude/skills/workflows/phase-uiux.md` |
|
|
400
|
-
| phase-design | 2 | `.claude/skills/workflows/phase-design.md` |
|
|
401
|
-
| phase-clarify | 3 | `.claude/skills/workflows/phase-clarify.md` |
|
|
402
|
-
| phase-tasks | 4 | `.claude/skills/workflows/phase-tasks.md` |
|
|
403
|
-
|
|
404
90
|
---
|
|
405
91
|
|
|
406
|
-
##
|
|
92
|
+
## TEMPLATES
|
|
407
93
|
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
├── contracts.cs # FASE 2
|
|
417
|
-
├── tasks.json # FASE 4
|
|
418
|
-
├── decisions.md # FASE 2+ (acumulativo)
|
|
419
|
-
└── recap.md # FASE 5
|
|
420
|
-
```
|
|
94
|
+
> SEMPRE use `bin/render-template.js` para renderizar. NUNCA preencha placeholders manualmente.
|
|
95
|
+
|
|
96
|
+
| Placeholder | Exemplo |
|
|
97
|
+
|-------------|---------|
|
|
98
|
+
| `{{FEATURE_NAME}}` | `scheduled-reports` |
|
|
99
|
+
| `{{FEATURE_NAME_PASCAL}}` | `ScheduledReports` |
|
|
100
|
+
| `{{STACK}}` | `Blazor` ou `NextjsSupabase` |
|
|
101
|
+
| `{{DATE}}`, `{{AUTHOR}}`, `{{NAMESPACE}}` | Auto from config.json |
|
|
421
102
|
|
|
422
103
|
---
|
|
423
104
|
|
|
424
105
|
## REFERÊNCIAS
|
|
425
106
|
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
- `content/.morph/templates/` - Source (NPM package)
|
|
431
|
-
- `.morph/templates/` - No projeto consumidor (editável, copiado pelo `init`)
|
|
432
|
-
|
|
433
|
-
### Project Context
|
|
434
|
-
`.morph/project/context/README.md` | `.morph/project/standards/inferred.md` | `.morph/project/standards/*.md` | `.morph/config.json`
|
|
435
|
-
|
|
436
|
-
### Skills
|
|
437
|
-
- `workflows/` - phase-setup, phase-uiux, phase-design, phase-clarify, phase-tasks, morph-replicate
|
|
438
|
-
- `checklists/` - morph-checklist, simulation-checklist, code-review
|
|
439
|
-
- `integrations/` - asaas-financial, clerk-auth, azure-identity, resend-email
|
|
440
|
-
- `specialists/` - dotnet-senior, code-analyzer, ui-ux-designer, ai-system-architect, ef-modeler, hangfire-orchestrator, testing-specialist, etc.
|
|
441
|
-
- `stacks/` - dotnet-blazor, dotnet-nextjs
|
|
442
|
-
- `infra/` - bicep-architect, devops-engineer, container-specialist
|
|
107
|
+
- `stacks/{stack}/CLAUDE.md` — Instruções específicas da stack
|
|
108
|
+
- `stacks/{stack}/.morph/standards/` — Standards da stack
|
|
109
|
+
- `stacks/{stack}/.morph/config/agents.json` — Agentes da stack
|
|
110
|
+
- `framework/standards/` — Standards compartilhados (coding, architecture)
|
|
443
111
|
|
|
444
112
|
---
|
|
445
113
|
|