@polymorphism-tech/morph-spec 2.4.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 (218) hide show
  1. package/CLAUDE.md +158 -26
  2. package/LICENSE +72 -72
  3. package/bin/detect-agents.js +225 -225
  4. package/bin/morph-spec.js +8 -0
  5. package/bin/render-template.js +302 -302
  6. package/bin/semantic-detect-agents.js +246 -246
  7. package/bin/validate-agents-skills.js +251 -251
  8. package/bin/validate-agents.js +69 -69
  9. package/bin/validate-phase.js +263 -263
  10. package/content/.azure/README.md +293 -293
  11. package/content/.azure/docs/azure-devops-setup.md +454 -454
  12. package/content/.azure/docs/branch-strategy.md +398 -398
  13. package/content/.azure/docs/local-development.md +515 -515
  14. package/content/.azure/pipelines/pipeline-variables.yml +34 -34
  15. package/content/.azure/pipelines/prod-pipeline.yml +319 -319
  16. package/content/.azure/pipelines/staging-pipeline.yml +234 -234
  17. package/content/.azure/pipelines/templates/build-dotnet.yml +75 -75
  18. package/content/.azure/pipelines/templates/deploy-app-service.yml +94 -94
  19. package/content/.azure/pipelines/templates/deploy-container-app.yml +120 -120
  20. package/content/.azure/pipelines/templates/infra-deploy.yml +90 -90
  21. package/content/.claude/commands/morph-archive.md +79 -79
  22. package/content/.claude/commands/morph-deploy.md +529 -0
  23. package/content/.claude/commands/morph-infra.md +209 -209
  24. package/content/.claude/commands/morph-preflight.md +227 -227
  25. package/content/.claude/commands/morph-troubleshoot.md +122 -122
  26. package/content/.claude/settings.local.json +15 -15
  27. package/content/.claude/skills/infra/azure-deploy-specialist.md +699 -0
  28. package/content/.claude/skills/level-0-meta/README.md +7 -0
  29. package/content/.claude/skills/{checklists → level-0-meta}/morph-checklist.md +117 -117
  30. package/content/.claude/skills/level-1-workflows/README.md +7 -0
  31. package/content/.claude/skills/{workflows → level-1-workflows}/morph-replicate.md +213 -213
  32. package/content/.claude/skills/{workflows → level-1-workflows}/phase-clarify.md +131 -131
  33. package/content/.claude/skills/{workflows → level-1-workflows}/phase-design.md +213 -205
  34. package/content/.claude/skills/{workflows → level-1-workflows}/phase-setup.md +106 -92
  35. package/content/.claude/skills/{workflows → level-1-workflows}/phase-tasks.md +164 -164
  36. package/content/.claude/skills/{workflows → level-1-workflows}/phase-uiux.md +169 -138
  37. package/content/.claude/skills/level-2-domains/README.md +14 -0
  38. package/content/.claude/skills/{specialists → level-2-domains/quality}/testing-specialist.md +126 -126
  39. package/content/.claude/skills/level-3-technologies/README.md +7 -0
  40. package/content/.claude/skills/level-4-patterns/README.md +7 -0
  41. package/content/.claude/skills/specialists/prompt-engineer.md +189 -0
  42. package/content/.claude/skills/specialists/seo-growth-hacker.md +320 -0
  43. package/content/.morph/.morphversion +5 -5
  44. package/content/.morph/archive/.gitkeep +25 -25
  45. package/content/.morph/config/agents.json +742 -358
  46. package/content/.morph/config/config.template.json +33 -0
  47. package/content/.morph/docs/STORY-DRIVEN-DEVELOPMENT.md +392 -392
  48. package/content/.morph/docs/workflows/enforcement-pipeline.md +668 -0
  49. package/content/.morph/examples/api-nextjs/README.md +241 -241
  50. package/content/.morph/examples/api-nextjs/contracts.ts +307 -307
  51. package/content/.morph/examples/api-nextjs/spec.md +399 -399
  52. package/content/.morph/examples/api-nextjs/tasks.md +168 -168
  53. package/content/.morph/examples/micro-saas/README.md +125 -125
  54. package/content/.morph/examples/micro-saas/contracts.cs +358 -358
  55. package/content/.morph/examples/micro-saas/decisions.md +246 -246
  56. package/content/.morph/examples/micro-saas/spec.md +236 -236
  57. package/content/.morph/examples/micro-saas/tasks.md +150 -150
  58. package/content/.morph/examples/multi-agent/README.md +309 -309
  59. package/content/.morph/examples/multi-agent/contracts.cs +433 -433
  60. package/content/.morph/examples/multi-agent/spec.md +479 -479
  61. package/content/.morph/examples/multi-agent/tasks.md +185 -185
  62. package/content/.morph/examples/scheduled-reports/decisions.md +158 -158
  63. package/content/.morph/examples/scheduled-reports/proposal.md +95 -95
  64. package/content/.morph/examples/scheduled-reports/spec.md +267 -267
  65. package/content/.morph/examples/state-v3.json +188 -188
  66. package/content/.morph/features/.gitkeep +25 -25
  67. package/content/.morph/hooks/README.md +158 -0
  68. package/content/.morph/hooks/pre-commit-all.sh +48 -48
  69. package/content/.morph/hooks/pre-commit-specs.sh +49 -49
  70. package/content/.morph/hooks/pre-commit-tests.sh +60 -60
  71. package/content/.morph/hooks/task-completed.js +73 -0
  72. package/content/.morph/hooks/teammate-idle.js +68 -0
  73. package/content/.morph/project.md +160 -160
  74. package/content/.morph/schemas/agent.schema.json +296 -296
  75. package/content/.morph/schemas/tasks.schema.json +220 -220
  76. package/content/.morph/specs/.gitkeep +20 -20
  77. package/content/.morph/standards/agent-teams-workflow.md +474 -0
  78. package/content/.morph/standards/coding.md +377 -377
  79. package/content/.morph/standards/fluent-ui-setup.md +590 -590
  80. package/content/.morph/standards/migration-guide.md +514 -514
  81. package/content/.morph/standards/passkeys-auth.md +423 -423
  82. package/content/.morph/standards/vector-search-rag.md +536 -536
  83. package/content/.morph/state.json +17 -17
  84. package/content/.morph/templates/CONTEXT-FEATURE.md +276 -0
  85. package/content/.morph/templates/CONTEXT.md +170 -0
  86. package/content/.morph/templates/FluentDesignTheme.cs +149 -149
  87. package/content/.morph/templates/MudTheme.cs +281 -281
  88. package/content/.morph/templates/clarify-questions.md +159 -159
  89. package/content/.morph/templates/component.razor +239 -239
  90. package/content/.morph/templates/contracts/Commands.cs +74 -74
  91. package/content/.morph/templates/contracts/Entities.cs +25 -25
  92. package/content/.morph/templates/contracts/Queries.cs +74 -74
  93. package/content/.morph/templates/contracts/README.md +74 -74
  94. package/content/.morph/templates/contracts.cs +217 -217
  95. package/content/.morph/templates/design-system.css +226 -226
  96. package/content/.morph/templates/infra/.dockerignore.example +89 -89
  97. package/content/.morph/templates/infra/Dockerfile.example +82 -82
  98. package/content/.morph/templates/infra/README.md +286 -286
  99. package/content/.morph/templates/infra/app-insights.bicep +63 -63
  100. package/content/.morph/templates/infra/app-service.bicep +164 -164
  101. package/content/.morph/templates/infra/azure-pipelines-deploy.yml +480 -0
  102. package/content/.morph/templates/infra/container-app-env.bicep +49 -49
  103. package/content/.morph/templates/infra/container-app.bicep +156 -156
  104. package/content/.morph/templates/infra/deploy-checklist.md +426 -426
  105. package/content/.morph/templates/infra/deploy.ps1 +229 -229
  106. package/content/.morph/templates/infra/deploy.sh +208 -208
  107. package/content/.morph/templates/infra/key-vault.bicep +91 -91
  108. package/content/.morph/templates/infra/main.bicep +189 -189
  109. package/content/.morph/templates/infra/parameters.dev.json +29 -29
  110. package/content/.morph/templates/infra/parameters.prod.json +29 -29
  111. package/content/.morph/templates/infra/parameters.staging.json +29 -29
  112. package/content/.morph/templates/infra/sql-database.bicep +103 -103
  113. package/content/.morph/templates/infra/storage.bicep +106 -106
  114. package/content/.morph/templates/integrations/asaas-client.cs +387 -387
  115. package/content/.morph/templates/integrations/asaas-webhook.cs +351 -351
  116. package/content/.morph/templates/integrations/azure-identity-config.cs +288 -288
  117. package/content/.morph/templates/integrations/clerk-config.cs +258 -258
  118. package/content/.morph/templates/job.cs +171 -171
  119. package/content/.morph/templates/migration.cs +83 -83
  120. package/content/.morph/templates/repository.cs +141 -141
  121. package/content/.morph/templates/saas/subscription.cs +347 -347
  122. package/content/.morph/templates/saas/tenant.cs +338 -338
  123. package/content/.morph/templates/service.cs +139 -139
  124. package/content/.morph/templates/sprint-status.yaml +68 -68
  125. package/content/.morph/templates/story.md +143 -143
  126. package/content/.morph/templates/test.cs +239 -239
  127. package/content/.morph/templates/ui-design-system.md +286 -286
  128. package/content/.morph/templates/ui-flows.md +336 -336
  129. package/content/.morph/templates/ui-mockups.md +133 -133
  130. package/content/.morph/test-infra/example.bicep +59 -59
  131. package/content/README.md +79 -79
  132. package/detectors/config-detector.js +223 -223
  133. package/detectors/conversation-analyzer.js +163 -163
  134. package/detectors/index.js +84 -84
  135. package/detectors/standards-generator.js +275 -275
  136. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +977 -977
  137. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1048 -1048
  138. package/docs/api/scripts/collapse.js +38 -38
  139. package/docs/api/scripts/commonNav.js +28 -28
  140. package/docs/api/scripts/linenumber.js +25 -25
  141. package/docs/api/scripts/nav.js +12 -12
  142. package/docs/api/scripts/polyfill.js +3 -3
  143. package/docs/api/scripts/prettify/Apache-License-2.0.txt +202 -202
  144. package/docs/api/scripts/prettify/lang-css.js +2 -2
  145. package/docs/api/scripts/prettify/prettify.js +28 -28
  146. package/docs/api/scripts/search.js +98 -98
  147. package/docs/api/styles/jsdoc.css +776 -776
  148. package/docs/api/styles/prettify.css +80 -80
  149. package/docs/examples.md +328 -328
  150. package/docs/templates.md +418 -418
  151. package/package.json +1 -1
  152. package/scripts/postinstall.js +132 -132
  153. package/src/commands/advance-phase.js +83 -0
  154. package/src/commands/analyze-blazor-concurrency.js +193 -193
  155. package/src/commands/create-story.js +351 -351
  156. package/src/commands/deploy.js +780 -0
  157. package/src/commands/detect-agents.js +34 -6
  158. package/src/commands/detect.js +104 -104
  159. package/src/commands/generate-context.js +40 -0
  160. package/src/commands/generate.js +149 -149
  161. package/src/commands/lint-fluent.js +352 -352
  162. package/src/commands/rollback-phase.js +185 -185
  163. package/src/commands/session-summary.js +291 -291
  164. package/src/commands/shard-spec.js +224 -224
  165. package/src/commands/sprint-status.js +250 -250
  166. package/src/commands/state.js +333 -333
  167. package/src/commands/sync.js +167 -167
  168. package/src/commands/troubleshoot.js +222 -222
  169. package/src/commands/validate-blazor-state.js +210 -210
  170. package/src/commands/validate-blazor.js +156 -156
  171. package/src/commands/validate-css.js +84 -84
  172. package/src/commands/validate-phase.js +221 -221
  173. package/src/lib/blazor-concurrency-analyzer.js +288 -288
  174. package/src/lib/blazor-state-validator.js +291 -291
  175. package/src/lib/blazor-validator.js +374 -374
  176. package/src/lib/context-generator.js +513 -0
  177. package/src/lib/css-validator.js +352 -352
  178. package/src/lib/design-system-detector.js +187 -0
  179. package/src/lib/design-system-generator.js +298 -298
  180. package/src/lib/design-system-scaffolder.js +299 -0
  181. package/src/lib/hook-executor.js +256 -0
  182. package/src/lib/learning-system.js +520 -520
  183. package/src/lib/mockup-generator.js +366 -366
  184. package/src/lib/spec-validator.js +258 -0
  185. package/src/lib/standards-context-injector.js +287 -0
  186. package/src/lib/team-orchestrator.js +322 -0
  187. package/src/lib/troubleshoot-grep.js +194 -194
  188. package/src/lib/troubleshoot-index.js +144 -144
  189. package/src/lib/ui-detector.js +350 -350
  190. package/src/lib/validation-runner.js +65 -13
  191. package/src/lib/validators/architecture-validator.js +387 -387
  192. package/src/lib/validators/design-system-validator.js +231 -0
  193. package/src/lib/validators/package-validator.js +360 -360
  194. package/src/lib/validators/ui-contrast-validator.js +422 -422
  195. package/src/utils/file-copier.js +9 -1
  196. package/src/utils/logger.js +32 -32
  197. package/src/utils/version-checker.js +175 -175
  198. /package/content/.claude/skills/{checklists → level-0-meta}/code-review.md +0 -0
  199. /package/content/.claude/skills/{checklists → level-0-meta}/simulation-checklist.md +0 -0
  200. /package/content/.claude/skills/{specialists → level-2-domains/ai-agents}/ai-system-architect.md +0 -0
  201. /package/content/.claude/skills/{specialists → level-2-domains/architecture}/po-pm-advisor.md +0 -0
  202. /package/content/.claude/skills/{specialists → level-2-domains/architecture}/standards-architect.md +0 -0
  203. /package/content/.claude/skills/{specialists → level-2-domains/backend}/dotnet-senior.md +0 -0
  204. /package/content/.claude/skills/{specialists → level-2-domains/backend}/ef-modeler.md +0 -0
  205. /package/content/.claude/skills/{specialists → level-2-domains/backend}/hangfire-orchestrator.md +0 -0
  206. /package/content/.claude/skills/{specialists → level-2-domains/backend}/ms-agent-expert.md +0 -0
  207. /package/content/.claude/skills/{stacks/dotnet-blazor.md → level-2-domains/frontend/blazor-builder.md} +0 -0
  208. /package/content/.claude/skills/{stacks/dotnet-nextjs.md → level-2-domains/frontend/nextjs-expert.md} +0 -0
  209. /package/content/.claude/skills/{specialists → level-2-domains/frontend}/ui-ux-designer.md +0 -0
  210. /package/content/.claude/skills/{specialists → level-2-domains/infrastructure}/azure-architect.md +0 -0
  211. /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/bicep-architect.md +0 -0
  212. /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/container-specialist.md +0 -0
  213. /package/content/.claude/skills/{infra → level-2-domains/infrastructure}/devops-engineer.md +0 -0
  214. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/asaas-financial.md +0 -0
  215. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/azure-identity.md +0 -0
  216. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/clerk-auth.md +0 -0
  217. /package/content/.claude/skills/{integrations → level-2-domains/integrations}/resend-email.md +0 -0
  218. /package/content/.claude/skills/{specialists → level-2-domains/quality}/code-analyzer.md +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*