sinapse-ai 9.3.0 → 9.5.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 +60 -341
- package/.claude/hooks/enforce-architecture-first.py +197 -197
- package/.claude/hooks/enforce-git-push-authority.sh +25 -4
- package/.claude/hooks/mind-clone-governance.py +193 -193
- package/.claude/hooks/read-protection.py +152 -152
- package/.claude/hooks/sql-governance.py +183 -183
- package/.claude/hooks/verify-packages.cjs +83 -0
- package/.claude/hooks/write-path-validation.py +195 -195
- 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 +7 -0
- package/.claude/rules/mandatory-delegation.md +24 -0
- package/.claude/rules/mcp-usage.md +3 -1
- package/.claude/rules/project-intelligence.md +63 -0
- package/.claude/rules/response-format.md +4 -0
- package/.claude/rules/safe-collaboration.md +14 -2
- package/.claude/rules/security-data-protection.md +27 -0
- package/.claude/rules/squad-awareness.md +96 -68
- package/.claude/rules/token-economy.md +148 -0
- package/.claude/rules/tool-examples.md +6 -0
- package/.claude/rules/workflow-execution.md +7 -0
- package/.codex/agents/analyst.md +342 -71
- package/.codex/agents/architect.md +533 -68
- package/.codex/agents/data-engineer.md +530 -106
- package/.codex/agents/developer.md +657 -0
- package/.codex/agents/devops.md +639 -69
- package/.codex/agents/product-lead.md +362 -0
- package/.codex/agents/project-lead.md +405 -0
- package/.codex/agents/quality-gate.md +538 -0
- package/.codex/agents/sinapse-orqx.md +9 -7
- package/.codex/agents/sprint-lead.md +315 -0
- package/.codex/agents/squad-creator.md +402 -0
- package/.codex/agents/ux-design-expert.md +523 -0
- package/.codex/delegation-matrix.json +756 -44
- package/.codex/handoff-packet.schema.json +30 -6
- package/.sinapse-ai/core/code-intel/registry-syncer.js +56 -3
- package/.sinapse-ai/core/doctor/checks/agent-memory.js +5 -1
- package/.sinapse-ai/core/doctor/checks/claude-md.js +4 -1
- package/.sinapse-ai/core/doctor/checks/code-intel.js +5 -1
- package/.sinapse-ai/core/doctor/checks/commands-count.js +4 -1
- package/.sinapse-ai/core/doctor/checks/constitution-consistency.js +4 -1
- package/.sinapse-ai/core/doctor/checks/core-config.js +4 -1
- package/.sinapse-ai/core/doctor/checks/entity-registry.js +6 -1
- package/.sinapse-ai/core/doctor/checks/git-hooks.js +5 -1
- package/.sinapse-ai/core/doctor/checks/graph-dashboard.js +4 -1
- package/.sinapse-ai/core/doctor/checks/hooks-claude-count.js +5 -1
- package/.sinapse-ai/core/doctor/checks/ide-sync.js +4 -1
- package/.sinapse-ai/core/doctor/checks/node-version.js +4 -1
- package/.sinapse-ai/core/doctor/checks/npm-packages.js +4 -1
- package/.sinapse-ai/core/doctor/checks/rules-files.js +4 -1
- package/.sinapse-ai/core/doctor/checks/settings-json.js +4 -1
- package/.sinapse-ai/core/doctor/checks/skills-count.js +4 -1
- package/.sinapse-ai/core/doctor/index.js +157 -50
- package/.sinapse-ai/core/ids/registry-updater.js +6 -1
- package/.sinapse-ai/core/logger/index.js +319 -0
- package/.sinapse-ai/core/orchestration/terminal-spawner.js +2 -2
- package/.sinapse-ai/core/telemetry/index.js +247 -0
- package/.sinapse-ai/data/entity-registry.yaml +1060 -808
- package/.sinapse-ai/development/agents/analyst.md +90 -0
- package/.sinapse-ai/development/agents/architect.md +78 -0
- package/.sinapse-ai/development/agents/data-engineer.md +38 -0
- package/.sinapse-ai/development/agents/developer.md +97 -0
- package/.sinapse-ai/development/agents/devops.md +121 -0
- package/.sinapse-ai/development/agents/product-lead.md +27 -0
- package/.sinapse-ai/development/agents/project-lead.md +28 -0
- package/.sinapse-ai/development/agents/quality-gate.md +89 -0
- package/.sinapse-ai/development/agents/sprint-lead/MEMORY.md +8 -0
- package/.sinapse-ai/development/agents/sprint-lead.md +28 -0
- package/.sinapse-ai/development/agents/squad-creator.md +58 -0
- package/.sinapse-ai/development/agents/ux-design-expert.md +28 -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/knowledge-base/agent-communication-protocol.md +127 -0
- package/.sinapse-ai/development/knowledge-base/database-scaling-patterns.md +374 -0
- package/.sinapse-ai/development/knowledge-base/environment-deployment-patterns.md +353 -0
- package/.sinapse-ai/development/knowledge-base/gotchas-patterns.md +224 -0
- package/.sinapse-ai/development/knowledge-base/infrastructure-decision-framework.md +221 -0
- package/.sinapse-ai/development/knowledge-base/security-pre-deploy-checklist.md +410 -0
- package/.sinapse-ai/development/knowledge-base/software-architecture-patterns.md +299 -0
- package/.sinapse-ai/development/knowledge-base/token-economy-guide.md +198 -0
- package/.sinapse-ai/development/scripts/populate-entity-registry.js +5 -1
- package/.sinapse-ai/development/skills/captcha-handler.md +82 -0
- package/.sinapse-ai/development/skills/chrome-brain.md +81 -0
- package/.sinapse-ai/development/skills/debug.md +57 -0
- package/.sinapse-ai/development/skills/deploy-readiness.md +93 -0
- package/.sinapse-ai/development/skills/fast-review.md +69 -0
- package/.sinapse-ai/development/skills/model-router.md +92 -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/sinapse-methodology.md +175 -0
- package/.sinapse-ai/development/skills/story-fast-track.md +71 -0
- package/.sinapse-ai/development/skills/verify.md +53 -0
- package/.sinapse-ai/development/tasks/dev-develop-story.md +10 -0
- package/.sinapse-ai/development/tasks/environment-promotion-pipeline.md +582 -0
- package/.sinapse-ai/development/tasks/generate-agent-handoff.md +223 -0
- package/.sinapse-ai/development/tasks/infrastructure-assessment.md +432 -0
- package/.sinapse-ai/development/tasks/load-testing-setup.md +611 -0
- package/.sinapse-ai/development/tasks/observability-blueprint.md +562 -0
- package/.sinapse-ai/development/templates/legal/breach-notification-tmpl.md +113 -0
- package/.sinapse-ai/development/templates/legal/privacy-policy-tmpl.md +93 -0
- package/.sinapse-ai/development/templates/legal/terms-of-service-tmpl.md +85 -0
- package/.sinapse-ai/development/templates/service-template/README.md.hbs +159 -159
- package/.sinapse-ai/development/templates/service-template/__tests__/index.test.ts.hbs +238 -238
- package/.sinapse-ai/development/templates/service-template/client.ts.hbs +404 -404
- package/.sinapse-ai/development/templates/service-template/errors.ts.hbs +183 -183
- package/.sinapse-ai/development/templates/service-template/index.ts.hbs +121 -121
- package/.sinapse-ai/development/templates/service-template/package.json.hbs +88 -88
- package/.sinapse-ai/development/templates/service-template/types.ts.hbs +146 -146
- 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/templates/squad-template/LICENSE +22 -22
- package/.sinapse-ai/development/workflows/fast-track.yaml +87 -0
- package/.sinapse-ai/development/workflows/story-development-cycle.yaml +40 -1
- package/.sinapse-ai/hooks/ids-post-commit.js +22 -0
- package/.sinapse-ai/infrastructure/contracts/compatibility/README.md +42 -0
- package/.sinapse-ai/infrastructure/contracts/compatibility/sinapse-current.yaml +35 -0
- package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/claude-free-tracked.cmd +127 -127
- package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/deepseek-proxy.cmd +71 -71
- package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/deepseek-usage.cmd +51 -51
- package/.sinapse-ai/infrastructure/scripts/pr-review-ai.js +16 -13
- package/.sinapse-ai/infrastructure/scripts/setup-project-infra.js +128 -0
- package/.sinapse-ai/infrastructure/scripts/test-discovery.js +8 -3
- package/.sinapse-ai/infrastructure/scripts/validate-codex-delegation.js +3 -1
- package/.sinapse-ai/infrastructure/scripts/validate-manifest-parity.js +380 -0
- package/.sinapse-ai/infrastructure/scripts/validate-parity.js +76 -25
- package/.sinapse-ai/infrastructure/templates/coderabbit.yaml.template +280 -280
- package/.sinapse-ai/infrastructure/templates/config/env.example +16 -0
- package/.sinapse-ai/infrastructure/templates/config/gitignore-additions.tmpl +59 -0
- package/.sinapse-ai/infrastructure/templates/github/CODEOWNERS.template +12 -0
- package/.sinapse-ai/infrastructure/templates/github/PULL_REQUEST_TEMPLATE.md +29 -0
- package/.sinapse-ai/infrastructure/templates/github/ci-template.yml +77 -0
- package/.sinapse-ai/infrastructure/templates/github/issue-templates/bug_report.md +34 -0
- package/.sinapse-ai/infrastructure/templates/github/issue-templates/feature_request.md +19 -0
- package/.sinapse-ai/infrastructure/templates/github-workflows/ci.yml.template +170 -170
- package/.sinapse-ai/infrastructure/templates/github-workflows/pr-automation.yml.template +331 -331
- package/.sinapse-ai/infrastructure/templates/github-workflows/release.yml.template +197 -197
- package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +19 -19
- package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-node.tmpl +86 -86
- package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-python.tmpl +146 -146
- package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-sinapse-base.tmpl +64 -64
- package/.sinapse-ai/infrastructure/templates/sinapse-sync.yaml.template +183 -183
- package/.sinapse-ai/install-manifest.yaml +333 -162
- package/.sinapse-ai/local-config.yaml.template +65 -65
- package/.sinapse-ai/monitor/hooks/lib/__init__.py +2 -2
- package/.sinapse-ai/monitor/hooks/lib/enrich.py +59 -59
- package/.sinapse-ai/monitor/hooks/lib/send_event.py +48 -48
- package/.sinapse-ai/monitor/hooks/notification.py +30 -30
- package/.sinapse-ai/monitor/hooks/post_tool_use.py +46 -46
- package/.sinapse-ai/monitor/hooks/pre_compact.py +30 -30
- package/.sinapse-ai/monitor/hooks/pre_tool_use.py +41 -41
- package/.sinapse-ai/monitor/hooks/stop.py +30 -30
- package/.sinapse-ai/monitor/hooks/subagent_stop.py +30 -30
- package/.sinapse-ai/monitor/hooks/user_prompt_submit.py +39 -39
- package/.sinapse-ai/product/templates/adr.hbs +126 -126
- package/.sinapse-ai/product/templates/dbdr.hbs +242 -242
- package/.sinapse-ai/product/templates/epic.hbs +213 -213
- package/.sinapse-ai/product/templates/pmdr.hbs +187 -187
- package/.sinapse-ai/product/templates/prd-v2.0.hbs +217 -217
- package/.sinapse-ai/product/templates/prd.hbs +202 -202
- package/.sinapse-ai/product/templates/story-tmpl.yaml +59 -0
- package/.sinapse-ai/product/templates/story.hbs +264 -264
- package/.sinapse-ai/product/templates/task.hbs +171 -171
- package/.sinapse-ai/product/templates/tmpl-comment-on-examples.sql +159 -159
- package/.sinapse-ai/product/templates/tmpl-migration-script.sql +92 -92
- package/.sinapse-ai/product/templates/tmpl-rls-granular-policies.sql +105 -105
- package/.sinapse-ai/product/templates/tmpl-rls-kiss-policy.sql +11 -11
- package/.sinapse-ai/product/templates/tmpl-rls-roles.sql +136 -136
- package/.sinapse-ai/product/templates/tmpl-rls-simple.sql +78 -78
- package/.sinapse-ai/product/templates/tmpl-rls-tenant.sql +153 -153
- package/.sinapse-ai/product/templates/tmpl-rollback-script.sql +78 -78
- package/.sinapse-ai/product/templates/tmpl-seed-data.sql +141 -141
- package/.sinapse-ai/product/templates/tmpl-smoke-test.sql +17 -17
- package/.sinapse-ai/product/templates/tmpl-staging-copy-merge.sql +140 -140
- package/.sinapse-ai/product/templates/tmpl-stored-proc.sql +141 -141
- package/.sinapse-ai/product/templates/tmpl-trigger.sql +153 -153
- package/.sinapse-ai/product/templates/tmpl-view-materialized.sql +134 -134
- package/.sinapse-ai/product/templates/tmpl-view.sql +178 -178
- package/.sinapse-ai/scripts/diagnostics/health-dashboard/package-lock.json +427 -355
- package/LICENSE +34 -34
- package/README.en.md +167 -20
- package/README.md +190 -22
- package/bin/cli.js +510 -196
- package/bin/postinstall.js +564 -0
- package/bin/sinapse-cli +283 -283
- package/bin/sinapse-graph.js +9 -0
- package/bin/sinapse-init.js +36 -4
- package/bin/sinapse-minimal.js +20 -9
- package/bin/sinapse.js +202 -122
- package/bin/utils/deprecation-warning.js +46 -0
- package/bin/utils/pre-push-safety.js +14 -0
- package/docs/TELEMETRY.md +131 -0
- package/docs/chrome-brain-upgrade-plan.md +624 -0
- package/docs/codex-integration-process.md +22 -0
- package/docs/codex-parity-program.md +27 -0
- package/docs/framework/orqx-plan.md +1 -1
- package/docs/ide-integration.md +36 -0
- package/docs/installation/chrome-brain.md +17 -7
- package/docs/mega-upgrade-orchestration-plan.md +71 -0
- package/docs/pt/contributing.md +20 -0
- package/docs/research-synthesis-for-upgrade.md +511 -0
- package/docs/security-audit-report.md +306 -0
- package/package.json +20 -8
- package/packages/installer/src/config/configure-environment.js +19 -44
- package/packages/installer/src/detection/detect-project-type.js +181 -63
- package/packages/installer/src/installer/manifest-signature.js +32 -17
- package/packages/installer/src/wizard/i18n.js +12 -0
- package/packages/installer/src/wizard/ide-config-generator.js +8 -39
- package/packages/installer/src/wizard/index.js +119 -14
- package/packages/installer/src/wizard/questions.js +2 -3
- package/packages/installer/tests/integration/environment-configuration.test.js +7 -5
- package/packages/installer/tests/unit/detection/detect-project-type.test.js +138 -1
- package/packages/installer/tests/unit/doctor/doctor-orchestrator.test.js +3 -3
- package/packages/sinapse-install/bin/edmcp.js +0 -0
- package/packages/sinapse-install/bin/sinapse-install.js +0 -0
- package/packages/sinapse-pro-cli/bin/sinapse-pro.js +0 -0
- package/scripts/check-markdown-links.py +353 -353
- package/scripts/coverage-report-summary.js +169 -0
- package/scripts/generate-install-manifest.js +6 -2
- package/scripts/release-readiness.js +169 -0
- package/scripts/test-install-matrix-local.sh +153 -0
- package/scripts/validate-install-docs.js +394 -0
- package/scripts/validate-no-external-refs.js +376 -0
- package/scripts/validate-squad-orqx.js +302 -0
- package/scripts/validate-story-meta.js +263 -0
- package/squads/claude-code-mastery/CHANGELOG.md +1 -1
- package/squads/claude-code-mastery/README.md +2 -2
- package/squads/claude-code-mastery/knowledge-base/claude-code-internals-reference.md +927 -0
- package/squads/claude-code-mastery/squad.yaml +1 -1
- package/squads/squad-artdir/README.md +90 -0
- package/squads/squad-artdir/agents/accessibility-guardian.md +184 -0
- package/squads/squad-artdir/agents/artdir-orqx.md +145 -0
- package/squads/squad-artdir/agents/color-psychologist.md +166 -0
- package/squads/squad-artdir/agents/cro-persuasion.md +161 -0
- package/squads/squad-artdir/agents/design-system-architect.md +100 -0
- package/squads/squad-artdir/agents/ia-architect.md +169 -0
- package/squads/squad-artdir/agents/interaction-designer.md +162 -0
- package/squads/squad-artdir/agents/layout-engineer.md +163 -0
- package/squads/squad-artdir/agents/motion-architect.md +185 -0
- package/squads/squad-artdir/agents/platform-aesthetic-director.md +84 -0
- package/squads/squad-artdir/agents/premium-packaging-strategist.md +107 -0
- package/squads/squad-artdir/agents/product-surface-director.md +86 -0
- package/squads/squad-artdir/agents/type-systemist.md +138 -0
- package/squads/squad-artdir/agents/visual-strategist.md +127 -0
- package/squads/squad-artdir/checklists/seven-pillars-validation-checklist.md +172 -0
- package/squads/squad-artdir/knowledge-base/case-nyo-ia-reference.md +289 -0
- package/squads/squad-artdir/knowledge-base/deliverables-templates.md +457 -0
- package/squads/squad-artdir/knowledge-base/motion-technique-catalog.md +247 -0
- package/squads/squad-artdir/knowledge-base/premium-packaging-principles.md +133 -0
- package/squads/squad-artdir/knowledge-base/psychological-toolkit.md +229 -0
- package/squads/squad-artdir/knowledge-base/saas-art-direction-canon.md +242 -0
- package/squads/squad-artdir/knowledge-base/seven-pillars-framework.md +289 -0
- package/squads/squad-artdir/knowledge-base/ten-pillars-framework.md +221 -0
- package/squads/squad-artdir/package.json +20 -0
- package/squads/squad-artdir/squad.yaml +271 -0
- package/squads/squad-artdir/tasks/audit-conversion.md +97 -0
- package/squads/squad-artdir/tasks/audit-drift-multi-surface.md +55 -0
- package/squads/squad-artdir/tasks/consult-saas-canon.md +54 -0
- package/squads/squad-artdir/tasks/create-art-direction-brief.md +110 -0
- package/squads/squad-artdir/tasks/create-premium-packaging-brief.md +61 -0
- package/squads/squad-artdir/tasks/create-wireflow.md +84 -0
- package/squads/squad-artdir/tasks/design-color-system.md +81 -0
- package/squads/squad-artdir/tasks/design-product-surface.md +60 -0
- package/squads/squad-artdir/tasks/design-token-system.md +58 -0
- package/squads/squad-artdir/tasks/diagnose-visual-language.md +92 -0
- package/squads/squad-artdir/tasks/first-5-minutes-choreography.md +65 -0
- package/squads/squad-artdir/tasks/specify-motion-system.md +84 -0
- package/squads/squad-artdir/tasks/validate-against-pillars.md +143 -0
- package/squads/squad-artdir/templates/art-direction-brief-template.md +215 -0
- package/squads/squad-artdir/workflows/conversion-audit-cycle.yaml +78 -0
- package/squads/squad-artdir/workflows/full-art-direction-cycle.yaml +98 -0
- package/squads/squad-artdir/workflows/saas-platform-art-direction-cycle.yaml +174 -0
- package/squads/squad-brand/knowledge-base/ai-visual-generation-canon.md +234 -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-brand/squad.yaml +20 -6
- 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/ai-native-content-loop.md +220 -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/signal-intelligence-v2.md +234 -0
- package/squads/squad-content/knowledge-base/social-algorithms-master-reference.md +1007 -0
- package/squads/squad-content/knowledge-base/task-ownership-map.md +235 -0
- package/squads/squad-content/knowledge-base/video-audio-content-playbook.md +218 -0
- package/squads/squad-content/squad.yaml +187 -27
- package/squads/squad-copy/knowledge-base/ai-copy-human-loop-canon.md +235 -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-copy/squad.yaml +19 -4
- 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/cross-surface-token-canon.md +209 -0
- 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-design/squad.yaml +19 -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/.sinapse-ai/core/registry/service-registry.json +0 -6346
- package/.sinapse-ai/data/registry-update-log.jsonl +0 -1307
- package/.sinapse-ai/manifests/agents.csv +0 -29
- package/.sinapse-ai/manifests/tasks.csv +0 -204
- package/.sinapse-ai/manifests/workers.csv +0 -196
- 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
- package/squads/squad-growth/tasks/calculate-sample-size.md +0 -121
- package/squads/squad-paidmedia/tasks/calculate-sample-size.md +0 -57
|
@@ -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)
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# Knowledge Base: Cross-Surface Token Canon
|
|
2
|
+
|
|
3
|
+
> **Status:** Canon — canonical source of truth for how `squad-design` (Nexus) and `squad-artdir` (Atlas) share responsibility for tokens that cross surfaces.
|
|
4
|
+
> **Version:** 1.0 (shipped with squad-design v2.0.0)
|
|
5
|
+
> **Contracts with:** `squads/squad-artdir/agents/design-system-architect.md` (Atlas)
|
|
6
|
+
> **Depends on:** `design-token-architecture.md` (this squad)
|
|
7
|
+
|
|
8
|
+
## Why this doc exists
|
|
9
|
+
|
|
10
|
+
Until squad-design v2.0.0, "design tokens" in SINAPSE lived in two places without a clear boundary:
|
|
11
|
+
|
|
12
|
+
1. `squad-design/knowledge-base/design-token-architecture.md` — a generic three-tier taxonomy (primitive → semantic → component) useful for a single product surface.
|
|
13
|
+
2. `squad-artdir` v2.0 introduced **Atlas** (`design-system-architect`), whose Pilar 9 is multi-surface design system architecture — brand, marketing, product, email, docs, PDF, mobile.
|
|
14
|
+
|
|
15
|
+
Both were correct in isolation but the **boundary** between them was undefined. Product teams building a SaaS (marketing page + logged-in product + transactional email) did not know which squad to ask when a token decision spanned those surfaces, which led to ad-hoc token drift — the exact failure mode Atlas was created to prevent.
|
|
16
|
+
|
|
17
|
+
This canon makes the boundary explicit and sets the handoff contract.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 1. Token tiers (recap — single surface)
|
|
22
|
+
|
|
23
|
+
The existing `design-token-architecture.md` three-tier model still holds for **a single surface**:
|
|
24
|
+
|
|
25
|
+
| Tier | Name | Role | Example |
|
|
26
|
+
|------|------|------|---------|
|
|
27
|
+
| L1 | Primitive | Raw design value | `color.blue.500: #3B82F6` |
|
|
28
|
+
| L2 | Semantic | Intent mapping | `color.action.primary: {color.blue.500}` |
|
|
29
|
+
| L3 | Component | Component-specific | `button.primary.bg: {color.action.primary}` |
|
|
30
|
+
|
|
31
|
+
Rules: L3 → L2 → L1. L3 → L1 is forbidden. L1 → L1 is forbidden. These rules are enforced by Nexus (squad-design) inside any single surface's design system.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 2. The cross-surface problem (why L1-L2-L3 is insufficient alone)
|
|
36
|
+
|
|
37
|
+
A modern product runs on **multiple surfaces**, and each surface has different rendering constraints:
|
|
38
|
+
|
|
39
|
+
| Surface | Constraint | Example mismatch |
|
|
40
|
+
|---------|-----------|------------------|
|
|
41
|
+
| Brand identity | Canonical — no rendering | "#3B82F6 is our blue" |
|
|
42
|
+
| Marketing site | Full CSS, modern browsers | `color-mix()`, `clamp()`, container queries |
|
|
43
|
+
| Product UI | Full CSS but component contracts matter | `--button-primary-bg` token must exist |
|
|
44
|
+
| Transactional email | Inline CSS, no `:root`, no custom props | `style="background:#3B82F6"` — no reference |
|
|
45
|
+
| Documentation | Often a 3rd-party theme (Docusaurus, Mintlify) | Limited override surface |
|
|
46
|
+
| Billing / invoice PDF | Print CSS or server-rendered PDF | No JS, muted color profile, CMYK concerns |
|
|
47
|
+
| Mobile apps (iOS/Android) | Native token maps (XML, Swift) | No CSS variables at all |
|
|
48
|
+
|
|
49
|
+
Primitive `color.blue.500: #3B82F6` is stable across all surfaces. Semantic `color.action.primary` is stable. But **component** `button.primary.bg` CAN NOT be the same token on email (no custom props) vs web product (full CSS) vs mobile (`UIColor`). Something has to translate. That translation layer is what Atlas calls a **surface dialect**.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 3. Surface dialects (what Atlas owns)
|
|
54
|
+
|
|
55
|
+
A **surface dialect** is a surface-specific translation of the canonical token tree into whatever that surface can actually consume.
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
Brand canon (Meridian)
|
|
59
|
+
│
|
|
60
|
+
▼
|
|
61
|
+
Token canon (Atlas) — versioned semver, single source of truth
|
|
62
|
+
│
|
|
63
|
+
┌────┴────────┬──────────────┬──────────────┬──────────────┐
|
|
64
|
+
▼ ▼ ▼ ▼ ▼
|
|
65
|
+
Marketing Product UI Transactional PDF Mobile
|
|
66
|
+
dialect dialect email dialect dialect dialects
|
|
67
|
+
(Nexus (Nexus (Atlas — (Atlas — (Atlas —
|
|
68
|
+
owns) owns) specialized) print) native)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Atlas owns:
|
|
72
|
+
- The canonical root (what the token values ARE)
|
|
73
|
+
- The dialect definitions for surfaces that Nexus does not work on (email, PDF, mobile)
|
|
74
|
+
- Semver versioning of the canonical token tree
|
|
75
|
+
- Cross-surface drift audits
|
|
76
|
+
- Breaking-change migration guides
|
|
77
|
+
|
|
78
|
+
Nexus (squad-design) owns:
|
|
79
|
+
- The component-level token usage on **web surfaces** (marketing + product UI)
|
|
80
|
+
- The three-tier (L1/L2/L3) enforcement inside those surfaces
|
|
81
|
+
- The component → token binding (which component reads which semantic token)
|
|
82
|
+
- The design-to-code pipeline on the web surfaces
|
|
83
|
+
|
|
84
|
+
## 4. Ownership diff matrix (authoritative)
|
|
85
|
+
|
|
86
|
+
| Decision | Owner | Rationale |
|
|
87
|
+
|----------|-------|-----------|
|
|
88
|
+
| "What's our brand blue?" | Meridian (squad-brand) | Brand-level decision, upstream of both |
|
|
89
|
+
| "What's the canonical hex for `color.action.primary`?" | Atlas | Canonical root — single source of truth |
|
|
90
|
+
| "How is `color.action.primary` represented in a transactional email?" | Atlas | Email dialect — email cannot reference a CSS variable |
|
|
91
|
+
| "How is `color.action.primary` represented in a PDF invoice?" | Atlas | PDF dialect — print-safe color profile |
|
|
92
|
+
| "How is `color.action.primary` bound to `Button` component on the product UI?" | Nexus | Component binding inside web product surface |
|
|
93
|
+
| "What is `spacing.md` on marketing site?" | Nexus | Marketing surface = web, Nexus domain |
|
|
94
|
+
| "What is `spacing.md` on mobile (iOS/Android)?" | Atlas | Mobile is a surface Nexus does not work on |
|
|
95
|
+
| "We need a `button.destructive` variant" | Nexus | Component-level addition inside web surface |
|
|
96
|
+
| "We need to change `color.action.primary` from blue to teal" | Atlas | Canonical root change — requires semver major bump + migration guide |
|
|
97
|
+
| "We found that marketing and product UI render `color.bg.subtle` slightly differently" | Atlas | Cross-surface drift audit, Atlas domain |
|
|
98
|
+
| "Tailwind theme config for our marketing site" | Nexus | Web-surface token pipeline |
|
|
99
|
+
| "Figma Variables that mirror the design tokens" | Nexus + Atlas (joint) | Figma lives on the boundary — nexus for day-to-day, Atlas for canonical publishes |
|
|
100
|
+
|
|
101
|
+
**Rule of thumb:**
|
|
102
|
+
- If the question is "single web surface, single component" → Nexus.
|
|
103
|
+
- If the question is "canonical root, multi-surface, versioning, or non-web surface" → Atlas.
|
|
104
|
+
|
|
105
|
+
## 5. Immutable vs surface-adapted tokens
|
|
106
|
+
|
|
107
|
+
Not every token can or should be identical across all surfaces. The canon distinguishes three classes:
|
|
108
|
+
|
|
109
|
+
| Class | Description | Example | Who decides |
|
|
110
|
+
|-------|------------|---------|-------------|
|
|
111
|
+
| **Immutable** | MUST be byte-identical across every surface | Brand primary color hex, logo colors, brand gradient stops | Meridian → Atlas |
|
|
112
|
+
| **Semantically stable** | Meaning stays constant, rendering adapts per surface | `spacing.md` (web: 16px, mobile: 16pt, PDF: 12pt, email: 16px inline) | Atlas |
|
|
113
|
+
| **Surface-local** | Only exists on one surface, no cross-surface meaning | `card.hover.shadow` (web only), `email.footer.divider.color` (email only) | Nexus (if web) / Atlas (if non-web) |
|
|
114
|
+
|
|
115
|
+
**Immutable tokens are non-negotiable.** If a dialect cannot render the immutable token (e.g. email cannot render a 3-stop gradient), the dialect MUST document the fallback and the fallback is itself immutable. Surface owners cannot unilaterally pick their own fallback.
|
|
116
|
+
|
|
117
|
+
**Semantically stable tokens** are where most of the day-to-day work happens. The meaning (`spacing.md = one comfortable unit`) is shared; the value differs per surface constraint.
|
|
118
|
+
|
|
119
|
+
**Surface-local tokens** are small and should be kept small — aggressive growth of surface-local tokens is a smell that the semantic layer is too thin.
|
|
120
|
+
|
|
121
|
+
## 6. Versioning contract
|
|
122
|
+
|
|
123
|
+
Atlas owns semver on the canonical token tree.
|
|
124
|
+
|
|
125
|
+
| Change type | Semver | Who approves | Example |
|
|
126
|
+
|------------|--------|-------------|---------|
|
|
127
|
+
| Add a new token (no break) | **MINOR** | Atlas alone | Add `color.action.tertiary` |
|
|
128
|
+
| Change a value without changing the name | **MINOR** (if immutable class: **MAJOR**) | Atlas alone | Shift `color.border.subtle` one step lighter |
|
|
129
|
+
| Rename a token | **MAJOR** | Atlas + Nexus + Meridian | Rename `color.action.primary` → `color.intent.primary` |
|
|
130
|
+
| Remove a token | **MAJOR** | Atlas + Nexus + Meridian | Drop `color.action.tertiary` |
|
|
131
|
+
| Change the canonical hex of an immutable | **MAJOR** | Atlas + Meridian | Brand rebrand |
|
|
132
|
+
|
|
133
|
+
Every MAJOR bump MUST ship with:
|
|
134
|
+
1. A migration guide (`CHANGELOG.md` entry with before/after per affected surface)
|
|
135
|
+
2. Deprecation warnings on the old token for ≥1 minor cycle before the MAJOR cuts it
|
|
136
|
+
3. A drift audit run after the MAJOR lands on all surfaces
|
|
137
|
+
|
|
138
|
+
Nexus MUST consume canonical token tree by exact version, never "latest". `squad-design` tokens in a given project pin to a specific Atlas token tree version.
|
|
139
|
+
|
|
140
|
+
## 7. Handoff protocol — Nexus ↔ Atlas
|
|
141
|
+
|
|
142
|
+
### 7.1 When Nexus needs to request a token change
|
|
143
|
+
|
|
144
|
+
1. Nexus opens a request describing: the component use case, the surface(s) affected, why existing tokens are insufficient.
|
|
145
|
+
2. Atlas assesses: does this need a new semantic token, or does an existing semantic cover it?
|
|
146
|
+
3. If NEW: Atlas creates the canonical token (L2 semantic), publishes a MINOR bump, and defines the dialect for each surface.
|
|
147
|
+
4. Nexus binds the new semantic into the component library.
|
|
148
|
+
|
|
149
|
+
### 7.2 When Atlas needs Nexus to adapt to a canonical change
|
|
150
|
+
|
|
151
|
+
1. Atlas announces the upcoming canonical change with a proposed semver bump.
|
|
152
|
+
2. Nexus reviews impact on web surface components.
|
|
153
|
+
3. If MAJOR: migration guide is co-authored before the bump lands.
|
|
154
|
+
4. Nexus migrates component bindings on the release boundary.
|
|
155
|
+
|
|
156
|
+
### 7.3 When Meridian (brand) changes the brand canon
|
|
157
|
+
|
|
158
|
+
1. Meridian publishes the brand change (brand guidelines update).
|
|
159
|
+
2. Atlas absorbs the change, decides which tokens become immutable vs re-derived, publishes a MAJOR bump.
|
|
160
|
+
3. Nexus cascades into web surface components.
|
|
161
|
+
4. All three sign off on the migration guide before ship.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 8. What goes in Nexus KBs vs Atlas KBs
|
|
166
|
+
|
|
167
|
+
To avoid duplication going forward:
|
|
168
|
+
|
|
169
|
+
**Nexus (squad-design) KBs cover:**
|
|
170
|
+
- Single-surface token architecture (L1/L2/L3 — `design-token-architecture.md`)
|
|
171
|
+
- Component → token bindings
|
|
172
|
+
- Web-surface token export pipelines (CSS variables, Tailwind, Figma Variables sync)
|
|
173
|
+
- Design-to-code pipeline on web
|
|
174
|
+
- Component library patterns
|
|
175
|
+
|
|
176
|
+
**Atlas (squad-artdir) KBs cover:**
|
|
177
|
+
- Multi-surface canon
|
|
178
|
+
- Surface dialects (email, PDF, mobile)
|
|
179
|
+
- Semver and versioning strategy
|
|
180
|
+
- Drift audits
|
|
181
|
+
- Migration guides
|
|
182
|
+
- Cross-surface enforcement automation
|
|
183
|
+
|
|
184
|
+
**This KB (cross-surface-token-canon.md)** is the only doc that sits on the boundary and is co-authored / co-owned. If its content changes, both Nexus and Atlas orchestrators must agree.
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## 9. Anti-patterns (forbidden)
|
|
189
|
+
|
|
190
|
+
- **Nexus unilaterally defining an "email variant"** of a component → email is Atlas territory, request a dialect.
|
|
191
|
+
- **Atlas designing component APIs** → component APIs are Nexus territory on web surfaces.
|
|
192
|
+
- **Any agent hard-coding a hex value inside a component file** → always bind through the token tree.
|
|
193
|
+
- **Skipping semver because "it's just a small value tweak"** → immutable-class values need MAJOR, always.
|
|
194
|
+
- **Creating a new surface-local token when a semantic already covers the intent** → surface-local should be rare and justified.
|
|
195
|
+
- **Copy-pasting tokens across surfaces instead of going through the dialect** → defeats the single source of truth.
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## 10. Reference index
|
|
200
|
+
|
|
201
|
+
- `design-token-architecture.md` — L1/L2/L3 taxonomy (this squad)
|
|
202
|
+
- `design-to-code-pipeline.md` — how Nexus exports tokens to web (this squad)
|
|
203
|
+
- `squads/squad-artdir/agents/design-system-architect.md` — Atlas persona
|
|
204
|
+
- `squads/squad-artdir/knowledge-base/` — Atlas's full KB set (multi-surface, dialects, drift audits)
|
|
205
|
+
- `squads/squad-brand/knowledge-base/` — Meridian's upstream brand canon
|
|
206
|
+
|
|
207
|
+
## Change log
|
|
208
|
+
|
|
209
|
+
- **2026-04-12 (v1.0)** — Created as part of squad-design v2.0.0 / fw-v2.2. Establishes the Nexus ↔ Atlas boundary, the ownership diff matrix, the immutable-vs-adapted token classes, and the semver handoff contract.
|