sinapse-ai 9.3.0 → 9.4.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.
- package/.claude/CLAUDE.md +56 -343
- package/.claude/rules/agent-authority.md +6 -0
- package/.claude/rules/agent-handoff.md +5 -0
- package/.claude/rules/cross-squad-routing.md +5 -0
- package/.claude/rules/hook-governance.md +6 -0
- package/.claude/rules/mcp-usage.md +3 -1
- package/.claude/rules/safe-collaboration.md +10 -0
- package/.claude/rules/security-data-protection.md +9 -0
- package/.claude/rules/squad-awareness.md +3 -1
- package/.claude/rules/tool-examples.md +6 -0
- package/.claude/rules/workflow-execution.md +7 -0
- package/.codex/agents/analyst.md +253 -72
- package/.codex/agents/architect.md +455 -68
- package/.codex/agents/data-engineer.md +492 -106
- package/.codex/agents/developer.md +560 -0
- package/.codex/agents/devops.md +518 -69
- package/.codex/agents/product-lead.md +335 -0
- package/.codex/agents/project-lead.md +377 -0
- package/.codex/agents/quality-gate.md +449 -0
- package/.codex/agents/sinapse-orqx.md +9 -7
- package/.codex/agents/sprint-lead.md +287 -0
- package/.codex/agents/squad-creator.md +344 -0
- package/.codex/agents/ux-design-expert.md +495 -0
- package/.codex/delegation-matrix.json +756 -44
- package/.codex/handoff-packet.schema.json +30 -6
- package/.sinapse-ai/data/entity-registry.yaml +175 -363
- package/.sinapse-ai/data/registry-update-log.jsonl +16 -0
- package/.sinapse-ai/development/agents/analyst.md +90 -0
- package/.sinapse-ai/development/agents/architect.md +73 -0
- package/.sinapse-ai/development/agents/developer.md +69 -0
- package/.sinapse-ai/development/agents/devops.md +117 -0
- package/.sinapse-ai/development/agents/quality-gate.md +85 -0
- package/.sinapse-ai/development/checklists/agent-quality-gate.md +27 -0
- package/.sinapse-ai/development/checklists/brownfield-compatibility-checklist.md +20 -0
- package/.sinapse-ai/development/checklists/code-review-checklist.md +106 -0
- package/.sinapse-ai/development/checklists/issue-triage-checklist.md +9 -0
- package/.sinapse-ai/development/checklists/memory-audit-checklist.md +16 -0
- package/.sinapse-ai/development/checklists/pr-quality-checklist.md +72 -0
- package/.sinapse-ai/development/checklists/security-deployment-checklist.md +54 -0
- package/.sinapse-ai/development/checklists/self-critique-checklist.md +19 -1
- package/.sinapse-ai/development/skills/debug.md +57 -0
- package/.sinapse-ai/development/skills/fast-review.md +69 -0
- package/.sinapse-ai/development/skills/research-synthesis.md +77 -0
- package/.sinapse-ai/development/skills/security-scan.md +73 -0
- package/.sinapse-ai/development/skills/verify.md +53 -0
- package/.sinapse-ai/development/templates/squad/agent-template.md +17 -4
- package/.sinapse-ai/development/templates/squad/checklist-template.md +13 -5
- package/.sinapse-ai/development/templates/squad/task-template.md +7 -0
- package/.sinapse-ai/development/templates/squad/workflow-template.yaml +7 -0
- package/.sinapse-ai/development/workflows/fast-track.yaml +87 -0
- package/.sinapse-ai/infrastructure/scripts/validate-codex-delegation.js +3 -1
- package/.sinapse-ai/install-manifest.yaml +71 -35
- package/docs/codex-integration-process.md +22 -0
- package/docs/codex-parity-program.md +27 -0
- package/docs/ide-integration.md +36 -0
- package/package.json +1 -1
- package/squads/claude-code-mastery/knowledge-base/claude-code-internals-reference.md +927 -0
- package/squads/squad-brand/knowledge-base/archetype-brand-mapping.md +12 -1
- package/squads/squad-brand/knowledge-base/brand-activism-cultural-branding.md +216 -0
- package/squads/squad-brand/knowledge-base/brand-audit-criteria.md +58 -0
- package/squads/squad-brand/knowledge-base/brand-digital-strategy.md +188 -0
- package/squads/squad-brand/knowledge-base/brand-legal-ip.md +222 -0
- package/squads/squad-brand/knowledge-base/brand-naming-framework.md +163 -0
- package/squads/squad-brand/knowledge-base/branding-master-reference.md +1001 -0
- package/squads/squad-brand/knowledge-base/color-psychology.md +25 -12
- package/squads/squad-brand/knowledge-base/employer-personal-branding.md +206 -0
- package/squads/squad-brand/knowledge-base/routing-catalog.md +34 -0
- package/squads/squad-brand/knowledge-base/sonic-branding-principles.md +6 -1
- package/squads/squad-brand/knowledge-base/typography-personality.md +34 -0
- package/squads/squad-claude/knowledge-base/context-window-optimization.md +334 -0
- package/squads/squad-claude/knowledge-base/knowledge-architecture-reference.md +403 -0
- package/squads/squad-claude/knowledge-base/memory-systems-reference.md +412 -0
- package/squads/squad-claude/knowledge-base/obsidian-claude-integration.md +423 -0
- package/squads/squad-claude/knowledge-base/retrieval-augmented-generation.md +320 -0
- package/squads/squad-claude/knowledge-base/skill-creation-patterns.md +380 -0
- package/squads/squad-claude/knowledge-base/swarm-orchestration-patterns.md +411 -0
- package/squads/squad-cloning/knowledge-base/clone-quality-assurance.md +211 -0
- package/squads/squad-cloning/knowledge-base/confidence-scoring.md +51 -0
- package/squads/squad-cloning/knowledge-base/cross-squad-deployment.md +47 -0
- package/squads/squad-cloning/knowledge-base/ethical-guidelines.md +237 -0
- package/squads/squad-cloning/knowledge-base/knowledge-graph-for-clones.md +295 -0
- package/squads/squad-cloning/knowledge-base/memory-architecture-for-clones.md +229 -0
- package/squads/squad-cloning/knowledge-base/multi-agent-deployment-patterns.md +320 -0
- package/squads/squad-cloning/knowledge-base/skill-standard-for-clones.md +262 -0
- package/squads/squad-cloning/knowledge-base/sop-extraction-guide.md +243 -0
- package/squads/squad-commercial/knowledge-base/account-based-selling.md +206 -0
- package/squads/squad-commercial/knowledge-base/ai-as-competitive-infrastructure.md +14 -0
- package/squads/squad-commercial/knowledge-base/ai-in-sales.md +199 -0
- package/squads/squad-commercial/knowledge-base/brazilian-sales-context.md +195 -0
- package/squads/squad-commercial/knowledge-base/customer-success-operations.md +83 -2
- package/squads/squad-commercial/knowledge-base/prospecting-pipeline-generation.md +69 -0
- package/squads/squad-commercial/knowledge-base/sales-enablement-playbook.md +260 -0
- package/squads/squad-commercial/knowledge-base/sales-methodology-comparison.md +185 -0
- package/squads/squad-commercial/knowledge-base/sales-revenue-master-reference.md +1123 -0
- package/squads/squad-content/knowledge-base/brazilian-content-context.md +176 -0
- package/squads/squad-content/knowledge-base/competitor-analysis-methods.md +40 -1
- package/squads/squad-content/knowledge-base/content-architecture-taxonomy.md +206 -0
- package/squads/squad-content/knowledge-base/content-formats-encyclopedia.md +58 -1
- package/squads/squad-content/knowledge-base/content-references-bibliography.md +130 -0
- package/squads/squad-content/knowledge-base/content-strategy-master-reference.md +1097 -0
- package/squads/squad-content/knowledge-base/content-tech-stack.md +150 -0
- package/squads/squad-content/knowledge-base/copywriting-formulas-library.md +188 -0
- package/squads/squad-content/knowledge-base/email-newsletter-strategy.md +161 -0
- package/squads/squad-content/knowledge-base/platform-algorithm-intelligence.md +86 -1
- package/squads/squad-content/knowledge-base/social-algorithms-master-reference.md +1007 -0
- package/squads/squad-content/knowledge-base/video-audio-content-playbook.md +218 -0
- package/squads/squad-copy/knowledge-base/ai-copy-production.md +254 -0
- package/squads/squad-copy/knowledge-base/brazilian-copywriting-context.md +242 -0
- package/squads/squad-copy/knowledge-base/email-copywriting-system.md +299 -0
- package/squads/squad-copy/knowledge-base/landing-page-copy-architecture.md +267 -0
- package/squads/squad-copy/knowledge-base/power-words-catalog.md +205 -0
- package/squads/squad-copy/knowledge-base/seo-copywriting.md +255 -0
- package/squads/squad-copy/knowledge-base/video-script-copywriting.md +239 -0
- package/squads/squad-council/knowledge-base/brand-strategy-models.md +193 -0
- package/squads/squad-council/knowledge-base/growth-strategy-models.md +267 -0
- package/squads/squad-council/knowledge-base/innovation-disruption-frameworks.md +193 -0
- package/squads/squad-council/knowledge-base/market-analysis-frameworks.md +240 -0
- package/squads/squad-council/knowledge-base/organizational-leadership-models.md +212 -0
- package/squads/squad-council/knowledge-base/sales-strategy-models.md +215 -0
- package/squads/squad-courses/knowledge-base/course-launch-strategy.md +251 -0
- package/squads/squad-courses/knowledge-base/domain-advocacia-curriculum.md +385 -0
- package/squads/squad-courses/knowledge-base/domain-contabilidade-curriculum.md +266 -0
- package/squads/squad-courses/knowledge-base/platform-comparison.md +68 -0
- package/squads/squad-courses/knowledge-base/video-production-guide.md +70 -0
- package/squads/squad-cybersecurity/knowledge-base/cloud-security-reference.md +363 -0
- package/squads/squad-cybersecurity/knowledge-base/compliance-frameworks.md +273 -0
- package/squads/squad-cybersecurity/knowledge-base/database-security.md +438 -0
- package/squads/squad-cybersecurity/knowledge-base/incident-response-playbook.md +420 -0
- package/squads/squad-cybersecurity/knowledge-base/network-security-reference.md +477 -0
- package/squads/squad-cybersecurity/knowledge-base/penetration-testing-methodology.md +350 -0
- package/squads/squad-cybersecurity/knowledge-base/vulnerability-management.md +349 -0
- package/squads/squad-design/knowledge-base/brazilian-design-context.md +223 -0
- package/squads/squad-design/knowledge-base/component-api-patterns.md +208 -4
- package/squads/squad-design/knowledge-base/design-system-master-reference.md +1302 -0
- package/squads/squad-design/knowledge-base/design-systems-frameworks.md +91 -1
- package/squads/squad-design/knowledge-base/responsive-modern-css.md +96 -4
- package/squads/squad-design/knowledge-base/wcag-aria-reference.md +117 -5
- package/squads/squad-design/knowledge-base/web-performance-reference.md +127 -4
- package/squads/squad-finance/knowledge-base/brazilian-taxation.md +263 -0
- package/squads/squad-finance/knowledge-base/contabilidade-master-reference.md +998 -0
- package/squads/squad-finance/knowledge-base/finance-master-reference.md +946 -0
- package/squads/squad-finance/knowledge-base/financial-reporting-analysis.md +316 -0
- package/squads/squad-finance/knowledge-base/fintech-brazilian-context.md +242 -0
- package/squads/squad-finance/knowledge-base/fpa-planning-frameworks.md +286 -0
- package/squads/squad-finance/knowledge-base/ma-and-transactions.md +285 -0
- package/squads/squad-finance/knowledge-base/risk-management.md +233 -0
- package/squads/squad-finance/knowledge-base/startups-venture-capital.md +337 -0
- package/squads/squad-growth/knowledge-base/ai-growth-playbook.md +216 -0
- package/squads/squad-growth/knowledge-base/attribution-models.md +78 -0
- package/squads/squad-growth/knowledge-base/brazilian-growth-context.md +208 -0
- package/squads/squad-growth/knowledge-base/community-led-growth.md +175 -0
- package/squads/squad-growth/knowledge-base/content-marketing-flywheel.md +190 -0
- package/squads/squad-growth/knowledge-base/email-lifecycle-framework.md +192 -0
- package/squads/squad-growth/knowledge-base/growth-frameworks-catalog.md +82 -0
- package/squads/squad-growth/knowledge-base/growth-master-reference.md +1168 -0
- package/squads/squad-growth/knowledge-base/routing-catalog.md +53 -11
- package/squads/squad-paidmedia/knowledge-base/audiences-segmentation-deep.md +285 -0
- package/squads/squad-paidmedia/knowledge-base/creative-strategy-deep.md +294 -0
- package/squads/squad-paidmedia/knowledge-base/google-ads-account-architecture.md +87 -0
- package/squads/squad-paidmedia/knowledge-base/meta-ads-campaign-architecture.md +76 -0
- package/squads/squad-paidmedia/knowledge-base/paid-media-metrics-reference.md +117 -0
- package/squads/squad-paidmedia/knowledge-base/paid-traffic-master-reference.md +1308 -0
- package/squads/squad-paidmedia/knowledge-base/routing-catalog.md +95 -18
- package/squads/squad-paidmedia/knowledge-base/traffic-masters-frameworks.md +71 -0
- package/squads/squad-product/knowledge-base/brazilian-product-context.md +284 -0
- package/squads/squad-product/knowledge-base/discovery-methodology-playbook.md +141 -0
- package/squads/squad-product/knowledge-base/pm-frameworks-reference.md +125 -9
- package/squads/squad-product/knowledge-base/product-analytics-formulas.md +72 -0
- package/squads/squad-product/knowledge-base/product-led-growth-reference.md +155 -13
- package/squads/squad-product/knowledge-base/product-market-fit-framework.md +222 -0
- package/squads/squad-product/knowledge-base/routing-catalog.md +32 -0
- package/squads/squad-research/knowledge-base/agentic-second-brain-reference.md +591 -0
- package/squads/squad-research/knowledge-base/ai-augmented-research.md +212 -0
- package/squads/squad-research/knowledge-base/brazilian-market-research-sources.md +197 -0
- package/squads/squad-research/knowledge-base/community-platforms-reference.md +786 -0
- package/squads/squad-research/knowledge-base/community-research-methods.md +194 -0
- package/squads/squad-research/knowledge-base/mixed-methods-research-design.md +168 -0
- package/squads/squad-research/knowledge-base/network-effects-analysis.md +192 -0
- package/squads/squad-research/knowledge-base/qualitative-research-deep-methods.md +202 -0
- package/squads/squad-research/knowledge-base/quantitative-research-methods.md +208 -0
- package/squads/squad-research/knowledge-base/research-frameworks-encyclopedia.md +40 -0
- package/squads/squad-research/knowledge-base/research-synthesis-frameworks.md +223 -0
- package/squads/squad-storytelling/knowledge-base/brand-mythology-framework.md +236 -0
- package/squads/squad-storytelling/knowledge-base/brazilian-storytelling-context.md +237 -0
- package/squads/squad-storytelling/knowledge-base/data-storytelling.md +232 -0
- package/squads/squad-storytelling/knowledge-base/improv-storytelling.md +226 -0
- package/squads/squad-storytelling/knowledge-base/persuasion-narrative-techniques.md +269 -0
- package/squads/squad-storytelling/knowledge-base/social-movement-narratives.md +191 -0
- package/squads/squad-storytelling/knowledge-base/video-storytelling.md +252 -0
- package/squads/claude-code-mastery/data/swarm-orchestration-patterns.yaml +0 -378
- package/squads/squad-animations/knowledge-base/framer-motion-complete-reference.md +0 -710
- package/squads/squad-animations/knowledge-base/web-animations-api-view-transitions.md +0 -478
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
# Knowledge Base: Brazilian Design Context
|
|
2
|
+
|
|
3
|
+
## Escopo
|
|
4
|
+
Mercado de design no Brasil — design systems nacionais, regulatorio (LBI, e-MAG), comunidade, salarios, desafios especificos e contexto de acessibilidade legal. Fonte: MS-002 Design System Research (2026-04-07).
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Mercado de Design Digital no Brasil (2025)
|
|
9
|
+
|
|
10
|
+
### Tamanho e Crescimento
|
|
11
|
+
- **200.000+** profissionais de UX/UI design (ABEDESIGN + LinkedIn Economic Graph, 2025)
|
|
12
|
+
- **15-20% a.a.** de crescimento do mercado
|
|
13
|
+
- Aceleracao pos-pandemia: digital-first em fintechs, e-commerce, saude digital
|
|
14
|
+
|
|
15
|
+
### Centros de Design
|
|
16
|
+
| Cidade | Destaque |
|
|
17
|
+
|--------|----------|
|
|
18
|
+
| **Sao Paulo** | Hub principal, maioria das agencias e tech companies |
|
|
19
|
+
| **Florianopolis** | Polo tecnologico forte (Resultados Digitais, Ahgora, TOTVS) |
|
|
20
|
+
| **Belo Horizonte** | Ecossistema crescente (Hotmart, Rock Content) |
|
|
21
|
+
| **Recife** | Porto Digital como polo de inovacao |
|
|
22
|
+
| **Porto Alegre, Curitiba, Brasilia** | Comunidades ativas e crescentes |
|
|
23
|
+
|
|
24
|
+
### Salarios UX/UI Design (2025, CLT, Sao Paulo)
|
|
25
|
+
| Nivel | Faixa |
|
|
26
|
+
|-------|-------|
|
|
27
|
+
| Junior | R$ 3.000 - R$ 5.500 |
|
|
28
|
+
| Pleno | R$ 6.000 - R$ 12.000 |
|
|
29
|
+
| Senior | R$ 12.000 - R$ 22.000 |
|
|
30
|
+
| Lead / Manager | R$ 18.000 - R$ 35.000 |
|
|
31
|
+
| Head of Design | R$ 25.000 - R$ 50.000+ |
|
|
32
|
+
|
|
33
|
+
Salarios PJ geralmente 30-50% acima do CLT para o mesmo nivel.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 2. Design Systems Brasileiros
|
|
38
|
+
|
|
39
|
+
### Nubank — NuDS (Nubank Design System)
|
|
40
|
+
O Nubank e referencia global em fintech design. O NuDS evoluiu de uma biblioteca minimalista para um framework multi-mercado com:
|
|
41
|
+
- **100+ componentes** reutilizaveis e templates de tela
|
|
42
|
+
- Suporte a multiplos mercados (Brasil, Mexico, Colombia, Argentina)
|
|
43
|
+
|
|
44
|
+
**Nu Sans (2025):** A Nubank lancou tipografia propria desenvolvida pela **Blackletra Type Foundry**:
|
|
45
|
+
- 2 tamanhos oticos (texto e display)
|
|
46
|
+
- 3 larguras
|
|
47
|
+
- 4 pesos com italicos
|
|
48
|
+
- **32 fontes no total**
|
|
49
|
+
|
|
50
|
+
**Impacto de tokens na pratica:** A atualizacao recente de brand colors para contas empresariais (Nubank Empresas) foi implementada em **um unico sprint** gracas a arquitetura de tokens do NuDS. Sem tokens, isso levaria semanas de refactor.
|
|
51
|
+
|
|
52
|
+
**Referencia:** building.nubank.com/design, figma.com/customers/nubank-design-system-accessible-experiences-with-figma
|
|
53
|
+
|
|
54
|
+
### Itau Unibanco — Design System
|
|
55
|
+
O maior banco privado da America Latina com design system robusto para seus canais digitais:
|
|
56
|
+
- App, internet banking, ATMs, totem, correspondente bancario
|
|
57
|
+
- Foco: consistencia cross-channel, acessibilidade regulatoria financeira, escala (dezenas de milhoes de usuarios diarios)
|
|
58
|
+
|
|
59
|
+
**Reformulacao digital 2025:** O Itau anunciou meta de atender **75% dos clientes de varejo exclusivamente por canais digitais** nos proximos 3 anos (vs 15% atual em 2025). Isso implica investimento significativo na evolucao do design system e na experiencia digital.
|
|
60
|
+
|
|
61
|
+
### Natura Design System (Natura &Co)
|
|
62
|
+
Um dos casos mais avancados de design system multi-brand no Brasil. Grupo possui:
|
|
63
|
+
- Natura, Avon, The Body Shop, Aesop
|
|
64
|
+
|
|
65
|
+
**Desafio tecnico:** Um sistema que suporta multiplas marcas visuais sobre mesma arquitetura. Solucao: core system de tokens e componentes "neutros" tematizados via L1 tokens de marca. O mesmo `<Button>` renderiza verde para Natura, rosa para Avon.
|
|
66
|
+
|
|
67
|
+
### VTEX Design System (Styleguide)
|
|
68
|
+
Plataforma de e-commerce brasileira com design system open-source. Um dos poucos DS brasileiros genuinamente open-source, usado por times de desenvolvimento de lojistas VTEX.
|
|
69
|
+
|
|
70
|
+
### RD Station (Resultados Digitais)
|
|
71
|
+
Lider em marketing digital no Brasil. DS interno para produtos do ecossistema (Marketing, CRM, Conversas). React-based, foco em consistencia entre produtos.
|
|
72
|
+
|
|
73
|
+
### Magazine Luiza (Magalu)
|
|
74
|
+
DS para unificar experiencia entre app, site e marketplace. Destaque para inclusao da "Lu" (avatar digital) como elemento do sistema de brand — integracao de IP/mascote em design system.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 3. Regulatorio Brasileiro de Acessibilidade
|
|
79
|
+
|
|
80
|
+
### Lei Brasileira de Inclusao (LBI — Lei 13.146/2015)
|
|
81
|
+
|
|
82
|
+
Artigo 63:
|
|
83
|
+
> "E obrigatoria a acessibilidade nos sitios da internet mantidos por empresas com sede ou representacao comercial no Pais ou por orgaos de governo."
|
|
84
|
+
|
|
85
|
+
**Implicacoes para design systems:**
|
|
86
|
+
- Componentes DEVEM atender **WCAG AA** como minimo
|
|
87
|
+
- Acessibilidade digital e **obrigacao legal**, nao diferencial competitivo
|
|
88
|
+
- Multas podem ser aplicadas pelo Ministerio Publico
|
|
89
|
+
- Empresas com representacao no Brasil estao sujeitas (inclui empresas estrangeiras)
|
|
90
|
+
|
|
91
|
+
### e-MAG (Modelo de Acessibilidade em Governo Eletronico)
|
|
92
|
+
Versao brasileira do WCAG, publicada pelo governo federal. Atualmente baseado no **WCAG 2.0**, com recomendacoes adicionais para o contexto brasileiro.
|
|
93
|
+
|
|
94
|
+
**Todo site governamental deve seguir e-MAG.** Sites privados seguem LBI (que referencia WCAG).
|
|
95
|
+
|
|
96
|
+
Diferenca WCAG vs e-MAG:
|
|
97
|
+
| Aspecto | WCAG (internacional) | e-MAG (brasileiro) |
|
|
98
|
+
|---------|---------------------|-------------------|
|
|
99
|
+
| Base | W3C | Governo Federal do Brasil |
|
|
100
|
+
| Versao atual | 2.2 (2023) | Baseado em WCAG 2.0 |
|
|
101
|
+
| Obrigatoriedade | Por lei em varios paises | Governo federal (obligatorio) |
|
|
102
|
+
| Privados | Por LBI | Por LBI (referencia WCAG) |
|
|
103
|
+
|
|
104
|
+
### Decreto 10.645/2021
|
|
105
|
+
Regulamenta avaliacao de acessibilidade de sites governamentais:
|
|
106
|
+
- Exige **selo de acessibilidade**
|
|
107
|
+
- Auditorias periodicas obrigatorias
|
|
108
|
+
- Ranking de acessibilidade de sites governamentais
|
|
109
|
+
|
|
110
|
+
### Checklist Legal para DS Brasileiro
|
|
111
|
+
```
|
|
112
|
+
- [ ] Componentes atendem WCAG 2.2 AA (minimo legal LBI)
|
|
113
|
+
- [ ] Contraste de texto minimo 4.5:1 (normal) e 3:1 (grande)
|
|
114
|
+
- [ ] Contraste de componentes UI minimo 3:1 (1.4.11)
|
|
115
|
+
- [ ] Navegacao por teclado completa
|
|
116
|
+
- [ ] Sites governamentais: seguir e-MAG
|
|
117
|
+
- [ ] Documentar conformidade WCAG (VPAT/declaracao de acessibilidade)
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 4. Desafios Especificos do Brasil
|
|
123
|
+
|
|
124
|
+
### 1. Diversidade de Dispositivos Android
|
|
125
|
+
O Brasil tem enorme variedade de dispositivos Android de baixo custo (R$ 400-800). Implicacoes:
|
|
126
|
+
- Telas menores (5"-5.5" comuns vs 6"+ nos EUA)
|
|
127
|
+
- Menor RAM (2-4GB)
|
|
128
|
+
- Processadores mais lentos
|
|
129
|
+
- **Design systems precisam priorizar performance em low-end**
|
|
130
|
+
|
|
131
|
+
### 2. Conectividade Variavel
|
|
132
|
+
Muitos usuarios acessam via conexoes lentas (3G ainda significativo) ou instáveis (Wi-Fi compartilhado). Implicacoes:
|
|
133
|
+
- Progressive loading e skeleton screens
|
|
134
|
+
- Graceful degradation (app funciona com conteudo parcial)
|
|
135
|
+
- Service workers para caching agressivo
|
|
136
|
+
- **Imagens otimizadas para conexoes lentas (AVIF/WebP, lazy loading)**
|
|
137
|
+
|
|
138
|
+
### 3. PIX como Padrao de Pagamento
|
|
139
|
+
Desde 2020, PIX transformou checkout digital no Brasil. **120M+ usuarios** (maior adocao global proporcional). Design systems de e-commerce e fintech devem incluir patterns especificos:
|
|
140
|
+
- QR Code display (tamanho, contraste, loading state)
|
|
141
|
+
- Copia-e-cola (action + feedback de copia)
|
|
142
|
+
- Timer de expiracao (countdown com accessible announcement)
|
|
143
|
+
- Confirmacao de pagamento (success state com animacao)
|
|
144
|
+
|
|
145
|
+
### 4. WhatsApp-First Journey
|
|
146
|
+
Brasil e o segundo maior mercado do WhatsApp (120M+ usuarios, 2025). Muitas jornadas de usuario comecam ou terminam no WhatsApp:
|
|
147
|
+
- Click-to-chat buttons (pattern padrao em landing pages)
|
|
148
|
+
- WhatsApp share (compartilhar produto/servico via WhatsApp)
|
|
149
|
+
- Notificacoes via WhatsApp Business
|
|
150
|
+
- **Design systems devem incluir patterns de integracao com WhatsApp**
|
|
151
|
+
|
|
152
|
+
### 5. Multilingue de Facto
|
|
153
|
+
Embora portugues seja dominante, operacoes internacionais precisam de i18n:
|
|
154
|
+
- Natura, Nubank: espanhol (LATAM), ingles
|
|
155
|
+
- Desafio: datas (dd/mm/yyyy vs mm/dd/yyyy), moedas (R$ vs $, $ vs €)
|
|
156
|
+
- **Internacionalizacao como parte das foundations, nao addon tardio**
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## 5. Comunidade Brasileira de Design
|
|
161
|
+
|
|
162
|
+
### Eventos
|
|
163
|
+
- **Interaction Latin America (IxDA):** Principal evento de interaction design na America Latina
|
|
164
|
+
- **Design Sprint Brasil:** Comunidade focada em metodologias de design
|
|
165
|
+
- **UX Conf BR:** Conferencia de UX brasileira
|
|
166
|
+
- **Figma Community Brasil:** Meetups e eventos de usuarios Figma
|
|
167
|
+
|
|
168
|
+
### Publicacoes e Comunidades
|
|
169
|
+
- **UX Collective Brasil** (brasil.uxdesign.cc): Blog coletivo com milhares de artigos em portugues
|
|
170
|
+
- **Design Team Brasil:** Comunidade no Slack
|
|
171
|
+
- **Ladies that UX:** Capitulos em SP, RJ, BH, POA, Floripa
|
|
172
|
+
- **Design no Brasil** (designe.com.br): Recursos, salarios, comunidade
|
|
173
|
+
|
|
174
|
+
### Formacao
|
|
175
|
+
| Escola | Formato | Foco |
|
|
176
|
+
|--------|---------|------|
|
|
177
|
+
| Mergo (Pedro Aquino) | Online | UX Research e Design |
|
|
178
|
+
| Tera | Bootcamp | Product Design, UX |
|
|
179
|
+
| Digital House | Presencial/Online | UX/UI |
|
|
180
|
+
| Domestika | Online | Cursos avulsos |
|
|
181
|
+
| Alura | Online | Design Digital, Figma |
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## 6. Brasilian DS Checklist (Requisitos Especificos)
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
Legal:
|
|
189
|
+
- [ ] WCAG 2.2 AA compliance (LBI obrigatorio)
|
|
190
|
+
- [ ] e-MAG compliance (sites governamentais)
|
|
191
|
+
- [ ] LGPD compliance em formularios (consentimento claro)
|
|
192
|
+
- [ ] Declaracao de acessibilidade publicada
|
|
193
|
+
|
|
194
|
+
UX Patterns Brasileiros:
|
|
195
|
+
- [ ] PIX payment pattern (QR code, copia-e-cola, timer, success)
|
|
196
|
+
- [ ] WhatsApp integration pattern (click-to-chat, share)
|
|
197
|
+
- [ ] Boleto bancario pattern (se aplicavel)
|
|
198
|
+
- [ ] CPF/CNPJ input masks
|
|
199
|
+
|
|
200
|
+
Performance (low-end devices):
|
|
201
|
+
- [ ] Testado em Android mid-range (Moto G ou similar)
|
|
202
|
+
- [ ] Funciona em 3G (simular com DevTools throttling)
|
|
203
|
+
- [ ] JS bundle < 300KB initial
|
|
204
|
+
- [ ] Imagens lazy-loaded com skeleton placeholder
|
|
205
|
+
|
|
206
|
+
Internacionalizacao (se multi-mercado):
|
|
207
|
+
- [ ] date-fns com locale pt-BR
|
|
208
|
+
- [ ] Intl.NumberFormat para moedas (R$, MXN, COP)
|
|
209
|
+
- [ ] RTL support (para expansao futura)
|
|
210
|
+
- [ ] Strings externalizadas (nao hardcoded em portugues)
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Referencias
|
|
216
|
+
- ABEDESIGN — abedesign.org.br
|
|
217
|
+
- Lei Brasileira de Inclusao (Lei 13.146/2015) — planalto.gov.br
|
|
218
|
+
- e-MAG — emag.governoeletronico.gov.br
|
|
219
|
+
- Decreto 10.645/2021 — planalto.gov.br
|
|
220
|
+
- Nubank Design — building.nubank.com/design
|
|
221
|
+
- Figma Customers: Nubank — figma.com/customers/nubank
|
|
222
|
+
- UX Collective Brasil — brasil.uxdesign.cc
|
|
223
|
+
- MS-002 Design System Research — SINAPSE (2026-04-07)
|
|
@@ -348,8 +348,212 @@ const Button = ({ color, variant, ...props }: ButtonProps) => {
|
|
|
348
348
|
|
|
349
349
|
---
|
|
350
350
|
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
## 9. Headless Components — Padroes Avancados
|
|
354
|
+
|
|
355
|
+
### Por que Headless?
|
|
356
|
+
Separa **logica/comportamento** da **apresentacao visual**. Maxima flexibilidade de estilo sem reimplementar acessibilidade.
|
|
357
|
+
|
|
358
|
+
### Radix UI — asChild Pattern
|
|
359
|
+
```typescript
|
|
360
|
+
// asChild delega renderizacao para o filho, mesclando props
|
|
361
|
+
import * as Dialog from '@radix-ui/react-dialog';
|
|
362
|
+
|
|
363
|
+
<Dialog.Root>
|
|
364
|
+
<Dialog.Trigger asChild>
|
|
365
|
+
{/* Button customizado — mas com toda a logica do trigger */}
|
|
366
|
+
<Button variant="primary">Open Dialog</Button>
|
|
367
|
+
</Dialog.Trigger>
|
|
368
|
+
<Dialog.Portal>
|
|
369
|
+
<Dialog.Overlay className="fixed inset-0 bg-black/50" />
|
|
370
|
+
<Dialog.Content className="fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-96 bg-white rounded-lg p-6 shadow-xl">
|
|
371
|
+
<Dialog.Title className="text-lg font-semibold">Title</Dialog.Title>
|
|
372
|
+
<Dialog.Description className="text-sm text-gray-600 mt-2">Description</Dialog.Description>
|
|
373
|
+
<Dialog.Close asChild>
|
|
374
|
+
<button className="absolute top-4 right-4">×</button>
|
|
375
|
+
</Dialog.Close>
|
|
376
|
+
</Dialog.Content>
|
|
377
|
+
</Dialog.Portal>
|
|
378
|
+
</Dialog.Root>
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
**Acessibilidade out-of-the-box:**
|
|
382
|
+
- Focus trap automatico
|
|
383
|
+
- Esc fecha o dialog
|
|
384
|
+
- Focus retorna ao trigger ao fechar
|
|
385
|
+
- `aria-modal`, `aria-labelledby` configurados
|
|
386
|
+
|
|
387
|
+
### React Aria (Adobe) — Hooks Approach
|
|
388
|
+
```typescript
|
|
389
|
+
// useButton — logica de button com ARIA
|
|
390
|
+
import { useButton } from '@react-aria/button';
|
|
391
|
+
import { useRef } from 'react';
|
|
392
|
+
|
|
393
|
+
function Button(props) {
|
|
394
|
+
const ref = useRef(null);
|
|
395
|
+
const { buttonProps } = useButton(props, ref);
|
|
396
|
+
|
|
397
|
+
return (
|
|
398
|
+
<button
|
|
399
|
+
{...buttonProps}
|
|
400
|
+
ref={ref}
|
|
401
|
+
className="btn"
|
|
402
|
+
>
|
|
403
|
+
{props.children}
|
|
404
|
+
</button>
|
|
405
|
+
);
|
|
406
|
+
}
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
React Aria resolve problemas que outros ignoram: date pickers acessiveis em multiplos idiomas, color pickers com suporte a screen reader, comboboxes com filtro acessivel.
|
|
410
|
+
|
|
411
|
+
### Controlled vs Uncontrolled — useControllableState
|
|
412
|
+
```typescript
|
|
413
|
+
// Hook que unifica ambos os modos
|
|
414
|
+
function useControllableState<T>({
|
|
415
|
+
value,
|
|
416
|
+
defaultValue,
|
|
417
|
+
onChange,
|
|
418
|
+
}: {
|
|
419
|
+
value?: T;
|
|
420
|
+
defaultValue?: T;
|
|
421
|
+
onChange?: (value: T) => void;
|
|
422
|
+
}) {
|
|
423
|
+
const [internalValue, setInternalValue] = useState(defaultValue);
|
|
424
|
+
const isControlled = value !== undefined;
|
|
425
|
+
const currentValue = isControlled ? value : internalValue;
|
|
426
|
+
|
|
427
|
+
const setValue = useCallback((next: T) => {
|
|
428
|
+
if (!isControlled) setInternalValue(next);
|
|
429
|
+
onChange?.(next);
|
|
430
|
+
}, [isControlled, onChange]);
|
|
431
|
+
|
|
432
|
+
return [currentValue, setValue] as const;
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
// Uso em componente
|
|
436
|
+
function Select({ value, defaultValue, onChange, ...props }) {
|
|
437
|
+
const [selectedValue, setSelectedValue] = useControllableState({
|
|
438
|
+
value, defaultValue, onChange,
|
|
439
|
+
});
|
|
440
|
+
// ...
|
|
441
|
+
}
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
---
|
|
445
|
+
|
|
446
|
+
## 10. Polymorphic Components
|
|
447
|
+
|
|
448
|
+
Componentes que renderizam como elementos HTML diferentes:
|
|
449
|
+
|
|
450
|
+
```typescript
|
|
451
|
+
// Pattern asChild (Radix — mais type-safe)
|
|
452
|
+
<Button asChild>
|
|
453
|
+
<a href="/page">Navigate as link</a>
|
|
454
|
+
</Button>
|
|
455
|
+
|
|
456
|
+
// Pattern as prop (classico)
|
|
457
|
+
<Text as="h1" size="4xl">Heading</Text>
|
|
458
|
+
<Text as="p" size="base">Paragraph</Text>
|
|
459
|
+
<Text as="span" size="sm">Inline</Text>
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
**Implementacao type-safe com as prop:**
|
|
463
|
+
```typescript
|
|
464
|
+
type TextElement = 'h1' | 'h2' | 'h3' | 'h4' | 'p' | 'span' | 'div';
|
|
465
|
+
|
|
466
|
+
interface TextProps<T extends TextElement = 'p'> {
|
|
467
|
+
as?: T;
|
|
468
|
+
size?: 'sm' | 'base' | 'lg' | '2xl' | '4xl';
|
|
469
|
+
children: React.ReactNode;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
function Text<T extends TextElement = 'p'>({
|
|
473
|
+
as,
|
|
474
|
+
size = 'base',
|
|
475
|
+
children,
|
|
476
|
+
...props
|
|
477
|
+
}: TextProps<T> & React.ComponentPropsWithoutRef<T>) {
|
|
478
|
+
const Tag = (as ?? 'p') as React.ElementType;
|
|
479
|
+
return <Tag className={cn(textVariants({ size }))} {...props}>{children}</Tag>;
|
|
480
|
+
}
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
---
|
|
484
|
+
|
|
485
|
+
## 11. RTL (Right-to-Left) Support
|
|
486
|
+
|
|
487
|
+
Para linguas arabes, hebraicas, persas. CSS Logical Properties sao a abordagem moderna:
|
|
488
|
+
|
|
489
|
+
```css
|
|
490
|
+
/* Physical (RTL-unsafe) → Logical (RTL-safe) */
|
|
491
|
+
margin-left: 16px; → margin-inline-start: 16px;
|
|
492
|
+
margin-right: 8px; → margin-inline-end: 8px;
|
|
493
|
+
padding-left: 16px; → padding-inline-start: 16px;
|
|
494
|
+
padding-right: 8px; → padding-inline-end: 8px;
|
|
495
|
+
text-align: left; → text-align: start;
|
|
496
|
+
border-left: 2px solid; → border-inline-start: 2px solid;
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
**HTML dir attribute:**
|
|
500
|
+
```html
|
|
501
|
+
<!-- Nivel de pagina -->
|
|
502
|
+
<html lang="ar" dir="rtl">
|
|
503
|
+
|
|
504
|
+
<!-- Nivel de componente (se diferente da pagina) -->
|
|
505
|
+
<blockquote dir="ltr" lang="en">English quote</blockquote>
|
|
506
|
+
```
|
|
507
|
+
|
|
508
|
+
Suporte nativo em CSS moderno (todos os browsers modernos). Design systems como Material, Fluent e Spectrum suportam RTL nativamente.
|
|
509
|
+
|
|
510
|
+
---
|
|
511
|
+
|
|
512
|
+
## 12. Component Quality Gates
|
|
513
|
+
|
|
514
|
+
### Antes de Adicionar ao Design System
|
|
515
|
+
```
|
|
516
|
+
TypeScript:
|
|
517
|
+
- [ ] Props com tipos completos (nenhum `any`)
|
|
518
|
+
- [ ] Discriminated unions para props mutuamente exclusivas
|
|
519
|
+
- [ ] forwardRef implementado (para ref passthrough)
|
|
520
|
+
- [ ] displayName definido (DevTools)
|
|
521
|
+
|
|
522
|
+
API Design:
|
|
523
|
+
- [ ] Minimal surface area (expor apenas o necessario)
|
|
524
|
+
- [ ] Sensible defaults (funciona sem props)
|
|
525
|
+
- [ ] Composicao sobre configuracao
|
|
526
|
+
- [ ] Naming consistente com outros componentes do sistema
|
|
527
|
+
|
|
528
|
+
Acessibilidade:
|
|
529
|
+
- [ ] Elementos HTML semanticos usados quando possivel
|
|
530
|
+
- [ ] ARIA attributes corretos (role, aria-label, aria-*)
|
|
531
|
+
- [ ] Keyboard navigation funcionando
|
|
532
|
+
- [ ] Focus indicator visivel (WCAG 2.4.7)
|
|
533
|
+
- [ ] axe-core: zero violations
|
|
534
|
+
|
|
535
|
+
Performance:
|
|
536
|
+
- [ ] Bundle size < 5KB gzipped (atoms), < 20KB (organisms)
|
|
537
|
+
- [ ] Re-renders otimizados (useCallback/useMemo quando necessario)
|
|
538
|
+
- [ ] Tree-shakeable (ESM export)
|
|
539
|
+
|
|
540
|
+
Tokens:
|
|
541
|
+
- [ ] Nenhum valor visual hardcoded
|
|
542
|
+
- [ ] Component tokens (L3) definidos
|
|
543
|
+
- [ ] Dark mode funcionando via tokens
|
|
544
|
+
|
|
545
|
+
Documentacao:
|
|
546
|
+
- [ ] Story para cada variante e estado
|
|
547
|
+
- [ ] MDX com when/not-to-use
|
|
548
|
+
- [ ] Migration guide se substitui componente anterior
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
---
|
|
552
|
+
|
|
351
553
|
## Referencias
|
|
352
|
-
- shadcn/ui —
|
|
353
|
-
- Radix UI —
|
|
354
|
-
- React Aria (Adobe) —
|
|
355
|
-
- CVA documentation —
|
|
554
|
+
- shadcn/ui — ui.shadcn.com
|
|
555
|
+
- Radix UI — radix-ui.com
|
|
556
|
+
- React Aria (Adobe) — react-spectrum.adobe.com/react-aria
|
|
557
|
+
- CVA documentation — cva.style
|
|
558
|
+
- Heydon Pickering — inclusive-components.design
|
|
559
|
+
- Nathan Curtis — Component API Design articles (EightShapes)
|