@polymorphism-tech/morph-spec 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/CLAUDE.md +75 -371
  2. package/LICENSE +72 -72
  3. package/bin/detect-agents.js +225 -225
  4. package/bin/render-template.js +302 -302
  5. package/bin/semantic-detect-agents.js +246 -246
  6. package/bin/validate-agents-skills.js +251 -251
  7. package/bin/validate-agents.js +69 -69
  8. package/bin/validate-phase.js +263 -263
  9. package/content/.azure/README.md +293 -293
  10. package/content/.azure/docs/azure-devops-setup.md +454 -454
  11. package/content/.azure/docs/branch-strategy.md +398 -398
  12. package/content/.azure/docs/local-development.md +515 -515
  13. package/content/.azure/pipelines/pipeline-variables.yml +34 -34
  14. package/content/.azure/pipelines/prod-pipeline.yml +319 -319
  15. package/content/.azure/pipelines/staging-pipeline.yml +234 -234
  16. package/content/.azure/pipelines/templates/build-dotnet.yml +75 -75
  17. package/content/.azure/pipelines/templates/deploy-app-service.yml +94 -94
  18. package/content/.azure/pipelines/templates/deploy-container-app.yml +120 -120
  19. package/content/.azure/pipelines/templates/infra-deploy.yml +90 -90
  20. package/content/.claude/commands/morph-archive.md +79 -79
  21. package/content/.claude/commands/morph-deploy.md +529 -529
  22. package/content/.claude/commands/morph-infra.md +209 -209
  23. package/content/.claude/commands/morph-preflight.md +227 -227
  24. package/content/.claude/commands/morph-troubleshoot.md +122 -122
  25. package/content/.claude/settings.local.json +15 -15
  26. package/content/.claude/skills/{specialists → level-2-domains/architecture}/prompt-engineer.md +189 -189
  27. package/content/.claude/skills/{specialists → level-2-domains/architecture}/seo-growth-hacker.md +320 -320
  28. package/content/.claude/skills/{infra → level-2-domains/infrastructure}/azure-deploy-specialist.md +699 -699
  29. package/content/.morph/.morphversion +5 -5
  30. package/content/.morph/archive/.gitkeep +25 -25
  31. package/content/.morph/config/agents.json +7 -5
  32. package/content/.morph/docs/STORY-DRIVEN-DEVELOPMENT.md +392 -392
  33. package/content/.morph/examples/api-nextjs/README.md +241 -241
  34. package/content/.morph/examples/api-nextjs/contracts.ts +307 -307
  35. package/content/.morph/examples/api-nextjs/spec.md +399 -399
  36. package/content/.morph/examples/api-nextjs/tasks.md +168 -168
  37. package/content/.morph/examples/micro-saas/README.md +125 -125
  38. package/content/.morph/examples/micro-saas/contracts.cs +358 -358
  39. package/content/.morph/examples/micro-saas/decisions.md +246 -246
  40. package/content/.morph/examples/micro-saas/spec.md +236 -236
  41. package/content/.morph/examples/micro-saas/tasks.md +150 -150
  42. package/content/.morph/examples/multi-agent/README.md +309 -309
  43. package/content/.morph/examples/multi-agent/contracts.cs +433 -433
  44. package/content/.morph/examples/multi-agent/spec.md +479 -479
  45. package/content/.morph/examples/multi-agent/tasks.md +185 -185
  46. package/content/.morph/examples/state-v3.json +188 -188
  47. package/content/.morph/features/.gitkeep +25 -25
  48. package/content/.morph/hooks/pre-commit-all.sh +48 -48
  49. package/content/.morph/hooks/pre-commit-specs.sh +49 -49
  50. package/content/.morph/hooks/pre-commit-tests.sh +60 -60
  51. package/content/.morph/project.md +160 -160
  52. package/content/.morph/schemas/agent.schema.json +296 -296
  53. package/content/.morph/specs/.gitkeep +20 -20
  54. package/content/.morph/standards/coding.md +377 -377
  55. package/content/.morph/standards/fluent-ui-setup.md +590 -590
  56. package/content/.morph/standards/migration-guide.md +514 -514
  57. package/content/.morph/standards/passkeys-auth.md +423 -423
  58. package/content/.morph/standards/vector-search-rag.md +536 -536
  59. package/content/.morph/state.json +17 -17
  60. package/content/.morph/templates/FluentDesignTheme.cs +149 -149
  61. package/content/.morph/templates/MudTheme.cs +281 -281
  62. package/content/.morph/templates/component.razor +239 -239
  63. package/content/.morph/templates/contracts.cs +217 -217
  64. package/content/.morph/templates/design-system.css +226 -226
  65. package/content/.morph/templates/infra/.dockerignore.example +89 -89
  66. package/content/.morph/templates/infra/Dockerfile.example +82 -82
  67. package/content/.morph/templates/infra/README.md +286 -286
  68. package/content/.morph/templates/infra/app-insights.bicep +63 -63
  69. package/content/.morph/templates/infra/app-service.bicep +164 -164
  70. package/content/.morph/templates/infra/azure-pipelines-deploy.yml +480 -480
  71. package/content/.morph/templates/infra/container-app-env.bicep +49 -49
  72. package/content/.morph/templates/infra/container-app.bicep +156 -156
  73. package/content/.morph/templates/infra/deploy-checklist.md +426 -426
  74. package/content/.morph/templates/infra/deploy.ps1 +229 -229
  75. package/content/.morph/templates/infra/deploy.sh +208 -208
  76. package/content/.morph/templates/infra/key-vault.bicep +91 -91
  77. package/content/.morph/templates/infra/main.bicep +189 -189
  78. package/content/.morph/templates/infra/parameters.dev.json +29 -29
  79. package/content/.morph/templates/infra/parameters.prod.json +29 -29
  80. package/content/.morph/templates/infra/parameters.staging.json +29 -29
  81. package/content/.morph/templates/infra/sql-database.bicep +103 -103
  82. package/content/.morph/templates/infra/storage.bicep +106 -106
  83. package/content/.morph/templates/integrations/asaas-client.cs +387 -387
  84. package/content/.morph/templates/integrations/asaas-webhook.cs +351 -351
  85. package/content/.morph/templates/integrations/azure-identity-config.cs +288 -288
  86. package/content/.morph/templates/integrations/clerk-config.cs +258 -258
  87. package/content/.morph/templates/job.cs +171 -171
  88. package/content/.morph/templates/migration.cs +83 -83
  89. package/content/.morph/templates/repository.cs +141 -141
  90. package/content/.morph/templates/saas/subscription.cs +347 -347
  91. package/content/.morph/templates/saas/tenant.cs +338 -338
  92. package/content/.morph/templates/service.cs +139 -139
  93. package/content/.morph/templates/sprint-status.yaml +68 -68
  94. package/content/.morph/templates/story.md +143 -143
  95. package/content/.morph/templates/test.cs +239 -239
  96. package/content/.morph/templates/ui-design-system.md +286 -286
  97. package/content/.morph/templates/ui-flows.md +336 -336
  98. package/content/.morph/templates/ui-mockups.md +133 -133
  99. package/content/.morph/test-infra/example.bicep +59 -59
  100. package/content/README.md +79 -79
  101. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +977 -977
  102. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1048 -1048
  103. package/docs/api/scripts/collapse.js +38 -38
  104. package/docs/api/scripts/commonNav.js +28 -28
  105. package/docs/api/scripts/linenumber.js +25 -25
  106. package/docs/api/scripts/nav.js +12 -12
  107. package/docs/api/scripts/polyfill.js +3 -3
  108. package/docs/api/scripts/prettify/Apache-License-2.0.txt +202 -202
  109. package/docs/api/scripts/prettify/lang-css.js +2 -2
  110. package/docs/api/scripts/prettify/prettify.js +28 -28
  111. package/docs/api/scripts/search.js +98 -98
  112. package/docs/api/styles/jsdoc.css +776 -776
  113. package/docs/api/styles/prettify.css +80 -80
  114. package/docs/examples.md +328 -328
  115. package/docs/templates.md +418 -418
  116. package/package.json +1 -2
  117. package/scripts/postinstall.js +132 -132
  118. package/scripts/reorganize-skills.cjs +175 -0
  119. package/scripts/validate-agents-structure.cjs +52 -0
  120. package/scripts/validate-skills.cjs +180 -0
  121. package/src/commands/analyze-blazor-concurrency.js +193 -193
  122. package/src/commands/create-story.js +351 -351
  123. package/src/commands/deploy.js +780 -780
  124. package/src/commands/detect-agents.js +9 -0
  125. package/src/commands/detect.js +104 -104
  126. package/src/commands/generate.js +149 -149
  127. package/src/commands/lint-fluent.js +352 -352
  128. package/src/commands/rollback-phase.js +185 -185
  129. package/src/commands/session-summary.js +291 -291
  130. package/src/commands/shard-spec.js +224 -224
  131. package/src/commands/sprint-status.js +250 -250
  132. package/src/commands/state.js +334 -333
  133. package/src/commands/sync.js +167 -167
  134. package/src/commands/troubleshoot.js +222 -222
  135. package/src/commands/update.js +13 -1
  136. package/src/commands/validate-blazor-state.js +210 -210
  137. package/src/commands/validate-blazor.js +156 -156
  138. package/src/commands/validate-css.js +84 -84
  139. package/src/commands/validate-phase.js +221 -221
  140. package/src/lib/blazor-concurrency-analyzer.js +288 -288
  141. package/src/lib/blazor-state-validator.js +291 -291
  142. package/src/lib/blazor-validator.js +374 -374
  143. package/src/lib/css-validator.js +352 -352
  144. package/src/lib/design-system-generator.js +298 -298
  145. package/{detectors → src/lib/detectors}/config-detector.js +223 -223
  146. package/{detectors → src/lib/detectors}/conversation-analyzer.js +163 -163
  147. package/{detectors → src/lib/detectors}/index.js +84 -84
  148. package/{detectors → src/lib/detectors}/standards-generator.js +275 -275
  149. package/src/lib/learning-system.js +520 -520
  150. package/src/lib/mockup-generator.js +366 -366
  151. package/src/lib/state-manager.js +21 -4
  152. package/src/lib/troubleshoot-grep.js +194 -194
  153. package/src/lib/troubleshoot-index.js +144 -144
  154. package/src/lib/ui-detector.js +350 -350
  155. package/src/lib/validators/architecture-validator.js +387 -387
  156. package/src/lib/validators/package-validator.js +360 -360
  157. package/src/lib/validators/ui-contrast-validator.js +422 -422
  158. package/src/utils/logger.js +32 -32
  159. package/src/utils/version-checker.js +175 -175
  160. /package/{detectors → src/lib/detectors}/structure-detector.js +0 -0
package/CLAUDE.md CHANGED
@@ -1,6 +1,4 @@
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
 
@@ -13,311 +11,75 @@ Sistema de desenvolvimento orientado por especificações. Hub de agentes especi
13
11
  ### NUNCA:
14
12
  - Pular direto para código sem especificação
15
13
  - Implementar sem aprovação do design
16
- - Ignorar os padrões (framework/standards/ ou project/standards/)
17
- - Criar recursos Azure manualmente no portal (use Bicep)
14
+ - Ignorar padrões em `.morph/standards/`
15
+ - Criar recursos Azure manualmente (use Bicep)
18
16
  - Gerar código sem contracts definidos
19
- - **Tomar decisões técnicas sozinho (infraestrutura, bibliotecas, patterns, schemas)**
20
17
 
21
18
  ### SEMPRE:
22
- - Seguir workflow adequado à complexidade (ver WORKFLOWS)
23
- - Gerar outputs em `.morph/project/outputs/{feature}/`
19
+ - Seguir as 5 fases obrigatórias
20
+ - Gerar outputs em `.morph/features/{feature}/`
24
21
  - Documentar decisões em `decisions.md`
25
22
  - Checkpoint a cada 3 tasks implementadas
26
23
  - Usar Infrastructure as Code (Bicep)
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**
30
24
 
31
25
  ---
32
26
 
33
- ## AGENTES E SKILLS (v3.0 Hierarchical)
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:
27
+ ## WORKFLOW (5 Fases)
84
28
 
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`
29
+ | Fase | Gatilho | Ações | Output | Pausa? |
30
+ |------|---------|-------|--------|--------|
31
+ | **1. SETUP** | Feature request | Ler project.md, identificar stack, ativar agentes, criar pasta | proposal.md | Não |
32
+ | **2. DESIGN** | Setup concluído | Spec + contracts + decisions + custos + Bicep | spec.md, contracts.cs, decisions.md | **Sim** |
33
+ | **3. CLARIFY** | Design aprovado | Ambiguidades, perguntas, edge cases | Spec atualizado | Não |
34
+ | **4. TASKS** | Clarificações resolvidas | Quebrar em tasks, ordem, checkpoints, dependências | tasks.md | **Sim** |
35
+ | **5. IMPLEMENT** | Tasks aprovadas | Task por task, checkpoint a cada 3, recap | Código + recap.md | Não |
104
36
 
105
37
  ---
106
38
 
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 |
39
+ ## ESTRUTURA DO PROJETO
118
40
 
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
41
  ```
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}
42
+ projeto/
43
+ ├── CLAUDE.md
44
+ ├── .morph/
45
+ │ ├── project.md # Contexto
46
+ │ ├── config/ # config.json, agents.json
47
+ │ ├── standards/ # coding, architecture, azure
48
+ │ ├── templates/ # Templates para outputs
49
+ │ ├── specs/ # Specs ATIVAS
50
+ │ ├── features/{feature-name}/ # Features EM DESENVOLVIMENTO
51
+ │ │ ├── proposal.md, spec.md, tasks.md
52
+ │ │ ├── contracts.cs, decisions.md, recap.md
53
+ │ └── archive/ # Features CONCLUÍDAS
54
+ ├── .claude/skills/ # Agent skills
55
+ └── infra/main.bicep + modules/ # IaC
176
56
  ```
177
57
 
178
58
  ---
179
59
 
180
- ## DECISION POINTS
181
-
182
- ### Regra: NUNCA decida sozinho sobre arquitetura, dependências externas ou estrutura de dados.
60
+ ## AGENTES
183
61
 
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)
62
+ ### Core (Sempre Ativos)
189
63
 
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).
64
+ | Agente | Responsabilidades |
65
+ |--------|-------------------|
66
+ | **Standards Architect** | Padrões, nomenclatura, revisão |
67
+ | **Azure Architect** | Infra Azure, Bicep, Container Apps |
68
+ | **Cost Guardian** | Custos, alertas, bloqueios |
191
69
 
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/
70
+ ### Stack, Specialist, Integration, Infra
194
71
 
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}
202
-
203
- 💡 Recomendação: {opção} porque {justificativa}
204
- Qual prefere?
205
- ```
72
+ > **Ref:** Root `CLAUDE.md` para tabela completa de agentes e keywords.
206
73
 
207
74
  ---
208
75
 
209
- ## STANDARDS ENFORCEMENT PIPELINE
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
234
-
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
76
+ ## LIMITES DE CUSTO
242
77
 
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
- ```
269
-
270
- → Validator `blazor` recebe `{ uiLib: "fluent" }` → valida patterns Fluent-specific
271
-
272
- ```markdown
273
- ## ADR-002: Architecture Pattern
274
- **Status:** Accepted
275
- **Decision:** Implement CQRS pattern
276
- ```
277
-
278
- → Validator `architecture` recebe `{ pattern: "cqrs" }` → checa Commands/Queries/Handlers
279
-
280
- ### Comandos de Validação
281
-
282
- ```bash
283
- # Auto-execução (integrado ao workflow)
284
- morph-spec task done {feature} {task-id} # Validators rodam automaticamente
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
291
- ```
292
-
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`
78
+ | Nível | Limite | Requisito |
79
+ |-------|--------|-----------|
80
+ | Sem aprovação | Free tier | Nenhum |
81
+ | Com aprovação | Até $10/mês | Confirmação |
82
+ | Acima de $10 | Justificativa | ADR |
321
83
 
322
84
  ---
323
85
 
@@ -331,115 +93,57 @@ Escalação: Se descobrir complexidade maior, `morph-spec state set {feature} wo
331
93
  | Recursos dinâmicos (Fabric, Azure AI) | SDK .NET |
332
94
  | CI/CD | YAML + Bicep |
333
95
 
334
- Estrutura: `infra/main.bicep` → `infra/modules/*.bicep` + `parameters.{env}.json`
335
-
336
96
  ---
337
97
 
338
- ## STATE MANAGEMENT
98
+ ## TEMPLATES
339
99
 
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
- ```
100
+ > SEMPRE use `bin/render-template.js` para renderizar. NUNCA preencha placeholders manualmente.
350
101
 
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.
102
+ ### Placeholders: `{{PLACEHOLDER}}`
352
103
 
353
- ---
104
+ | Placeholder | Exemplo |
105
+ |-------------|---------|
106
+ | `{{FEATURE_NAME}}` | `scheduled-reports` |
107
+ | `{{FEATURE_NAME_PASCAL}}` | `ScheduledReports` |
108
+ | `{{FEATURE_NAME_CAMEL}}` | `scheduledReports` |
109
+ | `{{STACK}}` | `Blazor` |
110
+ | `{{DATE}}`, `{{AUTHOR}}`, `{{NAMESPACE}}` | Auto from config.json |
354
111
 
355
- ## COMANDOS
112
+ ### CLI
356
113
 
357
- > **npx** para projetos consumidores. **node bin/** apenas para dev do framework.
114
+ ```bash
115
+ node bin/render-template.js <template> <output> <vars-json>
116
+ # --verbose: show replacements | --dry-run: preview only
117
+ ```
358
118
 
359
- ### User Commands
119
+ ### Available Templates
360
120
 
361
- **Slash Commands (o que o usuário digita):**
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 |
367
- | `/morph-archive {feature}` | Arquivar feature concluída |
368
- | `/morph-infra {action}` | Gerenciar infra Bicep (init, validate, plan, deploy) |
369
- | `/morph-preflight` | Validação pre-deploy Azure |
370
- | `/morph-troubleshoot {error}` | Troubleshooting de erros |
121
+ **MORPH outputs:** proposal, ui-design-system, ui-mockups, ui-components, ui-flows, spec, contracts.cs, decisions, tasks, recap
371
122
 
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` |
123
+ **Code:** service.cs, repository.cs, agent.cs, job.cs, test.cs
403
124
 
404
125
  ---
405
126
 
406
- ## ESTRUTURA DE OUTPUTS
127
+ ## COMANDOS
407
128
 
408
- ```
409
- .morph/project/outputs/{feature-name}/
410
- ├── proposal.md # FASE 0
411
- ├── ui-design-system.md # FASE 1.5 (se front-end)
412
- ├── ui-mockups.md # FASE 1.5 (se front-end)
413
- ├── ui-components.md # FASE 1.5 (se front-end)
414
- ├── ui-flows.md # FASE 1.5 (se front-end)
415
- ├── spec.md # FASE 2
416
- ├── contracts.cs # FASE 2
417
- ├── tasks.json # FASE 4
418
- ├── decisions.md # FASE 2+ (acumulativo)
419
- └── recap.md # FASE 5
420
- ```
129
+ | Comando | Ação |
130
+ |---------|------|
131
+ | `/morph-proposal {feature}` | Spec pipeline completo (fases 0-4, auto-continuação com pausas) |
132
+ | `/morph-apply {feature}` | Implementar feature (fase 5) |
133
+ | `/morph-status` | Dashboard |
134
+ | `/morph-archive {feature}` | Arquivar feature concluída |
135
+ | `/morph-infra {action}` | Gerenciar infra Bicep |
136
+ | `/morph-preflight` | Validação pre-deploy Azure |
137
+ | `/morph-troubleshoot {error}` | Troubleshooting de erros |
421
138
 
422
139
  ---
423
140
 
424
141
  ## REFERÊNCIAS
425
142
 
426
- ### Standards (framework/standards/)
427
- `coding.md` | `architecture.md` | `azure.md` | `agent-framework-setup.md` | `agent-framework-workflows.md` | `agent-framework-production.md` | `agent-framework-blazor-ui.md` | `agent-teams-workflow.md` | `passkeys-auth.md` | `vector-search-rag.md` | `dotnet10-migration.md` | `fluent-ui-blazor.md` | `migration-guide.md`
428
-
429
- ### Templates
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
143
+ - `.morph/project.md` — Contexto do projeto
144
+ - `.morph/standards/` coding, architecture, azure
145
+ - `.morph/templates/` — Templates para outputs
146
+ - `.morph/config/agents.json` — Agentes
443
147
 
444
148
  ---
445
149
 
package/LICENSE CHANGED
@@ -1,72 +1,72 @@
1
- Proprietary License
2
-
3
- Copyright (c) 2024-2025 Polymorphism Tech
4
- All rights reserved.
5
-
6
- MORPH-SPEC Framework - Proprietary Software License
7
-
8
- 1. GRANT OF LICENSE
9
-
10
- Subject to the terms and conditions of this License, Polymorphism Tech ("Licensor")
11
- grants you a limited, non-exclusive, non-transferable license to:
12
-
13
- a) Install and use the MORPH-SPEC CLI tool for personal or commercial projects
14
- b) Use the generated templates and code in your own projects
15
- c) Modify generated code for your specific use cases
16
-
17
- 2. RESTRICTIONS
18
-
19
- You may NOT:
20
-
21
- a) Redistribute, sell, lease, or sublicense the MORPH-SPEC framework itself
22
- b) Modify, decompile, reverse engineer, or create derivative works of the framework
23
- c) Remove or modify any copyright notices or proprietary markings
24
- d) Use the framework to create competing products or services
25
- e) Publicly fork or redistribute the source code
26
- f) Share access credentials to private repositories
27
-
28
- 3. OWNERSHIP
29
-
30
- The MORPH-SPEC framework, including all code, documentation, templates, and
31
- associated materials, remains the exclusive property of Polymorphism Tech.
32
-
33
- 4. GENERATED CODE
34
-
35
- Code and projects generated using MORPH-SPEC are yours to use, modify, and
36
- distribute as you see fit, including commercial use.
37
-
38
- 5. SUPPORT AND UPDATES
39
-
40
- - CLI tool updates are provided via npm registry
41
- - Support is available at: support@polymorphism.tech
42
- - Documentation updates are included with each release
43
-
44
- 6. WARRANTY DISCLAIMER
45
-
46
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
47
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
48
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
49
-
50
- 7. LIMITATION OF LIABILITY
51
-
52
- IN NO EVENT SHALL POLYMORPHISM TECH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
53
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
54
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
55
- SOFTWARE.
56
-
57
- 8. TERMINATION
58
-
59
- This license is effective until terminated. Your rights under this license will
60
- terminate automatically without notice if you fail to comply with any term of
61
- this license.
62
-
63
- 9. CONTACT
64
-
65
- For licensing inquiries, custom licenses, or commercial support:
66
- Email: contact@polymorphism.com.br
67
- Website: https://polymorphism.com.br
68
-
69
- ---
70
-
71
- MORPH-SPEC v2.0.0
72
- by Polymorphism Tech
1
+ Proprietary License
2
+
3
+ Copyright (c) 2024-2025 Polymorphism Tech
4
+ All rights reserved.
5
+
6
+ MORPH-SPEC Framework - Proprietary Software License
7
+
8
+ 1. GRANT OF LICENSE
9
+
10
+ Subject to the terms and conditions of this License, Polymorphism Tech ("Licensor")
11
+ grants you a limited, non-exclusive, non-transferable license to:
12
+
13
+ a) Install and use the MORPH-SPEC CLI tool for personal or commercial projects
14
+ b) Use the generated templates and code in your own projects
15
+ c) Modify generated code for your specific use cases
16
+
17
+ 2. RESTRICTIONS
18
+
19
+ You may NOT:
20
+
21
+ a) Redistribute, sell, lease, or sublicense the MORPH-SPEC framework itself
22
+ b) Modify, decompile, reverse engineer, or create derivative works of the framework
23
+ c) Remove or modify any copyright notices or proprietary markings
24
+ d) Use the framework to create competing products or services
25
+ e) Publicly fork or redistribute the source code
26
+ f) Share access credentials to private repositories
27
+
28
+ 3. OWNERSHIP
29
+
30
+ The MORPH-SPEC framework, including all code, documentation, templates, and
31
+ associated materials, remains the exclusive property of Polymorphism Tech.
32
+
33
+ 4. GENERATED CODE
34
+
35
+ Code and projects generated using MORPH-SPEC are yours to use, modify, and
36
+ distribute as you see fit, including commercial use.
37
+
38
+ 5. SUPPORT AND UPDATES
39
+
40
+ - CLI tool updates are provided via npm registry
41
+ - Support is available at: support@polymorphism.tech
42
+ - Documentation updates are included with each release
43
+
44
+ 6. WARRANTY DISCLAIMER
45
+
46
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
47
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
48
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
49
+
50
+ 7. LIMITATION OF LIABILITY
51
+
52
+ IN NO EVENT SHALL POLYMORPHISM TECH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
53
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
54
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
55
+ SOFTWARE.
56
+
57
+ 8. TERMINATION
58
+
59
+ This license is effective until terminated. Your rights under this license will
60
+ terminate automatically without notice if you fail to comply with any term of
61
+ this license.
62
+
63
+ 9. CONTACT
64
+
65
+ For licensing inquiries, custom licenses, or commercial support:
66
+ Email: contact@polymorphism.com.br
67
+ Website: https://polymorphism.com.br
68
+
69
+ ---
70
+
71
+ MORPH-SPEC v2.0.0
72
+ by Polymorphism Tech