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,221 @@
|
|
|
1
|
+
# Infrastructure Decision Framework
|
|
2
|
+
|
|
3
|
+
> **Agente(s):** @architect (Stratum)
|
|
4
|
+
> **Fonte:** enterprise-infrastructure-patterns.md, aws-cloud-infrastructure.md, load-testing-capacity-planning.md
|
|
5
|
+
> **Uso:** Consultar ao definir stack de infraestrutura para projetos novos ou ao avaliar necessidade de scaling
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. Sistema de Tiers
|
|
10
|
+
|
|
11
|
+
### Tier 1: MVP (0-1K usuarios, <$50/mes)
|
|
12
|
+
|
|
13
|
+
| Componente | Servico | Custo |
|
|
14
|
+
|-----------|---------|-------|
|
|
15
|
+
| Frontend | Vercel (Hobby/Pro) | $0-20/mes |
|
|
16
|
+
| Backend/API | Vercel Serverless / Supabase Edge Functions | Incluso |
|
|
17
|
+
| Database | Supabase Free/Pro (PostgreSQL) | $0-25/mes |
|
|
18
|
+
| Auth | Supabase Auth (GoTrue) | Incluso |
|
|
19
|
+
| Storage | Supabase Storage (S3-compatible) | Incluso |
|
|
20
|
+
| CDN | Vercel Edge Network | Incluso |
|
|
21
|
+
| Monitoring | Vercel Analytics + Sentry Free | $0 |
|
|
22
|
+
|
|
23
|
+
**Quando usar:** MVP, validacao de produto, projetos pessoais, startups pre-revenue.
|
|
24
|
+
|
|
25
|
+
### Tier 2: Growth (1K-50K usuarios, $50-500/mes)
|
|
26
|
+
|
|
27
|
+
| Componente | Servico | Custo Estimado |
|
|
28
|
+
|-----------|---------|----------------|
|
|
29
|
+
| Frontend | Vercel Pro | $20/mes |
|
|
30
|
+
| Backend/API | Vercel + Supabase Edge Functions | $25-100/mes |
|
|
31
|
+
| Database | Supabase Pro (dedicated compute) | $25-100/mes |
|
|
32
|
+
| Cache | Upstash Redis | $10-50/mes |
|
|
33
|
+
| CDN/Security | Cloudflare Pro | $20/mes |
|
|
34
|
+
| Feature Flags | GrowthBook (self-hosted) | $0 |
|
|
35
|
+
| Monitoring | Sentry + Vercel Analytics | $26-50/mes |
|
|
36
|
+
| Email | Resend / SendGrid | $0-20/mes |
|
|
37
|
+
|
|
38
|
+
**Adicoes vs Tier 1:** Cloudflare (WAF, DDoS, cache), Redis (session, rate limiting), monitoring dedicado.
|
|
39
|
+
|
|
40
|
+
### Tier 3: Scale (50K-500K usuarios, $500-5K/mes)
|
|
41
|
+
|
|
42
|
+
| Componente | Servico | Custo Estimado |
|
|
43
|
+
|-----------|---------|----------------|
|
|
44
|
+
| Frontend | Vercel Enterprise ou CloudFront + S3 | $100-500/mes |
|
|
45
|
+
| Backend/API | Supabase + AWS Lambda / ECS Fargate | $200-1K/mes |
|
|
46
|
+
| Database | Supabase Pro + Read Replicas ou Aurora Serverless v2 | $100-500/mes |
|
|
47
|
+
| Cache | ElastiCache Redis ou Upstash Pro | $50-200/mes |
|
|
48
|
+
| CDN/Security | Cloudflare Business + WAF | $200/mes |
|
|
49
|
+
| Queue | SQS / EventBridge | $10-50/mes |
|
|
50
|
+
| Search | Meilisearch / Typesense | $50-200/mes |
|
|
51
|
+
| Monitoring | Datadog / Grafana Cloud | $100-500/mes |
|
|
52
|
+
|
|
53
|
+
**Adicoes vs Tier 2:** Read replicas, queues asincronas, search engine dedicado, observability profunda.
|
|
54
|
+
|
|
55
|
+
### Tier 4: Enterprise (500K+ usuarios, $5K+/mes)
|
|
56
|
+
|
|
57
|
+
| Componente | Servico | Custo Estimado |
|
|
58
|
+
|-----------|---------|----------------|
|
|
59
|
+
| Compute | ECS Fargate / EKS + Lambda (hibrido) | $1-5K/mes |
|
|
60
|
+
| Database | Aurora PostgreSQL + DynamoDB (polyglot) | $500-2K/mes |
|
|
61
|
+
| Cache | ElastiCache Redis Cluster | $200-1K/mes |
|
|
62
|
+
| CDN | CloudFront + Cloudflare (dual) | $500-2K/mes |
|
|
63
|
+
| Queue/Events | SQS + EventBridge + Step Functions | $50-500/mes |
|
|
64
|
+
| Search | Elasticsearch / OpenSearch | $500-2K/mes |
|
|
65
|
+
| IaC | Terraform + AWS CDK | $0 (tooling) |
|
|
66
|
+
| CI/CD | GitHub Actions + ArgoCD | $0-500/mes |
|
|
67
|
+
| Security | AWS WAF + Shield + GuardDuty | $500-3K/mes |
|
|
68
|
+
| Monitoring | Datadog / Grafana Cloud | $500-2K/mes |
|
|
69
|
+
|
|
70
|
+
**Adicoes vs Tier 3:** Multi-AZ, multi-region, IaC completo, GitOps, security stack dedicado.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 2. Decision Tree: Qual Tier Escolher?
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
Quantos usuarios esperados nos proximos 6 meses?
|
|
78
|
+
|
|
|
79
|
+
+-- < 1K --> TIER 1 (Vercel + Supabase)
|
|
80
|
+
|
|
|
81
|
+
+-- 1K-50K --> Tem requisitos de cache ou rate limiting?
|
|
82
|
+
| |-- SIM --> TIER 2 (+ Cloudflare + Redis)
|
|
83
|
+
| +-- NAO --> TIER 1 (escalar depois)
|
|
84
|
+
|
|
|
85
|
+
+-- 50K-500K --> Precisa de processamento assincrono?
|
|
86
|
+
| |-- SIM --> TIER 3 (+ AWS Lambda/SQS)
|
|
87
|
+
| +-- NAO --> TIER 2 estendido
|
|
88
|
+
|
|
|
89
|
+
+-- > 500K --> Precisa de multi-region ou compliance enterprise?
|
|
90
|
+
|-- SIM --> TIER 4 (full AWS)
|
|
91
|
+
+-- NAO --> TIER 3 estendido
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 3. Triggers de Graduacao ("Quando Escalar")
|
|
97
|
+
|
|
98
|
+
### Tier 1 --> Tier 2
|
|
99
|
+
|
|
100
|
+
| Sinal | Metrica | Acao |
|
|
101
|
+
|-------|---------|------|
|
|
102
|
+
| Latencia subindo | p95 > 500ms em API | Adicionar Redis para cache |
|
|
103
|
+
| Rate limiting necessario | Abuso detectado | Cloudflare + Upstash rate limit |
|
|
104
|
+
| Cold starts impactando UX | > 1s em Edge Functions | Avaliar Provisioned Concurrency |
|
|
105
|
+
| DDoS ou bot traffic | Spikes inexplicaveis | Cloudflare WAF |
|
|
106
|
+
|
|
107
|
+
### Tier 2 --> Tier 3
|
|
108
|
+
|
|
109
|
+
| Sinal | Metrica | Acao |
|
|
110
|
+
|-------|---------|------|
|
|
111
|
+
| DB CPU > 70% sustentado | Dashboard Supabase | Read Replicas ou compute maior |
|
|
112
|
+
| Filas de processamento crescendo | Jobs falhando/atrasando | SQS + Lambda async |
|
|
113
|
+
| Busca textual lenta | Full-text search > 200ms | Meilisearch / Typesense dedicado |
|
|
114
|
+
| Custo Vercel > $500/mes | Fatura mensal | Avaliar CloudFront + S3 |
|
|
115
|
+
|
|
116
|
+
### Tier 3 --> Tier 4
|
|
117
|
+
|
|
118
|
+
| Sinal | Metrica | Acao |
|
|
119
|
+
|-------|---------|------|
|
|
120
|
+
| Necessidade de multi-region | Usuarios globais | Aurora Global + CloudFront |
|
|
121
|
+
| Compliance (SOC2, HIPAA) | Requisito de cliente | AWS Organizations + SCPs |
|
|
122
|
+
| Infra manual nao escala | > 20 servicos | IaC (Terraform/CDK) + GitOps |
|
|
123
|
+
| Incidentes frequentes | > 2 outages/mes | Observability completa + chaos engineering |
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## 4. Comparativo de Compute (AWS)
|
|
128
|
+
|
|
129
|
+
| Criterio | Lambda | ECS/Fargate | App Runner | EC2 |
|
|
130
|
+
|----------|--------|-------------|------------|-----|
|
|
131
|
+
| Execucao max | 15 min | Ilimitado | Ilimitado | Ilimitado |
|
|
132
|
+
| Cold start | 200ms-15s | 30-60s | Rapido | N/A |
|
|
133
|
+
| Scaling | ms (auto) | min (auto) | Auto | ASG (min) |
|
|
134
|
+
| Complexidade | Baixa | Media-Alta | Baixa | Alta |
|
|
135
|
+
| Melhor para | Event-driven, APIs | Containers, sustentado | MVPs, simples | Legacy, GPU |
|
|
136
|
+
|
|
137
|
+
**Decision tree:**
|
|
138
|
+
```
|
|
139
|
+
Execucao > 15 min?
|
|
140
|
+
|-- SIM --> Containers (ECS/Fargate) ou EC2
|
|
141
|
+
|-- NAO --> Event-driven ou HTTP API leve?
|
|
142
|
+
|-- SIM --> Lambda
|
|
143
|
+
+-- NAO --> Equipe sabe containers?
|
|
144
|
+
|-- SIM --> ECS/Fargate
|
|
145
|
+
+-- NAO --> App Runner
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Breakeven serverless vs containers:** ~15 req/s sustentados. Abaixo = Lambda mais barato. Acima = containers mais custo-efetivos.
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## 5. Comparativo de Storage (AWS)
|
|
153
|
+
|
|
154
|
+
| Criterio | S3 | EBS | EFS |
|
|
155
|
+
|----------|-----|-----|-----|
|
|
156
|
+
| Tipo | Object | Block | File (NFS) |
|
|
157
|
+
| Durabilidade | 11 nines | 5 nines | 11 nines |
|
|
158
|
+
| Custo/GB/mes | $0.023 | $0.08 | $0.30 |
|
|
159
|
+
| Melhor para | Objetos, backups, static | Databases, boot volumes | Shared filesystems |
|
|
160
|
+
|
|
161
|
+
**Regra:** EBS para velocidade, EFS para acesso compartilhado, S3 para escala e custo.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 6. Deployment Strategies
|
|
166
|
+
|
|
167
|
+
| Estrategia | Custo Infra | Rollback | Risco | Melhor Para |
|
|
168
|
+
|-----------|-------------|----------|-------|-------------|
|
|
169
|
+
| Blue/Green | 2x (dobro) | Instantaneo | Medio | Releases maiores |
|
|
170
|
+
| Canary | +pequeno | Rapido | Baixo | Apps de alta evolucao |
|
|
171
|
+
| Rolling Update | Existente | Lento | Medio | Mudancas incrementais |
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
Orcamento para dobrar infra?
|
|
175
|
+
|-- SIM --> Blue/Green
|
|
176
|
+
|-- NAO --> Controle fino de % de usuarios?
|
|
177
|
+
|-- SIM --> Canary
|
|
178
|
+
+-- NAO --> Rolling Update
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## 7. IaC Decision Framework
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
100% AWS?
|
|
187
|
+
|-- SIM --> Prefere linguagens de programacao?
|
|
188
|
+
| |-- SIM --> AWS CDK
|
|
189
|
+
| +-- NAO --> CloudFormation
|
|
190
|
+
+-- NAO --> Equipe de infra ou dev?
|
|
191
|
+
|-- INFRA --> Terraform
|
|
192
|
+
+-- DEV --> Pulumi
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## 8. Load Testing Quick Reference
|
|
198
|
+
|
|
199
|
+
| Tipo de Teste | Pergunta que Responde | Quando Usar |
|
|
200
|
+
|--------------|----------------------|-------------|
|
|
201
|
+
| Smoke | Script funciona? | Antes de todo teste |
|
|
202
|
+
| Load | Performa sob carga normal? | Pre-lancamento |
|
|
203
|
+
| Stress | O que acontece alem do normal? | Pre-lancamento |
|
|
204
|
+
| Spike | Sobrevive a picos (Black Friday)? | Pre-evento |
|
|
205
|
+
| Soak | Memory leaks? Degradacao? | Pos-lancamento |
|
|
206
|
+
| Breakpoint | Capacidade maxima? | Capacity planning |
|
|
207
|
+
|
|
208
|
+
**Ferramenta recomendada:** k6 (JS/TS nativo, CI/CD, thresholds como SLOs).
|
|
209
|
+
|
|
210
|
+
**Metricas-chave (NUNCA usar media):**
|
|
211
|
+
- p50 < 200ms | p95 < 500ms | p99 < 1000ms
|
|
212
|
+
- Error rate < 0.1%
|
|
213
|
+
- CPU < 70% sustentado
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## 9. Cross-References
|
|
218
|
+
|
|
219
|
+
- Database scaling: ver `database-scaling-patterns.md`
|
|
220
|
+
- Environments e secrets: ver `environment-deployment-patterns.md`
|
|
221
|
+
- Security pre-deploy: ver `security-pre-deploy-checklist.md`
|
|
@@ -0,0 +1,410 @@
|
|
|
1
|
+
# Security Pre-Deploy Checklist
|
|
2
|
+
|
|
3
|
+
> **Agente(s):** @quality-gate (Quinn), @cyber-orqx (Fortress)
|
|
4
|
+
> **Fonte:** security-hardening-enterprise.md
|
|
5
|
+
> **Uso:** Executar ANTES de cada deploy para producao. Checklist tiered por maturidade do projeto.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. Checklist por Tier
|
|
10
|
+
|
|
11
|
+
### Tier MVP (10 items) -- Minimo absoluto para ir ao ar
|
|
12
|
+
|
|
13
|
+
- [ ] **RLS ativado** em TODAS as tabelas com dados de usuario
|
|
14
|
+
- [ ] **service_role** NAO exposto no frontend (grep: `service_role` em `src/`, `app/`, `pages/`)
|
|
15
|
+
- [ ] **API keys** nao hardcoded no codigo (scan: `npx gitleaks detect --source=.`)
|
|
16
|
+
- [ ] **HTTPS** forcado (HSTS header configurado)
|
|
17
|
+
- [ ] **Input validation** com Zod/Joi em todos os endpoints
|
|
18
|
+
- [ ] **Rate limiting** em endpoints de auth (max 5 req/15min)
|
|
19
|
+
- [ ] **CORS** restrito a origens conhecidas (nunca `origin: '*'`)
|
|
20
|
+
- [ ] **npm audit** sem vulnerabilidades critical/high (`npm audit --audit-level=high`)
|
|
21
|
+
- [ ] **.env** no .gitignore + `.env.example` commitado com placeholders
|
|
22
|
+
- [ ] **Senhas/tokens default** removidos (nenhum admin/admin, test/test)
|
|
23
|
+
|
|
24
|
+
### Tier Growth (+10 items = 20 total)
|
|
25
|
+
|
|
26
|
+
- [ ] **MFA ativado** em contas admin/cloud/prod (licao #1 dos maiores breaches)
|
|
27
|
+
- [ ] **Security headers** configurados (helmet ou next.config.js)
|
|
28
|
+
- [ ] **NEXT_PUBLIC_** nao contem secrets (grep em `.env*`)
|
|
29
|
+
- [ ] **Parameterized queries** em todo SQL (nunca string concatenation)
|
|
30
|
+
- [ ] **Error handling** seguro (sem stack traces em producao)
|
|
31
|
+
- [ ] **JWT** com expiracao curta (access: 15-30min, refresh: 7-14 dias)
|
|
32
|
+
- [ ] **Cookie** de sessao: httpOnly, secure, sameSite strict
|
|
33
|
+
- [ ] **Dependabot/Renovate** configurado para PRs automaticos
|
|
34
|
+
- [ ] **Branch protection** ativa em main (require PR + review)
|
|
35
|
+
- [ ] **Secret scanning** habilitado no GitHub
|
|
36
|
+
|
|
37
|
+
### Tier Enterprise (+15 items = 35 total)
|
|
38
|
+
|
|
39
|
+
- [ ] **WAF** configurado (Cloudflare WAF ou AWS WAF com CRS)
|
|
40
|
+
- [ ] **SAST** no CI/CD (Semgrep ou CodeQL em PRs)
|
|
41
|
+
- [ ] **SCA** com behavioral analysis (Socket.dev)
|
|
42
|
+
- [ ] **DAST** contra staging (OWASP ZAP em CI)
|
|
43
|
+
- [ ] **SBOM** gerado e atualizado (`npm sbom --sbom-format cyclonedx`)
|
|
44
|
+
- [ ] **GitHub Actions** pinned por hash (nao por tag)
|
|
45
|
+
- [ ] **LGPD** compliance (consentimento, portal de direitos, DPO designado)
|
|
46
|
+
- [ ] **Logging** centralizado de falhas de autorizacao
|
|
47
|
+
- [ ] **Backup** verificado nos ultimos 90 dias
|
|
48
|
+
- [ ] **Incident response** plan documentado
|
|
49
|
+
- [ ] **KMS** com keys separadas por servico
|
|
50
|
+
- [ ] **VPC/Network** segmentado (public/private subnets)
|
|
51
|
+
- [ ] **GuardDuty** ou equivalente em todas as contas
|
|
52
|
+
- [ ] **Passkeys/WebAuthn** como opcao de autenticacao
|
|
53
|
+
- [ ] **SRI** (Subresource Integrity) em scripts externos
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 2. OWASP Top 10:2025 -- Quick-Fix Patterns
|
|
58
|
+
|
|
59
|
+
### A01: Broken Access Control (#1)
|
|
60
|
+
|
|
61
|
+
```javascript
|
|
62
|
+
// PROIBIDO: Confiar em parametros do client
|
|
63
|
+
app.get('/api/users/:id', (req, res) => {
|
|
64
|
+
const profile = await db.getUserProfile(req.params.id); // IDOR!
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
// CORRETO: Validar ownership
|
|
68
|
+
app.get('/api/users/:id', authenticate, (req, res) => {
|
|
69
|
+
if (req.params.id !== req.user.id && !req.user.roles.includes('admin')) {
|
|
70
|
+
return res.status(403).json({ error: 'Forbidden' });
|
|
71
|
+
}
|
|
72
|
+
const profile = await db.getUserProfile(req.params.id);
|
|
73
|
+
});
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
```sql
|
|
77
|
+
-- RLS obrigatorio em Supabase
|
|
78
|
+
ALTER TABLE user_profiles ENABLE ROW LEVEL SECURITY;
|
|
79
|
+
CREATE POLICY "users_read_own" ON user_profiles FOR SELECT
|
|
80
|
+
USING ((SELECT auth.uid()) = user_id);
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### A02: Security Misconfiguration (#2 -- subiu de #5)
|
|
84
|
+
|
|
85
|
+
```javascript
|
|
86
|
+
// PROIBIDO: Stack traces em producao
|
|
87
|
+
res.status(500).json({ error: err.stack });
|
|
88
|
+
|
|
89
|
+
// CORRETO: Mensagem generica + log interno
|
|
90
|
+
logger.error('Internal error', { error: err.message, requestId: req.id });
|
|
91
|
+
res.status(500).json({ error: 'Internal server error', requestId: req.id });
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
```javascript
|
|
95
|
+
// next.config.js -- desabilitar headers reveladores
|
|
96
|
+
module.exports = {
|
|
97
|
+
poweredByHeader: false,
|
|
98
|
+
headers: async () => [{
|
|
99
|
+
source: '/:path*',
|
|
100
|
+
headers: [
|
|
101
|
+
{ key: 'X-Frame-Options', value: 'DENY' },
|
|
102
|
+
{ key: 'X-Content-Type-Options', value: 'nosniff' },
|
|
103
|
+
{ key: 'Referrer-Policy', value: 'strict-origin-when-cross-origin' },
|
|
104
|
+
],
|
|
105
|
+
}],
|
|
106
|
+
};
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### A03: Supply Chain Failures (NOVA)
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# CI: usar npm ci (NUNCA npm install)
|
|
113
|
+
npm ci
|
|
114
|
+
|
|
115
|
+
# Pinnar GitHub Actions por hash
|
|
116
|
+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
117
|
+
|
|
118
|
+
# Verificar integridade de scripts externos (SRI)
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
```html
|
|
122
|
+
<script
|
|
123
|
+
src="https://cdn.example.com/analytics.js"
|
|
124
|
+
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+..."
|
|
125
|
+
crossorigin="anonymous"
|
|
126
|
+
></script>
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### A05: Injection (#5)
|
|
130
|
+
|
|
131
|
+
```javascript
|
|
132
|
+
// PROIBIDO: SQL Injection
|
|
133
|
+
const query = `SELECT * FROM users WHERE email = '${userInput}'`;
|
|
134
|
+
|
|
135
|
+
// CORRETO: Parameterized
|
|
136
|
+
const query = 'SELECT * FROM users WHERE email = $1';
|
|
137
|
+
await db.query(query, [userInput]);
|
|
138
|
+
|
|
139
|
+
// Supabase: ja parametrizado
|
|
140
|
+
const { data } = await supabase.from('users').select('*').eq('email', userInput);
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### A07: Authentication Failures
|
|
144
|
+
|
|
145
|
+
```javascript
|
|
146
|
+
// Rate limiting em login (anti brute-force)
|
|
147
|
+
const authLimiter = rateLimit({
|
|
148
|
+
windowMs: 15 * 60 * 1000, // 15 min
|
|
149
|
+
max: 5,
|
|
150
|
+
keyGenerator: (req) => req.body.email || req.ip,
|
|
151
|
+
});
|
|
152
|
+
app.post('/api/auth/login', authLimiter, loginHandler);
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## 3. Supply Chain Security Checks
|
|
158
|
+
|
|
159
|
+
### Ferramentas por Fase
|
|
160
|
+
|
|
161
|
+
| Fase | Ferramenta | Comando/Config |
|
|
162
|
+
|------|-----------|----------------|
|
|
163
|
+
| Pre-commit | gitleaks | `npx gitleaks detect --source=.` |
|
|
164
|
+
| PR | npm audit | `npm audit --audit-level=high` |
|
|
165
|
+
| PR | Socket.dev | GitHub App (automatico) |
|
|
166
|
+
| Merge | CodeQL | GitHub Advanced Security |
|
|
167
|
+
| Continuous | Dependabot/Renovate | `.github/dependabot.yml` |
|
|
168
|
+
|
|
169
|
+
### npm audit no CI
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
# OBRIGATORIO: falhar build se vulnerabilidades critical/high
|
|
173
|
+
npm audit --audit-level=high
|
|
174
|
+
|
|
175
|
+
# Gerar SBOM
|
|
176
|
+
npm sbom --sbom-format cyclonedx > sbom.json
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Dependabot Config Minimo
|
|
180
|
+
|
|
181
|
+
```yaml
|
|
182
|
+
# .github/dependabot.yml
|
|
183
|
+
version: 2
|
|
184
|
+
updates:
|
|
185
|
+
- package-ecosystem: "npm"
|
|
186
|
+
directory: "/"
|
|
187
|
+
schedule:
|
|
188
|
+
interval: "weekly"
|
|
189
|
+
open-pull-requests-limit: 10
|
|
190
|
+
reviewers:
|
|
191
|
+
- "team/devs"
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Lockfile Integrity
|
|
195
|
+
|
|
196
|
+
```json
|
|
197
|
+
// package.json -- versoes exatas (nao ranges)
|
|
198
|
+
{
|
|
199
|
+
"dependencies": {
|
|
200
|
+
"express": "4.21.2", // exato
|
|
201
|
+
"lodash": "~4.17.21" // patch only
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
**Regra:** SEMPRE usar `npm ci` no CI. NUNCA `npm install` (pode atualizar lockfile).
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## 4. LGPD Compliance Checklist (Lei Brasileira)
|
|
211
|
+
|
|
212
|
+
- [ ] **Consentimento** explicito antes de coletar dados pessoais (Art. 7-8)
|
|
213
|
+
- [ ] **Portal de direitos** do titular: acesso, correcao, exclusao (Art. 18)
|
|
214
|
+
- [ ] **DPO/Encarregado** designado (Art. 41)
|
|
215
|
+
- [ ] **Politica de privacidade** publicada e acessivel (Art. 9)
|
|
216
|
+
- [ ] **Notificacao de breach** em ate 3 dias uteis (Resolucao 15)
|
|
217
|
+
- [ ] **Data retention** com periodos definidos e documentados
|
|
218
|
+
- [ ] **Transferencia internacional** com SCCs se aplicavel (Art. 33)
|
|
219
|
+
- [ ] **Dados de criancas** com consentimento dos pais (Art. 14)
|
|
220
|
+
- [ ] **Audit logging** de todo acesso a dados pessoais
|
|
221
|
+
- [ ] **Anonimizacao** de dados em ambientes de staging/dev
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## 5. Secret Scanning Commands
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
# Gitleaks -- detectar secrets no historico git
|
|
229
|
+
npx gitleaks detect --source=. --verbose
|
|
230
|
+
|
|
231
|
+
# Verificar secrets em arquivos staged
|
|
232
|
+
npx gitleaks protect --staged
|
|
233
|
+
|
|
234
|
+
# npm provenance -- verificar origem de pacotes
|
|
235
|
+
npm audit signatures
|
|
236
|
+
|
|
237
|
+
# Grep manual por patterns comuns
|
|
238
|
+
# (usar Grep tool, nao bash grep)
|
|
239
|
+
# Patterns: sk_live_, sk_test_, AKIA, ghp_, gho_
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### Patterns de Secrets para Detectar
|
|
243
|
+
|
|
244
|
+
| Pattern | Tipo | Risco |
|
|
245
|
+
|---------|------|-------|
|
|
246
|
+
| `sk_live_` | Stripe Secret Key | Critico |
|
|
247
|
+
| `sk_test_` | Stripe Test Key | Alto |
|
|
248
|
+
| `AKIA` | AWS Access Key | Critico |
|
|
249
|
+
| `ghp_` / `gho_` | GitHub Personal/OAuth Token | Alto |
|
|
250
|
+
| `eyJ` (base64 JWT) | JWT hardcoded | Alto |
|
|
251
|
+
| `-----BEGIN RSA` | Private key | Critico |
|
|
252
|
+
| `service_role` | Supabase service key | Critico |
|
|
253
|
+
| `mongodb+srv://` com senha | MongoDB conn string | Critico |
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## 6. RLS Validation Queries
|
|
258
|
+
|
|
259
|
+
```sql
|
|
260
|
+
-- Verificar tabelas SEM RLS (BLOCKER)
|
|
261
|
+
SELECT schemaname, tablename
|
|
262
|
+
FROM pg_tables
|
|
263
|
+
WHERE schemaname = 'public'
|
|
264
|
+
AND tablename NOT IN ('_prisma_migrations', 'schema_migrations')
|
|
265
|
+
AND NOT rowsecurity;
|
|
266
|
+
|
|
267
|
+
-- Verificar tabelas com RLS mas SEM policies (falso senso de seguranca)
|
|
268
|
+
SELECT t.tablename
|
|
269
|
+
FROM pg_tables t
|
|
270
|
+
LEFT JOIN pg_policies p ON t.tablename = p.tablename
|
|
271
|
+
WHERE t.schemaname = 'public'
|
|
272
|
+
AND t.rowsecurity = true
|
|
273
|
+
GROUP BY t.tablename
|
|
274
|
+
HAVING COUNT(p.policyname) = 0;
|
|
275
|
+
|
|
276
|
+
-- Listar todas as policies ativas
|
|
277
|
+
SELECT tablename, policyname, permissive, roles, cmd, qual
|
|
278
|
+
FROM pg_policies
|
|
279
|
+
WHERE schemaname = 'public'
|
|
280
|
+
ORDER BY tablename;
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## 7. API Security Headers Checklist
|
|
286
|
+
|
|
287
|
+
### Headers Obrigatorios
|
|
288
|
+
|
|
289
|
+
| Header | Valor | Funcao |
|
|
290
|
+
|--------|-------|--------|
|
|
291
|
+
| `Content-Security-Policy` | Strict com nonces | Previne XSS |
|
|
292
|
+
| `Strict-Transport-Security` | `max-age=63072000; includeSubDomains; preload` | Forca HTTPS |
|
|
293
|
+
| `X-Frame-Options` | `DENY` | Previne clickjacking |
|
|
294
|
+
| `X-Content-Type-Options` | `nosniff` | Previne MIME sniffing |
|
|
295
|
+
| `Referrer-Policy` | `strict-origin-when-cross-origin` | Controla referer |
|
|
296
|
+
| `Permissions-Policy` | `camera=(), microphone=(), geolocation=()` | Restringe browser APIs |
|
|
297
|
+
|
|
298
|
+
### Implementacao com helmet
|
|
299
|
+
|
|
300
|
+
```javascript
|
|
301
|
+
import helmet from 'helmet';
|
|
302
|
+
|
|
303
|
+
app.use(helmet({
|
|
304
|
+
contentSecurityPolicy: {
|
|
305
|
+
directives: {
|
|
306
|
+
defaultSrc: ["'self'"],
|
|
307
|
+
scriptSrc: ["'self'"],
|
|
308
|
+
imgSrc: ["'self'", 'data:', 'https://cdn.myapp.com'],
|
|
309
|
+
connectSrc: ["'self'", 'https://api.myapp.com', 'https://*.supabase.co'],
|
|
310
|
+
objectSrc: ["'none'"],
|
|
311
|
+
frameAncestors: ["'none'"],
|
|
312
|
+
},
|
|
313
|
+
},
|
|
314
|
+
strictTransportSecurity: { maxAge: 63072000, includeSubDomains: true, preload: true },
|
|
315
|
+
xFrameOptions: { action: 'deny' },
|
|
316
|
+
}));
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## 8. Rate Limiting por Endpoint
|
|
322
|
+
|
|
323
|
+
| Endpoint | Limite | Janela | Justificativa |
|
|
324
|
+
|----------|--------|--------|---------------|
|
|
325
|
+
| Login/Register | 5 req | 15 min | Anti brute-force |
|
|
326
|
+
| Password reset | 3 req | 1 hora | Anti abuso |
|
|
327
|
+
| API geral (auth) | 100 req | 1 min | Uso normal |
|
|
328
|
+
| API geral (public) | 30 req | 1 min | Prevenir abuso |
|
|
329
|
+
| Upload | 10 req | 1 hora | Recursos custosos |
|
|
330
|
+
| Webhook | 1000 req | 1 min | Volume alto esperado |
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
## 9. Input Validation Pattern (Zod)
|
|
335
|
+
|
|
336
|
+
```typescript
|
|
337
|
+
import { z } from 'zod';
|
|
338
|
+
|
|
339
|
+
const CreateUserSchema = z.object({
|
|
340
|
+
email: z.string().email().max(255).transform(v => v.toLowerCase().trim()),
|
|
341
|
+
name: z.string().min(2).max(100),
|
|
342
|
+
role: z.enum(['viewer', 'editor', 'admin']).default('viewer'),
|
|
343
|
+
});
|
|
344
|
+
|
|
345
|
+
app.post('/api/users', async (req, res) => {
|
|
346
|
+
const result = CreateUserSchema.safeParse(req.body);
|
|
347
|
+
if (!result.success) {
|
|
348
|
+
return res.status(400).json({ error: 'Validation failed', details: result.error.flatten() });
|
|
349
|
+
}
|
|
350
|
+
const user = await createUser(result.data);
|
|
351
|
+
res.json(user);
|
|
352
|
+
});
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
---
|
|
356
|
+
|
|
357
|
+
## 10. CI/CD Security Pipeline (GitHub Actions)
|
|
358
|
+
|
|
359
|
+
```yaml
|
|
360
|
+
name: Security Scanning
|
|
361
|
+
on:
|
|
362
|
+
pull_request:
|
|
363
|
+
branches: [main]
|
|
364
|
+
|
|
365
|
+
jobs:
|
|
366
|
+
sast:
|
|
367
|
+
runs-on: ubuntu-latest
|
|
368
|
+
container: { image: semgrep/semgrep }
|
|
369
|
+
steps:
|
|
370
|
+
- uses: actions/checkout@v4
|
|
371
|
+
- run: semgrep scan --config auto --sarif --output semgrep.sarif
|
|
372
|
+
|
|
373
|
+
sca:
|
|
374
|
+
runs-on: ubuntu-latest
|
|
375
|
+
steps:
|
|
376
|
+
- uses: actions/checkout@v4
|
|
377
|
+
- run: npm ci
|
|
378
|
+
- run: npm audit --audit-level=high
|
|
379
|
+
|
|
380
|
+
secrets:
|
|
381
|
+
runs-on: ubuntu-latest
|
|
382
|
+
steps:
|
|
383
|
+
- uses: actions/checkout@v4
|
|
384
|
+
with: { fetch-depth: 0 }
|
|
385
|
+
- uses: gitleaks/gitleaks-action@v2
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
---
|
|
389
|
+
|
|
390
|
+
## 11. Auth Best Practices Quick-Reference
|
|
391
|
+
|
|
392
|
+
| Pratica | Recomendacao |
|
|
393
|
+
|---------|-------------|
|
|
394
|
+
| Algoritmo JWT | RS256 (assimetrico) |
|
|
395
|
+
| Access token TTL | 15-30 minutos |
|
|
396
|
+
| Refresh token TTL | 7-14 dias |
|
|
397
|
+
| Storage browser | httpOnly cookie (NUNCA localStorage) |
|
|
398
|
+
| MFA recomendado | Passkeys > TOTP > Push > SMS |
|
|
399
|
+
| OAuth flow | Authorization Code + PKCE (sempre) |
|
|
400
|
+
| Implicit flow | NUNCA usar (deprecated) |
|
|
401
|
+
| Key rotation | A cada 90 dias |
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## 12. Cross-References
|
|
406
|
+
|
|
407
|
+
- Infrastructure security por tier: ver `infrastructure-decision-framework.md`
|
|
408
|
+
- Secrets management tools: ver `environment-deployment-patterns.md`
|
|
409
|
+
- RLS optimization patterns: ver `database-scaling-patterns.md`
|
|
410
|
+
- Constitution Article X (Security): ver `.claude/rules/security-data-protection.md`
|