@polymorphism-tech/morph-spec 2.4.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 (87) hide show
  1. package/CLAUDE.md +75 -239
  2. package/bin/morph-spec.js +8 -0
  3. package/content/.claude/commands/morph-deploy.md +529 -0
  4. package/content/.claude/skills/level-0-meta/README.md +7 -0
  5. package/content/.claude/skills/{checklists → level-0-meta}/morph-checklist.md +117 -117
  6. package/content/.claude/skills/level-1-workflows/README.md +7 -0
  7. package/content/.claude/skills/{workflows → level-1-workflows}/morph-replicate.md +213 -213
  8. package/content/.claude/skills/{workflows → level-1-workflows}/phase-clarify.md +131 -131
  9. package/content/.claude/skills/{workflows → level-1-workflows}/phase-design.md +213 -205
  10. package/content/.claude/skills/{workflows → level-1-workflows}/phase-setup.md +106 -92
  11. package/content/.claude/skills/{workflows → level-1-workflows}/phase-tasks.md +164 -164
  12. package/content/.claude/skills/{workflows → level-1-workflows}/phase-uiux.md +169 -138
  13. package/content/.claude/skills/level-2-domains/README.md +14 -0
  14. package/content/.claude/skills/level-2-domains/architecture/prompt-engineer.md +189 -0
  15. package/content/.claude/skills/level-2-domains/architecture/seo-growth-hacker.md +320 -0
  16. package/content/.claude/skills/level-2-domains/infrastructure/azure-deploy-specialist.md +699 -0
  17. package/content/.claude/skills/{specialists → level-2-domains/quality}/testing-specialist.md +126 -126
  18. package/content/.claude/skills/level-3-technologies/README.md +7 -0
  19. package/content/.claude/skills/level-4-patterns/README.md +7 -0
  20. package/content/.morph/config/agents.json +744 -358
  21. package/content/.morph/config/config.template.json +33 -0
  22. package/content/.morph/docs/workflows/enforcement-pipeline.md +668 -0
  23. package/content/.morph/examples/scheduled-reports/decisions.md +158 -158
  24. package/content/.morph/examples/scheduled-reports/proposal.md +95 -95
  25. package/content/.morph/examples/scheduled-reports/spec.md +267 -267
  26. package/content/.morph/hooks/README.md +158 -0
  27. package/content/.morph/hooks/task-completed.js +73 -0
  28. package/content/.morph/hooks/teammate-idle.js +68 -0
  29. package/content/.morph/schemas/tasks.schema.json +220 -220
  30. package/content/.morph/standards/agent-teams-workflow.md +474 -0
  31. package/content/.morph/templates/CONTEXT-FEATURE.md +276 -0
  32. package/content/.morph/templates/CONTEXT.md +170 -0
  33. package/content/.morph/templates/clarify-questions.md +159 -159
  34. package/content/.morph/templates/contracts/Commands.cs +74 -74
  35. package/content/.morph/templates/contracts/Entities.cs +25 -25
  36. package/content/.morph/templates/contracts/Queries.cs +74 -74
  37. package/content/.morph/templates/contracts/README.md +74 -74
  38. package/content/.morph/templates/infra/azure-pipelines-deploy.yml +480 -0
  39. package/package.json +1 -2
  40. package/scripts/reorganize-skills.cjs +175 -0
  41. package/scripts/validate-agents-structure.cjs +52 -0
  42. package/scripts/validate-skills.cjs +180 -0
  43. package/src/commands/advance-phase.js +83 -0
  44. package/src/commands/deploy.js +780 -0
  45. package/src/commands/detect-agents.js +43 -6
  46. package/src/commands/detect.js +1 -1
  47. package/src/commands/generate-context.js +40 -0
  48. package/src/commands/state.js +2 -1
  49. package/src/commands/sync.js +1 -1
  50. package/src/commands/update.js +13 -1
  51. package/src/lib/context-generator.js +513 -0
  52. package/src/lib/design-system-detector.js +187 -0
  53. package/src/lib/design-system-scaffolder.js +299 -0
  54. package/src/lib/hook-executor.js +256 -0
  55. package/src/lib/spec-validator.js +258 -0
  56. package/src/lib/standards-context-injector.js +287 -0
  57. package/src/lib/state-manager.js +21 -4
  58. package/src/lib/team-orchestrator.js +322 -0
  59. package/src/lib/validation-runner.js +65 -13
  60. package/src/lib/validators/design-system-validator.js +231 -0
  61. package/src/utils/file-copier.js +9 -1
  62. /package/content/.claude/skills/{checklists → level-0-meta}/code-review.md +0 -0
  63. /package/content/.claude/skills/{checklists → level-0-meta}/simulation-checklist.md +0 -0
  64. /package/content/.claude/skills/{specialists → level-2-domains/ai-agents}/ai-system-architect.md +0 -0
  65. /package/content/.claude/skills/{specialists → level-2-domains/architecture}/po-pm-advisor.md +0 -0
  66. /package/content/.claude/skills/{specialists → level-2-domains/architecture}/standards-architect.md +0 -0
  67. /package/content/.claude/skills/{specialists → level-2-domains/backend}/dotnet-senior.md +0 -0
  68. /package/content/.claude/skills/{specialists → level-2-domains/backend}/ef-modeler.md +0 -0
  69. /package/content/.claude/skills/{specialists → level-2-domains/backend}/hangfire-orchestrator.md +0 -0
  70. /package/content/.claude/skills/{specialists → level-2-domains/backend}/ms-agent-expert.md +0 -0
  71. /package/content/.claude/skills/{stacks/dotnet-blazor.md → level-2-domains/frontend/blazor-builder.md} +0 -0
  72. /package/content/.claude/skills/{stacks/dotnet-nextjs.md → level-2-domains/frontend/nextjs-expert.md} +0 -0
  73. /package/content/.claude/skills/{specialists → level-2-domains/frontend}/ui-ux-designer.md +0 -0
  74. /package/content/.claude/skills/{specialists → level-2-domains/infrastructure}/azure-architect.md +0 -0
  75. /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/bicep-architect.md +0 -0
  76. /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/container-specialist.md +0 -0
  77. /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/devops-engineer.md +0 -0
  78. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/asaas-financial.md +0 -0
  79. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/azure-identity.md +0 -0
  80. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/clerk-auth.md +0 -0
  81. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/resend-email.md +0 -0
  82. /package/content/.claude/skills/{specialists → level-2-domains/quality}/code-analyzer.md +0 -0
  83. /package/{detectors → src/lib/detectors}/config-detector.js +0 -0
  84. /package/{detectors → src/lib/detectors}/conversation-analyzer.js +0 -0
  85. /package/{detectors → src/lib/detectors}/index.js +0 -0
  86. /package/{detectors → src/lib/detectors}/standards-generator.js +0 -0
  87. /package/{detectors → src/lib/detectors}/structure-detector.js +0 -0
@@ -1,131 +1,131 @@
1
- # MORPH Clarify - FASE 3
2
-
3
- > INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
4
-
5
- Identifique ambiguidades na especificação e faça perguntas de clarificação para garantir que todos os edge cases estão cobertos.
6
-
7
- ## Pré-requisitos
8
-
9
- - [ ] FASE 2 (Design) concluída
10
- - [ ] `spec.md` aprovado pelo usuário
11
- - [ ] `contracts.cs` definidos
12
-
13
- ## Workflow
14
-
15
- ### Passo 1: Analisar Spec
16
-
17
- Leia `.morph/project/outputs/{feature}/spec.md` em detalhes e identifique:
18
-
19
- #### 1.1. Ambiguidades
20
- - Requisitos vagos ou genéricos
21
- - Termos sem definição clara
22
- - Comportamentos não especificados
23
-
24
- #### 1.2. Edge Cases Não Documentados
25
- - O que acontece se...?
26
- - Como lidar com entradas inválidas?
27
- - Comportamento em caso de erro?
28
- - Estados intermediários (loading, empty)
29
-
30
- #### 1.3. Requisitos Conflitantes
31
- - Duas funcionalidades que parecem incompatíveis
32
- - Prioridades não claras (o que vem primeiro?)
33
-
34
- #### 1.4. Dados Faltantes
35
- - Validações de negócio não especificadas
36
- - Limites e constraints (tamanhos, quantidades)
37
- - Formatos de dados (datas, moedas, etc.)
38
-
39
- ### Passo 2: Gerar Perguntas de Clarificação
40
-
41
- Com base na análise, gere **3-7 perguntas** focadas e específicas:
42
-
43
- **Formato de pergunta:**
44
- ```markdown
45
- ### Q{N}: {Categoria} - {Título}
46
-
47
- **Context:** {Por que esta pergunta é importante}
48
-
49
- **Question:** {Pergunta clara e objetiva}
50
-
51
- **Options (if applicable):**
52
- - A) {Opção 1}
53
- - B) {Opção 2}
54
- - C) {Deixar em aberto/usuário decidir}
55
-
56
- **Impact:** {Como a resposta afeta a implementação}
57
- ```
58
-
59
- ### Passo 3: Categorizar Perguntas
60
-
61
- Organize perguntas por categoria:
62
-
63
- | Categoria | Descrição | Exemplos |
64
- |-----------|-----------|----------|
65
- | **Validação** | Regras de negócio, constraints | Limites de tamanho, formatos aceitos |
66
- | **Comportamento** | O que acontece quando... | Error handling, estados vazios |
67
- | **Prioridade** | O que é must-have vs nice-to-have | MVP vs futuras iterações |
68
- | **Integração** | Como interage com sistemas externos | APIs, webhooks, formato de dados |
69
- | **Performance** | Requisitos de velocidade/volume | Quantos registros? Tempo de resposta? |
70
- | **UX** | Experiência do usuário | Feedback visual, mensagens de erro |
71
-
72
- ### Passo 4: Apresentar Perguntas ao Usuário
73
-
74
- Liste todas as perguntas de forma clara e estruturada.
75
-
76
- **IMPORTANTE:** Não prossiga para próxima fase até ter respostas!
77
-
78
- ### Passo 5: Atualizar `spec.md` com Respostas
79
-
80
- Após receber respostas do usuário, atualize o spec com:
81
-
82
- 1. **Seção de Clarificações** no início do spec:
83
- ```markdown
84
- ## Clarifications (FASE 3)
85
-
86
- ### Q1: {Título}
87
- **Answer:** {Resposta do usuário}
88
- **Date:** {YYYY-MM-DD}
89
- ```
90
-
91
- 2. **Atualizar seções relevantes** com detalhes adicionados
92
-
93
- ### Passo 6: Validar Edge Cases
94
-
95
- Documente no spec como lidar com cada edge case identificado:
96
-
97
- ```markdown
98
- ## Edge Cases
99
-
100
- ### EC001: {Nome do Edge Case}
101
- **Scenario:** {Quando acontece}
102
- **Expected Behavior:** {Como o sistema deve reagir}
103
- **Implementation Notes:** {Dicas para implementação}
104
- ```
105
-
106
- ### Passo 7: Atualizar State
107
-
108
- ```bash
109
- npx morph-spec state set {feature-name} phase clarify
110
- ```
111
-
112
- ## Outputs Gerados/Atualizados
113
-
114
- - `.morph/project/outputs/{feature}/spec.md` - Atualizado com:
115
- - Seção "Clarifications" com perguntas e respostas
116
- - Edge cases documentados
117
- - Requisitos mais específicos
118
-
119
- ## Critérios de Avanço
120
-
121
- - [x] Perguntas de clarificação identificadas (3-7)
122
- - [x] Perguntas apresentadas ao usuário
123
- - [x] Respostas do usuário recebidas
124
- - [x] `spec.md` atualizado com clarificações
125
- - [x] Edge cases documentados
126
- - [x] State atualizado
127
- - [x] Nenhuma ambiguidade crítica remanescente
128
-
129
- ---
130
-
131
- Continuar automaticamente para FASE 4 (Tasks) após clarificações resolvidas.
1
+ # MORPH Clarify - FASE 3
2
+
3
+ > INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
4
+
5
+ Identifique ambiguidades na especificação e faça perguntas de clarificação para garantir que todos os edge cases estão cobertos.
6
+
7
+ ## Pré-requisitos
8
+
9
+ - [ ] FASE 2 (Design) concluída
10
+ - [ ] `spec.md` aprovado pelo usuário
11
+ - [ ] `contracts.cs` definidos
12
+
13
+ ## Workflow
14
+
15
+ ### Passo 1: Analisar Spec
16
+
17
+ Leia `.morph/project/outputs/{feature}/spec.md` em detalhes e identifique:
18
+
19
+ #### 1.1. Ambiguidades
20
+ - Requisitos vagos ou genéricos
21
+ - Termos sem definição clara
22
+ - Comportamentos não especificados
23
+
24
+ #### 1.2. Edge Cases Não Documentados
25
+ - O que acontece se...?
26
+ - Como lidar com entradas inválidas?
27
+ - Comportamento em caso de erro?
28
+ - Estados intermediários (loading, empty)
29
+
30
+ #### 1.3. Requisitos Conflitantes
31
+ - Duas funcionalidades que parecem incompatíveis
32
+ - Prioridades não claras (o que vem primeiro?)
33
+
34
+ #### 1.4. Dados Faltantes
35
+ - Validações de negócio não especificadas
36
+ - Limites e constraints (tamanhos, quantidades)
37
+ - Formatos de dados (datas, moedas, etc.)
38
+
39
+ ### Passo 2: Gerar Perguntas de Clarificação
40
+
41
+ Com base na análise, gere **3-7 perguntas** focadas e específicas:
42
+
43
+ **Formato de pergunta:**
44
+ ```markdown
45
+ ### Q{N}: {Categoria} - {Título}
46
+
47
+ **Context:** {Por que esta pergunta é importante}
48
+
49
+ **Question:** {Pergunta clara e objetiva}
50
+
51
+ **Options (if applicable):**
52
+ - A) {Opção 1}
53
+ - B) {Opção 2}
54
+ - C) {Deixar em aberto/usuário decidir}
55
+
56
+ **Impact:** {Como a resposta afeta a implementação}
57
+ ```
58
+
59
+ ### Passo 3: Categorizar Perguntas
60
+
61
+ Organize perguntas por categoria:
62
+
63
+ | Categoria | Descrição | Exemplos |
64
+ |-----------|-----------|----------|
65
+ | **Validação** | Regras de negócio, constraints | Limites de tamanho, formatos aceitos |
66
+ | **Comportamento** | O que acontece quando... | Error handling, estados vazios |
67
+ | **Prioridade** | O que é must-have vs nice-to-have | MVP vs futuras iterações |
68
+ | **Integração** | Como interage com sistemas externos | APIs, webhooks, formato de dados |
69
+ | **Performance** | Requisitos de velocidade/volume | Quantos registros? Tempo de resposta? |
70
+ | **UX** | Experiência do usuário | Feedback visual, mensagens de erro |
71
+
72
+ ### Passo 4: Apresentar Perguntas ao Usuário
73
+
74
+ Liste todas as perguntas de forma clara e estruturada.
75
+
76
+ **IMPORTANTE:** Não prossiga para próxima fase até ter respostas!
77
+
78
+ ### Passo 5: Atualizar `spec.md` com Respostas
79
+
80
+ Após receber respostas do usuário, atualize o spec com:
81
+
82
+ 1. **Seção de Clarificações** no início do spec:
83
+ ```markdown
84
+ ## Clarifications (FASE 3)
85
+
86
+ ### Q1: {Título}
87
+ **Answer:** {Resposta do usuário}
88
+ **Date:** {YYYY-MM-DD}
89
+ ```
90
+
91
+ 2. **Atualizar seções relevantes** com detalhes adicionados
92
+
93
+ ### Passo 6: Validar Edge Cases
94
+
95
+ Documente no spec como lidar com cada edge case identificado:
96
+
97
+ ```markdown
98
+ ## Edge Cases
99
+
100
+ ### EC001: {Nome do Edge Case}
101
+ **Scenario:** {Quando acontece}
102
+ **Expected Behavior:** {Como o sistema deve reagir}
103
+ **Implementation Notes:** {Dicas para implementação}
104
+ ```
105
+
106
+ ### Passo 7: Atualizar State
107
+
108
+ ```bash
109
+ npx morph-spec state set {feature-name} phase clarify
110
+ ```
111
+
112
+ ## Outputs Gerados/Atualizados
113
+
114
+ - `.morph/project/outputs/{feature}/spec.md` - Atualizado com:
115
+ - Seção "Clarifications" com perguntas e respostas
116
+ - Edge cases documentados
117
+ - Requisitos mais específicos
118
+
119
+ ## Critérios de Avanço
120
+
121
+ - [x] Perguntas de clarificação identificadas (3-7)
122
+ - [x] Perguntas apresentadas ao usuário
123
+ - [x] Respostas do usuário recebidas
124
+ - [x] `spec.md` atualizado com clarificações
125
+ - [x] Edge cases documentados
126
+ - [x] State atualizado
127
+ - [x] Nenhuma ambiguidade crítica remanescente
128
+
129
+ ---
130
+
131
+ Continuar automaticamente para FASE 4 (Tasks) após clarificações resolvidas.