@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
package/docs/getting-started.md
CHANGED
|
@@ -1,302 +1,301 @@
|
|
|
1
|
-
# Getting Started - MORPH-SPEC
|
|
2
|
-
|
|
3
|
-
**M**ethodical **O**rchestration for **R**eliable **P**roduction-ready **SPEC**-driven development
|
|
4
|
-
|
|
5
|
-
> by Polymorphism Tech
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Quick Start (5 minutos)
|
|
10
|
-
|
|
11
|
-
### 1. Copiar para seu projeto
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
# Clone o framework
|
|
15
|
-
git clone https://github.com/polymorphism-tech/morph-framework.git
|
|
16
|
-
|
|
17
|
-
# Copie o conteúdo para seu projeto
|
|
18
|
-
cp -r morph-framework/content/.morph /seu/projeto/
|
|
19
|
-
cp -r morph-framework/content/.claude /seu/projeto/
|
|
20
|
-
cp morph-framework/content/CLAUDE.md /seu/projeto/
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
### 2. Configurar
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
cd /seu/projeto/.morph/config
|
|
27
|
-
cp config.template.json config.json
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
Edite `config.json`:
|
|
31
|
-
```json
|
|
32
|
-
{
|
|
33
|
-
"project": {
|
|
34
|
-
"name": "Seu Projeto",
|
|
35
|
-
"stack": "blazor"
|
|
36
|
-
},
|
|
37
|
-
"azure": {
|
|
38
|
-
"subscriptionId": "sua-subscription",
|
|
39
|
-
"resourceGroup": "rg-seuprojeto-dev"
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### 3. Usar com Claude Code
|
|
45
|
-
|
|
46
|
-
Abra seu projeto no Claude Code e use os slash commands:
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
/morph-proposal minha-feature
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
O MORPH vai guiar você pelas 5 fases automaticamente.
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## Estrutura Completa
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
seu-projeto/
|
|
60
|
-
├── CLAUDE.md # Instruções para o AI
|
|
61
|
-
│
|
|
62
|
-
├── .morph/
|
|
63
|
-
│ ├── project.md # Contexto do projeto
|
|
64
|
-
│ ├── config/
|
|
65
|
-
│ │ ├── config.json # Sua configuração
|
|
66
|
-
│ │ └── agents.json # Definição dos agentes
|
|
67
|
-
│ │
|
|
68
|
-
│ ├── standards/
|
|
69
|
-
│ │ ├── coding.md # Padrões de código
|
|
70
|
-
│ │ ├── architecture.md # Padrões de arquitetura
|
|
71
|
-
│ │ └── azure.md # Padrões Azure/IaC
|
|
72
|
-
│ │
|
|
73
|
-
│ ├── templates/
|
|
74
|
-
│ │ ├── spec.md # Template de especificação
|
|
75
|
-
│ │ ├── tasks.md # Template de tasks
|
|
76
|
-
│ │ ├── contracts.cs # Template de contratos
|
|
77
|
-
│ │ ├── decisions.md # Template de ADRs
|
|
78
|
-
│ │ ├── recap.md # Template de recap
|
|
79
|
-
│ │ │
|
|
80
|
-
│ │ ├── infra/ # Templates IaC (Bicep)
|
|
81
|
-
│ │ │ ├── main.bicep
|
|
82
|
-
│ │ │ ├── container-app.bicep
|
|
83
|
-
│ │ │ ├── container-app-env.bicep
|
|
84
|
-
│ │ │ ├── sql-database.bicep
|
|
85
|
-
│ │ │ ├── storage.bicep
|
|
86
|
-
│ │ │ ├── key-vault.bicep
|
|
87
|
-
│ │ │ ├── app-insights.bicep
|
|
88
|
-
│ │ │ └── parameters.*.json
|
|
89
|
-
│ │ │
|
|
90
|
-
│ │ ├── integrations/ # Templates de integração
|
|
91
|
-
│ │ │ ├── asaas-client.cs # Pagamentos (PIX, Boleto)
|
|
92
|
-
│ │ │ ├── asaas-webhook.cs # Webhooks Asaas
|
|
93
|
-
│ │ │ ├── clerk-config.cs # Autenticação Clerk
|
|
94
|
-
│ │ │ └── azure-identity-config.cs
|
|
95
|
-
│ │ │
|
|
96
|
-
│ │ └── saas/ # Templates SaaS
|
|
97
|
-
│ │ ├── subscription.cs # Modelo de assinaturas
|
|
98
|
-
│ │ └── tenant.cs # Multi-tenancy
|
|
99
|
-
│ │
|
|
100
|
-
│ ├── examples/ # Exemplos completos
|
|
101
|
-
│ │ ├── micro-saas/ # Blazor + Asaas billing
|
|
102
|
-
│ │ ├── api-nextjs/ # .NET API + Next.js
|
|
103
|
-
│ │ └── multi-agent/ # Semantic Kernel agents
|
|
104
|
-
│ │
|
|
105
|
-
│ ├── specs/ # Specs ativas
|
|
106
|
-
│ ├── features/ # Features em desenvolvimento
|
|
107
|
-
│ └── archive/ # Features concluídas
|
|
108
|
-
│
|
|
109
|
-
└── .claude/
|
|
110
|
-
├── commands/ # Slash commands
|
|
111
|
-
│ ├── morph-proposal.md
|
|
112
|
-
│ ├── morph-apply.md
|
|
113
|
-
│ ├── morph-status.md
|
|
114
|
-
│ ├── morph-archive.md
|
|
115
|
-
│ ├── morph-infra.md # Gestão de infra
|
|
116
|
-
│ └── morph-costs.md # Estimativa de custos
|
|
117
|
-
│
|
|
118
|
-
└── skills/ # Skills dos agentes
|
|
119
|
-
├── specialists/ # 8 agentes especialistas
|
|
120
|
-
├── integrations/ # 3 agentes de integração
|
|
121
|
-
├── stacks/ # 3 stacks suportadas
|
|
122
|
-
└── infra/ # 3 agentes de infra
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
## O Workflow das 5 Fases
|
|
128
|
-
|
|
129
|
-
### Fase 1: SETUP
|
|
130
|
-
```
|
|
131
|
-
Gatilho: /morph-proposal <feature>
|
|
132
|
-
```
|
|
133
|
-
- Carrega configuração do projeto
|
|
134
|
-
- Identifica agentes por keywords
|
|
135
|
-
- Cria pasta de outputs
|
|
136
|
-
|
|
137
|
-
### Fase 2: DESIGN
|
|
138
|
-
- Gera `spec.md`, `contracts.cs`, `decisions.md`
|
|
139
|
-
- Estima custos de infraestrutura
|
|
140
|
-
- **⛔ PARA para aprovação**
|
|
141
|
-
|
|
142
|
-
### Fase 3: CLARIFY
|
|
143
|
-
- Perguntas de clarificação
|
|
144
|
-
- Resolve ambiguidades
|
|
145
|
-
- Valida edge cases
|
|
146
|
-
|
|
147
|
-
### Fase 4: TASKS
|
|
148
|
-
- Quebra em tasks (T001, T002...)
|
|
149
|
-
- Define checkpoints
|
|
150
|
-
- **⛔ PARA para aprovação**
|
|
151
|
-
|
|
152
|
-
### Fase 5: IMPLEMENT
|
|
153
|
-
```
|
|
154
|
-
Gatilho: /morph-apply <feature>
|
|
155
|
-
```
|
|
156
|
-
- Implementa task por task
|
|
157
|
-
- Testes a cada task
|
|
158
|
-
- Checkpoint a cada 3 tasks
|
|
159
|
-
- Gera recap final
|
|
160
|
-
|
|
161
|
-
---
|
|
162
|
-
|
|
163
|
-
## Slash Commands
|
|
164
|
-
|
|
165
|
-
| Comando | Descrição |
|
|
166
|
-
|---------|-----------|
|
|
167
|
-
| `/morph-proposal <feature>` | Inicia nova feature |
|
|
168
|
-
| `/morph-apply <feature>` | Implementa feature aprovada |
|
|
169
|
-
| `/morph-status` | Status do projeto |
|
|
170
|
-
| `/morph-archive <feature>` | Arquiva feature |
|
|
171
|
-
| `/morph-infra <action>` | Gestão de infraestrutura |
|
|
172
|
-
| `/morph-costs` | Estimativa de custos |
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
## Os Agentes (17 total)
|
|
177
|
-
|
|
178
|
-
### Core (Sempre Ativos)
|
|
179
|
-
| Agente | Responsabilidade |
|
|
180
|
-
|--------|------------------|
|
|
181
|
-
| 📐 Standards Architect | Padrões de código |
|
|
182
|
-
| ☁️ Azure Architect | Infraestrutura cloud |
|
|
183
|
-
| 💰 Cost Guardian | Controle de custos |
|
|
184
|
-
|
|
185
|
-
### Stack Agents
|
|
186
|
-
| Agente | Keywords |
|
|
187
|
-
|--------|----------|
|
|
188
|
-
| 🔥 Blazor Builder | blazor, razor, component |
|
|
189
|
-
| ⚛️ NextJS Expert | nextjs, react, frontend |
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
|
196
|
-
|
|
|
197
|
-
|
|
|
198
|
-
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
|
205
|
-
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
|
212
|
-
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
- `
|
|
221
|
-
- `
|
|
222
|
-
- `
|
|
223
|
-
- `
|
|
224
|
-
- `
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
- `asaas-
|
|
229
|
-
- `
|
|
230
|
-
- `
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
- `
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
| `
|
|
244
|
-
| `
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
- `
|
|
249
|
-
- `
|
|
250
|
-
- `
|
|
251
|
-
- `
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
|
261
|
-
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
- **
|
|
266
|
-
- **
|
|
267
|
-
- **
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
-
|
|
288
|
-
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
*MORPH-SPEC by Polymorphism Tech*
|
|
1
|
+
# Getting Started - MORPH-SPEC
|
|
2
|
+
|
|
3
|
+
**M**ethodical **O**rchestration for **R**eliable **P**roduction-ready **SPEC**-driven development
|
|
4
|
+
|
|
5
|
+
> by Polymorphism Tech
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Quick Start (5 minutos)
|
|
10
|
+
|
|
11
|
+
### 1. Copiar para seu projeto
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Clone o framework
|
|
15
|
+
git clone https://github.com/polymorphism-tech/morph-framework.git
|
|
16
|
+
|
|
17
|
+
# Copie o conteúdo para seu projeto
|
|
18
|
+
cp -r morph-framework/content/.morph /seu/projeto/
|
|
19
|
+
cp -r morph-framework/content/.claude /seu/projeto/
|
|
20
|
+
cp morph-framework/content/CLAUDE.md /seu/projeto/
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### 2. Configurar
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
cd /seu/projeto/.morph/config
|
|
27
|
+
cp config.template.json config.json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Edite `config.json`:
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"project": {
|
|
34
|
+
"name": "Seu Projeto",
|
|
35
|
+
"stack": "blazor"
|
|
36
|
+
},
|
|
37
|
+
"azure": {
|
|
38
|
+
"subscriptionId": "sua-subscription",
|
|
39
|
+
"resourceGroup": "rg-seuprojeto-dev"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 3. Usar com Claude Code
|
|
45
|
+
|
|
46
|
+
Abra seu projeto no Claude Code e use os slash commands:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
/morph-proposal minha-feature
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
O MORPH vai guiar você pelas 5 fases automaticamente.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Estrutura Completa
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
seu-projeto/
|
|
60
|
+
├── CLAUDE.md # Instruções para o AI
|
|
61
|
+
│
|
|
62
|
+
├── .morph/
|
|
63
|
+
│ ├── project.md # Contexto do projeto
|
|
64
|
+
│ ├── config/
|
|
65
|
+
│ │ ├── config.json # Sua configuração
|
|
66
|
+
│ │ └── agents.json # Definição dos agentes
|
|
67
|
+
│ │
|
|
68
|
+
│ ├── standards/
|
|
69
|
+
│ │ ├── coding.md # Padrões de código
|
|
70
|
+
│ │ ├── architecture.md # Padrões de arquitetura
|
|
71
|
+
│ │ └── azure.md # Padrões Azure/IaC
|
|
72
|
+
│ │
|
|
73
|
+
│ ├── templates/
|
|
74
|
+
│ │ ├── spec.md # Template de especificação
|
|
75
|
+
│ │ ├── tasks.md # Template de tasks
|
|
76
|
+
│ │ ├── contracts.cs # Template de contratos
|
|
77
|
+
│ │ ├── decisions.md # Template de ADRs
|
|
78
|
+
│ │ ├── recap.md # Template de recap
|
|
79
|
+
│ │ │
|
|
80
|
+
│ │ ├── infra/ # Templates IaC (Bicep)
|
|
81
|
+
│ │ │ ├── main.bicep
|
|
82
|
+
│ │ │ ├── container-app.bicep
|
|
83
|
+
│ │ │ ├── container-app-env.bicep
|
|
84
|
+
│ │ │ ├── sql-database.bicep
|
|
85
|
+
│ │ │ ├── storage.bicep
|
|
86
|
+
│ │ │ ├── key-vault.bicep
|
|
87
|
+
│ │ │ ├── app-insights.bicep
|
|
88
|
+
│ │ │ └── parameters.*.json
|
|
89
|
+
│ │ │
|
|
90
|
+
│ │ ├── integrations/ # Templates de integração
|
|
91
|
+
│ │ │ ├── asaas-client.cs # Pagamentos (PIX, Boleto)
|
|
92
|
+
│ │ │ ├── asaas-webhook.cs # Webhooks Asaas
|
|
93
|
+
│ │ │ ├── clerk-config.cs # Autenticação Clerk
|
|
94
|
+
│ │ │ └── azure-identity-config.cs
|
|
95
|
+
│ │ │
|
|
96
|
+
│ │ └── saas/ # Templates SaaS
|
|
97
|
+
│ │ ├── subscription.cs # Modelo de assinaturas
|
|
98
|
+
│ │ └── tenant.cs # Multi-tenancy
|
|
99
|
+
│ │
|
|
100
|
+
│ ├── examples/ # Exemplos completos
|
|
101
|
+
│ │ ├── micro-saas/ # Blazor + Asaas billing
|
|
102
|
+
│ │ ├── api-nextjs/ # .NET API + Next.js
|
|
103
|
+
│ │ └── multi-agent/ # Semantic Kernel agents
|
|
104
|
+
│ │
|
|
105
|
+
│ ├── specs/ # Specs ativas
|
|
106
|
+
│ ├── features/ # Features em desenvolvimento
|
|
107
|
+
│ └── archive/ # Features concluídas
|
|
108
|
+
│
|
|
109
|
+
└── .claude/
|
|
110
|
+
├── commands/ # Slash commands
|
|
111
|
+
│ ├── morph-proposal.md
|
|
112
|
+
│ ├── morph-apply.md
|
|
113
|
+
│ ├── morph-status.md
|
|
114
|
+
│ ├── morph-archive.md
|
|
115
|
+
│ ├── morph-infra.md # Gestão de infra
|
|
116
|
+
│ └── morph-costs.md # Estimativa de custos
|
|
117
|
+
│
|
|
118
|
+
└── skills/ # Skills dos agentes
|
|
119
|
+
├── specialists/ # 8 agentes especialistas
|
|
120
|
+
├── integrations/ # 3 agentes de integração
|
|
121
|
+
├── stacks/ # 3 stacks suportadas
|
|
122
|
+
└── infra/ # 3 agentes de infra
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## O Workflow das 5 Fases
|
|
128
|
+
|
|
129
|
+
### Fase 1: SETUP
|
|
130
|
+
```
|
|
131
|
+
Gatilho: /morph-proposal <feature>
|
|
132
|
+
```
|
|
133
|
+
- Carrega configuração do projeto
|
|
134
|
+
- Identifica agentes por keywords
|
|
135
|
+
- Cria pasta de outputs
|
|
136
|
+
|
|
137
|
+
### Fase 2: DESIGN
|
|
138
|
+
- Gera `spec.md`, `contracts.cs`, `decisions.md`
|
|
139
|
+
- Estima custos de infraestrutura
|
|
140
|
+
- **⛔ PARA para aprovação**
|
|
141
|
+
|
|
142
|
+
### Fase 3: CLARIFY
|
|
143
|
+
- Perguntas de clarificação
|
|
144
|
+
- Resolve ambiguidades
|
|
145
|
+
- Valida edge cases
|
|
146
|
+
|
|
147
|
+
### Fase 4: TASKS
|
|
148
|
+
- Quebra em tasks (T001, T002...)
|
|
149
|
+
- Define checkpoints
|
|
150
|
+
- **⛔ PARA para aprovação**
|
|
151
|
+
|
|
152
|
+
### Fase 5: IMPLEMENT
|
|
153
|
+
```
|
|
154
|
+
Gatilho: /morph-apply <feature>
|
|
155
|
+
```
|
|
156
|
+
- Implementa task por task
|
|
157
|
+
- Testes a cada task
|
|
158
|
+
- Checkpoint a cada 3 tasks
|
|
159
|
+
- Gera recap final
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Slash Commands
|
|
164
|
+
|
|
165
|
+
| Comando | Descrição |
|
|
166
|
+
|---------|-----------|
|
|
167
|
+
| `/morph-proposal <feature>` | Inicia nova feature |
|
|
168
|
+
| `/morph-apply <feature>` | Implementa feature aprovada |
|
|
169
|
+
| `/morph-status` | Status do projeto |
|
|
170
|
+
| `/morph-archive <feature>` | Arquiva feature |
|
|
171
|
+
| `/morph-infra <action>` | Gestão de infraestrutura |
|
|
172
|
+
| `/morph-costs` | Estimativa de custos |
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Os Agentes (17 total)
|
|
177
|
+
|
|
178
|
+
### Core (Sempre Ativos)
|
|
179
|
+
| Agente | Responsabilidade |
|
|
180
|
+
|--------|------------------|
|
|
181
|
+
| 📐 Standards Architect | Padrões de código |
|
|
182
|
+
| ☁️ Azure Architect | Infraestrutura cloud |
|
|
183
|
+
| 💰 Cost Guardian | Controle de custos |
|
|
184
|
+
|
|
185
|
+
### Stack Agents
|
|
186
|
+
| Agente | Keywords |
|
|
187
|
+
|--------|----------|
|
|
188
|
+
| 🔥 Blazor Builder | blazor, razor, component |
|
|
189
|
+
| ⚛️ NextJS Expert | nextjs, react, frontend |
|
|
190
|
+
|
|
191
|
+
### Specialist Agents
|
|
192
|
+
| Agente | Keywords |
|
|
193
|
+
|--------|----------|
|
|
194
|
+
| 🗄️ EF Modeler | entity, database, migration |
|
|
195
|
+
| 🤖 MS Agent Expert | agent, ai, semantic kernel |
|
|
196
|
+
| ⏰ Hangfire Orchestrator | scheduled, job, background |
|
|
197
|
+
| 🎨 UI/UX Designer | wizard, dashboard, complex |
|
|
198
|
+
| 📋 PO/PM Advisor | unclear, requirements, ROI |
|
|
199
|
+
|
|
200
|
+
### Integration Agents
|
|
201
|
+
| Agente | Keywords |
|
|
202
|
+
|--------|----------|
|
|
203
|
+
| 💳 Asaas Financial | asaas, payment, pix, boleto |
|
|
204
|
+
| 🔐 Clerk Auth | clerk, auth, login |
|
|
205
|
+
| 🆔 Azure Identity | identity, entra, microsoft |
|
|
206
|
+
|
|
207
|
+
### Infra Agents
|
|
208
|
+
| Agente | Keywords |
|
|
209
|
+
|--------|----------|
|
|
210
|
+
| 🏗️ Bicep Architect | bicep, iac, provision |
|
|
211
|
+
| 🚀 DevOps Engineer | pipeline, ci/cd, deploy |
|
|
212
|
+
| 📦 Container Specialist | docker, container |
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Templates Disponíveis
|
|
217
|
+
|
|
218
|
+
### IaC (Bicep)
|
|
219
|
+
- `main.bicep` - Entry point
|
|
220
|
+
- `container-app.bicep` - Azure Container Apps
|
|
221
|
+
- `sql-database.bicep` - Azure SQL (Free tier)
|
|
222
|
+
- `storage.bicep` - Storage Account
|
|
223
|
+
- `key-vault.bicep` - Key Vault
|
|
224
|
+
- `app-insights.bicep` - Monitoring
|
|
225
|
+
|
|
226
|
+
### Integrações
|
|
227
|
+
- `asaas-client.cs` - HTTP client Asaas completo
|
|
228
|
+
- `asaas-webhook.cs` - Controller de webhooks
|
|
229
|
+
- `clerk-config.cs` - Autenticação Clerk
|
|
230
|
+
- `azure-identity-config.cs` - Microsoft Identity
|
|
231
|
+
|
|
232
|
+
### SaaS
|
|
233
|
+
- `subscription.cs` - Modelo de assinaturas
|
|
234
|
+
- `tenant.cs` - Multi-tenancy completo
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## Exemplos Incluídos
|
|
239
|
+
|
|
240
|
+
| Exemplo | Stack | Descrição |
|
|
241
|
+
|---------|-------|-----------|
|
|
242
|
+
| `micro-saas/` | Blazor + Asaas | SaaS com billing integrado |
|
|
243
|
+
| `api-nextjs/` | .NET + Next.js | Full-stack com React |
|
|
244
|
+
| `multi-agent/` | Semantic Kernel | Sistema de agentes AI |
|
|
245
|
+
|
|
246
|
+
Cada exemplo contém:
|
|
247
|
+
- `README.md` - Visão geral
|
|
248
|
+
- `spec.md` - Especificação completa
|
|
249
|
+
- `contracts.cs` - Interfaces e DTOs
|
|
250
|
+
- `tasks.md` - Breakdown de implementação
|
|
251
|
+
- `decisions.md` - ADRs (onde aplicável)
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## Limites de Custo
|
|
256
|
+
|
|
257
|
+
| Nível | Limite | Requisito |
|
|
258
|
+
|-------|--------|-----------|
|
|
259
|
+
| Sem aprovação | Free tier | Nenhum |
|
|
260
|
+
| Com aprovação | Até $10/mês | Confirmação |
|
|
261
|
+
| Acima de $10 | Justificativa | ADR |
|
|
262
|
+
|
|
263
|
+
### Recursos Free Tier Suportados
|
|
264
|
+
- **Azure SQL** - 32GB grátis
|
|
265
|
+
- **Container Apps** - Scale-to-zero
|
|
266
|
+
- **Storage** - Pay-per-use mínimo
|
|
267
|
+
- **App Insights** - 5GB/mês grátis
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## Dicas
|
|
272
|
+
|
|
273
|
+
### Seja específico
|
|
274
|
+
```
|
|
275
|
+
❌ "Quero relatórios"
|
|
276
|
+
✅ "Quero agendar relatórios de vendas por email toda segunda às 8h"
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Use keywords para ativar agentes
|
|
280
|
+
```
|
|
281
|
+
❌ "Quero processar pagamentos"
|
|
282
|
+
✅ "Quero integrar Asaas para receber PIX e boleto"
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### Aproveite os checkpoints
|
|
286
|
+
- Revise specs antes de aprovar
|
|
287
|
+
- Valide tasks antes de implementar
|
|
288
|
+
- Use `/morph-status` para ver progresso
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## Próximos Passos
|
|
293
|
+
|
|
294
|
+
1. Explore `.morph/examples/` para ver exemplos completos
|
|
295
|
+
2. Leia `.morph/standards/` para entender os padrões
|
|
296
|
+
3. Configure `.morph/config/config.json` para seu projeto
|
|
297
|
+
4. Execute `/morph-proposal` para sua primeira feature!
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
*MORPH-SPEC by Polymorphism Tech*
|