@polymorphism-tech/morph-spec 4.7.1 → 4.8.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 (138) hide show
  1. package/.morph/analytics/threads-log.jsonl +54 -0
  2. package/.morph/state.json +198 -0
  3. package/LICENSE +1 -2
  4. package/README.md +379 -414
  5. package/bin/morph-spec.js +57 -403
  6. package/bin/validate.js +2 -26
  7. package/claude-plugin.json +2 -2
  8. package/docs/ARCHITECTURE.md +43 -46
  9. package/docs/CHEATSHEET.md +203 -221
  10. package/docs/COMMAND-FLOWS.md +319 -289
  11. package/docs/QUICKSTART.md +2 -8
  12. package/docs/plans/2026-02-22-claude-docs-morph-alignment-analysis.md +2 -0
  13. package/docs/plans/2026-02-22-claude-settings.md +2 -0
  14. package/docs/plans/2026-02-22-morph-cc-alignment-impl.md +2 -0
  15. package/docs/plans/2026-02-22-morph-spec-next.md +2 -0
  16. package/docs/plans/2026-02-22-native-alignment-design.md +2 -0
  17. package/docs/plans/2026-02-22-native-alignment-impl.md +2 -0
  18. package/docs/plans/2026-02-22-native-enrichment-design.md +2 -0
  19. package/docs/plans/2026-02-22-native-enrichment.md +2 -0
  20. package/docs/plans/2026-02-23-ddd-architecture-refactor.md +2 -0
  21. package/docs/plans/2026-02-23-ddd-nextsteps.md +2 -0
  22. package/docs/plans/2026-02-23-infra-architect-refactor.md +2 -0
  23. package/docs/plans/2026-02-23-nextjs-code-review-design.md +2 -1
  24. package/docs/plans/2026-02-23-nextjs-code-review-impl.md +2 -0
  25. package/docs/plans/2026-02-23-nextjs-standards-design.md +2 -1
  26. package/docs/plans/2026-02-23-nextjs-standards-impl.md +2 -0
  27. package/docs/plans/2026-02-24-cli-radical-simplification.md +592 -0
  28. package/docs/plans/2026-02-24-framework-failure-points.md +125 -0
  29. package/docs/plans/2026-02-24-morph-init-design.md +337 -0
  30. package/docs/plans/2026-02-24-morph-init-impl.md +1269 -0
  31. package/docs/plans/2026-02-24-tutorial-command-design.md +71 -0
  32. package/docs/plans/2026-02-24-tutorial-command.md +298 -0
  33. package/framework/CLAUDE.md +2 -2
  34. package/framework/commands/morph-proposal.md +3 -3
  35. package/framework/hooks/README.md +11 -10
  36. package/framework/hooks/claude-code/notification/approval-reminder.js +2 -0
  37. package/framework/hooks/claude-code/post-tool-use/dispatch.js +1 -1
  38. package/framework/hooks/claude-code/pre-tool-use/protect-readonly-files.js +4 -55
  39. package/framework/hooks/claude-code/session-start/inject-morph-context.js +20 -5
  40. package/framework/hooks/claude-code/statusline.py +6 -1
  41. package/framework/hooks/claude-code/stop/validate-completion.js +1 -1
  42. package/framework/hooks/claude-code/user-prompt/enrich-prompt.js +1 -1
  43. package/framework/hooks/dev/check-sync-health.js +117 -0
  44. package/framework/hooks/dev/guard-version-numbers.js +57 -0
  45. package/framework/hooks/dev/sync-standards-registry.js +60 -0
  46. package/framework/hooks/dev/sync-template-registry.js +60 -0
  47. package/framework/hooks/dev/validate-skill-format.js +70 -0
  48. package/framework/hooks/dev/validate-standard-format.js +73 -0
  49. package/framework/hooks/shared/payload-utils.js +39 -0
  50. package/framework/hooks/shared/state-reader.js +25 -1
  51. package/framework/rules/morph-workflow.md +1 -1
  52. package/framework/skills/level-0-meta/morph-init/SKILL.md +216 -0
  53. package/framework/skills/level-0-meta/morph-replicate/SKILL.md +4 -4
  54. package/framework/skills/level-0-meta/tool-usage-guide/SKILL.md +4 -4
  55. package/framework/skills/level-0-meta/verification-before-completion/SKILL.md +1 -1
  56. package/framework/skills/level-1-workflows/phase-clarify/SKILL.md +192 -191
  57. package/framework/skills/level-1-workflows/phase-codebase-analysis/SKILL.md +181 -180
  58. package/framework/skills/level-1-workflows/phase-design/SKILL.md +339 -338
  59. package/framework/skills/level-1-workflows/phase-implement/SKILL.md +254 -253
  60. package/framework/skills/level-1-workflows/phase-setup/SKILL.md +168 -170
  61. package/framework/skills/level-1-workflows/phase-tasks/SKILL.md +284 -283
  62. package/framework/skills/level-1-workflows/phase-uiux/SKILL.md +246 -245
  63. package/framework/templates/examples/design-system-examples.md +1 -1
  64. package/framework/templates/ui/FluentDesignTheme.cs +1 -1
  65. package/framework/templates/ui/MudTheme.cs +1 -1
  66. package/framework/templates/ui/design-system.css +1 -1
  67. package/package.json +4 -2
  68. package/scripts/bump-version.js +248 -0
  69. package/scripts/install-dev-hooks.js +138 -0
  70. package/src/commands/agents/index.js +1 -2
  71. package/src/commands/index.js +13 -16
  72. package/src/commands/project/doctor.js +100 -14
  73. package/src/commands/project/index.js +7 -10
  74. package/src/commands/project/init.js +398 -555
  75. package/src/commands/project/install-plugin-cmd.js +28 -0
  76. package/src/commands/project/setup-infra-cmd.js +12 -0
  77. package/src/commands/project/tutorial.js +115 -0
  78. package/src/commands/project/update.js +22 -37
  79. package/src/commands/state/approve.js +213 -221
  80. package/src/commands/state/index.js +0 -1
  81. package/src/commands/state/state.js +337 -365
  82. package/src/commands/templates/index.js +0 -4
  83. package/src/commands/trust/trust.js +1 -93
  84. package/src/commands/utils/index.js +1 -5
  85. package/src/commands/validation/index.js +1 -5
  86. package/src/core/registry/command-registry.js +11 -285
  87. package/src/core/state/state-manager.js +5 -2
  88. package/src/lib/detectors/index.js +81 -87
  89. package/src/lib/detectors/structure-detector.js +275 -273
  90. package/src/lib/generators/recap-generator.js +232 -225
  91. package/src/lib/installers/mcp-installer.js +18 -3
  92. package/src/scripts/global-install.js +34 -0
  93. package/src/scripts/install-plugin.js +126 -0
  94. package/src/scripts/setup-infra.js +203 -0
  95. package/src/utils/agents-installer.js +10 -1
  96. package/src/utils/hooks-installer.js +70 -17
  97. package/CLAUDE.md +0 -77
  98. package/docs/claude-alignment-report.md +0 -137
  99. package/docs/examples/order-management/contracts.cs +0 -84
  100. package/docs/examples/order-management/proposal.md +0 -24
  101. package/docs/examples/order-management/spec.md +0 -162
  102. package/src/commands/feature/create-story.js +0 -362
  103. package/src/commands/feature/index.js +0 -6
  104. package/src/commands/feature/shard-spec.js +0 -225
  105. package/src/commands/feature/sprint-status.js +0 -250
  106. package/src/commands/generation/generate-onboarding.js +0 -169
  107. package/src/commands/generation/generate.js +0 -276
  108. package/src/commands/generation/index.js +0 -5
  109. package/src/commands/learning/capture-pattern.js +0 -121
  110. package/src/commands/learning/index.js +0 -5
  111. package/src/commands/learning/search-patterns.js +0 -126
  112. package/src/commands/mcp/mcp.js +0 -102
  113. package/src/commands/project/changes.js +0 -66
  114. package/src/commands/project/cost.js +0 -179
  115. package/src/commands/project/detect.js +0 -114
  116. package/src/commands/project/diff.js +0 -278
  117. package/src/commands/project/revert.js +0 -173
  118. package/src/commands/project/standards.js +0 -80
  119. package/src/commands/project/sync.js +0 -167
  120. package/src/commands/project/update-agents.js +0 -23
  121. package/src/commands/state/rollback-phase.js +0 -185
  122. package/src/commands/templates/template-customize.js +0 -87
  123. package/src/commands/templates/template-list.js +0 -114
  124. package/src/commands/templates/template-show.js +0 -129
  125. package/src/commands/templates/template-validate.js +0 -91
  126. package/src/commands/utils/troubleshoot.js +0 -222
  127. package/src/commands/validation/analyze-blazor-concurrency.js +0 -193
  128. package/src/commands/validation/lint-fluent.js +0 -352
  129. package/src/commands/validation/validate-blazor-state.js +0 -210
  130. package/src/commands/validation/validate-blazor.js +0 -156
  131. package/src/commands/validation/validate-css.js +0 -84
  132. package/src/lib/detectors/conversation-analyzer.js +0 -163
  133. package/src/lib/learning/index.js +0 -7
  134. package/src/lib/learning/learning-system.js +0 -520
  135. package/src/lib/troubleshooting/index.js +0 -8
  136. package/src/lib/troubleshooting/troubleshoot-grep.js +0 -198
  137. package/src/lib/troubleshooting/troubleshoot-index.js +0 -144
  138. package/src/llm/environment-detector.js +0 -43
@@ -1,246 +1,247 @@
1
- ---
2
- name: phase-uiux
3
- description: MORPH-SPEC Phase 1.5 (UI/UX). Creates design-system.md, mockups.md, components.md, and flows.md using Figma/Playwright/Context7 MCPs. Use after setup for features with frontend UI components, pages, dashboards, forms, wizards, or visual interactions requiring design documentation.
4
- argument-hint: "[feature-name]"
5
- user-invocable: false
6
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep
7
- ---
8
-
9
- # MORPH UI/UX Design - FASE 1.5
10
-
11
- > INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
12
-
13
- Fase condicional para features com front-end. Coleta requisitos de UI/UX, gera wireframes, specs de componentes e fluxos de usuário.
14
-
15
- ## Pré-requisitos
16
-
17
- - [ ] FASE 1 (Setup) concluída
18
- - [ ] Feature tem keywords de UI detectadas (blazor, ui, component, page, dashboard, wizard, form, chart)
19
- - [ ] `uiux-designer` agent ativado
20
-
21
- ## Ferramentas Recomendadas
22
-
23
- > **Ref:** `framework/skills/level-0-meta/tool-usage-guide/SKILL.md` para guia completo.
24
- > **Ref:** `framework/standards/integration/mcp/mcp-tools.md` para referência MCP.
25
-
26
- | Ação | Ferramenta | Alternativa |
27
- |------|------------|-------------|
28
- | Verificar design system existente | **Read** `.morph/context/design-system.md` | — |
29
- | Ler screenshots do usuário | **Read** (arquivo de imagem) | — |
30
- | Buscar variáveis CSS existentes | **Grep** `--root:` em `*.css,*.scss` | — |
31
- | Encontrar componentes existentes | **Glob** `**/Components/**/*.razor` ou `**/components/**/*.tsx` | — |
32
- | Extrair design tokens do Figma | **Figma MCP** `get_file({ fileKey })` | Read CSS/SCSS variables |
33
- | Documentação de componentes UI | **Context7 MCP** `query_docs({ libraryId, query })` | **WebSearch** + **WebFetch** |
34
- | Preview de página existente | **Playwright MCP** `browser_navigate()` + `browser_take_screenshot()` | **WebFetch** URL |
35
- | Inspecionar estrutura da página | **Playwright MCP** `browser_snapshot()` | **WebFetch** + parse manual |
36
- | Testar layout responsivo | **Playwright MCP** `browser_resize()` + `browser_take_screenshot()` | Manual testing |
37
- | Referências de design externas | **WebSearch** + **WebFetch** | |
38
- | Renderizar templates UI | **Bash** `npx morph-spec template render docs/ui-mockups ...` | — |
39
- | Gerar design system de CSS existente | **Bash** `npx morph-spec generate design-system --scan` | — |
40
- | Atualizar state | **Bash** `npx morph-spec state mark-output ...` | — |
41
-
42
- **MCPs desta fase:** Figma (design tokens), Playwright (preview, inspeção, responsividade), Context7 (docs de componentes).
43
-
44
- **Anti-padrões:**
45
- - ❌ WebSearch para docs MudBlazor (use Context7 MCP — mais preciso)
46
- - ❌ Task agent para ler um screenshot (use Read direto na imagem)
47
- - ❌ Adivinhar props de componentes (use Context7 para API real)
48
-
49
- ---
50
-
51
- ## Workflow
52
-
53
- ### Passo 0: Verificar Design System Existe
54
-
55
- **CRITICAL:** Antes de iniciar a FASE UI/UX, verifique se um design system existe:
56
-
57
- ```bash
58
- npx morph-spec detect-agents "{feature description}"
59
- ```
60
-
61
- Se nenhum design system for detectado (verificar output):
62
-
63
- 1. **Opção A - Scaffold automático:**
64
- - O sistema criará automaticamente um design system ao avançar para implementação
65
- - Você pode gerar manualmente agora: `npx morph-spec generate design-system`
66
-
67
- 2. **Opção B - Criar manualmente:**
68
- - Crie `.morph/context/design-system.md` (project-level, compartilhado)
69
- - Ou `.morph/features/$ARGUMENTS/2-ui/design-system.md` (feature-specific)
70
-
71
- 3. **Opção C - Scan existing CSS:**
72
- - Se o projeto tem CSS com variáveis: `npx morph-spec generate design-system --scan`
73
-
74
- **⚠️ IMPORTANTE:**
75
- - Design system é **obrigatório** para features UI
76
- - Gate automático bloqueará implementação (FASE 5) se design system não existir
77
- - Melhor criar agora para garantir consistência visual
78
-
79
- ### Passo 1: Detectar Se Fase É Necessária
80
-
81
- Verifique se agentes ativos incluem `uiux-designer`:
82
-
83
- ```bash
84
- npx morph-spec state get $ARGUMENTS
85
- ```
86
-
87
- Se `uiux-designer` NÃO estiver nos `activeAgents`, pule esta fase e continue para FASE 2 (Design).
88
-
89
- ### Passo 2: Coletar Input do Usuário
90
-
91
- **SEMPRE perguntar ao usuário PRIMEIRO:**
92
-
93
- 1. **Layout e estilo**:
94
- - Você tem alguma ideia de layout em mente?
95
- - Tem alguma referência visual? (sites, apps, screenshots)
96
- - Como imagina o fluxo do usuário?
97
-
98
- 2. **Componentes e interações**:
99
- - Quais os principais componentes desta tela/página?
100
- - Quais estados precisam ser considerados? (loading, error, empty, success)
101
-
102
- 3. **Imagens de referência**:
103
- - Tem imagens de exemplo que eu possa analisar?
104
- - Se SIM: use Read tool para ler screenshots e extrair padrões
105
-
106
- ### Passo 3: Decidir Biblioteca UI
107
-
108
- Escolha entre **Fluent UI Blazor** (recomendado para AI-first) ou **MudBlazor** (componentes complexos):
109
-
110
- **Critérios:**
111
- - Fluent UI: Para dashboards, forms simples, AI components, Microsoft design language
112
- - MudBlazor: Para data grids avançadas, charts complexos, material design
113
-
114
- **Documente a decisão em `decisions.md`.**
115
-
116
- ### Passo 4: Gerar Deliverables
117
-
118
- Crie os seguintes arquivos em `.morph/features/$ARGUMENTS/`:
119
-
120
- > **Use templates:** Utilize `npx morph-spec template render` para gerar os arquivos a partir dos templates em `.morph/framework/templates/docs/`. Templates disponíveis: `ui-design-system`, `ui-mockups`, `ui-components`, `ui-flows`.
121
-
122
- #### 4.1. `ui-design-system.md`
123
-
124
- **Se design system project-level existe (`.morph/context/design-system.md`):**
125
- - Referencie-o nos specs: "Uses project design system at .morph/context/design-system.md"
126
- - Crie `ui-design-system.md` apenas se houver cores/componentes **específicos** da feature
127
-
128
- **Se não existe:**
129
- - Crie design system feature-level completo com:
130
- - Paleta de cores (primary, secondary, accent, semantic)
131
- - Tipografia (heading scales, body text, code)
132
- - Spacing e layout (grid, margins, paddings)
133
- - Componentes base (buttons, inputs, cards)
134
-
135
- #### 4.2. `ui-mockups.md`
136
-
137
- Wireframes ASCII + descrições:
138
- - Layout geral de cada tela/página
139
- - Posicionamento de componentes
140
- - Responsividade (desktop, tablet, mobile)
141
- - Estados (loading, error, empty, success)
142
-
143
- #### 4.3. `ui-components.md`
144
-
145
- Specs técnicas de componentes Fluent UI/MudBlazor:
146
- - Componente a usar (FluentButton, MudDataGrid, etc.)
147
- - Props e configurações
148
- - Eventos e bindings
149
- - Validações e estados
150
-
151
- #### 4.4. `ui-flows.md`
152
-
153
- Fluxos de usuário completos:
154
- - User stories
155
- - Diagramas de fluxo (texto/ASCII)
156
- - Edge cases (o que acontece se...?)
157
- - Validações e feedback
158
-
159
- ### CHECKPOINT: Validar Deliverables UI
160
-
161
- **⏸️ PAUSE - Antes de prosseguir para acessibilidade:**
162
-
163
- - [ ] Design system definido (project-level ou feature-level)?
164
- - [ ] Wireframes cobrem TODOS os estados (loading, error, empty, success)?
165
- - [ ] Componentes especificados com props reais da biblioteca UI escolhida?
166
- - [ ] Fluxos de usuário completos com edge cases?
167
- - [ ] Biblioteca UI escolhida documentada como ADR em `decisions.md`?
168
-
169
- **❌ Se alguma checkbox NÃO estiver marcada:**
170
- Voltar e completar o deliverable faltante
171
-
172
- **✅ Se TODAS as checkboxes estiverem marcadas:**
173
- Prosseguir para validação de acessibilidade
174
-
175
- ---
176
-
177
- ### Passo 5: Validar Acessibilidade e Responsividade
178
-
179
- Documente nos arquivos UI:
180
- - **WCAG 2.1 Level AA** compliance
181
- - Contraste de cores adequado
182
- - Labels acessíveis para screen readers
183
- - Navegação por teclado
184
- - **Responsive breakpoints**
185
- - Desktop (>1200px)
186
- - Tablet (768px - 1199px)
187
- - Mobile (<768px)
188
-
189
- ### Passo 6: Atualizar State
190
-
191
- ```bash
192
- npx morph-spec state set $ARGUMENTS phase uiux-design
193
- npx morph-spec state mark-output $ARGUMENTS ui-design-system
194
- npx morph-spec state mark-output $ARGUMENTS ui-mockups
195
- npx morph-spec state mark-output $ARGUMENTS ui-components
196
- npx morph-spec state mark-output $ARGUMENTS ui-flows
197
- ```
198
-
199
- > **Nota sobre formatos:** Os comandos `mark-output` aceitam TANTO kebab-case (`ui-design-system`)
200
- > QUANTO camelCase (`uiDesignSystem`). Ambos os formatos funcionam igualmente! Use o que for mais
201
- > confortável para você. Exemplos:
202
- > - `npx morph-spec state mark-output my-feature uiDesignSystem` ✅
203
- > - `npx morph-spec state mark-output my-feature ui-design-system` ✅
204
-
205
- ## Outputs Gerados
206
-
207
- - `.morph/features/$ARGUMENTS/2-ui/design-system.md`
208
- - `.morph/features/$ARGUMENTS/2-ui/mockups.md`
209
- - `.morph/features/$ARGUMENTS/2-ui/components.md`
210
- - `.morph/features/$ARGUMENTS/2-ui/flows.md`
211
- - `.morph/features/$ARGUMENTS/1-design/decisions.md` (atualizado com ADR UI library)
212
-
213
- ## PAUSA OBRIGATÓRIA
214
-
215
- Apresente ao usuário 3 ações sugeridas:
216
-
217
- 1. **Aprovar UI/UX e prosseguir para design técnico**
218
- 2. **Ajustar wireframes/componentes de telas específicas**
219
- 3. **Revisar biblioteca UI escolhida (Fluent UI / MudBlazor)**
220
-
221
- ## Critérios de Avanço
222
-
223
- - [x] Input do usuário coletado (layout, referências)
224
- - [x] Biblioteca UI escolhida e justificada (ADR)
225
- - [x] 4 deliverables criados (design-system, mockups, components, flows)
226
- - [x] Acessibilidade WCAG 2.1 documentada
227
- - [x] Responsividade especificada
228
- - [x] State atualizado
229
- - [x] Usuário aprovou UI/UX
230
-
231
- ---
232
-
233
- ## Outputs desta Fase
234
-
235
- <!-- morph:outputs:uiux -->
236
- | Output | Caminho |
237
- |--------|---------|
238
- | `uiDesignSystem` | `.morph/features/{feature}/2-ui/design-system.md` |
239
- | `uiMockups` | `.morph/features/{feature}/2-ui/mockups.md` |
240
- | `uiComponents` | `.morph/features/{feature}/2-ui/components.md` |
241
- | `uiFlows` | `.morph/features/{feature}/2-ui/flows.md` |
242
- <!-- /morph:outputs -->
243
-
244
- ---
245
-
1
+ ---
2
+ name: phase-uiux
3
+ description: MORPH-SPEC Phase 1.5 (UI/UX). Creates design-system.md, mockups.md, components.md, and flows.md using Figma/Playwright/Context7 MCPs. Use after setup for features with frontend UI components, pages, dashboards, forms, wizards, or visual interactions requiring design documentation.
4
+ argument-hint: "[feature-name]"
5
+ user-invocable: false
6
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
7
+ cliVersion: "4.8.1"
8
+ ---
9
+
10
+ # MORPH UI/UX Design - FASE 1.5
11
+
12
+ > INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
13
+
14
+ Fase condicional para features com front-end. Coleta requisitos de UI/UX, gera wireframes, specs de componentes e fluxos de usuário.
15
+
16
+ ## Pré-requisitos
17
+
18
+ - [ ] FASE 1 (Setup) concluída
19
+ - [ ] Feature tem keywords de UI detectadas (blazor, ui, component, page, dashboard, wizard, form, chart)
20
+ - [ ] `uiux-designer` agent ativado
21
+
22
+ ## Ferramentas Recomendadas
23
+
24
+ > **Ref:** `framework/skills/level-0-meta/tool-usage-guide/SKILL.md` para guia completo.
25
+ > **Ref:** `framework/standards/integration/mcp/mcp-tools.md` para referência MCP.
26
+
27
+ | Ação | Ferramenta | Alternativa |
28
+ |------|------------|-------------|
29
+ | Verificar design system existente | **Read** `.morph/context/design-system.md` | — |
30
+ | Ler screenshots do usuário | **Read** (arquivo de imagem) | — |
31
+ | Buscar variáveis CSS existentes | **Grep** `--root:` em `*.css,*.scss` | — |
32
+ | Encontrar componentes existentes | **Glob** `**/Components/**/*.razor` ou `**/components/**/*.tsx` | |
33
+ | Extrair design tokens do Figma | **Figma MCP** `get_file({ fileKey })` | Read CSS/SCSS variables |
34
+ | Documentação de componentes UI | **Context7 MCP** `query_docs({ libraryId, query })` | **WebSearch** + **WebFetch** |
35
+ | Preview de página existente | **Playwright MCP** `browser_navigate()` + `browser_take_screenshot()` | **WebFetch** URL |
36
+ | Inspecionar estrutura da página | **Playwright MCP** `browser_snapshot()` | **WebFetch** + parse manual |
37
+ | Testar layout responsivo | **Playwright MCP** `browser_resize()` + `browser_take_screenshot()` | Manual testing |
38
+ | Referências de design externas | **WebSearch** + **WebFetch** | — |
39
+ | Renderizar templates UI | **Bash** `npx morph-spec template render docs/ui-mockups ...` | — |
40
+ | Gerar design system de CSS existente | **Bash** `npx morph-spec generate design-system --scan` | — |
41
+ | Atualizar state | **Bash** `npx morph-spec state mark-output ...` | — |
42
+
43
+ **MCPs desta fase:** Figma (design tokens), Playwright (preview, inspeção, responsividade), Context7 (docs de componentes).
44
+
45
+ **Anti-padrões:**
46
+ - ❌ WebSearch para docs MudBlazor (use Context7 MCP mais preciso)
47
+ - ❌ Task agent para ler um screenshot (use Read direto na imagem)
48
+ - ❌ Adivinhar props de componentes (use Context7 para API real)
49
+
50
+ ---
51
+
52
+ ## Workflow
53
+
54
+ ### Passo 0: Verificar Design System Existe
55
+
56
+ **CRITICAL:** Antes de iniciar a FASE UI/UX, verifique se um design system existe:
57
+
58
+ ```
59
+ Read: .morph/context/design-system.md
60
+ ```
61
+
62
+ Se o arquivo não existir (design system não encontrado):
63
+
64
+ 1. **Opção A - Scaffold automático:**
65
+ - O sistema criará automaticamente um design system ao avançar para implementação
66
+ - Você pode gerar manualmente agora: `npx morph-spec generate design-system`
67
+
68
+ 2. **Opção B - Criar manualmente:**
69
+ - Crie `.morph/context/design-system.md` (project-level, compartilhado)
70
+ - Ou `.morph/features/$ARGUMENTS/2-ui/design-system.md` (feature-specific)
71
+
72
+ 3. **Opção C - Scan existing CSS:**
73
+ - Se o projeto já tem CSS com variáveis: `npx morph-spec generate design-system --scan`
74
+
75
+ **⚠️ IMPORTANTE:**
76
+ - Design system é **obrigatório** para features UI
77
+ - Gate automático bloqueará implementação (FASE 5) se design system não existir
78
+ - Melhor criar agora para garantir consistência visual
79
+
80
+ ### Passo 1: Detectar Se Fase É Necessária
81
+
82
+ Verifique se agentes ativos incluem `uiux-designer`:
83
+
84
+ ```bash
85
+ npx morph-spec state get $ARGUMENTS
86
+ ```
87
+
88
+ Se `uiux-designer` NÃO estiver nos `activeAgents`, pule esta fase e continue para FASE 2 (Design).
89
+
90
+ ### Passo 2: Coletar Input do Usuário
91
+
92
+ **SEMPRE perguntar ao usuário PRIMEIRO:**
93
+
94
+ 1. **Layout e estilo**:
95
+ - Você tem alguma ideia de layout em mente?
96
+ - Tem alguma referência visual? (sites, apps, screenshots)
97
+ - Como imagina o fluxo do usuário?
98
+
99
+ 2. **Componentes e interações**:
100
+ - Quais os principais componentes desta tela/página?
101
+ - Quais estados precisam ser considerados? (loading, error, empty, success)
102
+
103
+ 3. **Imagens de referência**:
104
+ - Tem imagens de exemplo que eu possa analisar?
105
+ - Se SIM: use Read tool para ler screenshots e extrair padrões
106
+
107
+ ### Passo 3: Decidir Biblioteca UI
108
+
109
+ Escolha entre **Fluent UI Blazor** (recomendado para AI-first) ou **MudBlazor** (componentes complexos):
110
+
111
+ **Critérios:**
112
+ - Fluent UI: Para dashboards, forms simples, AI components, Microsoft design language
113
+ - MudBlazor: Para data grids avançadas, charts complexos, material design
114
+
115
+ **Documente a decisão em `decisions.md`.**
116
+
117
+ ### Passo 4: Gerar Deliverables
118
+
119
+ Crie os seguintes arquivos em `.morph/features/$ARGUMENTS/`:
120
+
121
+ > **Use templates:** Utilize `npx morph-spec template render` para gerar os arquivos a partir dos templates em `.morph/framework/templates/docs/`. Templates disponíveis: `ui-design-system`, `ui-mockups`, `ui-components`, `ui-flows`.
122
+
123
+ #### 4.1. `ui-design-system.md`
124
+
125
+ **Se design system project-level existe (`.morph/context/design-system.md`):**
126
+ - Referencie-o nos specs: "Uses project design system at .morph/context/design-system.md"
127
+ - Crie `ui-design-system.md` apenas se houver cores/componentes **específicos** da feature
128
+
129
+ **Se não existe:**
130
+ - Crie design system feature-level completo com:
131
+ - Paleta de cores (primary, secondary, accent, semantic)
132
+ - Tipografia (heading scales, body text, code)
133
+ - Spacing e layout (grid, margins, paddings)
134
+ - Componentes base (buttons, inputs, cards)
135
+
136
+ #### 4.2. `ui-mockups.md`
137
+
138
+ Wireframes ASCII + descrições:
139
+ - Layout geral de cada tela/página
140
+ - Posicionamento de componentes
141
+ - Responsividade (desktop, tablet, mobile)
142
+ - Estados (loading, error, empty, success)
143
+
144
+ #### 4.3. `ui-components.md`
145
+
146
+ Specs técnicas de componentes Fluent UI/MudBlazor:
147
+ - Componente a usar (FluentButton, MudDataGrid, etc.)
148
+ - Props e configurações
149
+ - Eventos e bindings
150
+ - Validações e estados
151
+
152
+ #### 4.4. `ui-flows.md`
153
+
154
+ Fluxos de usuário completos:
155
+ - User stories
156
+ - Diagramas de fluxo (texto/ASCII)
157
+ - Edge cases (o que acontece se...?)
158
+ - Validações e feedback
159
+
160
+ ### CHECKPOINT: Validar Deliverables UI
161
+
162
+ **⏸️ PAUSE - Antes de prosseguir para acessibilidade:**
163
+
164
+ - [ ] Design system definido (project-level ou feature-level)?
165
+ - [ ] Wireframes cobrem TODOS os estados (loading, error, empty, success)?
166
+ - [ ] Componentes especificados com props reais da biblioteca UI escolhida?
167
+ - [ ] Fluxos de usuário completos com edge cases?
168
+ - [ ] Biblioteca UI escolhida documentada como ADR em `decisions.md`?
169
+
170
+ **❌ Se alguma checkbox NÃO estiver marcada:**
171
+ → Voltar e completar o deliverable faltante
172
+
173
+ **✅ Se TODAS as checkboxes estiverem marcadas:**
174
+ → Prosseguir para validação de acessibilidade
175
+
176
+ ---
177
+
178
+ ### Passo 5: Validar Acessibilidade e Responsividade
179
+
180
+ Documente nos arquivos UI:
181
+ - **WCAG 2.1 Level AA** compliance
182
+ - Contraste de cores adequado
183
+ - Labels acessíveis para screen readers
184
+ - Navegação por teclado
185
+ - **Responsive breakpoints**
186
+ - Desktop (>1200px)
187
+ - Tablet (768px - 1199px)
188
+ - Mobile (<768px)
189
+
190
+ ### Passo 6: Atualizar State
191
+
192
+ ```bash
193
+ npx morph-spec state set $ARGUMENTS phase uiux-design
194
+ npx morph-spec state mark-output $ARGUMENTS ui-design-system
195
+ npx morph-spec state mark-output $ARGUMENTS ui-mockups
196
+ npx morph-spec state mark-output $ARGUMENTS ui-components
197
+ npx morph-spec state mark-output $ARGUMENTS ui-flows
198
+ ```
199
+
200
+ > **Nota sobre formatos:** Os comandos `mark-output` aceitam TANTO kebab-case (`ui-design-system`)
201
+ > QUANTO camelCase (`uiDesignSystem`). Ambos os formatos funcionam igualmente! Use o que for mais
202
+ > confortável para você. Exemplos:
203
+ > - `npx morph-spec state mark-output my-feature uiDesignSystem` ✅
204
+ > - `npx morph-spec state mark-output my-feature ui-design-system` ✅
205
+
206
+ ## Outputs Gerados
207
+
208
+ - `.morph/features/$ARGUMENTS/2-ui/design-system.md`
209
+ - `.morph/features/$ARGUMENTS/2-ui/mockups.md`
210
+ - `.morph/features/$ARGUMENTS/2-ui/components.md`
211
+ - `.morph/features/$ARGUMENTS/2-ui/flows.md`
212
+ - `.morph/features/$ARGUMENTS/1-design/decisions.md` (atualizado com ADR UI library)
213
+
214
+ ## PAUSA OBRIGATÓRIA
215
+
216
+ Apresente ao usuário 3 ações sugeridas:
217
+
218
+ 1. **Aprovar UI/UX e prosseguir para design técnico**
219
+ 2. **Ajustar wireframes/componentes de telas específicas**
220
+ 3. **Revisar biblioteca UI escolhida (Fluent UI / MudBlazor)**
221
+
222
+ ## Critérios de Avanço
223
+
224
+ - [x] Input do usuário coletado (layout, referências)
225
+ - [x] Biblioteca UI escolhida e justificada (ADR)
226
+ - [x] 4 deliverables criados (design-system, mockups, components, flows)
227
+ - [x] Acessibilidade WCAG 2.1 documentada
228
+ - [x] Responsividade especificada
229
+ - [x] State atualizado
230
+ - [x] Usuário aprovou UI/UX
231
+
232
+ ---
233
+
234
+ ## Outputs desta Fase
235
+
236
+ <!-- morph:outputs:uiux -->
237
+ | Output | Caminho |
238
+ |--------|---------|
239
+ | `uiDesignSystem` | `.morph/features/{feature}/2-ui/design-system.md` |
240
+ | `uiMockups` | `.morph/features/{feature}/2-ui/mockups.md` |
241
+ | `uiComponents` | `.morph/features/{feature}/2-ui/components.md` |
242
+ | `uiFlows` | `.morph/features/{feature}/2-ui/flows.md` |
243
+ <!-- /morph:outputs -->
244
+
245
+ ---
246
+
246
247
  Continuar automaticamente para FASE 2 (Design) após aprovação.
@@ -354,4 +354,4 @@
354
354
 
355
355
  ---
356
356
 
357
- *Template MORPH-SPEC v2.2.0 by Polymorphism Tech*
357
+ *Template MORPH-SPEC by Polymorphism Tech*
@@ -7,7 +7,7 @@ namespace {Namespace}.Themes;
7
7
  /// Gerado automaticamente baseado em ui-design-system.md
8
8
  /// </summary>
9
9
  /// <remarks>
10
- /// Template MORPH-SPEC v2.1.1 by Polymorphism Tech
10
+ /// Template MORPH-SPEC by Polymorphism Tech
11
11
  /// </remarks>
12
12
  public static class FluentDesignTheme
13
13
  {
@@ -7,7 +7,7 @@ namespace {Namespace}.Themes;
7
7
  /// Gerado automaticamente baseado em ui-design-system.md
8
8
  /// </summary>
9
9
  /// <remarks>
10
- /// Template MORPH-SPEC v2.1.1 by Polymorphism Tech
10
+ /// Template MORPH-SPEC by Polymorphism Tech
11
11
  /// </remarks>
12
12
  public static class AppTheme
13
13
  {
@@ -4,7 +4,7 @@
4
4
  * CSS Variables generated from ui-design-system.md
5
5
  * Use estas variáveis em todo o projeto para manter consistência visual.
6
6
  *
7
- * Template MORPH-SPEC v2.1.1 by Polymorphism Tech
7
+ * Template MORPH-SPEC by Polymorphism Tech
8
8
  */
9
9
 
10
10
  :root {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polymorphism-tech/morph-spec",
3
- "version": "4.7.1",
3
+ "version": "4.8.1",
4
4
  "description": "MORPH-SPEC: AI-First development framework with validation pipeline and multi-stack support",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -47,7 +47,9 @@
47
47
  "test:coverage:summary": "c8 --reporter=text-summary node --test --test-concurrency=1",
48
48
  "docs": "jsdoc -c jsdoc.json",
49
49
  "docs:watch": "jsdoc -c jsdoc.json --watch",
50
- "docs:serve": "npx http-server docs/api -p 8080 -o"
50
+ "docs:serve": "npx http-server docs/api -p 8080 -o",
51
+ "version:bump": "node scripts/bump-version.js",
52
+ "postinstall": "node src/scripts/global-install.js"
51
53
  },
52
54
  "dependencies": {
53
55
  "ajv": "^8.12.0",