@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,117 +1,117 @@
1
- # Skill: /morph-checklist
2
-
3
- > **Layer:** 2 | **Load:** on-keyword | **Keywords:** checklist, deploy, security, seo, performance, accessibility, lgpd, legal
4
-
5
- Types: `deploy`, `security`, `seo`, `performance`, `accessibility`, `legal-brazil`, `simulation` (see [simulation-checklist.md](simulation-checklist.md))
6
-
7
- ---
8
-
9
- ## Deploy
10
-
11
- ### Pre-Deploy
12
- - [ ] `dotnet build --configuration Release` passes
13
- - [ ] `dotnet test` passes
14
- - [ ] Migrations applied (`dotnet ef database update`)
15
- - [ ] Env vars configured (connection strings, API keys, feature flags)
16
-
17
- ### Infrastructure
18
- - [ ] Bicep/IaC updated (`az deployment group what-if`)
19
- - [ ] SSL/HTTPS configured
20
- - [ ] DNS pointing correctly
21
- - [ ] Health checks configured
22
-
23
- ### Security & Monitoring
24
- - [ ] Secrets in Key Vault (not in code)
25
- - [ ] Managed Identity configured
26
- - [ ] CORS configured
27
- - [ ] Rate limiting enabled
28
- - [ ] Application Insights + alerts configured
29
-
30
- ### Post-Deploy
31
- - [ ] Smoke tests executed
32
- - [ ] Rollback plan documented
33
-
34
- ---
35
-
36
- ## Security
37
-
38
- ### Auth & Authorization
39
- - [ ] Passwords hashed (bcrypt/Argon2), MFA available
40
- - [ ] JWT with short expiration + refresh tokens
41
- - [ ] RBAC + resource-based authorization
42
- - [ ] Ownership verification (user sees only their data)
43
-
44
- ### Input & Headers
45
- - [ ] Server-side validation (never trust client)
46
- - [ ] HTML sanitized (XSS), parametrized queries (SQLi)
47
- - [ ] File upload validation (type, size, content)
48
- - [ ] Security headers: `X-Content-Type-Options: nosniff`, `X-Frame-Options: DENY`, `CSP: default-src 'self'`
49
-
50
- ### Data
51
- - [ ] PII encrypted at rest, masked in logs
52
- - [ ] Card data never stored (use tokenization)
53
- - [ ] `dotnet list package --vulnerable` clean
54
-
55
- ---
56
-
57
- ## SEO
58
-
59
- - [ ] `<title>` + `<meta description>` (150-160 chars)
60
- - [ ] `<link rel="canonical">` + `robots.txt` + `sitemap.xml`
61
- - [ ] Open Graph tags (og:title, og:description, og:image)
62
- - [ ] URLs friendly, heading hierarchy (H1>H2>H3)
63
- - [ ] Images optimized (WebP, lazy loading, alt text)
64
- - [ ] Core Web Vitals: LCP < 2.5s, FID < 100ms, CLS < 0.1
65
-
66
- ---
67
-
68
- ## Performance
69
-
70
- ### Backend
71
- - [ ] `.AsNoTracking()` for reads, no N+1, projections (`.Select()`)
72
- - [ ] Indexes on search columns
73
- - [ ] Response/distributed caching with invalidation
74
- - [ ] All I/O operations are async (no `.Result` / `.Wait()`)
75
-
76
- ### Frontend (Blazor)
77
- - [ ] Lazy loading, virtualization for large lists
78
- - [ ] Debounce search inputs
79
- - [ ] `@key` in loops, `ShouldRender()` for perf
80
-
81
- ### Infrastructure
82
- - [ ] CDN for static assets, gzip/brotli compression
83
- - [ ] Connection pooling, scale-to-zero
84
-
85
- ---
86
-
87
- ## Accessibility (WCAG 2.1)
88
-
89
- - [ ] Alt text on images, captions on videos
90
- - [ ] Contrast >= 4.5:1 (AA), color not sole indicator
91
- - [ ] Keyboard navigation works, focus visible
92
- - [ ] Skip links, `<html lang="pt-BR">`
93
- - [ ] Labels on all inputs, clear error messages
94
- - [ ] Valid HTML, ARIA used correctly
95
-
96
- ---
97
-
98
- ## Legal Brazil (LGPD)
99
-
100
- ### Documentation
101
- - [ ] Privacy policy (data collected, purpose, legal basis, DPO contact)
102
- - [ ] Terms of use (service description, responsibilities, forum)
103
-
104
- ### Consent & Rights
105
- - [ ] Cookie banner with granular options
106
- - [ ] Explicit consent for marketing, revocation option
107
- - [ ] Data access, correction, deletion, portability
108
-
109
- ### Technical
110
- - [ ] Data minimization, defined retention periods
111
- - [ ] Anonymization/pseudonymization where possible
112
- - [ ] Access logs for personal data
113
- - [ ] Incident response plan (ANPD notification in 72h)
114
-
115
- ---
116
-
117
- *MORPH-SPEC Checklist Skill*
1
+ # Skill: /morph-checklist
2
+
3
+ > **Layer:** 2 | **Load:** on-keyword | **Keywords:** checklist, deploy, security, seo, performance, accessibility, lgpd, legal
4
+
5
+ Types: `deploy`, `security`, `seo`, `performance`, `accessibility`, `legal-brazil`, `simulation` (see [simulation-checklist.md](simulation-checklist.md))
6
+
7
+ ---
8
+
9
+ ## Deploy
10
+
11
+ ### Pre-Deploy
12
+ - [ ] `dotnet build --configuration Release` passes
13
+ - [ ] `dotnet test` passes
14
+ - [ ] Migrations applied (`dotnet ef database update`)
15
+ - [ ] Env vars configured (connection strings, API keys, feature flags)
16
+
17
+ ### Infrastructure
18
+ - [ ] Bicep/IaC updated (`az deployment group what-if`)
19
+ - [ ] SSL/HTTPS configured
20
+ - [ ] DNS pointing correctly
21
+ - [ ] Health checks configured
22
+
23
+ ### Security & Monitoring
24
+ - [ ] Secrets in Key Vault (not in code)
25
+ - [ ] Managed Identity configured
26
+ - [ ] CORS configured
27
+ - [ ] Rate limiting enabled
28
+ - [ ] Application Insights + alerts configured
29
+
30
+ ### Post-Deploy
31
+ - [ ] Smoke tests executed
32
+ - [ ] Rollback plan documented
33
+
34
+ ---
35
+
36
+ ## Security
37
+
38
+ ### Auth & Authorization
39
+ - [ ] Passwords hashed (bcrypt/Argon2), MFA available
40
+ - [ ] JWT with short expiration + refresh tokens
41
+ - [ ] RBAC + resource-based authorization
42
+ - [ ] Ownership verification (user sees only their data)
43
+
44
+ ### Input & Headers
45
+ - [ ] Server-side validation (never trust client)
46
+ - [ ] HTML sanitized (XSS), parametrized queries (SQLi)
47
+ - [ ] File upload validation (type, size, content)
48
+ - [ ] Security headers: `X-Content-Type-Options: nosniff`, `X-Frame-Options: DENY`, `CSP: default-src 'self'`
49
+
50
+ ### Data
51
+ - [ ] PII encrypted at rest, masked in logs
52
+ - [ ] Card data never stored (use tokenization)
53
+ - [ ] `dotnet list package --vulnerable` clean
54
+
55
+ ---
56
+
57
+ ## SEO
58
+
59
+ - [ ] `<title>` + `<meta description>` (150-160 chars)
60
+ - [ ] `<link rel="canonical">` + `robots.txt` + `sitemap.xml`
61
+ - [ ] Open Graph tags (og:title, og:description, og:image)
62
+ - [ ] URLs friendly, heading hierarchy (H1>H2>H3)
63
+ - [ ] Images optimized (WebP, lazy loading, alt text)
64
+ - [ ] Core Web Vitals: LCP < 2.5s, FID < 100ms, CLS < 0.1
65
+
66
+ ---
67
+
68
+ ## Performance
69
+
70
+ ### Backend
71
+ - [ ] `.AsNoTracking()` for reads, no N+1, projections (`.Select()`)
72
+ - [ ] Indexes on search columns
73
+ - [ ] Response/distributed caching with invalidation
74
+ - [ ] All I/O operations are async (no `.Result` / `.Wait()`)
75
+
76
+ ### Frontend (Blazor)
77
+ - [ ] Lazy loading, virtualization for large lists
78
+ - [ ] Debounce search inputs
79
+ - [ ] `@key` in loops, `ShouldRender()` for perf
80
+
81
+ ### Infrastructure
82
+ - [ ] CDN for static assets, gzip/brotli compression
83
+ - [ ] Connection pooling, scale-to-zero
84
+
85
+ ---
86
+
87
+ ## Accessibility (WCAG 2.1)
88
+
89
+ - [ ] Alt text on images, captions on videos
90
+ - [ ] Contrast >= 4.5:1 (AA), color not sole indicator
91
+ - [ ] Keyboard navigation works, focus visible
92
+ - [ ] Skip links, `<html lang="pt-BR">`
93
+ - [ ] Labels on all inputs, clear error messages
94
+ - [ ] Valid HTML, ARIA used correctly
95
+
96
+ ---
97
+
98
+ ## Legal Brazil (LGPD)
99
+
100
+ ### Documentation
101
+ - [ ] Privacy policy (data collected, purpose, legal basis, DPO contact)
102
+ - [ ] Terms of use (service description, responsibilities, forum)
103
+
104
+ ### Consent & Rights
105
+ - [ ] Cookie banner with granular options
106
+ - [ ] Explicit consent for marketing, revocation option
107
+ - [ ] Data access, correction, deletion, portability
108
+
109
+ ### Technical
110
+ - [ ] Data minimization, defined retention periods
111
+ - [ ] Anonymization/pseudonymization where possible
112
+ - [ ] Access logs for personal data
113
+ - [ ] Incident response plan (ANPD notification in 72h)
114
+
115
+ ---
116
+
117
+ *MORPH-SPEC Checklist Skill*
@@ -0,0 +1,7 @@
1
+ # Level 1: Workflows
2
+
3
+ Phase orchestration and workflow management.
4
+
5
+ **Purpose:** Skills that implement MORPH workflow phases (FASE 0-6).
6
+
7
+ **Examples:** phase-setup, phase-design, phase-uiux
@@ -1,213 +1,213 @@
1
- # Skill: /morph-replicate
2
-
3
- > Workflow simplificado para replicar prototipos HTML em Blazor.
4
- > Use quando tiver um prototipo HTML pronto e precisar converter para codigo Blazor funcional.
5
-
6
- ## Comando
7
-
8
- ```bash
9
- /morph-replicate {feature-name} {prototype-path}
10
- ```
11
-
12
- **Exemplo:**
13
- ```bash
14
- /morph-replicate ui-redesign prototipo/
15
- ```
16
-
17
- ---
18
-
19
- ## Workflow Simplificado
20
-
21
- ### FASE 1: ANALISE DO PROTOTIPO
22
-
23
- 1. **Ler todos os arquivos HTML em `{prototype-path}/`**
24
- ```bash
25
- # Encontrar todos os arquivos HTML
26
- glob: {prototype-path}/**/*.html
27
- glob: {prototype-path}/**/code.html # Pattern comum de prototipos
28
- ```
29
-
30
- 2. **Extrair padroes de cada arquivo:**
31
- - Layout (grid, flexbox, estrutura)
32
- - Componentes (cards, buttons, forms, modals)
33
- - Cores (extrair de inline styles e CSS)
34
- - Fontes (font-family, sizes)
35
- - Espacamentos (padding, margin, gap)
36
- - Classes CSS usadas
37
-
38
- 3. **Gerar mapeamento HTML → Blazor:**
39
-
40
- | HTML Pattern | Blazor Equivalente |
41
- |--------------|-------------------|
42
- | `<button class="btn-primary">` | `<FluentButton Appearance="Appearance.Accent">` |
43
- | `<div class="card">` | `<FluentCard>` ou HTML customizado |
44
- | `<input type="text">` | `<FluentTextField>` |
45
- | `<div class="modal">` | Modal customizado (se design especifico) |
46
-
47
- 4. **Gerar lista de classes CSS a criar:**
48
- ```markdown
49
- ## Classes CSS Necessarias
50
-
51
- - [ ] .page-layout
52
- - [ ] .home-hero
53
- - [ ] .card-premium
54
- - [ ] .checkout-form
55
- - [ ] .modal-overlay
56
- - [ ] .animate-slideInUp
57
- ```
58
-
59
- **PAUSA:** Aprovar mapeamento e lista de CSS
60
-
61
- ---
62
-
63
- ### FASE 2: TASKS (Lista de Telas)
64
-
65
- Gerar lista de telas para implementar na ordem correta:
66
-
67
- ```markdown
68
- ## Tasks de Implementacao
69
-
70
- ### T001: Setup Design System
71
- - Criar/atualizar wwwroot/css/design-system.css
72
- - Adicionar todas as classes CSS listadas
73
- - Validar com `morph-spec validate-css`
74
-
75
- ### T002: {Nome da Tela 1}
76
- - Ler: {prototype-path}/{tela1}.html
77
- - Criar/Atualizar: Pages/{Tela1}.razor
78
- - Componentes: FluentCard, FluentButton, etc.
79
- - CSS: .home-hero, .card-premium
80
-
81
- ### T003: {Nome da Tela 2}
82
- - Ler: {prototype-path}/{tela2}.html
83
- - Criar/Atualizar: Pages/{Tela2}.razor
84
- - ...
85
-
86
- ### TXXX: Validacao Final
87
- - Build completo
88
- - `morph-spec validate-css`
89
- - Testar responsividade
90
- ```
91
-
92
- **PAUSA:** Aprovar lista de tasks
93
-
94
- ---
95
-
96
- ### FASE 3: IMPLEMENT (Por Tela)
97
-
98
- Para cada tela, seguir este fluxo:
99
-
100
- 1. **Ler HTML do prototipo**
101
- ```
102
- Read: {prototype-path}/{tela}.html
103
- ```
104
-
105
- 2. **Ler arquivo .razor atual** (se existir)
106
- ```
107
- Read: Pages/{Tela}.razor
108
- ```
109
-
110
- 3. **Reescrever .razor usando Fluent UI/MudBlazor**
111
- - Manter estrutura de layout do prototipo
112
- - Substituir elementos HTML por componentes Blazor
113
- - Aplicar classes CSS do design-system
114
-
115
- 4. **Adicionar CSS ao design-system.css**
116
- - Se classe nova foi usada no .razor
117
- - Seguir padrao de nomenclatura (prefixo por pagina)
118
-
119
- 5. **Build para validar**
120
- ```bash
121
- dotnet build
122
- ```
123
-
124
- 6. **Validar CSS**
125
- ```bash
126
- morph-spec validate-css src/MyApp.Web
127
- ```
128
-
129
- ---
130
-
131
- ## Outputs
132
-
133
- Este workflow gera apenas:
134
-
135
- | Arquivo | Descricao |
136
- |---------|-----------|
137
- | `.razor` files | Paginas convertidas |
138
- | `design-system.css` | CSS atualizado |
139
- | `recap.md` | Resumo da implementacao (ao final) |
140
-
141
- **NAO gera:** proposal.md, spec.md, contracts.cs, tasks.json
142
-
143
- ---
144
-
145
- ## Exemplo de Execucao
146
-
147
- ```markdown
148
- /morph-replicate checkout-redesign prototipo/checkout/
149
-
150
- 📁 Analisando prototipo em prototipo/checkout/...
151
-
152
- **Arquivos encontrados:**
153
- - step1-cart.html
154
- - step2-payment.html
155
- - step3-confirmation.html
156
-
157
- **Padroes extraidos:**
158
-
159
- Cores:
160
- - Primary: #FF6B35
161
- - Secondary: #2D3047
162
- - Background: #FAFAFA
163
-
164
- Classes CSS a criar:
165
- - [ ] .checkout-layout
166
- - [ ] .checkout-steps
167
- - [ ] .checkout-form
168
- - [ ] .checkout-summary
169
- - [ ] .payment-options
170
- - [ ] .confirmation-message
171
-
172
- Mapeamento HTML → Blazor:
173
- - form.checkout-form → EditForm + FluentTextField
174
- - div.payment-card → FluentCard
175
- - button.btn-pay → FluentButton Accent
176
-
177
- ---
178
-
179
- ⛔ **PAUSA OBRIGATORIA**
180
-
181
- **Proximos passos:**
182
- 1. ✅ Aprovar e gerar tasks de implementacao
183
- 2. 🔄 Ajustar mapeamento
184
- 3. 📋 Ver mais detalhes dos componentes
185
- ```
186
-
187
- ---
188
-
189
- ## Quando Usar
190
-
191
- - ✅ Prototipo HTML pronto (Figma export, hand-coded, etc.)
192
- - ✅ Design ja aprovado pelo cliente
193
- - ✅ Apenas conversao visual (sem logica de negocio nova)
194
- - ✅ Codigo Blazor existente para atualizar
195
-
196
- ## Quando NAO Usar
197
-
198
- - ❌ Feature nova com logica complexa (use FULL MORPH)
199
- - ❌ Infraestrutura Azure necessaria (use FULL MORPH)
200
- - ❌ Sem prototipo definido (use STANDARD ou FULL MORPH)
201
-
202
- ---
203
-
204
- ## Referencias
205
-
206
- - [HTML to Blazor Guide](../../../../framework/standards/html-to-blazor.md)
207
- - [CSS Naming Convention](../../../../framework/standards/css-naming.md)
208
- - [CSS Animations](../../../../framework/standards/css-animations.md)
209
- - [Fluent UI Blazor](../../../../framework/standards/fluent-ui-blazor.md)
210
-
211
- ---
212
-
213
- *MORPH-SPEC v2.2.0 by Polymorphism Tech*
1
+ # Skill: /morph-replicate
2
+
3
+ > Workflow simplificado para replicar prototipos HTML em Blazor.
4
+ > Use quando tiver um prototipo HTML pronto e precisar converter para codigo Blazor funcional.
5
+
6
+ ## Comando
7
+
8
+ ```bash
9
+ /morph-replicate {feature-name} {prototype-path}
10
+ ```
11
+
12
+ **Exemplo:**
13
+ ```bash
14
+ /morph-replicate ui-redesign prototipo/
15
+ ```
16
+
17
+ ---
18
+
19
+ ## Workflow Simplificado
20
+
21
+ ### FASE 1: ANALISE DO PROTOTIPO
22
+
23
+ 1. **Ler todos os arquivos HTML em `{prototype-path}/`**
24
+ ```bash
25
+ # Encontrar todos os arquivos HTML
26
+ glob: {prototype-path}/**/*.html
27
+ glob: {prototype-path}/**/code.html # Pattern comum de prototipos
28
+ ```
29
+
30
+ 2. **Extrair padroes de cada arquivo:**
31
+ - Layout (grid, flexbox, estrutura)
32
+ - Componentes (cards, buttons, forms, modals)
33
+ - Cores (extrair de inline styles e CSS)
34
+ - Fontes (font-family, sizes)
35
+ - Espacamentos (padding, margin, gap)
36
+ - Classes CSS usadas
37
+
38
+ 3. **Gerar mapeamento HTML → Blazor:**
39
+
40
+ | HTML Pattern | Blazor Equivalente |
41
+ |--------------|-------------------|
42
+ | `<button class="btn-primary">` | `<FluentButton Appearance="Appearance.Accent">` |
43
+ | `<div class="card">` | `<FluentCard>` ou HTML customizado |
44
+ | `<input type="text">` | `<FluentTextField>` |
45
+ | `<div class="modal">` | Modal customizado (se design especifico) |
46
+
47
+ 4. **Gerar lista de classes CSS a criar:**
48
+ ```markdown
49
+ ## Classes CSS Necessarias
50
+
51
+ - [ ] .page-layout
52
+ - [ ] .home-hero
53
+ - [ ] .card-premium
54
+ - [ ] .checkout-form
55
+ - [ ] .modal-overlay
56
+ - [ ] .animate-slideInUp
57
+ ```
58
+
59
+ **PAUSA:** Aprovar mapeamento e lista de CSS
60
+
61
+ ---
62
+
63
+ ### FASE 2: TASKS (Lista de Telas)
64
+
65
+ Gerar lista de telas para implementar na ordem correta:
66
+
67
+ ```markdown
68
+ ## Tasks de Implementacao
69
+
70
+ ### T001: Setup Design System
71
+ - Criar/atualizar wwwroot/css/design-system.css
72
+ - Adicionar todas as classes CSS listadas
73
+ - Validar com `morph-spec validate-css`
74
+
75
+ ### T002: {Nome da Tela 1}
76
+ - Ler: {prototype-path}/{tela1}.html
77
+ - Criar/Atualizar: Pages/{Tela1}.razor
78
+ - Componentes: FluentCard, FluentButton, etc.
79
+ - CSS: .home-hero, .card-premium
80
+
81
+ ### T003: {Nome da Tela 2}
82
+ - Ler: {prototype-path}/{tela2}.html
83
+ - Criar/Atualizar: Pages/{Tela2}.razor
84
+ - ...
85
+
86
+ ### TXXX: Validacao Final
87
+ - Build completo
88
+ - `morph-spec validate-css`
89
+ - Testar responsividade
90
+ ```
91
+
92
+ **PAUSA:** Aprovar lista de tasks
93
+
94
+ ---
95
+
96
+ ### FASE 3: IMPLEMENT (Por Tela)
97
+
98
+ Para cada tela, seguir este fluxo:
99
+
100
+ 1. **Ler HTML do prototipo**
101
+ ```
102
+ Read: {prototype-path}/{tela}.html
103
+ ```
104
+
105
+ 2. **Ler arquivo .razor atual** (se existir)
106
+ ```
107
+ Read: Pages/{Tela}.razor
108
+ ```
109
+
110
+ 3. **Reescrever .razor usando Fluent UI/MudBlazor**
111
+ - Manter estrutura de layout do prototipo
112
+ - Substituir elementos HTML por componentes Blazor
113
+ - Aplicar classes CSS do design-system
114
+
115
+ 4. **Adicionar CSS ao design-system.css**
116
+ - Se classe nova foi usada no .razor
117
+ - Seguir padrao de nomenclatura (prefixo por pagina)
118
+
119
+ 5. **Build para validar**
120
+ ```bash
121
+ dotnet build
122
+ ```
123
+
124
+ 6. **Validar CSS**
125
+ ```bash
126
+ morph-spec validate-css src/MyApp.Web
127
+ ```
128
+
129
+ ---
130
+
131
+ ## Outputs
132
+
133
+ Este workflow gera apenas:
134
+
135
+ | Arquivo | Descricao |
136
+ |---------|-----------|
137
+ | `.razor` files | Paginas convertidas |
138
+ | `design-system.css` | CSS atualizado |
139
+ | `recap.md` | Resumo da implementacao (ao final) |
140
+
141
+ **NAO gera:** proposal.md, spec.md, contracts.cs, tasks.json
142
+
143
+ ---
144
+
145
+ ## Exemplo de Execucao
146
+
147
+ ```markdown
148
+ /morph-replicate checkout-redesign prototipo/checkout/
149
+
150
+ 📁 Analisando prototipo em prototipo/checkout/...
151
+
152
+ **Arquivos encontrados:**
153
+ - step1-cart.html
154
+ - step2-payment.html
155
+ - step3-confirmation.html
156
+
157
+ **Padroes extraidos:**
158
+
159
+ Cores:
160
+ - Primary: #FF6B35
161
+ - Secondary: #2D3047
162
+ - Background: #FAFAFA
163
+
164
+ Classes CSS a criar:
165
+ - [ ] .checkout-layout
166
+ - [ ] .checkout-steps
167
+ - [ ] .checkout-form
168
+ - [ ] .checkout-summary
169
+ - [ ] .payment-options
170
+ - [ ] .confirmation-message
171
+
172
+ Mapeamento HTML → Blazor:
173
+ - form.checkout-form → EditForm + FluentTextField
174
+ - div.payment-card → FluentCard
175
+ - button.btn-pay → FluentButton Accent
176
+
177
+ ---
178
+
179
+ ⛔ **PAUSA OBRIGATORIA**
180
+
181
+ **Proximos passos:**
182
+ 1. ✅ Aprovar e gerar tasks de implementacao
183
+ 2. 🔄 Ajustar mapeamento
184
+ 3. 📋 Ver mais detalhes dos componentes
185
+ ```
186
+
187
+ ---
188
+
189
+ ## Quando Usar
190
+
191
+ - ✅ Prototipo HTML pronto (Figma export, hand-coded, etc.)
192
+ - ✅ Design ja aprovado pelo cliente
193
+ - ✅ Apenas conversao visual (sem logica de negocio nova)
194
+ - ✅ Codigo Blazor existente para atualizar
195
+
196
+ ## Quando NAO Usar
197
+
198
+ - ❌ Feature nova com logica complexa (use FULL MORPH)
199
+ - ❌ Infraestrutura Azure necessaria (use FULL MORPH)
200
+ - ❌ Sem prototipo definido (use STANDARD ou FULL MORPH)
201
+
202
+ ---
203
+
204
+ ## Referencias
205
+
206
+ - [HTML to Blazor Guide](../../../../framework/standards/html-to-blazor.md)
207
+ - [CSS Naming Convention](../../../../framework/standards/css-naming.md)
208
+ - [CSS Animations](../../../../framework/standards/css-animations.md)
209
+ - [Fluent UI Blazor](../../../../framework/standards/fluent-ui-blazor.md)
210
+
211
+ ---
212
+
213
+ *MORPH-SPEC v2.2.0 by Polymorphism Tech*