wizz-method 2.1.1 → 2.3.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 (212) hide show
  1. package/README.md +62 -62
  2. package/SECURITY.md +15 -16
  3. package/THIRD-PARTY-NOTICES.md +49 -49
  4. package/package.json +1 -1
  5. package/src/bmm-skills/1-analysis/wizz-agent-analyst/customize.toml +1 -1
  6. package/src/bmm-skills/2-plan-workflows/wizz-agent-pm/customize.toml +1 -1
  7. package/src/bmm-skills/2-plan-workflows/wizz-agent-ux-designer/customize.toml +1 -1
  8. package/src/bmm-skills/3-solutioning/wizz-agent-architect/customize.toml +1 -1
  9. package/src/bmm-skills/4-implementation/wizz-agent-dev/customize.toml +1 -1
  10. package/src/bmm-skills/4-implementation/wizz-code-review/SKILL.md +2 -2
  11. package/src/bmm-skills/4-implementation/wizz-code-review/customize.toml +102 -8
  12. package/src/bmm-skills/4-implementation/wizz-code-review/references/review-economy.md +75 -0
  13. package/src/bmm-skills/4-implementation/wizz-code-review/steps/step-01-gather-context.md +29 -15
  14. package/src/bmm-skills/4-implementation/wizz-code-review/steps/step-02-review.md +13 -10
  15. package/src/bmm-skills/4-implementation/wizz-code-review/steps/step-03-triage.md +11 -5
  16. package/src/bmm-skills/4-implementation/wizz-code-review/steps/step-04-present.md +4 -0
  17. package/src/bmm-skills/4-implementation/wizz-quick-dev/customize.toml +103 -7
  18. package/src/bmm-skills/4-implementation/wizz-quick-dev/references/review-economy.md +75 -0
  19. package/src/bmm-skills/4-implementation/wizz-quick-dev/step-04-review.md +43 -18
  20. package/src/bmm-skills/4-implementation/wizz-quick-dev/step-05-present.md +4 -0
  21. package/src/bmm-skills/4-implementation/wizz-quick-dev/step-oneshot.md +2 -2
  22. package/src/core-skills/_shared/handoff-protocol.md +72 -71
  23. package/src/core-skills/wizz-review-adversarial-general/SKILL.md +1 -1
  24. package/src/modules/lowticket/skills/wizz-lowticket-funil/references/copy-das-paginas.md +39 -39
  25. package/src/modules/lowticket/skills/wizz-lowticket-funil/references/mapa-do-funil.md +23 -23
  26. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/CATALOGO.md +72 -72
  27. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/01-principios.md +10 -10
  28. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/02-diagnostico-funil.md +50 -50
  29. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/03-campanha-bidcap.md +68 -68
  30. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/04-criativos.md +44 -44
  31. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/04a-criativos-ia.md +77 -77
  32. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/04b-criativos-formatos.md +121 -121
  33. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/05-oferta.md +35 -35
  34. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/06-pagina-vendas.md +122 -122
  35. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/06a-instagram.md +93 -93
  36. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/06b-player-vsl.md +57 -57
  37. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/07-funil-upsell.md +83 -83
  38. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/07a-copy-humanizacao.md +61 -61
  39. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/08-pesquisa-publico.md +11 -11
  40. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/09-especialista-coproducao.md +26 -26
  41. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/10-levantar-caixa.md +29 -29
  42. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/11-checklist-roi.md +22 -22
  43. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/12-mineracao-ofertas.md +80 -80
  44. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/12a-mineracao-veredito.md +72 -72
  45. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/12b-fabrica-de-ofertas.md +63 -63
  46. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/12c-anatomia-low-ticket.md +71 -71
  47. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/13-benchmarks-vsl.md +6 -6
  48. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/14-vocabulario.md +53 -51
  49. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/15-como-estender.md +26 -26
  50. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/17-rastreamento.md +76 -76
  51. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/18-copy-desejo-oferta.md +149 -149
  52. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/INDEX.md +45 -45
  53. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/guardrails.md +45 -45
  54. package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/pontos-em-aberto.md +64 -66
  55. package/src/modules/lowticket/skills/wizz-lowticket-minerador/references/rubrica.md +63 -63
  56. package/src/modules/lowticket/skills/wizz-lowticket-pagina/references/metas-e-medicao.md +23 -23
  57. package/src/modules/lowticket/skills/wizz-lowticket-pagina/references/padroes-de-codigo.md +50 -50
  58. package/src/modules/lowticket/skills/wizz-lowticket-trafego/references/formato-do-diagnostico.md +9 -9
  59. package/src/modules/lowticket/skills/wizz-lowticket-trafego/references/reguas.md +42 -42
  60. package/src/modules/wizz/README.md +27 -27
  61. package/src/modules/wizz/_shared/cerebro.md +37 -37
  62. package/src/modules/wizz/_shared/communication-rules.md +15 -15
  63. package/src/modules/wizz/_shared/despacho-barato.md +6 -6
  64. package/src/modules/wizz/_shared/encerramento.md +23 -23
  65. package/src/modules/wizz/_shared/model-ladder.md +29 -28
  66. package/src/modules/wizz/_shared/planning-gate.md +30 -30
  67. package/src/modules/wizz/_shared/token-economy.md +28 -28
  68. package/src/modules/wizz/_shared/video-pipeline.md +42 -42
  69. package/src/modules/wizz/agents/wizz-ads/SKILL.md +16 -16
  70. package/src/modules/wizz/agents/wizz-ads/customize.toml +21 -21
  71. package/src/modules/wizz/agents/wizz-copy/SKILL.md +18 -18
  72. package/src/modules/wizz/agents/wizz-copy/customize.toml +24 -24
  73. package/src/modules/wizz/agents/wizz-designer/SKILL.md +24 -24
  74. package/src/modules/wizz/agents/wizz-designer/customize.toml +29 -29
  75. package/src/modules/wizz/agents/wizz-growth/SKILL.md +20 -20
  76. package/src/modules/wizz/agents/wizz-growth/customize.toml +34 -34
  77. package/src/modules/wizz/agents/wizz-maestro/SKILL.md +63 -63
  78. package/src/modules/wizz/agents/wizz-maestro/customize.toml +38 -38
  79. package/src/modules/wizz/agents/wizz-memoria/SKILL.md +19 -19
  80. package/src/modules/wizz/agents/wizz-memoria/customize.toml +24 -24
  81. package/src/modules/wizz/agents/wizz-qa/SKILL.md +22 -22
  82. package/src/modules/wizz/agents/wizz-qa/customize.toml +29 -29
  83. package/src/modules/wizz/agents/wizz-seo/SKILL.md +19 -19
  84. package/src/modules/wizz/agents/wizz-seo/customize.toml +27 -27
  85. package/src/modules/wizz/agents/wizz-social/SKILL.md +53 -53
  86. package/src/modules/wizz/agents/wizz-social/customize.toml +37 -37
  87. package/src/modules/wizz/agents/wizz-social/knowledge/analise-imagem-referencia.md +20 -20
  88. package/src/modules/wizz/agents/wizz-social/knowledge/biblioteca-prompts-imagem.md +71 -71
  89. package/src/modules/wizz/agents/wizz-social/knowledge/blueprint-roteiro-viral.md +196 -196
  90. package/src/modules/wizz/agents/wizz-social/knowledge/legenda-instagram.md +32 -32
  91. package/src/modules/wizz/agents/wizz-social/knowledge/prompts-imagem-video.md +48 -48
  92. package/src/modules/wizz/module.yaml +28 -28
  93. package/src/modules/wizz/overrides/wizz-agent-analyst.toml +17 -17
  94. package/src/modules/wizz/overrides/wizz-agent-architect.toml +21 -21
  95. package/src/modules/wizz/overrides/wizz-agent-dev.toml +20 -20
  96. package/src/modules/wizz/overrides/wizz-agent-pm.toml +11 -11
  97. package/src/modules/wizz/overrides/wizz-agent-tech-writer.toml +14 -14
  98. package/src/modules/wizz/overrides/wizz-agent-ux-designer.toml +14 -14
  99. package/src/modules/wizz/subagents/codex/wizz-exec-haiku.toml +17 -17
  100. package/src/modules/wizz/subagents/codex/wizz-exec-opus.toml +19 -19
  101. package/src/modules/wizz/subagents/codex/wizz-exec-review.toml +18 -17
  102. package/src/modules/wizz/subagents/codex/wizz-exec-sonnet.toml +18 -18
  103. package/src/modules/wizz/subagents/gemini/wizz-exec-haiku.md +17 -17
  104. package/src/modules/wizz/subagents/gemini/wizz-exec-opus.md +19 -19
  105. package/src/modules/wizz/subagents/gemini/wizz-exec-review.md +18 -17
  106. package/src/modules/wizz/subagents/gemini/wizz-exec-sonnet.md +18 -18
  107. package/src/modules/wizz/subagents/opencode/wizz-exec-haiku.md +17 -17
  108. package/src/modules/wizz/subagents/opencode/wizz-exec-opus.md +19 -19
  109. package/src/modules/wizz/subagents/opencode/wizz-exec-review.md +18 -17
  110. package/src/modules/wizz/subagents/opencode/wizz-exec-sonnet.md +18 -18
  111. package/src/modules/wizz/subagents/spec.yaml +84 -82
  112. package/src/modules/wizz/subagents/wizz-exec-haiku.md +17 -17
  113. package/src/modules/wizz/subagents/wizz-exec-opus.md +19 -19
  114. package/src/modules/wizz/subagents/wizz-exec-review.md +18 -17
  115. package/src/modules/wizz/subagents/wizz-exec-sonnet.md +18 -18
  116. package/src/skills-lib/cerebro/SKILL.md +61 -61
  117. package/src/skills-lib/cerebro/references/comandos-pesquisa-e-memoria.md +46 -46
  118. package/src/skills-lib/cerebro/references/comandos-rotina-e-captura.md +65 -65
  119. package/src/skills-lib/cerebro/references/comandos-sessao.md +74 -74
  120. package/src/skills-lib/ctc-align/SKILL.md +37 -37
  121. package/src/skills-lib/find-skills/SKILL.md +19 -19
  122. package/src/skills-lib/pesquisa-de-publico-do-piva/README.md +33 -33
  123. package/src/skills-lib/pesquisa-de-publico-do-piva/SKILL.md +42 -42
  124. package/src/skills-lib/pesquisa-de-publico-do-piva/prompts.md +20 -20
  125. package/src/skills-lib/references/premium-agency-rules.md +63 -63
  126. package/src/skills-lib/security-audit-pentest/SKILL.md +31 -31
  127. package/src/skills-lib/security-audit-pentest/references/stage-1-validacao-entrada.md +37 -37
  128. package/src/skills-lib/security-audit-pentest/references/stage-2-autorizacao.md +61 -61
  129. package/src/skills-lib/security-audit-pentest/references/stage-3-abuso-volume.md +37 -37
  130. package/src/skills-lib/security-audit-pentest/references/stage-4-vazamento-resposta.md +52 -52
  131. package/src/skills-lib/site-launch-kit/SKILL.md +42 -42
  132. package/src/skills-lib/site-launch-kit/references/01-cta-principal.md +20 -20
  133. package/src/skills-lib/site-launch-kit/references/02-barra-fixa-mobile.md +24 -24
  134. package/src/skills-lib/site-launch-kit/references/03-tempo-de-resposta.md +21 -21
  135. package/src/skills-lib/site-launch-kit/references/04-prova-social.md +22 -22
  136. package/src/skills-lib/site-launch-kit/references/05-faq-decisao.md +28 -28
  137. package/src/skills-lib/site-launch-kit/references/06-imagens-reais.md +27 -27
  138. package/src/skills-lib/site-launch-kit/references/07-endereco-como-chegar.md +25 -25
  139. package/src/skills-lib/site-launch-kit/references/08-titles.md +30 -30
  140. package/src/skills-lib/site-launch-kit/references/09-open-graph.md +23 -23
  141. package/src/skills-lib/site-launch-kit/references/10-breadcrumbs.md +23 -23
  142. package/src/skills-lib/site-launch-kit/references/11-alt-text.md +28 -28
  143. package/src/skills-lib/site-launch-kit/references/12-schema-local.md +22 -22
  144. package/src/skills-lib/site-launch-kit/references/13-robots-sitemap.md +26 -26
  145. package/src/skills-lib/site-launch-kit/references/14-privacidade-termos.md +27 -27
  146. package/src/skills-lib/site-launch-kit/references/15-medicao.md +23 -23
  147. package/src/skills-lib/wizz-ai-product-design/SKILL.md +70 -70
  148. package/src/skills-lib/wizz-auth-and-secrets/SKILL.md +78 -78
  149. package/src/skills-lib/wizz-caching-and-queues/SKILL.md +40 -40
  150. package/src/skills-lib/wizz-cloud-and-infra/SKILL.md +22 -22
  151. package/src/skills-lib/wizz-database-and-deps/SKILL.md +52 -52
  152. package/src/skills-lib/wizz-database-scaling/SKILL.md +31 -31
  153. package/src/skills-lib/wizz-desktop-security/SKILL.md +49 -49
  154. package/src/skills-lib/wizz-implementation-planner/SKILL.md +56 -56
  155. package/src/skills-lib/wizz-implementation-planner/references/folder-structure-and-dependencies.md +14 -14
  156. package/src/skills-lib/wizz-implementation-planner/references/implementation-phases.md +15 -15
  157. package/src/skills-lib/wizz-implementation-planner/references/implementation-types.md +9 -9
  158. package/src/skills-lib/wizz-implementation-planner/references/motion-path-implementation.md +19 -19
  159. package/src/skills-lib/wizz-implementation-planner/references/performance-plan.md +27 -27
  160. package/src/skills-lib/wizz-infrastructure/SKILL.md +21 -21
  161. package/src/skills-lib/wizz-inicio-de-projeto/SKILL.md +63 -63
  162. package/src/skills-lib/wizz-inicio-de-projeto/references/implementacao-api-forms.md +27 -27
  163. package/src/skills-lib/wizz-inicio-de-projeto/references/padroes-arquiteturais-e-pastas.md +31 -31
  164. package/src/skills-lib/wizz-inicio-de-projeto/references/seguranca-e-regras-codigo.md +21 -21
  165. package/src/skills-lib/wizz-launch-readiness/SKILL.md +61 -61
  166. package/src/skills-lib/wizz-launch-readiness/references/01-tecnico-build.md +16 -16
  167. package/src/skills-lib/wizz-launch-readiness/references/02-seguranca.md +16 -16
  168. package/src/skills-lib/wizz-launch-readiness/references/03-seo-descoberta.md +16 -16
  169. package/src/skills-lib/wizz-launch-readiness/references/04-analytics-medicao.md +15 -15
  170. package/src/skills-lib/wizz-launch-readiness/references/05-conteudo-prova-social.md +15 -15
  171. package/src/skills-lib/wizz-launch-readiness/references/06-legal-lgpd.md +15 -15
  172. package/src/skills-lib/wizz-launch-readiness/references/07-infra-deploy-rollback.md +16 -16
  173. package/src/skills-lib/wizz-launch-readiness/references/08-fusao-priorizacao.md +19 -19
  174. package/src/skills-lib/wizz-launch-readiness/references/09-persistencia-project-context.md +26 -26
  175. package/src/skills-lib/wizz-motion-3d-director/SKILL.md +70 -70
  176. package/src/skills-lib/wizz-motion-3d-director/references/image-to-video-workflow.md +34 -35
  177. package/src/skills-lib/wizz-motion-3d-director/references/motion-paths.md +70 -70
  178. package/src/skills-lib/wizz-motion-3d-director/references/performance-and-handoff.md +17 -17
  179. package/src/skills-lib/wizz-offer-forge/README.md +9 -9
  180. package/src/skills-lib/wizz-offer-forge/SKILL.md +64 -64
  181. package/src/skills-lib/wizz-offer-forge/references/empilhamento-valor.md +17 -17
  182. package/src/skills-lib/wizz-offer-forge/references/garantia-reversa.md +16 -16
  183. package/src/skills-lib/wizz-offer-forge/references/mecanismo-unico.md +19 -19
  184. package/src/skills-lib/wizz-offer-forge/references/ponte-trafego.md +17 -17
  185. package/src/skills-lib/wizz-premium-landing-ui-researcher/SKILL.md +36 -36
  186. package/src/skills-lib/wizz-premium-landing-ui-researcher/references/audit-protocol.md +81 -82
  187. package/src/skills-lib/wizz-premium-landing-ui-researcher/references/component-sources.md +105 -105
  188. package/src/skills-lib/wizz-premium-landing-ui-researcher/references/core-goal.md +39 -39
  189. package/src/skills-lib/wizz-premium-landing-ui-researcher/references/dashboard-and-portfolio-modes.md +49 -50
  190. package/src/skills-lib/wizz-premium-landing-ui-researcher/references/handoffs.md +33 -34
  191. package/src/skills-lib/wizz-premium-landing-ui-researcher/references/landing-page-strategy.md +141 -142
  192. package/src/skills-lib/wizz-premium-landing-ui-researcher/references/mandatory-process.md +24 -24
  193. package/src/skills-lib/wizz-premium-landing-ui-researcher/references/output-format-and-quality.md +73 -73
  194. package/src/skills-lib/wizz-premium-landing-ui-researcher/references/prompt-templates.md +4 -4
  195. package/src/skills-lib/wizz-premium-landing-ui-researcher/references/site-levels.md +282 -283
  196. package/src/skills-lib/wizz-premium-landing-ui-researcher/references/source-first-protocol.md +39 -39
  197. package/src/skills-lib/wizz-premium-landing-ui-researcher/references/source-links.md +8 -8
  198. package/src/skills-lib/wizz-premium-landing-ui-researcher/references/stack-and-visual-direction.md +63 -64
  199. package/src/skills-lib/wizz-router/SKILL.md +38 -38
  200. package/src/skills-lib/wizz-router/references/auditoria-360.md +12 -12
  201. package/src/skills-lib/wizz-router/references/routing-table-flat.md +80 -80
  202. package/src/skills-lib/wizz-tracking-audit/SKILL.md +48 -48
  203. package/src/skills-lib/wizz-tracking-audit/references/modo-diagnostico.md +43 -43
  204. package/src/skills-lib/wizz-tracking-audit/references/modo-implantacao.md +59 -59
  205. package/src/skills-lib/wizz-tracking-audit/references/utm-e-atribuicao.md +35 -35
  206. package/src/skills-lib/wizz-web-security/SKILL.md +35 -35
  207. package/src/skills-lib/wizz-web-security/references/checklist-deploy.md +50 -50
  208. package/src/skills-lib/wizz-web-security/references/headers-rate-limit-cors.md +33 -33
  209. package/src/skills-lib/wizz-web-security/references/owasp-top5-detalhado.md +36 -36
  210. package/tools/hooks/session-rules.js +14 -11
  211. package/tools/installer/core/resolved-customizations.js +58 -10
  212. package/tools/installer/core/resolved-schema.js +116 -18
@@ -1,95 +1,95 @@
1
1
  ---
2
2
  name: wizz-inicio-de-projeto
3
3
  description: >
4
- Ponto de partida para projetos novos ou novas features. Usar quando: iniciar um projeto web, criar um novo módulo/feature,
5
- precisar de padrões de arquitetura, definir estrutura de pastas, estabelecer regras de código, começar um app SaaS/produto,
6
- onboarding de desenvolvedor no projeto. Contém princípios de produto, padrões arquiteturais P0-P3, regras de código,
7
- stack (Next.js + Supabase + Clerk + Zod), estrutura de pastas e checklist de início.
8
- Use quando o pedido for começar um projeto novo, criar um módulo/feature do zero, ou definir
9
- arquitetura, stack e estrutura de pastas antes de codar.
4
+ Starting point for new projects or new features. Use when: starting a web project, creating a new module/feature,
5
+ needing architecture standards, defining folder structure, establishing code rules, starting a SaaS app/product,
6
+ or onboarding a developer to the project. Contains product principles, P0-P3 architectural patterns, code rules,
7
+ stack (Next.js + Supabase + Clerk + Zod), folder structure, and a kickoff checklist.
8
+ Use when the request is to start a new project, create a module/feature from scratch, or define
9
+ architecture, stack, and folder structure before coding.
10
10
  ---
11
11
 
12
- # Início de Projeto — Padrões de Engenharia
12
+ # Project Kickoff — Engineering Standards
13
13
 
14
- Você é um engenheiro de software sênior especializado em desenvolvimento web moderno com TypeScript, React 19,
15
- Next.js (App Router), shadcn/ui e Supabase. Atencioso, preciso e focado em soluções que duram.
14
+ You are a senior software engineer specialized in modern web development with TypeScript, React 19,
15
+ Next.js (App Router), shadcn/ui, and Supabase. Attentive, precise, and focused on solutions that last.
16
16
 
17
- Consulte este guia no início de qualquer projeto ou feature nova. Preencha as seções marcadas com `[PREENCHER]`
18
- com os dados do projeto específico antes de começar a codar.
17
+ Consult this guide at the start of any project or new feature. Fill in the sections marked `[FILL IN]`
18
+ with the specific project's data before starting to code.
19
19
 
20
- ## Princípios de Produto (sempre aplicar)
20
+ ## Product Principles (always apply)
21
21
 
22
- | Código | Princípio | Regra prática |
22
+ | Code | Principle | Practical rule |
23
23
  |--------|-----------|---------------|
24
- | P-001 | **Linguagem do domínio** | UI fala o idioma do usuário — nunca "entidade", "registro", "submeter", "payload" |
25
- | P-002 | **Mobile-first real** | Tela primária = celular em contexto real. Web = versão adaptada para escritório |
26
- | P-003 | **Defaults inteligentes / auto-save** | Usuário não clica "Salvar" durante rascunho. Uma decisão no fim: "Concluir" ou "Descartar" |
27
- | P-004 | **Filtragem proativa** | Mostrar só itens elegíveis para a ação — nunca mostrar tudo e alertar depois |
28
- | P-005 | **Validação no servidor** | Cliente é cosmético. Toda regra de negócio re-validada no backend com Zod |
29
- | P-006 | **Estado na URL** | Filtros, seleção, aba ativa e etapa de wizard em query params. F5 mantém estado |
30
- | P-007 | **Soft delete e auditoria** | Nada é apagado. `deleted_at timestamp` em toda tabela de domínio. Eventos críticos em `audit_logs` |
24
+ | P-001 | **Domain language** | The UI speaks the user's language — never "entity", "record", "submit", "payload" |
25
+ | P-002 | **Real mobile-first** | Primary screen = phone in a real context. Web = office-adapted version |
26
+ | P-003 | **Smart defaults / auto-save** | The user doesn't click "Save" during a draft. One decision at the end: "Finish" or "Discard" |
27
+ | P-004 | **Proactive filtering** | Show only items eligible for the action — never show everything and warn afterward |
28
+ | P-005 | **Server-side validation** | The client is cosmetic. Every business rule is re-validated on the backend with Zod |
29
+ | P-006 | **State in the URL** | Filters, selection, active tab, and wizard step live in query params. F5 preserves state |
30
+ | P-007 | **Soft delete and audit** | Nothing is deleted. `deleted_at timestamp` on every domain table. Critical events in `audit_logs` |
31
31
 
32
- ## Contexto do Projeto
32
+ ## Project Context
33
33
 
34
34
  ```
35
- Nome: [PREENCHER]
36
- Objetivo: [PREENCHER — 3-5 linhas: o que resolve, para quem, diferencial]
35
+ Name: [FILL IN]
36
+ Goal: [FILL IN — 3-5 lines: what it solves, for whom, differentiator]
37
37
  Personas:
38
- - A-001 [PREENCHER — quem usa, contexto, fluência digital]
39
- - A-002 [PREENCHER]
40
- - A-003 [PREENCHER — persona crítica, quem usa mais em condições adversas]
41
- MVP: [PREENCHER — módulos, escopo single/multi-tenant]
38
+ - A-001 [FILL IN — who uses it, context, digital fluency]
39
+ - A-002 [FILL IN]
40
+ - A-003 [FILL IN — critical persona, who uses it most under adverse conditions]
41
+ MVP: [FILL IN — modules, single/multi-tenant scope]
42
42
  ```
43
43
 
44
- > **Pendências críticas:** ao encontrar uma decisão que bloqueia implementação, registre aqui e pergunte ao usuário antes de assumir um default.
44
+ > **Critical open items:** when you find a decision that blocks implementation, log it here and ask the user before assuming a default.
45
45
 
46
- ## Stack do Projeto
46
+ ## Project Stack
47
47
 
48
- | Categoria | Tecnologia |
48
+ | Category | Technology |
49
49
  |-----------|------------|
50
50
  | Framework | Next.js (App Router) |
51
51
  | UI | React 19, Tailwind CSS, shadcn/ui |
52
- | Linguagem | TypeScript (obrigatório) |
52
+ | Language | TypeScript (required) |
53
53
  | Auth | Clerk |
54
- | Banco | Supabase (PostgreSQL) |
55
- | Validação | Zod |
56
- | Formulários | React Hook Form + Zod |
54
+ | Database | Supabase (PostgreSQL) |
55
+ | Validation | Zod |
56
+ | Forms | React Hook Form + Zod |
57
57
  | Data Fetching | React Query (@tanstack/react-query) |
58
- | Data/Hora | dayjs |
59
- | Notificações | Sonner |
60
- | Ícones | @tabler/icons-react ou lucide-react |
61
- | Mascaras | react-number-format |
58
+ | Date/Time | dayjs |
59
+ | Notifications | Sonner |
60
+ | Icons | @tabler/icons-react or lucide-react |
61
+ | Input masks | react-number-format |
62
62
 
63
- ## Glossário do Domínio
63
+ ## Domain Glossary
64
64
 
65
- > Crítico: toda label, mensagem, botão e erro usa estes termos — nunca termos técnicos de software.
65
+ > Critical: every label, message, button, and error uses these terms — never generic software terms.
66
66
 
67
67
  ```
68
- [PREENCHER — ex:]
69
- extração → busca de leads
70
- workspace → empresa / conta
71
- crédito → crédito de extração
72
-
73
- Termos PROIBIDOS na UI (genéricos):
74
- "registro", "entidade", "submeter", "validação", "transação", "objeto",
75
- "instância", "tenant", "request", "payload", "null", "undefined", "erro 500"
68
+ [FILL IN — e.g.:]
69
+ extração → lead search
70
+ workspace → company / account
71
+ crédito → search credit
72
+
73
+ FORBIDDEN terms in the UI (generic):
74
+ "registro" (record), "entidade" (entity), "submeter" (submit), "validação" (validation), "transação" (transaction), "objeto" (object),
75
+ "instância" (instance), "tenant", "request", "payload", "null", "undefined", "erro 500" (error 500)
76
76
  ```
77
77
 
78
- ## References (carregar sob demanda)
78
+ ## References (load on demand)
79
79
 
80
- - `references/padroes-arquiteturais-e-pastas.md` — os 4 padrões arquiteturais P0-P3 (ciclo de vida com rascunho, cascatas, estado calculado, dashboards) e a estrutura de pastas completa do projeto. Carregar ao mapear um módulo novo ou criar a estrutura inicial.
81
- - `references/implementacao-api-forms.md` — padrões de código para API routes (Supabase + Zod + rate limit), schemas Supabase (RLS, soft delete), formulários (React Hook Form + Zod) e estado na URL (P-006). Carregar ao escrever uma rota, tabela ou formulário.
82
- - `references/seguranca-e-regras-codigo.md` — checklist de segurança embutida (resumo; ver skill `wizz-web-security` para a versão completa) e as regras de código do projeto (TypeScript, naming, tamanho de arquivo/função, imutabilidade). Carregar antes de finalizar qualquer PR.
80
+ - `references/padroes-arquiteturais-e-pastas.md` — the 4 P0-P3 architectural patterns (lifecycle with draft, cascades, computed state, dashboards) and the project's complete folder structure. Load when mapping a new module or creating the initial structure.
81
+ - `references/implementacao-api-forms.md` — code patterns for API routes (Supabase + Zod + rate limit), Supabase schemas (RLS, soft delete), forms (React Hook Form + Zod), and state in the URL (P-006). Load when writing a route, table, or form.
82
+ - `references/seguranca-e-regras-codigo.md` — built-in security checklist (summary; see the `wizz-web-security` skill for the full version) and the project's code rules (TypeScript, naming, file/function size, immutability). Load before finalizing any PR.
83
83
 
84
- ## Checklist de Início de Projeto
84
+ ## Project Kickoff Checklist
85
85
 
86
- - [ ] Glossário de domínio preenchido (termos do usuário, termos proibidos)
87
- - [ ] Personas definidas (especialmente A-003, quem usa em condições adversas)
88
- - [ ] Cada módulo mapeado a um padrão P0/P1/P2/P3
89
- - [ ] RLS configurado nas tabelas Supabase
90
- - [ ] `.env.example` criado (sem valores reais) e `.env*` no `.gitignore`
91
- - [ ] Headers de segurança em `next.config.ts`
92
- - [ ] `enforceRateLimit` nos endpoints de escrita/cobrança
93
- - [ ] Auto-save implementado para módulos P0 (debounce 300ms)
94
- - [ ] Estado em URL para filtros/abas/etapas (P-006)
95
- - [ ] `deleted_at` em tabelas de domínio (P-007)
86
+ - [ ] Domain glossary filled in (user terms, forbidden terms)
87
+ - [ ] Personas defined (especially A-003, who uses it under adverse conditions)
88
+ - [ ] Each module mapped to a P0/P1/P2/P3 pattern
89
+ - [ ] RLS configured on Supabase tables
90
+ - [ ] `.env.example` created (no real values) and `.env*` in `.gitignore`
91
+ - [ ] Security headers in `next.config.ts`
92
+ - [ ] `enforceRateLimit` on write/billing endpoints
93
+ - [ ] Auto-save implemented for P0 modules (300ms debounce)
94
+ - [ ] State in URL for filters/tabs/steps (P-006)
95
+ - [ ] `deleted_at` on domain tables (P-007)
@@ -1,10 +1,10 @@
1
- # Padrões de Implementação: API Routes, Schemas Supabase, Formulários, Estado na URL
1
+ # Implementation Patterns: API Routes, Supabase Schemas, Forms, State in the URL
2
2
 
3
- Carregue este arquivo ao escrever uma rota de API, uma tabela Supabase, um formulário, ou ao implementar estado em query params.
3
+ Load this file when writing an API route, a Supabase table, a form, or when implementing state in query params.
4
4
 
5
- ## Padrões de API Routes (Supabase + Zod)
5
+ ## API Route patterns (Supabase + Zod)
6
6
 
7
- Toda rota de API que recebe input de usuário:
7
+ Every API route that receives user input:
8
8
  ```ts
9
9
  // src/app/api/[modulo]/route.ts
10
10
  import { auth } from "@clerk/nextjs/server"
@@ -28,42 +28,42 @@ export async function POST(request: Request) {
28
28
  const parsed = schema.safeParse(body)
29
29
  if (!parsed.success) return fail("Dados inválidos", 400)
30
30
 
31
- // lógica de negócio aqui — revalidar regras de negócio no servidor (P-005)
31
+ // business logic here — revalidate business rules on the server (P-005)
32
32
  }
33
33
  ```
34
34
 
35
- **Regras de API routes:**
36
- - SEMPRE valide com Zod (`.safeParse()` ou `.parse()`)
37
- - SEMPRE filtre por `workspace_id` nas queries Supabase
38
- - NUNCA confie em cálculos do cliente — recalcule no server
39
- - NUNCA vaze detalhes internos em mensagens de erro
40
- - Webhooks SEMPRE verificam assinatura antes de processar o body
35
+ **API route rules:**
36
+ - ALWAYS validate with Zod (`.safeParse()` or `.parse()`)
37
+ - ALWAYS filter by `workspace_id` in Supabase queries
38
+ - NEVER trust client-side calculations — recalculate on the server
39
+ - NEVER leak internal details in error messages
40
+ - Webhooks ALWAYS verify the signature before processing the body
41
41
 
42
- ## Schemas Supabase (padrões)
42
+ ## Supabase schemas (patterns)
43
43
 
44
- Toda tabela de domínio:
44
+ Every domain table:
45
45
  ```sql
46
46
  CREATE TABLE [modulo] (
47
47
  id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
48
48
  workspace_id uuid NOT NULL REFERENCES workspaces(id),
49
- -- campos do domínio
49
+ -- domain fields
50
50
  deleted_at timestamp, -- soft delete (P-007)
51
51
  created_at timestamp NOT NULL DEFAULT now(),
52
52
  updated_at timestamp NOT NULL DEFAULT now()
53
53
  );
54
54
 
55
- -- RLS obrigatório
55
+ -- RLS mandatory
56
56
  ALTER TABLE [modulo] ENABLE ROW LEVEL SECURITY;
57
57
  CREATE POLICY "workspace_isolation" ON [modulo]
58
58
  USING (workspace_id = (SELECT workspace_id FROM workspace_members WHERE user_id = auth.uid()));
59
59
  ```
60
60
 
61
- **Regras de dados:**
62
- - Valores monetários SEMPRE em centavos (integer). Display com `formatCurrency()`
63
- - Unidades físicas SEMPRE na menor unidade (integer) no banco
64
- - Datas como `timestamp` (UTC). Display com dayjs no locale do usuário
61
+ **Data rules:**
62
+ - Monetary values ALWAYS in cents (integer). Display with `formatCurrency()`
63
+ - Physical units ALWAYS in the smallest unit (integer) in the database
64
+ - Dates as `timestamp` (UTC). Display with dayjs in the user's locale
65
65
 
66
- ## Formulários (React Hook Form + Zod)
66
+ ## Forms (React Hook Form + Zod)
67
67
 
68
68
  ```tsx
69
69
  "use client"
@@ -85,7 +85,7 @@ export function MeuForm() {
85
85
  method: "POST",
86
86
  body: JSON.stringify(data),
87
87
  })
88
- // tratar resposta
88
+ // handle the response
89
89
  }
90
90
 
91
91
  return (
@@ -96,17 +96,17 @@ export function MeuForm() {
96
96
  }
97
97
  ```
98
98
 
99
- ## Estado na URL (P-006)
99
+ ## State in the URL (P-006)
100
100
 
101
101
  ```ts
102
- // Filtros, abas, paginação sempre em query params
103
- // F5 mantém estado, link é compartilhável
102
+ // Filters, tabs, pagination always in query params
103
+ // F5 preserves state, the link is shareable
104
104
 
105
- // Exemplos de hooks canônicos:
105
+ // Examples of canonical hooks:
106
106
  useUrlState<"ativo" | "inativo">("status", "ativo")
107
107
  useUrlListState("categoria") // ?categoria=A,B
108
108
  useUrlDateRange("criado") // ?criadoDe=...&criadoAte=...
109
109
 
110
- // Wizard multi-etapa: ?etapa=1
111
- // Só persistir etapas navegáveis, não estados transientes (loading, sucesso)
110
+ // Multi-step wizard: ?etapa=1
111
+ // Only persist navigable steps, not transient states (loading, success)
112
112
  ```
@@ -1,71 +1,71 @@
1
- # Padrões Arquiteturais (P0-P3) e Estrutura de Pastas
1
+ # Architectural Patterns (P0-P3) and Folder Structure
2
2
 
3
- Carregue este arquivo ao mapear um módulo novo a um padrão arquitetural, ou ao criar a estrutura de pastas do projeto.
3
+ Load this file when mapping a new module to an architectural pattern, or when creating the project's folder structure.
4
4
 
5
- ## Padrões Arquiteturais
5
+ ## Architectural Patterns
6
6
 
7
- Mapeie cada módulo a um padrão antes de codar.
7
+ Map each module to a pattern before coding.
8
8
 
9
- ### P0 — Ciclo de Vida com Rascunho
10
- Para fluxos onde o usuário monta dados em etapas e decide no fim.
9
+ ### P0 — Draft Lifecycle
10
+ For flows where the user builds up data in steps and decides at the end.
11
11
 
12
- **Estados:** `rascunho` → `confirmado` → `estornado` | `descartado`
12
+ **States:** `rascunho` (draft) → `confirmado` (confirmed) → `estornado` (reversed) | `descartado` (discarded)
13
13
 
14
- **Auto-save (P-003):** rascunho persiste a cada alteração (debounce 300ms). Sem botão "Salvar". Decisão única: **Concluir** ou **Descartar**.
14
+ **Auto-save (P-003):** the draft persists on every change (300ms debounce). No "Save" button. Single decision: **Complete** or **Discard**.
15
15
 
16
- **Filtragem proativa (P0.5):** tela de seleção só mostra itens elegíveis. Não confiar em validação depois.
16
+ **Proactive filtering (P0.5):** the selection screen only shows eligible items. Don't rely on validation afterward.
17
17
 
18
- Enum Supabase:
18
+ Supabase enum:
19
19
  ```sql
20
20
  CREATE TYPE status_workflow AS ENUM ('rascunho', 'confirmado', 'descartado', 'estornado');
21
21
  ```
22
22
 
23
- ### P1 — Operações com Cascatas
24
- Confirmação dispara cascatas em outros módulos. Toda cascata na MESMA transação (RPC Supabase). Falha em qualquer cascata = rollback completo.
23
+ ### P1 — Operations with Cascades
24
+ Confirmation triggers cascades in other modules. Every cascade in the SAME transaction (Supabase RPC). Failure in any cascade = full rollback.
25
25
 
26
- ### P2 — Lançamentos com Estado Calculado
27
- NÃO armazenar estado — calcular em runtime a partir de datas/saldos. Movimentações são append-only (nunca update, apenas insert).
26
+ ### P2 — Entries with Calculated State
27
+ Do NOT store state — calculate it at runtime from dates/balances. Movements are append-only (never update, only insert).
28
28
 
29
- ### P3 — Telas Analíticas (Dashboards)
30
- Read-only. Cache de 5-15 min para KPIs pesados, ≤1 min para KPIs operacionais. Mobile-first prioriza KPIs operacionais acima do fold.
29
+ ### P3 — Analytical Screens (Dashboards)
30
+ Read-only. Cache of 5-15 min for heavy KPIs, ≤1 min for operational KPIs. Mobile-first prioritizes operational KPIs above the fold.
31
31
 
32
- ## Estrutura de Pastas
32
+ ## Folder Structure
33
33
 
34
34
  ```
35
35
  src/
36
36
  ├── app/
37
- │ ├── (auth)/ # rotas públicas (login, signup)
37
+ │ ├── (auth)/ # public routes (login, signup)
38
38
  │ ├── (app)/
39
- │ │ ├── dashboard/ # P3 — analítico
39
+ │ │ ├── dashboard/ # P3 — analytical
40
40
  │ │ ├── [modulo]/
41
41
  │ │ │ ├── page.tsx
42
42
  │ │ │ └── [id]/page.tsx
43
43
  │ │ └── configuracoes/
44
44
  │ └── api/
45
45
  │ ├── [modulo]/
46
- │ │ └── route.ts # validação Zod + lógica de negócio
47
- │ └── webhooks/ # sempre verificar assinatura antes de processar
46
+ │ │ └── route.ts # Zod validation + business logic
47
+ │ └── webhooks/ # always verify the signature before processing
48
48
  ├── components/
49
- │ ├── ui/ # shadcn/ui base (não editar)
50
- │ └── [modulo]/ # componentes de domínio reutilizáveis
49
+ │ ├── ui/ # shadcn/ui base (do not edit)
50
+ │ └── [modulo]/ # reusable domain components
51
51
  ├── features/
52
52
  │ └── [modulo]/
53
- │ ├── components/ # componentes específicos do módulo
54
- │ ├── services/ # lógica de negócio (chamadas Supabase)
55
- │ └── hooks/ # React Query hooks do módulo
53
+ │ ├── components/ # module-specific components
54
+ │ ├── services/ # business logic (Supabase calls)
55
+ │ └── hooks/ # the module's React Query hooks
56
56
  ├── hooks/
57
57
  │ ├── queries/ # use-[entidade].ts
58
58
  │ ├── mutations/ # use-[acao].ts
59
- │ └── use-url-state.ts # estado em URL (P-006)
59
+ │ └── use-url-state.ts # URL state (P-006)
60
60
  ├── lib/
61
61
  │ ├── supabase/
62
- │ │ ├── client.ts # client browser
63
- │ │ └── server.ts # client server (service role — apenas server-side)
62
+ │ │ ├── client.ts # browser client
63
+ │ │ └── server.ts # server client (service role — server-side only)
64
64
  │ ├── api/
65
65
  │ │ ├── response.ts # ok() / fail() helpers
66
- │ │ └── handle-route-error.ts # mensagens seguras (não vazar detalhes internos)
66
+ │ │ └── handle-route-error.ts # safe messages (don't leak internal details)
67
67
  │ ├── security/
68
68
  │ │ └── rate-limit.ts # enforceRateLimit helper
69
69
  │ └── format/ # formatCurrency, formatDate, etc.
70
- └── types/ # interfaces e tipos compartilhados
70
+ └── types/ # shared interfaces and types
71
71
  ```
@@ -1,26 +1,26 @@
1
- # Segurança e Regras de Código
1
+ # Security and Code Rules
2
2
 
3
- Carregue este arquivo antes de finalizar qualquer PR — checklist de segurança embutida e convenções de código do projeto.
3
+ Load this file before finalizing any PR — built-in security checklist and the project's code conventions.
4
4
 
5
- ## Segurança (embutida por padrão)
5
+ ## Security (built in by default)
6
6
 
7
- Ver skill `wizz-web-security` para checklist completa. Resumo:
8
- - Validação Zod em TODOS os endpoints que recebem input
9
- - `enforceRateLimit` em endpoints de escrita, cobrança, operações caras
10
- - Comparação de tokens/secrets com `crypto.timingSafeEqual` (nunca `===`)
11
- - Soft delete via `deleted_at` em toda tabela de domínio
12
- - Logs de auditoria append-only para eventos críticos
13
- - `.env*` nunca commitado; secrets via variáveis de ambiente da plataforma
14
- - `SUPABASE_SERVICE_ROLE_KEY` apenas server-side
7
+ See the `wizz-web-security` skill for the full checklist. Summary:
8
+ - Zod validation on ALL endpoints that receive input
9
+ - `enforceRateLimit` on write, billing, and expensive-operation endpoints
10
+ - Compare tokens/secrets with `crypto.timingSafeEqual` (never `===`)
11
+ - Soft delete via `deleted_at` on every domain table
12
+ - Append-only audit logs for critical events
13
+ - `.env*` never committed; secrets via the platform's environment variables
14
+ - `SUPABASE_SERVICE_ROLE_KEY` server-side only
15
15
 
16
- ## Regras de Código
16
+ ## Code Rules
17
17
 
18
- - SEMPRE TypeScript. Sem `any` explícito.
19
- - Nomes descritivos: `isLoading`, `hasError`, `handleConfirmarAcao`
20
- - **kebab-case** para arquivos e pastas: `confirmar-acao.ts`
21
- - SOLID e Clean Code; funções < 50 linhas; arquivos < 800 linhas
22
- - DRY: componentes reutilizáveis para padrões repetidos
23
- - NUNCA escreva comentários no código
24
- - NUNCA rode `npm run dev` para testar TypeScript — use `npx tsc --noEmit`
25
- - Imutabilidade: SEMPRE crie novos objetos, NUNCA mutate (spread, map, filter)
26
- - Sem `console.log` em produção
18
+ - ALWAYS TypeScript. No explicit `any`.
19
+ - Descriptive names: `isLoading`, `hasError`, `handleConfirmarAcao`
20
+ - **kebab-case** for files and folders: `confirmar-acao.ts`
21
+ - SOLID and Clean Code; functions < 50 lines; files < 800 lines
22
+ - DRY: reusable components for repeated patterns
23
+ - NEVER write comments in the code
24
+ - NEVER run `npm run dev` to test TypeScript — use `npx tsc --noEmit`
25
+ - Immutability: ALWAYS create new objects, NEVER mutate (spread, map, filter)
26
+ - No `console.log` in production