@polymorphism-tech/morph-spec 2.3.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.
Files changed (166) hide show
  1. package/CLAUDE.md +446 -1730
  2. package/README.md +515 -516
  3. package/bin/morph-spec.js +366 -294
  4. package/bin/task-manager.js +429 -368
  5. package/bin/validate.js +369 -268
  6. package/content/.claude/commands/morph-apply.md +221 -158
  7. package/content/.claude/commands/morph-deploy.md +529 -0
  8. package/content/.claude/commands/morph-preflight.md +227 -0
  9. package/content/.claude/commands/morph-proposal.md +122 -101
  10. package/content/.claude/commands/morph-status.md +86 -86
  11. package/content/.claude/commands/morph-troubleshoot.md +122 -0
  12. package/content/.claude/skills/infra/azure-deploy-specialist.md +699 -0
  13. package/content/.claude/skills/level-0-meta/README.md +7 -0
  14. package/content/.claude/skills/level-0-meta/code-review.md +226 -0
  15. package/content/.claude/skills/level-0-meta/morph-checklist.md +117 -0
  16. package/content/.claude/skills/level-0-meta/simulation-checklist.md +77 -0
  17. package/content/.claude/skills/level-1-workflows/README.md +7 -0
  18. package/content/.claude/skills/level-1-workflows/morph-replicate.md +213 -0
  19. package/content/.claude/{commands/morph-clarify.md → skills/level-1-workflows/phase-clarify.md} +131 -184
  20. package/content/.claude/{commands/morph-design.md → skills/level-1-workflows/phase-design.md} +213 -275
  21. package/content/.claude/skills/level-1-workflows/phase-setup.md +106 -0
  22. package/content/.claude/skills/level-1-workflows/phase-tasks.md +164 -0
  23. package/content/.claude/{commands/morph-uiux.md → skills/level-1-workflows/phase-uiux.md} +169 -211
  24. package/content/.claude/skills/level-2-domains/README.md +14 -0
  25. package/content/.claude/skills/level-2-domains/ai-agents/ai-system-architect.md +192 -0
  26. package/content/.claude/skills/{specialists → level-2-domains/architecture}/po-pm-advisor.md +197 -197
  27. package/content/.claude/skills/level-2-domains/architecture/standards-architect.md +156 -0
  28. package/content/.claude/skills/level-2-domains/backend/dotnet-senior.md +287 -0
  29. package/content/.claude/skills/level-2-domains/backend/ef-modeler.md +113 -0
  30. package/content/.claude/skills/level-2-domains/backend/hangfire-orchestrator.md +126 -0
  31. package/content/.claude/skills/level-2-domains/backend/ms-agent-expert.md +109 -0
  32. package/content/.claude/skills/level-2-domains/frontend/blazor-builder.md +210 -0
  33. package/content/.claude/skills/level-2-domains/frontend/nextjs-expert.md +154 -0
  34. package/content/.claude/skills/level-2-domains/frontend/ui-ux-designer.md +191 -0
  35. package/content/.claude/skills/{specialists → level-2-domains/infrastructure}/azure-architect.md +142 -142
  36. package/content/.claude/skills/level-2-domains/infrastructure/bicep-architect.md +126 -0
  37. package/content/.claude/skills/level-2-domains/infrastructure/container-specialist.md +131 -0
  38. package/content/.claude/skills/level-2-domains/infrastructure/devops-engineer.md +119 -0
  39. package/content/.claude/skills/level-2-domains/integrations/asaas-financial.md +130 -0
  40. package/content/.claude/skills/level-2-domains/integrations/azure-identity.md +142 -0
  41. package/content/.claude/skills/level-2-domains/integrations/clerk-auth.md +108 -0
  42. package/content/.claude/skills/level-2-domains/integrations/resend-email.md +119 -0
  43. package/content/.claude/skills/level-2-domains/quality/code-analyzer.md +235 -0
  44. package/content/.claude/skills/level-2-domains/quality/testing-specialist.md +126 -0
  45. package/content/.claude/skills/level-3-technologies/README.md +7 -0
  46. package/content/.claude/skills/level-4-patterns/README.md +7 -0
  47. package/content/.claude/skills/specialists/prompt-engineer.md +189 -0
  48. package/content/.claude/skills/specialists/seo-growth-hacker.md +320 -0
  49. package/content/.morph/config/agents.json +762 -242
  50. package/content/.morph/config/config.template.json +122 -108
  51. package/content/.morph/docs/workflows/design-impl.md +37 -0
  52. package/content/.morph/docs/workflows/enforcement-pipeline.md +668 -0
  53. package/content/.morph/docs/workflows/fast-track.md +29 -0
  54. package/content/.morph/docs/workflows/full-morph.md +76 -0
  55. package/content/.morph/docs/workflows/standard.md +44 -0
  56. package/content/.morph/docs/workflows/ui-refresh.md +39 -0
  57. package/content/.morph/examples/scheduled-reports/decisions.md +158 -0
  58. package/content/.morph/examples/scheduled-reports/proposal.md +95 -0
  59. package/content/.morph/examples/scheduled-reports/spec.md +267 -0
  60. package/content/.morph/hooks/README.md +348 -239
  61. package/content/.morph/hooks/pre-commit-agents.sh +24 -24
  62. package/content/.morph/hooks/task-completed.js +73 -0
  63. package/content/.morph/hooks/teammate-idle.js +68 -0
  64. package/content/.morph/schemas/tasks.schema.json +220 -0
  65. package/content/.morph/standards/agent-framework-blazor-ui.md +359 -0
  66. package/content/.morph/standards/agent-framework-production.md +410 -0
  67. package/content/.morph/standards/agent-framework-setup.md +413 -453
  68. package/content/.morph/standards/agent-framework-workflows.md +349 -0
  69. package/content/.morph/standards/agent-teams-workflow.md +474 -0
  70. package/content/.morph/standards/architecture.md +325 -325
  71. package/content/.morph/standards/azure.md +605 -379
  72. package/content/.morph/standards/dotnet10-migration.md +520 -494
  73. package/content/.morph/templates/CONTEXT-FEATURE.md +276 -0
  74. package/content/.morph/templates/CONTEXT.md +170 -0
  75. package/content/.morph/templates/agent.cs +163 -172
  76. package/content/.morph/templates/clarify-questions.md +159 -0
  77. package/content/.morph/templates/contracts/Commands.cs +74 -0
  78. package/content/.morph/templates/contracts/Entities.cs +25 -0
  79. package/content/.morph/templates/contracts/Queries.cs +74 -0
  80. package/content/.morph/templates/contracts/README.md +74 -0
  81. package/content/.morph/templates/decisions.md +123 -106
  82. package/content/.morph/templates/infra/azure-pipelines-deploy.yml +480 -0
  83. package/content/.morph/templates/infra/deploy-checklist.md +426 -0
  84. package/content/.morph/templates/proposal.md +141 -155
  85. package/content/.morph/templates/recap.md +94 -105
  86. package/content/.morph/templates/simulation.md +353 -0
  87. package/content/.morph/templates/spec.md +149 -148
  88. package/content/.morph/templates/state.template.json +222 -222
  89. package/content/.morph/templates/tasks.md +257 -235
  90. package/content/.morph/templates/ui-components.md +362 -276
  91. package/content/CLAUDE.md +150 -442
  92. package/detectors/structure-detector.js +245 -250
  93. package/docs/README.md +144 -149
  94. package/docs/getting-started.md +301 -302
  95. package/docs/installation.md +361 -361
  96. package/docs/validation-checklist.md +265 -266
  97. package/package.json +80 -80
  98. package/src/commands/advance-phase.js +266 -0
  99. package/src/commands/analyze-blazor-concurrency.js +193 -0
  100. package/src/commands/deploy.js +780 -0
  101. package/src/commands/detect-agents.js +167 -0
  102. package/src/commands/doctor.js +356 -280
  103. package/src/commands/generate-context.js +40 -0
  104. package/src/commands/init.js +258 -245
  105. package/src/commands/lint-fluent.js +352 -0
  106. package/src/commands/rollback-phase.js +185 -0
  107. package/src/commands/session-summary.js +291 -0
  108. package/src/commands/task.js +78 -75
  109. package/src/commands/troubleshoot.js +222 -0
  110. package/src/commands/update.js +192 -159
  111. package/src/commands/validate-blazor-state.js +210 -0
  112. package/src/commands/validate-blazor.js +156 -0
  113. package/src/commands/validate-css.js +84 -0
  114. package/src/commands/validate-phase.js +221 -0
  115. package/src/lib/blazor-concurrency-analyzer.js +288 -0
  116. package/src/lib/blazor-state-validator.js +291 -0
  117. package/src/lib/blazor-validator.js +374 -0
  118. package/src/lib/complexity-analyzer.js +441 -292
  119. package/src/lib/context-generator.js +513 -0
  120. package/src/lib/continuous-validator.js +421 -440
  121. package/src/lib/css-validator.js +352 -0
  122. package/src/lib/decision-constraint-loader.js +109 -0
  123. package/src/lib/design-system-detector.js +187 -0
  124. package/src/lib/design-system-scaffolder.js +299 -0
  125. package/src/lib/hook-executor.js +256 -0
  126. package/src/lib/recap-generator.js +205 -0
  127. package/src/lib/spec-validator.js +258 -0
  128. package/src/lib/standards-context-injector.js +287 -0
  129. package/src/lib/state-manager.js +397 -340
  130. package/src/lib/team-orchestrator.js +322 -0
  131. package/src/lib/troubleshoot-grep.js +194 -0
  132. package/src/lib/troubleshoot-index.js +144 -0
  133. package/src/lib/validation-runner.js +283 -0
  134. package/src/lib/validators/contract-compliance-validator.js +273 -0
  135. package/src/lib/validators/design-system-validator.js +231 -0
  136. package/src/utils/file-copier.js +187 -139
  137. package/content/.claude/commands/morph-costs.md +0 -206
  138. package/content/.claude/commands/morph-setup.md +0 -100
  139. package/content/.claude/commands/morph-tasks.md +0 -319
  140. package/content/.claude/skills/infra/bicep-architect.md +0 -419
  141. package/content/.claude/skills/infra/container-specialist.md +0 -437
  142. package/content/.claude/skills/infra/devops-engineer.md +0 -405
  143. package/content/.claude/skills/integrations/asaas-financial.md +0 -333
  144. package/content/.claude/skills/integrations/azure-identity.md +0 -309
  145. package/content/.claude/skills/integrations/clerk-auth.md +0 -290
  146. package/content/.claude/skills/specialists/ai-system-architect.md +0 -604
  147. package/content/.claude/skills/specialists/cost-guardian.md +0 -110
  148. package/content/.claude/skills/specialists/ef-modeler.md +0 -211
  149. package/content/.claude/skills/specialists/hangfire-orchestrator.md +0 -255
  150. package/content/.claude/skills/specialists/ms-agent-expert.md +0 -263
  151. package/content/.claude/skills/specialists/standards-architect.md +0 -78
  152. package/content/.claude/skills/specialists/ui-ux-designer.md +0 -1100
  153. package/content/.claude/skills/stacks/dotnet-blazor.md +0 -606
  154. package/content/.claude/skills/stacks/dotnet-nextjs.md +0 -402
  155. package/content/.claude/skills/stacks/shopify.md +0 -445
  156. package/content/.morph/config/azure-pricing.json +0 -70
  157. package/content/.morph/config/azure-pricing.schema.json +0 -50
  158. package/content/.morph/hooks/pre-commit-costs.sh +0 -91
  159. package/docs/api/cost-calculator.js.html +0 -513
  160. package/docs/api/design-system-generator.js.html +0 -382
  161. package/docs/api/global.html +0 -5263
  162. package/docs/api/index.html +0 -96
  163. package/docs/api/state-manager.js.html +0 -423
  164. package/src/commands/cost.js +0 -181
  165. package/src/commands/update-pricing.js +0 -206
  166. package/src/lib/cost-calculator.js +0 -429
@@ -0,0 +1,74 @@
1
+ # Contracts - {{FEATURE_NAME_TITLE}}
2
+
3
+ > Estrutura de contracts para features complexas
4
+
5
+ ## Estrutura
6
+
7
+ ```
8
+ contracts/
9
+ ├── README.md # Este arquivo (índice)
10
+ ├── Entities/ # Entidades de domínio
11
+ │ └── I{{FEATURE_NAME_PASCAL}}Entity.cs
12
+ ├── Commands/ # Commands (CQRS)
13
+ │ └── I{{FEATURE_NAME_PASCAL}}Commands.cs
14
+ ├── Queries/ # Queries (CQRS)
15
+ │ └── I{{FEATURE_NAME_PASCAL}}Queries.cs
16
+ ├── DTOs/ # Data Transfer Objects
17
+ │ └── {{FEATURE_NAME_PASCAL}}Dto.cs
18
+ ├── Events/ # Domain Events
19
+ │ └── {{FEATURE_NAME_PASCAL}}Events.cs
20
+ └── Services/ # Service Interfaces
21
+ └── I{{FEATURE_NAME_PASCAL}}Service.cs
22
+ ```
23
+
24
+ ## Quando usar pasta vs arquivo único
25
+
26
+ | Cenário | Usar |
27
+ |---------|------|
28
+ | < 5 interfaces/DTOs | `contracts.cs` (arquivo único) |
29
+ | 5-15 interfaces/DTOs | `contracts/` (pasta organizada) |
30
+ | > 15 interfaces/DTOs | `contracts/` + subpastas por domínio |
31
+
32
+ ## Convenções
33
+
34
+ 1. **Prefixo `I`** para interfaces: `IOrderService`, `IPaymentGateway`
35
+ 2. **Sufixo `Dto`** para DTOs: `OrderDto`, `OrderCreateDto`
36
+ 3. **Sufixo `Command`** para commands: `CreateOrderCommand`
37
+ 4. **Sufixo `Query`** para queries: `GetOrderByIdQuery`
38
+ 5. **Sufixo `Event`** para eventos: `OrderCreatedEvent`
39
+
40
+ ## Índice de Contracts
41
+
42
+ ### Entidades
43
+
44
+ | Interface | Descrição | Arquivo |
45
+ |-----------|-----------|---------|
46
+ | _A ser preenchido_ | | |
47
+
48
+ ### Commands
49
+
50
+ | Command | Handler | Descrição |
51
+ |---------|---------|-----------|
52
+ | _A ser preenchido_ | | |
53
+
54
+ ### Queries
55
+
56
+ | Query | Handler | Descrição |
57
+ |-------|---------|-----------|
58
+ | _A ser preenchido_ | | |
59
+
60
+ ### DTOs
61
+
62
+ | DTO | Usado em | Descrição |
63
+ |-----|----------|-----------|
64
+ | _A ser preenchido_ | | |
65
+
66
+ ### Services
67
+
68
+ | Interface | Implementação | Descrição |
69
+ |-----------|---------------|-----------|
70
+ | _A ser preenchido_ | | |
71
+
72
+ ---
73
+
74
+ _Gerado por MORPH-SPEC Framework_
@@ -1,106 +1,123 @@
1
- # Architecture Decision Records - {{FEATURE_NAME_TITLE}}
2
-
3
- ## ADR-001: {Decision Title}
4
-
5
- **Date:** {{DATE}}
6
- **Status:** Proposed | Accepted | Deprecated | Superseded
7
- **Deciders:** MORPH Agents, Developer
8
-
9
- ### Context
10
-
11
- {Descreva o contexto e o problema que levou a esta decisão}
12
-
13
- ### Decision
14
-
15
- {Descreva a decisão tomada}
16
-
17
- ### Consequences
18
-
19
- **Positivas:**
20
- - {Consequência positiva 1}
21
- - {Consequência positiva 2}
22
-
23
- **Negativas:**
24
- - {Consequência negativa 1}
25
-
26
- **Riscos:**
27
- - {Risco identificado}
28
-
29
- ### Alternatives Considered
30
-
31
- #### Option A: {Nome}
32
- - Pros: {vantagens}
33
- - Cons: {desvantagens}
34
- - **Rejected because:** {motivo}
35
-
36
- #### Option B: {Nome}
37
- - Pros: {vantagens}
38
- - Cons: {desvantagens}
39
- - **Rejected because:** {motivo}
40
-
41
- ---
42
-
43
- ## ADR-002: Database Model
44
-
45
- **Date:** {{DATE}}
46
- **Status:** Accepted
47
-
48
- ### Context
49
-
50
- Need to define how {Feature} data will be stored.
51
-
52
- ### Decision
53
-
54
- Use Azure SQL with the following model:
55
- - {Entity} table with {columns}
56
- - JSON columns for {flexible data}
57
-
58
- ### Consequences
59
-
60
- **Positivas:**
61
- - Fits within free tier (32GB)
62
- - Good query performance
63
-
64
- ---
65
-
66
- ## ADR-003: AI Integration
67
-
68
- **Date:** {{DATE}}
69
- **Status:** Accepted
70
-
71
- ### Context
72
-
73
- Feature requires AI capabilities for {purpose}.
74
-
75
- ### Decision
76
-
77
- Use MS Agent Framework with gpt-4o-mini model.
78
-
79
- ### Consequences
80
-
81
- **Positivas:**
82
- - Cost effective (~$0.15/1M input tokens)
83
- - Good enough quality for this use case
84
-
85
- **Negativas:**
86
- - Slightly less capable than gpt-4o
87
-
88
- ---
89
-
90
- ## Template for New ADRs
91
-
92
- ```markdown
93
- ## ADR-XXX: {Title}
94
-
95
- **Date:**
96
- **Status:** Proposed | Accepted | Deprecated | Superseded
97
-
98
- ### Context
99
- {Why is this decision needed?}
100
-
101
- ### Decision
102
- {What was decided?}
103
-
104
- ### Consequences
105
- {What are the results?}
106
- ```
1
+ # Architecture Decision Records - {{FEATURE_NAME_TITLE}}
2
+
3
+ ## ADR-001: {Decision Title}
4
+
5
+ **Date:** {{DATE}}
6
+ **Status:** Proposed | Accepted | Deprecated | Superseded
7
+ **Deciders:** MORPH Agents, Developer
8
+
9
+ ### Context
10
+
11
+ {Descreva o contexto e o problema que levou a esta decisão}
12
+
13
+ ### Decision
14
+
15
+ {Descreva a decisão tomada}
16
+
17
+ ### Consequences
18
+
19
+ **Positivas:**
20
+ - {Consequência positiva 1}
21
+ - {Consequência positiva 2}
22
+
23
+ **Negativas:**
24
+ - {Consequência negativa 1}
25
+
26
+ **Riscos:**
27
+ - {Risco identificado}
28
+
29
+ ### Alternatives Considered
30
+
31
+ #### Option A: {Nome}
32
+ - Pros: {vantagens}
33
+ - Cons: {desvantagens}
34
+ - **Rejected because:** {motivo}
35
+
36
+ #### Option B: {Nome}
37
+ - Pros: {vantagens}
38
+ - Cons: {desvantagens}
39
+ - **Rejected because:** {motivo}
40
+
41
+ ### Fluxos Afetados
42
+ - **Fluxo principal:** {ex: Upload -> Pagamento -> Geracao -> Email}
43
+ - **Fluxo alternativo:** {ex: Upload -> Geracao -> Pagamento -> Email}
44
+ - **Fluxo gratuito:** {ex: Upload -> Geracao -> Download}
45
+
46
+ ### Validacoes de Estado Impactadas
47
+
48
+ > **Consultar:** `framework/standards/status-validation.md`
49
+
50
+ | Service | Metodo | Estados Aceitos |
51
+ |---------|--------|-----------------|
52
+ | {ServiceName} | {MethodName} | {ex: PendingPayment, Completed} |
53
+
54
+ ### Componentes UI com Comportamento Especial
55
+ - {ex: FluentDialog requer Hidden="true" inicial}
56
+ - {ex: Modal precisa de @ref para controle programatico}
57
+
58
+ ---
59
+
60
+ ## ADR-002: Database Model
61
+
62
+ **Date:** {{DATE}}
63
+ **Status:** Accepted
64
+
65
+ ### Context
66
+
67
+ Need to define how {Feature} data will be stored.
68
+
69
+ ### Decision
70
+
71
+ Use Azure SQL with the following model:
72
+ - {Entity} table with {columns}
73
+ - JSON columns for {flexible data}
74
+
75
+ ### Consequences
76
+
77
+ **Positivas:**
78
+ - Fits within free tier (32GB)
79
+ - Good query performance
80
+
81
+ ---
82
+
83
+ ## ADR-003: AI Integration
84
+
85
+ **Date:** {{DATE}}
86
+ **Status:** Accepted
87
+
88
+ ### Context
89
+
90
+ Feature requires AI capabilities for {purpose}.
91
+
92
+ ### Decision
93
+
94
+ Use MS Agent Framework with gpt-4o-mini model.
95
+
96
+ ### Consequences
97
+
98
+ **Positivas:**
99
+ - Cost effective (~$0.15/1M input tokens)
100
+ - Good enough quality for this use case
101
+
102
+ **Negativas:**
103
+ - Slightly less capable than gpt-4o
104
+
105
+ ---
106
+
107
+ ## Template for New ADRs
108
+
109
+ ```markdown
110
+ ## ADR-XXX: {Title}
111
+
112
+ **Date:**
113
+ **Status:** Proposed | Accepted | Deprecated | Superseded
114
+
115
+ ### Context
116
+ {Why is this decision needed?}
117
+
118
+ ### Decision
119
+ {What was decided?}
120
+
121
+ ### Consequences
122
+ {What are the results?}
123
+ ```