@polymorphism-tech/morph-spec 2.4.0 → 3.0.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 +158 -26
- package/LICENSE +72 -72
- package/bin/detect-agents.js +225 -225
- package/bin/morph-spec.js +8 -0
- package/bin/render-template.js +302 -302
- package/bin/semantic-detect-agents.js +246 -246
- package/bin/validate-agents-skills.js +251 -251
- package/bin/validate-agents.js +69 -69
- package/bin/validate-phase.js +263 -263
- 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-archive.md +79 -79
- package/content/.claude/commands/morph-deploy.md +529 -0
- package/content/.claude/commands/morph-infra.md +209 -209
- package/content/.claude/commands/morph-preflight.md +227 -227
- package/content/.claude/commands/morph-troubleshoot.md +122 -122
- package/content/.claude/settings.local.json +15 -15
- package/content/.claude/skills/infra/azure-deploy-specialist.md +699 -0
- package/content/.claude/skills/level-0-meta/README.md +7 -0
- package/content/.claude/skills/{checklists → level-0-meta}/morph-checklist.md +117 -117
- package/content/.claude/skills/level-1-workflows/README.md +7 -0
- package/content/.claude/skills/{workflows → level-1-workflows}/morph-replicate.md +213 -213
- package/content/.claude/skills/{workflows → level-1-workflows}/phase-clarify.md +131 -131
- package/content/.claude/skills/{workflows → level-1-workflows}/phase-design.md +213 -205
- package/content/.claude/skills/{workflows → level-1-workflows}/phase-setup.md +106 -92
- package/content/.claude/skills/{workflows → level-1-workflows}/phase-tasks.md +164 -164
- package/content/.claude/skills/{workflows → level-1-workflows}/phase-uiux.md +169 -138
- package/content/.claude/skills/level-2-domains/README.md +14 -0
- package/content/.claude/skills/{specialists → level-2-domains/quality}/testing-specialist.md +126 -126
- package/content/.claude/skills/level-3-technologies/README.md +7 -0
- package/content/.claude/skills/level-4-patterns/README.md +7 -0
- package/content/.claude/skills/specialists/prompt-engineer.md +189 -0
- package/content/.claude/skills/specialists/seo-growth-hacker.md +320 -0
- package/content/.morph/.morphversion +5 -5
- package/content/.morph/archive/.gitkeep +25 -25
- package/content/.morph/config/agents.json +742 -358
- package/content/.morph/config/config.template.json +33 -0
- package/content/.morph/docs/STORY-DRIVEN-DEVELOPMENT.md +392 -392
- package/content/.morph/docs/workflows/enforcement-pipeline.md +668 -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 -158
- package/content/.morph/examples/scheduled-reports/proposal.md +95 -95
- package/content/.morph/examples/scheduled-reports/spec.md +267 -267
- package/content/.morph/examples/state-v3.json +188 -188
- package/content/.morph/features/.gitkeep +25 -25
- package/content/.morph/hooks/README.md +158 -0
- 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/hooks/task-completed.js +73 -0
- package/content/.morph/hooks/teammate-idle.js +68 -0
- package/content/.morph/project.md +160 -160
- package/content/.morph/schemas/agent.schema.json +296 -296
- package/content/.morph/schemas/tasks.schema.json +220 -220
- package/content/.morph/specs/.gitkeep +20 -20
- package/content/.morph/standards/agent-teams-workflow.md +474 -0
- package/content/.morph/standards/coding.md +377 -377
- 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/CONTEXT-FEATURE.md +276 -0
- package/content/.morph/templates/CONTEXT.md +170 -0
- package/content/.morph/templates/FluentDesignTheme.cs +149 -149
- package/content/.morph/templates/MudTheme.cs +281 -281
- package/content/.morph/templates/clarify-questions.md +159 -159
- package/content/.morph/templates/component.razor +239 -239
- package/content/.morph/templates/contracts/Commands.cs +74 -74
- package/content/.morph/templates/contracts/Entities.cs +25 -25
- package/content/.morph/templates/contracts/Queries.cs +74 -74
- package/content/.morph/templates/contracts/README.md +74 -74
- package/content/.morph/templates/contracts.cs +217 -217
- 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/azure-pipelines-deploy.yml +480 -0
- 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 -426
- 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/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/sprint-status.yaml +68 -68
- package/content/.morph/templates/story.md +143 -143
- package/content/.morph/templates/test.cs +239 -239
- 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/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/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/templates.md +418 -418
- package/package.json +1 -1
- package/scripts/postinstall.js +132 -132
- package/src/commands/advance-phase.js +83 -0
- package/src/commands/analyze-blazor-concurrency.js +193 -193
- package/src/commands/create-story.js +351 -351
- package/src/commands/deploy.js +780 -0
- package/src/commands/detect-agents.js +34 -6
- package/src/commands/detect.js +104 -104
- package/src/commands/generate-context.js +40 -0
- package/src/commands/generate.js +149 -149
- package/src/commands/lint-fluent.js +352 -352
- package/src/commands/rollback-phase.js +185 -185
- package/src/commands/session-summary.js +291 -291
- 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/troubleshoot.js +222 -222
- package/src/commands/validate-blazor-state.js +210 -210
- package/src/commands/validate-blazor.js +156 -156
- package/src/commands/validate-css.js +84 -84
- package/src/commands/validate-phase.js +221 -221
- package/src/lib/blazor-concurrency-analyzer.js +288 -288
- package/src/lib/blazor-state-validator.js +291 -291
- package/src/lib/blazor-validator.js +374 -374
- package/src/lib/context-generator.js +513 -0
- package/src/lib/css-validator.js +352 -352
- package/src/lib/design-system-detector.js +187 -0
- package/src/lib/design-system-generator.js +298 -298
- package/src/lib/design-system-scaffolder.js +299 -0
- package/src/lib/hook-executor.js +256 -0
- package/src/lib/learning-system.js +520 -520
- package/src/lib/mockup-generator.js +366 -366
- package/src/lib/spec-validator.js +258 -0
- package/src/lib/standards-context-injector.js +287 -0
- package/src/lib/team-orchestrator.js +322 -0
- package/src/lib/troubleshoot-grep.js +194 -194
- package/src/lib/troubleshoot-index.js +144 -144
- package/src/lib/ui-detector.js +350 -350
- package/src/lib/validation-runner.js +65 -13
- package/src/lib/validators/architecture-validator.js +387 -387
- package/src/lib/validators/design-system-validator.js +231 -0
- package/src/lib/validators/package-validator.js +360 -360
- package/src/lib/validators/ui-contrast-validator.js +422 -422
- package/src/utils/file-copier.js +9 -1
- package/src/utils/logger.js +32 -32
- package/src/utils/version-checker.js +175 -175
- /package/content/.claude/skills/{checklists → level-0-meta}/code-review.md +0 -0
- /package/content/.claude/skills/{checklists → level-0-meta}/simulation-checklist.md +0 -0
- /package/content/.claude/skills/{specialists → level-2-domains/ai-agents}/ai-system-architect.md +0 -0
- /package/content/.claude/skills/{specialists → level-2-domains/architecture}/po-pm-advisor.md +0 -0
- /package/content/.claude/skills/{specialists → level-2-domains/architecture}/standards-architect.md +0 -0
- /package/content/.claude/skills/{specialists → level-2-domains/backend}/dotnet-senior.md +0 -0
- /package/content/.claude/skills/{specialists → level-2-domains/backend}/ef-modeler.md +0 -0
- /package/content/.claude/skills/{specialists → level-2-domains/backend}/hangfire-orchestrator.md +0 -0
- /package/content/.claude/skills/{specialists → level-2-domains/backend}/ms-agent-expert.md +0 -0
- /package/content/.claude/skills/{stacks/dotnet-blazor.md → level-2-domains/frontend/blazor-builder.md} +0 -0
- /package/content/.claude/skills/{stacks/dotnet-nextjs.md → level-2-domains/frontend/nextjs-expert.md} +0 -0
- /package/content/.claude/skills/{specialists → level-2-domains/frontend}/ui-ux-designer.md +0 -0
- /package/content/.claude/skills/{specialists → level-2-domains/infrastructure}/azure-architect.md +0 -0
- /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/bicep-architect.md +0 -0
- /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/container-specialist.md +0 -0
- /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/devops-engineer.md +0 -0
- /package/content/.claude/skills/{integrations → level-2-domains/integrations}/asaas-financial.md +0 -0
- /package/content/.claude/skills/{integrations → level-2-domains/integrations}/azure-identity.md +0 -0
- /package/content/.claude/skills/{integrations → level-2-domains/integrations}/clerk-auth.md +0 -0
- /package/content/.claude/skills/{integrations → level-2-domains/integrations}/resend-email.md +0 -0
- /package/content/.claude/skills/{specialists → level-2-domains/quality}/code-analyzer.md +0 -0
package/docs/examples.md
CHANGED
|
@@ -1,328 +1,328 @@
|
|
|
1
|
-
# MORPH-SPEC Examples Guide
|
|
2
|
-
|
|
3
|
-
Guia dos exemplos incluídos no framework.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Visão Geral
|
|
8
|
-
|
|
9
|
-
| Exemplo | Stack | Complexidade | Tempo Est. |
|
|
10
|
-
|---------|-------|--------------|------------|
|
|
11
|
-
| [micro-saas](#micro-saas) | Blazor + Asaas | Alta | 2-3 dias |
|
|
12
|
-
| [api-nextjs](#api-nextjs) | .NET + Next.js | Média | 1-2 dias |
|
|
13
|
-
| [multi-agent](#multi-agent) | Semantic Kernel | Alta | 2-3 dias |
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## micro-saas
|
|
18
|
-
|
|
19
|
-
**Localização**: `.morph/examples/micro-saas/`
|
|
20
|
-
|
|
21
|
-
### Descrição
|
|
22
|
-
|
|
23
|
-
SaaS completo com multi-tenancy e billing integrado via Asaas.
|
|
24
|
-
|
|
25
|
-
### Stack
|
|
26
|
-
|
|
27
|
-
| Camada | Tecnologia |
|
|
28
|
-
|--------|------------|
|
|
29
|
-
| Frontend | Blazor Server |
|
|
30
|
-
| Backend | .NET 8 Minimal APIs |
|
|
31
|
-
| Database | SQL Server |
|
|
32
|
-
| Auth | Clerk |
|
|
33
|
-
| Billing | Asaas |
|
|
34
|
-
| Infra | Azure Container Apps |
|
|
35
|
-
|
|
36
|
-
### Features
|
|
37
|
-
|
|
38
|
-
- **Multi-tenancy**: Isolamento completo por tenant
|
|
39
|
-
- **Subscription Management**: Planos Free, Starter, Pro, Enterprise
|
|
40
|
-
- **Payment Methods**: PIX, Boleto, Cartão de Crédito
|
|
41
|
-
- **Dashboard**: Métricas e gestão
|
|
42
|
-
- **User Management**: Convites, roles (Owner, Admin, Member)
|
|
43
|
-
- **Webhooks**: Processamento de eventos Asaas
|
|
44
|
-
|
|
45
|
-
### Arquivos
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
micro-saas/
|
|
49
|
-
├── README.md # Visão geral e arquitetura
|
|
50
|
-
├── spec.md # Especificação completa
|
|
51
|
-
├── contracts.cs # 50+ interfaces e DTOs
|
|
52
|
-
├── tasks.md # 51 tasks organizadas
|
|
53
|
-
└── decisions.md # 10 ADRs documentados
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### ADRs Principais
|
|
57
|
-
|
|
58
|
-
| ADR | Decisão |
|
|
59
|
-
|-----|---------|
|
|
60
|
-
| ADR-001 | Blazor Server vs WebAssembly |
|
|
61
|
-
| ADR-002 | Asaas vs Stripe |
|
|
62
|
-
| ADR-003 | Clerk vs Azure AD B2C |
|
|
63
|
-
| ADR-004 | Single DB com Query Filters |
|
|
64
|
-
| ADR-005 | Tenant Resolution Strategy |
|
|
65
|
-
|
|
66
|
-
### Para Começar
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
# 1. Copie o exemplo para seu projeto
|
|
70
|
-
cp -r .morph/examples/micro-saas/ .morph/features/
|
|
71
|
-
|
|
72
|
-
# 2. Revise a spec
|
|
73
|
-
cat .morph/features/micro-saas/spec.md
|
|
74
|
-
|
|
75
|
-
# 3. Ajuste para suas necessidades
|
|
76
|
-
# Edite spec.md com seus requisitos específicos
|
|
77
|
-
|
|
78
|
-
# 4. Implemente
|
|
79
|
-
/morph-apply micro-saas
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### Custos Estimados
|
|
83
|
-
|
|
84
|
-
| Recurso | Custo/mês |
|
|
85
|
-
|---------|-----------|
|
|
86
|
-
| Container Apps | ~$0 (scale-to-zero) |
|
|
87
|
-
| SQL Database | $0 (Free tier) |
|
|
88
|
-
| Storage | ~$0.50 |
|
|
89
|
-
| Asaas | 2.99% + R$0.49/transação |
|
|
90
|
-
| **Total** | **< $5/mês** |
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## api-nextjs
|
|
95
|
-
|
|
96
|
-
**Localização**: `.morph/examples/api-nextjs/`
|
|
97
|
-
|
|
98
|
-
### Descrição
|
|
99
|
-
|
|
100
|
-
Arquitetura full-stack com API .NET e frontend Next.js.
|
|
101
|
-
|
|
102
|
-
### Stack
|
|
103
|
-
|
|
104
|
-
| Camada | Tecnologia |
|
|
105
|
-
|--------|------------|
|
|
106
|
-
| Frontend | Next.js 14 (App Router) |
|
|
107
|
-
| Backend | .NET 8 Minimal APIs |
|
|
108
|
-
| Database | SQL Server |
|
|
109
|
-
| Auth | Clerk |
|
|
110
|
-
| Data Fetching | React Query |
|
|
111
|
-
| UI | Tailwind + shadcn/ui |
|
|
112
|
-
|
|
113
|
-
### Features
|
|
114
|
-
|
|
115
|
-
- **Minimal APIs**: Endpoints organizados e documentados
|
|
116
|
-
- **App Router**: Server Components + Client Components
|
|
117
|
-
- **React Query**: Cache, mutations, optimistic updates
|
|
118
|
-
- **TypeScript**: Types compartilhados (contracts.ts)
|
|
119
|
-
- **Forms**: React Hook Form + Zod validation
|
|
120
|
-
- **Dark Mode**: Theme switching
|
|
121
|
-
|
|
122
|
-
### Arquivos
|
|
123
|
-
|
|
124
|
-
```
|
|
125
|
-
api-nextjs/
|
|
126
|
-
├── README.md # Arquitetura e setup
|
|
127
|
-
├── spec.md # Especificação detalhada
|
|
128
|
-
├── contracts.ts # Types TypeScript compartilhados
|
|
129
|
-
└── tasks.md # 67 tasks organizadas
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### Estrutura do Projeto
|
|
133
|
-
|
|
134
|
-
```
|
|
135
|
-
project/
|
|
136
|
-
├── src/
|
|
137
|
-
│ ├── api/ # .NET Backend
|
|
138
|
-
│ │ ├── Api/
|
|
139
|
-
│ │ ├── Application/
|
|
140
|
-
│ │ ├── Domain/
|
|
141
|
-
│ │ └── Infrastructure/
|
|
142
|
-
│ │
|
|
143
|
-
│ └── web/ # Next.js Frontend
|
|
144
|
-
│ ├── app/
|
|
145
|
-
│ ├── components/
|
|
146
|
-
│ ├── hooks/
|
|
147
|
-
│ ├── lib/
|
|
148
|
-
│ └── types/
|
|
149
|
-
│
|
|
150
|
-
└── infra/ # IaC
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### Para Começar
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
# 1. Copie o exemplo
|
|
157
|
-
cp -r .morph/examples/api-nextjs/ .morph/features/
|
|
158
|
-
|
|
159
|
-
# 2. Revise contracts.ts para seu domínio
|
|
160
|
-
# Este arquivo define os types compartilhados
|
|
161
|
-
|
|
162
|
-
# 3. Ajuste spec.md
|
|
163
|
-
# Modifique entidades e endpoints para seu caso
|
|
164
|
-
|
|
165
|
-
# 4. Implemente
|
|
166
|
-
/morph-apply api-nextjs
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
### Patterns Demonstrados
|
|
170
|
-
|
|
171
|
-
| Pattern | Descrição |
|
|
172
|
-
|---------|-----------|
|
|
173
|
-
| API Client | Fetch wrapper com auth |
|
|
174
|
-
| Query Keys | Organização de cache keys |
|
|
175
|
-
| Data Hooks | useProducts, useOrders |
|
|
176
|
-
| Form Pattern | React Hook Form + Zod |
|
|
177
|
-
| Server Components | Data fetching no servidor |
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
|
|
181
|
-
## multi-agent
|
|
182
|
-
|
|
183
|
-
**Localização**: `.morph/examples/multi-agent/`
|
|
184
|
-
|
|
185
|
-
### Descrição
|
|
186
|
-
|
|
187
|
-
Sistema de agentes AI cooperativos com Semantic Kernel.
|
|
188
|
-
|
|
189
|
-
### Stack
|
|
190
|
-
|
|
191
|
-
| Camada | Tecnologia |
|
|
192
|
-
|--------|------------|
|
|
193
|
-
| Framework | Semantic Kernel |
|
|
194
|
-
| LLM | Azure OpenAI |
|
|
195
|
-
| Orchestration | Custom Orchestrator |
|
|
196
|
-
| Storage | In-Memory / Cosmos DB |
|
|
197
|
-
| Infra | Azure Container Apps |
|
|
198
|
-
|
|
199
|
-
### Agentes
|
|
200
|
-
|
|
201
|
-
| Agente | Responsabilidade |
|
|
202
|
-
|--------|------------------|
|
|
203
|
-
| **Orchestrator** | Coordena outros agentes |
|
|
204
|
-
| **Research** | Busca e RAG |
|
|
205
|
-
| **Analysis** | Análise e comparações |
|
|
206
|
-
| **Writing** | Geração de texto |
|
|
207
|
-
|
|
208
|
-
### Features
|
|
209
|
-
|
|
210
|
-
- **Task Decomposition**: Quebra tarefas complexas
|
|
211
|
-
- **Plugin System**: WebSearch, Documents, Calculator
|
|
212
|
-
- **Conversation Memory**: Contexto por sessão
|
|
213
|
-
- **Semantic Memory**: RAG com embeddings
|
|
214
|
-
- **Streaming**: Server-Sent Events
|
|
215
|
-
|
|
216
|
-
### Arquivos
|
|
217
|
-
|
|
218
|
-
```
|
|
219
|
-
multi-agent/
|
|
220
|
-
├── README.md # Visão geral
|
|
221
|
-
├── spec.md # Especificação detalhada
|
|
222
|
-
├── contracts.cs # Interfaces e DTOs
|
|
223
|
-
└── tasks.md # 53 tasks organizadas
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
### Fluxo de Execução
|
|
227
|
-
|
|
228
|
-
```
|
|
229
|
-
User Request
|
|
230
|
-
│
|
|
231
|
-
▼
|
|
232
|
-
┌─────────────┐
|
|
233
|
-
│ Orchestrator│ → Decompõe tarefa
|
|
234
|
-
└─────────────┘
|
|
235
|
-
│
|
|
236
|
-
├──► Research Agent → Busca informações
|
|
237
|
-
│
|
|
238
|
-
├──► Analysis Agent → Analisa dados
|
|
239
|
-
│
|
|
240
|
-
└──► Writing Agent → Gera output
|
|
241
|
-
│
|
|
242
|
-
▼
|
|
243
|
-
Consolidated Response
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
### Para Começar
|
|
247
|
-
|
|
248
|
-
```bash
|
|
249
|
-
# 1. Configure Azure OpenAI
|
|
250
|
-
# - Crie deployment gpt-4
|
|
251
|
-
# - Crie deployment text-embedding-ada-002
|
|
252
|
-
|
|
253
|
-
# 2. Copie o exemplo
|
|
254
|
-
cp -r .morph/examples/multi-agent/ .morph/features/
|
|
255
|
-
|
|
256
|
-
# 3. Configure appsettings
|
|
257
|
-
# Adicione suas credenciais Azure OpenAI
|
|
258
|
-
|
|
259
|
-
# 4. Implemente
|
|
260
|
-
/morph-apply multi-agent
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
### Custos Estimados
|
|
264
|
-
|
|
265
|
-
| Recurso | Custo |
|
|
266
|
-
|---------|-------|
|
|
267
|
-
| GPT-4 | ~$0.03/1K tokens |
|
|
268
|
-
| Embeddings | ~$0.0001/1K tokens |
|
|
269
|
-
| Container Apps | ~$0-10/mês |
|
|
270
|
-
|
|
271
|
-
**Nota**: Custos variam com uso. Para dev, use gpt-3.5-turbo.
|
|
272
|
-
|
|
273
|
-
---
|
|
274
|
-
|
|
275
|
-
## Como Usar os Exemplos
|
|
276
|
-
|
|
277
|
-
### 1. Estudar a Estrutura
|
|
278
|
-
|
|
279
|
-
Cada exemplo segue o padrão MORPH-SPEC:
|
|
280
|
-
- `spec.md` - O quê construir
|
|
281
|
-
- `contracts.cs/ts` - Interfaces e tipos
|
|
282
|
-
- `tasks.md` - Como construir
|
|
283
|
-
- `decisions.md` - Por que decisões foram tomadas
|
|
284
|
-
|
|
285
|
-
### 2. Adaptar para Seu Projeto
|
|
286
|
-
|
|
287
|
-
1. Copie o exemplo para `.morph/features/`
|
|
288
|
-
2. Edite `spec.md` com seus requisitos
|
|
289
|
-
3. Ajuste `contracts.cs` com suas entidades
|
|
290
|
-
4. Revise `tasks.md` e remova o que não precisa
|
|
291
|
-
|
|
292
|
-
### 3. Implementar
|
|
293
|
-
|
|
294
|
-
```bash
|
|
295
|
-
/morph-apply <nome-do-exemplo>
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
### 4. Customizar Templates
|
|
299
|
-
|
|
300
|
-
Se precisar de padrões diferentes:
|
|
301
|
-
1. Copie templates de `.morph/templates/`
|
|
302
|
-
2. Modifique conforme necessário
|
|
303
|
-
3. MORPH usará seus templates customizados
|
|
304
|
-
|
|
305
|
-
---
|
|
306
|
-
|
|
307
|
-
## Comparação de Complexidade
|
|
308
|
-
|
|
309
|
-
| Aspecto | micro-saas | api-nextjs | multi-agent |
|
|
310
|
-
|---------|------------|------------|-------------|
|
|
311
|
-
| **Entities** | 6 | 4 | 5 |
|
|
312
|
-
| **Tasks** | 51 | 67 | 53 |
|
|
313
|
-
| **Integrations** | 2 (Asaas, Clerk) | 1 (Clerk) | 2 (OpenAI, Bing) |
|
|
314
|
-
| **IaC Resources** | 5 | 6 | 4 |
|
|
315
|
-
| **Custo Infra** | < $5 | < $10 | Variável |
|
|
316
|
-
|
|
317
|
-
---
|
|
318
|
-
|
|
319
|
-
## Próximos Passos
|
|
320
|
-
|
|
321
|
-
1. Escolha o exemplo mais próximo do seu caso
|
|
322
|
-
2. Leia a `spec.md` completa
|
|
323
|
-
3. Revise os `contracts.*` para entender o modelo
|
|
324
|
-
4. Use como base ou implemente diretamente
|
|
325
|
-
|
|
326
|
-
---
|
|
327
|
-
|
|
328
|
-
*MORPH-SPEC by Polymorphism Tech*
|
|
1
|
+
# MORPH-SPEC Examples Guide
|
|
2
|
+
|
|
3
|
+
Guia dos exemplos incluídos no framework.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Visão Geral
|
|
8
|
+
|
|
9
|
+
| Exemplo | Stack | Complexidade | Tempo Est. |
|
|
10
|
+
|---------|-------|--------------|------------|
|
|
11
|
+
| [micro-saas](#micro-saas) | Blazor + Asaas | Alta | 2-3 dias |
|
|
12
|
+
| [api-nextjs](#api-nextjs) | .NET + Next.js | Média | 1-2 dias |
|
|
13
|
+
| [multi-agent](#multi-agent) | Semantic Kernel | Alta | 2-3 dias |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## micro-saas
|
|
18
|
+
|
|
19
|
+
**Localização**: `.morph/examples/micro-saas/`
|
|
20
|
+
|
|
21
|
+
### Descrição
|
|
22
|
+
|
|
23
|
+
SaaS completo com multi-tenancy e billing integrado via Asaas.
|
|
24
|
+
|
|
25
|
+
### Stack
|
|
26
|
+
|
|
27
|
+
| Camada | Tecnologia |
|
|
28
|
+
|--------|------------|
|
|
29
|
+
| Frontend | Blazor Server |
|
|
30
|
+
| Backend | .NET 8 Minimal APIs |
|
|
31
|
+
| Database | SQL Server |
|
|
32
|
+
| Auth | Clerk |
|
|
33
|
+
| Billing | Asaas |
|
|
34
|
+
| Infra | Azure Container Apps |
|
|
35
|
+
|
|
36
|
+
### Features
|
|
37
|
+
|
|
38
|
+
- **Multi-tenancy**: Isolamento completo por tenant
|
|
39
|
+
- **Subscription Management**: Planos Free, Starter, Pro, Enterprise
|
|
40
|
+
- **Payment Methods**: PIX, Boleto, Cartão de Crédito
|
|
41
|
+
- **Dashboard**: Métricas e gestão
|
|
42
|
+
- **User Management**: Convites, roles (Owner, Admin, Member)
|
|
43
|
+
- **Webhooks**: Processamento de eventos Asaas
|
|
44
|
+
|
|
45
|
+
### Arquivos
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
micro-saas/
|
|
49
|
+
├── README.md # Visão geral e arquitetura
|
|
50
|
+
├── spec.md # Especificação completa
|
|
51
|
+
├── contracts.cs # 50+ interfaces e DTOs
|
|
52
|
+
├── tasks.md # 51 tasks organizadas
|
|
53
|
+
└── decisions.md # 10 ADRs documentados
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### ADRs Principais
|
|
57
|
+
|
|
58
|
+
| ADR | Decisão |
|
|
59
|
+
|-----|---------|
|
|
60
|
+
| ADR-001 | Blazor Server vs WebAssembly |
|
|
61
|
+
| ADR-002 | Asaas vs Stripe |
|
|
62
|
+
| ADR-003 | Clerk vs Azure AD B2C |
|
|
63
|
+
| ADR-004 | Single DB com Query Filters |
|
|
64
|
+
| ADR-005 | Tenant Resolution Strategy |
|
|
65
|
+
|
|
66
|
+
### Para Começar
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# 1. Copie o exemplo para seu projeto
|
|
70
|
+
cp -r .morph/examples/micro-saas/ .morph/features/
|
|
71
|
+
|
|
72
|
+
# 2. Revise a spec
|
|
73
|
+
cat .morph/features/micro-saas/spec.md
|
|
74
|
+
|
|
75
|
+
# 3. Ajuste para suas necessidades
|
|
76
|
+
# Edite spec.md com seus requisitos específicos
|
|
77
|
+
|
|
78
|
+
# 4. Implemente
|
|
79
|
+
/morph-apply micro-saas
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Custos Estimados
|
|
83
|
+
|
|
84
|
+
| Recurso | Custo/mês |
|
|
85
|
+
|---------|-----------|
|
|
86
|
+
| Container Apps | ~$0 (scale-to-zero) |
|
|
87
|
+
| SQL Database | $0 (Free tier) |
|
|
88
|
+
| Storage | ~$0.50 |
|
|
89
|
+
| Asaas | 2.99% + R$0.49/transação |
|
|
90
|
+
| **Total** | **< $5/mês** |
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## api-nextjs
|
|
95
|
+
|
|
96
|
+
**Localização**: `.morph/examples/api-nextjs/`
|
|
97
|
+
|
|
98
|
+
### Descrição
|
|
99
|
+
|
|
100
|
+
Arquitetura full-stack com API .NET e frontend Next.js.
|
|
101
|
+
|
|
102
|
+
### Stack
|
|
103
|
+
|
|
104
|
+
| Camada | Tecnologia |
|
|
105
|
+
|--------|------------|
|
|
106
|
+
| Frontend | Next.js 14 (App Router) |
|
|
107
|
+
| Backend | .NET 8 Minimal APIs |
|
|
108
|
+
| Database | SQL Server |
|
|
109
|
+
| Auth | Clerk |
|
|
110
|
+
| Data Fetching | React Query |
|
|
111
|
+
| UI | Tailwind + shadcn/ui |
|
|
112
|
+
|
|
113
|
+
### Features
|
|
114
|
+
|
|
115
|
+
- **Minimal APIs**: Endpoints organizados e documentados
|
|
116
|
+
- **App Router**: Server Components + Client Components
|
|
117
|
+
- **React Query**: Cache, mutations, optimistic updates
|
|
118
|
+
- **TypeScript**: Types compartilhados (contracts.ts)
|
|
119
|
+
- **Forms**: React Hook Form + Zod validation
|
|
120
|
+
- **Dark Mode**: Theme switching
|
|
121
|
+
|
|
122
|
+
### Arquivos
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
api-nextjs/
|
|
126
|
+
├── README.md # Arquitetura e setup
|
|
127
|
+
├── spec.md # Especificação detalhada
|
|
128
|
+
├── contracts.ts # Types TypeScript compartilhados
|
|
129
|
+
└── tasks.md # 67 tasks organizadas
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Estrutura do Projeto
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
project/
|
|
136
|
+
├── src/
|
|
137
|
+
│ ├── api/ # .NET Backend
|
|
138
|
+
│ │ ├── Api/
|
|
139
|
+
│ │ ├── Application/
|
|
140
|
+
│ │ ├── Domain/
|
|
141
|
+
│ │ └── Infrastructure/
|
|
142
|
+
│ │
|
|
143
|
+
│ └── web/ # Next.js Frontend
|
|
144
|
+
│ ├── app/
|
|
145
|
+
│ ├── components/
|
|
146
|
+
│ ├── hooks/
|
|
147
|
+
│ ├── lib/
|
|
148
|
+
│ └── types/
|
|
149
|
+
│
|
|
150
|
+
└── infra/ # IaC
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Para Começar
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
# 1. Copie o exemplo
|
|
157
|
+
cp -r .morph/examples/api-nextjs/ .morph/features/
|
|
158
|
+
|
|
159
|
+
# 2. Revise contracts.ts para seu domínio
|
|
160
|
+
# Este arquivo define os types compartilhados
|
|
161
|
+
|
|
162
|
+
# 3. Ajuste spec.md
|
|
163
|
+
# Modifique entidades e endpoints para seu caso
|
|
164
|
+
|
|
165
|
+
# 4. Implemente
|
|
166
|
+
/morph-apply api-nextjs
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Patterns Demonstrados
|
|
170
|
+
|
|
171
|
+
| Pattern | Descrição |
|
|
172
|
+
|---------|-----------|
|
|
173
|
+
| API Client | Fetch wrapper com auth |
|
|
174
|
+
| Query Keys | Organização de cache keys |
|
|
175
|
+
| Data Hooks | useProducts, useOrders |
|
|
176
|
+
| Form Pattern | React Hook Form + Zod |
|
|
177
|
+
| Server Components | Data fetching no servidor |
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## multi-agent
|
|
182
|
+
|
|
183
|
+
**Localização**: `.morph/examples/multi-agent/`
|
|
184
|
+
|
|
185
|
+
### Descrição
|
|
186
|
+
|
|
187
|
+
Sistema de agentes AI cooperativos com Semantic Kernel.
|
|
188
|
+
|
|
189
|
+
### Stack
|
|
190
|
+
|
|
191
|
+
| Camada | Tecnologia |
|
|
192
|
+
|--------|------------|
|
|
193
|
+
| Framework | Semantic Kernel |
|
|
194
|
+
| LLM | Azure OpenAI |
|
|
195
|
+
| Orchestration | Custom Orchestrator |
|
|
196
|
+
| Storage | In-Memory / Cosmos DB |
|
|
197
|
+
| Infra | Azure Container Apps |
|
|
198
|
+
|
|
199
|
+
### Agentes
|
|
200
|
+
|
|
201
|
+
| Agente | Responsabilidade |
|
|
202
|
+
|--------|------------------|
|
|
203
|
+
| **Orchestrator** | Coordena outros agentes |
|
|
204
|
+
| **Research** | Busca e RAG |
|
|
205
|
+
| **Analysis** | Análise e comparações |
|
|
206
|
+
| **Writing** | Geração de texto |
|
|
207
|
+
|
|
208
|
+
### Features
|
|
209
|
+
|
|
210
|
+
- **Task Decomposition**: Quebra tarefas complexas
|
|
211
|
+
- **Plugin System**: WebSearch, Documents, Calculator
|
|
212
|
+
- **Conversation Memory**: Contexto por sessão
|
|
213
|
+
- **Semantic Memory**: RAG com embeddings
|
|
214
|
+
- **Streaming**: Server-Sent Events
|
|
215
|
+
|
|
216
|
+
### Arquivos
|
|
217
|
+
|
|
218
|
+
```
|
|
219
|
+
multi-agent/
|
|
220
|
+
├── README.md # Visão geral
|
|
221
|
+
├── spec.md # Especificação detalhada
|
|
222
|
+
├── contracts.cs # Interfaces e DTOs
|
|
223
|
+
└── tasks.md # 53 tasks organizadas
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### Fluxo de Execução
|
|
227
|
+
|
|
228
|
+
```
|
|
229
|
+
User Request
|
|
230
|
+
│
|
|
231
|
+
▼
|
|
232
|
+
┌─────────────┐
|
|
233
|
+
│ Orchestrator│ → Decompõe tarefa
|
|
234
|
+
└─────────────┘
|
|
235
|
+
│
|
|
236
|
+
├──► Research Agent → Busca informações
|
|
237
|
+
│
|
|
238
|
+
├──► Analysis Agent → Analisa dados
|
|
239
|
+
│
|
|
240
|
+
└──► Writing Agent → Gera output
|
|
241
|
+
│
|
|
242
|
+
▼
|
|
243
|
+
Consolidated Response
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Para Começar
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
# 1. Configure Azure OpenAI
|
|
250
|
+
# - Crie deployment gpt-4
|
|
251
|
+
# - Crie deployment text-embedding-ada-002
|
|
252
|
+
|
|
253
|
+
# 2. Copie o exemplo
|
|
254
|
+
cp -r .morph/examples/multi-agent/ .morph/features/
|
|
255
|
+
|
|
256
|
+
# 3. Configure appsettings
|
|
257
|
+
# Adicione suas credenciais Azure OpenAI
|
|
258
|
+
|
|
259
|
+
# 4. Implemente
|
|
260
|
+
/morph-apply multi-agent
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### Custos Estimados
|
|
264
|
+
|
|
265
|
+
| Recurso | Custo |
|
|
266
|
+
|---------|-------|
|
|
267
|
+
| GPT-4 | ~$0.03/1K tokens |
|
|
268
|
+
| Embeddings | ~$0.0001/1K tokens |
|
|
269
|
+
| Container Apps | ~$0-10/mês |
|
|
270
|
+
|
|
271
|
+
**Nota**: Custos variam com uso. Para dev, use gpt-3.5-turbo.
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Como Usar os Exemplos
|
|
276
|
+
|
|
277
|
+
### 1. Estudar a Estrutura
|
|
278
|
+
|
|
279
|
+
Cada exemplo segue o padrão MORPH-SPEC:
|
|
280
|
+
- `spec.md` - O quê construir
|
|
281
|
+
- `contracts.cs/ts` - Interfaces e tipos
|
|
282
|
+
- `tasks.md` - Como construir
|
|
283
|
+
- `decisions.md` - Por que decisões foram tomadas
|
|
284
|
+
|
|
285
|
+
### 2. Adaptar para Seu Projeto
|
|
286
|
+
|
|
287
|
+
1. Copie o exemplo para `.morph/features/`
|
|
288
|
+
2. Edite `spec.md` com seus requisitos
|
|
289
|
+
3. Ajuste `contracts.cs` com suas entidades
|
|
290
|
+
4. Revise `tasks.md` e remova o que não precisa
|
|
291
|
+
|
|
292
|
+
### 3. Implementar
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
/morph-apply <nome-do-exemplo>
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### 4. Customizar Templates
|
|
299
|
+
|
|
300
|
+
Se precisar de padrões diferentes:
|
|
301
|
+
1. Copie templates de `.morph/templates/`
|
|
302
|
+
2. Modifique conforme necessário
|
|
303
|
+
3. MORPH usará seus templates customizados
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## Comparação de Complexidade
|
|
308
|
+
|
|
309
|
+
| Aspecto | micro-saas | api-nextjs | multi-agent |
|
|
310
|
+
|---------|------------|------------|-------------|
|
|
311
|
+
| **Entities** | 6 | 4 | 5 |
|
|
312
|
+
| **Tasks** | 51 | 67 | 53 |
|
|
313
|
+
| **Integrations** | 2 (Asaas, Clerk) | 1 (Clerk) | 2 (OpenAI, Bing) |
|
|
314
|
+
| **IaC Resources** | 5 | 6 | 4 |
|
|
315
|
+
| **Custo Infra** | < $5 | < $10 | Variável |
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
## Próximos Passos
|
|
320
|
+
|
|
321
|
+
1. Escolha o exemplo mais próximo do seu caso
|
|
322
|
+
2. Leia a `spec.md` completa
|
|
323
|
+
3. Revise os `contracts.*` para entender o modelo
|
|
324
|
+
4. Use como base ou implemente diretamente
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
*MORPH-SPEC by Polymorphism Tech*
|