@maestro-ai/mcp-server 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +227 -0
- package/dist/analyzers/base.d.ts +64 -0
- package/dist/analyzers/base.d.ts.map +1 -0
- package/dist/analyzers/base.js +104 -0
- package/dist/analyzers/base.js.map +1 -0
- package/dist/analyzers/index.d.ts +12 -0
- package/dist/analyzers/index.d.ts.map +1 -0
- package/dist/analyzers/index.js +31 -0
- package/dist/analyzers/index.js.map +1 -0
- package/dist/analyzers/performance-analyzer.d.ts +11 -0
- package/dist/analyzers/performance-analyzer.d.ts.map +1 -0
- package/dist/analyzers/performance-analyzer.js +162 -0
- package/dist/analyzers/performance-analyzer.js.map +1 -0
- package/dist/analyzers/quality-analyzer.d.ts +11 -0
- package/dist/analyzers/quality-analyzer.d.ts.map +1 -0
- package/dist/analyzers/quality-analyzer.js +196 -0
- package/dist/analyzers/quality-analyzer.js.map +1 -0
- package/dist/analyzers/security-analyzer.d.ts +11 -0
- package/dist/analyzers/security-analyzer.d.ts.map +1 -0
- package/dist/analyzers/security-analyzer.js +177 -0
- package/dist/analyzers/security-analyzer.js.map +1 -0
- package/dist/content/content/design-system/README.md +231 -0
- package/dist/content/content/design-system/data/charts.csv +26 -0
- package/dist/content/content/design-system/data/colors.csv +97 -0
- package/dist/content/content/design-system/data/icons.csv +101 -0
- package/dist/content/content/design-system/data/landing.csv +31 -0
- package/dist/content/content/design-system/data/products.csv +97 -0
- package/dist/content/content/design-system/data/prompts.csv +24 -0
- package/dist/content/content/design-system/data/react-performance.csv +45 -0
- package/dist/content/content/design-system/data/styles.csv +59 -0
- package/dist/content/content/design-system/data/typography.csv +58 -0
- package/dist/content/content/design-system/data/ui-reasoning.csv +101 -0
- package/dist/content/content/design-system/data/ux-guidelines.csv +100 -0
- package/dist/content/content/design-system/data/web-interface.csv +31 -0
- package/dist/content/content/design-system/indexes/README.md +211 -0
- package/dist/content/content/design-system/indexes/colors-index.md +156 -0
- package/dist/content/content/design-system/indexes/quick-search.md +111 -0
- package/dist/content/content/design-system/indexes/stacks-index.md +341 -0
- package/dist/content/content/design-system/stacks/flutter.csv +53 -0
- package/dist/content/content/design-system/stacks/html-tailwind.csv +56 -0
- package/dist/content/content/design-system/stacks/jetpack-compose.csv +53 -0
- package/dist/content/content/design-system/stacks/nextjs.csv +53 -0
- package/dist/content/content/design-system/stacks/nuxt-ui.csv +51 -0
- package/dist/content/content/design-system/stacks/nuxtjs.csv +59 -0
- package/dist/content/content/design-system/stacks/react-native.csv +52 -0
- package/dist/content/content/design-system/stacks/react.csv +54 -0
- package/dist/content/content/design-system/stacks/shadcn.csv +61 -0
- package/dist/content/content/design-system/stacks/svelte.csv +54 -0
- package/dist/content/content/design-system/stacks/swiftui.csv +51 -0
- package/dist/content/content/design-system/stacks/vue.csv +50 -0
- package/dist/content/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +250 -0
- package/dist/content/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +278 -0
- package/dist/content/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +261 -0
- package/dist/content/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +258 -0
- package/dist/content/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +119 -0
- package/dist/content/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +147 -0
- package/dist/content/content/guides/Checklist Mestre de Entrega.md +68 -0
- package/dist/content/content/guides/Gates de Qualidade.md +209 -0
- package/dist/content/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +355 -0
- package/dist/content/content/guides/Guia de Chaos Engineering.md +267 -0
- package/dist/content/content/guides/Guia de Debugging com IA.md +135 -0
- package/dist/content/content/guides/Guia de Estrat/303/251gias de Cache.md" +352 -0
- package/dist/content/content/guides/Guia de Migrations Zero-Downtime.md +311 -0
- package/dist/content/content/guides/Guia de Multi-tenancy.md +368 -0
- package/dist/content/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +195 -0
- package/dist/content/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +162 -0
- package/dist/content/content/guides/Guia de SLOs e Error Budgets.md +315 -0
- package/dist/content/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +93 -0
- package/dist/content/content/guides/Rules base.md +90 -0
- package/dist/content/content/playbook/Playbook de Desenvolvimento com IA.md +364 -0
- package/dist/content/content/prompts/README.md +203 -0
- package/dist/content/content/prompts/acessibilidade/analise-acessibilidade.md +257 -0
- package/dist/content/content/prompts/apis/design-api-rest.md +303 -0
- package/dist/content/content/prompts/apis/idempotencia.md +254 -0
- package/dist/content/content/prompts/apis/versionamento.md +313 -0
- package/dist/content/content/prompts/arquitetura/arquitetura-c4-completo.md +190 -0
- package/dist/content/content/prompts/arquitetura/clean-architecture.md +151 -0
- package/dist/content/content/prompts/arquitetura/ddd-bounded-contexts.md +183 -0
- package/dist/content/content/prompts/arquitetura/ddd-cqrs.md +176 -0
- package/dist/content/content/prompts/arquitetura/modelo-dominio.md +207 -0
- package/dist/content/content/prompts/arquitetura/multi-tenancy.md +235 -0
- package/dist/content/content/prompts/database/migrations-zero-downtime.md +192 -0
- package/dist/content/content/prompts/database/otimizacao-queries.md +296 -0
- package/dist/content/content/prompts/desenvolvimento/code-review.md +301 -0
- package/dist/content/content/prompts/desenvolvimento/gerar-servico.md +271 -0
- package/dist/content/content/prompts/devops/docker-compose.md +336 -0
- package/dist/content/content/prompts/devops/feature-flags.md +374 -0
- package/dist/content/content/prompts/devops/kubernetes-deploy.md +460 -0
- package/dist/content/content/prompts/devops/pipeline-cicd.md +358 -0
- package/dist/content/content/prompts/devops/terraform-iac.md +502 -0
- package/dist/content/content/prompts/escalabilidade/analise-performance.md +240 -0
- package/dist/content/content/prompts/escalabilidade/analise-performance.txt +94 -0
- package/dist/content/content/prompts/escalabilidade/caching.md +255 -0
- package/dist/content/content/prompts/observabilidade/chaos-testing.md +237 -0
- package/dist/content/content/prompts/observabilidade/estrategia-observabilidade.md +263 -0
- package/dist/content/content/prompts/observabilidade/estrategia-observabilidade.txt +134 -0
- package/dist/content/content/prompts/observabilidade/slos.md +215 -0
- package/dist/content/content/prompts/produto/discovery-inicial.md +203 -0
- package/dist/content/content/prompts/produto/discovery-inicial.txt +33 -0
- package/dist/content/content/prompts/requisitos/refinar-requisitos.md +232 -0
- package/dist/content/content/prompts/requisitos/refinar-requisitos.txt +40 -0
- package/dist/content/content/prompts/seguranca/analise-seguranca.md +243 -0
- package/dist/content/content/prompts/seguranca/pentest-checklist.md +333 -0
- package/dist/content/content/prompts/seguranca/rate-limiting.md +356 -0
- package/dist/content/content/prompts/seguranca/revisao-lgpd.md +227 -0
- package/dist/content/content/prompts/seguranca/threat-modeling.md +224 -0
- package/dist/content/content/prompts/testes/contract-testing.md +340 -0
- package/dist/content/content/prompts/testes/gerar-testes-unitarios.md +474 -0
- package/dist/content/content/prompts/testes/testes-e2e.md +460 -0
- package/dist/content/content/prompts/testes/testes-integracao.md +418 -0
- package/dist/content/content/prompts/testes/testes-performance.md +458 -0
- package/dist/content/content/prompts/ux/gerar-ui-stitch.md +151 -0
- package/dist/content/content/rules/GEMINI.md +841 -0
- package/dist/content/content/rules/RULES.md +835 -0
- package/dist/content/content/rules/adapters/copilot.md +10 -0
- package/dist/content/content/rules/adapters/cursor.md +10 -0
- package/dist/content/content/rules/adapters/gemini.md +13 -0
- package/dist/content/content/rules/adapters/windsurf.md +10 -0
- package/dist/content/content/skills/api-patterns/SKILL.md +81 -0
- package/dist/content/content/skills/api-patterns/api-style.md +42 -0
- package/dist/content/content/skills/api-patterns/auth.md +24 -0
- package/dist/content/content/skills/api-patterns/documentation.md +26 -0
- package/dist/content/content/skills/api-patterns/graphql.md +41 -0
- package/dist/content/content/skills/api-patterns/rate-limiting.md +31 -0
- package/dist/content/content/skills/api-patterns/response.md +37 -0
- package/dist/content/content/skills/api-patterns/rest.md +40 -0
- package/dist/content/content/skills/api-patterns/scripts/api_validator.py +211 -0
- package/dist/content/content/skills/api-patterns/security-testing.md +122 -0
- package/dist/content/content/skills/api-patterns/trpc.md +41 -0
- package/dist/content/content/skills/api-patterns/versioning.md +22 -0
- package/dist/content/content/skills/app-builder/SKILL.md +75 -0
- package/dist/content/content/skills/app-builder/agent-coordination.md +71 -0
- package/dist/content/content/skills/app-builder/feature-building.md +53 -0
- package/dist/content/content/skills/app-builder/project-detection.md +34 -0
- package/dist/content/content/skills/app-builder/scaffolding.md +118 -0
- package/dist/content/content/skills/app-builder/tech-stack.md +40 -0
- package/dist/content/content/skills/app-builder/templates/SKILL.md +39 -0
- package/dist/content/content/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/dist/content/content/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/dist/content/content/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/dist/content/content/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/dist/content/content/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/dist/content/content/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/dist/content/content/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/dist/content/content/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/dist/content/content/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/dist/content/content/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/dist/content/content/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/dist/content/content/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/dist/content/content/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/dist/content/content/skills/architecture/SKILL.md +55 -0
- package/dist/content/content/skills/architecture/context-discovery.md +43 -0
- package/dist/content/content/skills/architecture/examples.md +94 -0
- package/dist/content/content/skills/architecture/pattern-selection.md +68 -0
- package/dist/content/content/skills/architecture/patterns-reference.md +50 -0
- package/dist/content/content/skills/architecture/trade-off-analysis.md +77 -0
- package/dist/content/content/skills/bash-linux/SKILL.md +199 -0
- package/dist/content/content/skills/behavioral-modes/SKILL.md +242 -0
- package/dist/content/content/skills/brainstorming/SKILL.md +163 -0
- package/dist/content/content/skills/brainstorming/dynamic-questioning.md +350 -0
- package/dist/content/content/skills/clean-code/SKILL.md +201 -0
- package/dist/content/content/skills/code-review-checklist/SKILL.md +109 -0
- package/dist/content/content/skills/database-design/SKILL.md +52 -0
- package/dist/content/content/skills/database-design/database-selection.md +43 -0
- package/dist/content/content/skills/database-design/indexing.md +39 -0
- package/dist/content/content/skills/database-design/migrations.md +48 -0
- package/dist/content/content/skills/database-design/optimization.md +36 -0
- package/dist/content/content/skills/database-design/orm-selection.md +30 -0
- package/dist/content/content/skills/database-design/schema-design.md +56 -0
- package/dist/content/content/skills/database-design/scripts/schema_validator.py +172 -0
- package/dist/content/content/skills/deployment-procedures/SKILL.md +241 -0
- package/dist/content/content/skills/doc.md +177 -0
- package/dist/content/content/skills/documentation-templates/SKILL.md +194 -0
- package/dist/content/content/skills/frontend-design/SKILL.md +396 -0
- package/dist/content/content/skills/frontend-design/animation-guide.md +331 -0
- package/dist/content/content/skills/frontend-design/color-system.md +311 -0
- package/dist/content/content/skills/frontend-design/decision-trees.md +418 -0
- package/dist/content/content/skills/frontend-design/motion-graphics.md +306 -0
- package/dist/content/content/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/dist/content/content/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/dist/content/content/skills/frontend-design/typography-system.md +345 -0
- package/dist/content/content/skills/frontend-design/ux-psychology.md +541 -0
- package/dist/content/content/skills/frontend-design/visual-effects.md +383 -0
- package/dist/content/content/skills/game-development/2d-games/SKILL.md +119 -0
- package/dist/content/content/skills/game-development/3d-games/SKILL.md +135 -0
- package/dist/content/content/skills/game-development/SKILL.md +167 -0
- package/dist/content/content/skills/game-development/game-art/SKILL.md +185 -0
- package/dist/content/content/skills/game-development/game-audio/SKILL.md +190 -0
- package/dist/content/content/skills/game-development/game-design/SKILL.md +129 -0
- package/dist/content/content/skills/game-development/mobile-games/SKILL.md +108 -0
- package/dist/content/content/skills/game-development/multiplayer/SKILL.md +132 -0
- package/dist/content/content/skills/game-development/pc-games/SKILL.md +144 -0
- package/dist/content/content/skills/game-development/vr-ar/SKILL.md +123 -0
- package/dist/content/content/skills/game-development/web-games/SKILL.md +150 -0
- package/dist/content/content/skills/geo-fundamentals/SKILL.md +156 -0
- package/dist/content/content/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/dist/content/content/skills/i18n-localization/SKILL.md +154 -0
- package/dist/content/content/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/dist/content/content/skills/intelligent-routing/SKILL.md +334 -0
- package/dist/content/content/skills/lint-and-validate/SKILL.md +45 -0
- package/dist/content/content/skills/lint-and-validate/scripts/lint_runner.py +172 -0
- package/dist/content/content/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/dist/content/content/skills/mcp-builder/SKILL.md +176 -0
- package/dist/content/content/skills/mobile-design/SKILL.md +394 -0
- package/dist/content/content/skills/mobile-design/decision-trees.md +516 -0
- package/dist/content/content/skills/mobile-design/mobile-backend.md +491 -0
- package/dist/content/content/skills/mobile-design/mobile-color-system.md +420 -0
- package/dist/content/content/skills/mobile-design/mobile-debugging.md +122 -0
- package/dist/content/content/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/dist/content/content/skills/mobile-design/mobile-navigation.md +458 -0
- package/dist/content/content/skills/mobile-design/mobile-performance.md +767 -0
- package/dist/content/content/skills/mobile-design/mobile-testing.md +356 -0
- package/dist/content/content/skills/mobile-design/mobile-typography.md +433 -0
- package/dist/content/content/skills/mobile-design/platform-android.md +666 -0
- package/dist/content/content/skills/mobile-design/platform-ios.md +561 -0
- package/dist/content/content/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/dist/content/content/skills/mobile-design/touch-psychology.md +537 -0
- package/dist/content/content/skills/nextjs-best-practices/SKILL.md +203 -0
- package/dist/content/content/skills/nodejs-best-practices/SKILL.md +333 -0
- package/dist/content/content/skills/parallel-agents/SKILL.md +175 -0
- package/dist/content/content/skills/performance-profiling/SKILL.md +143 -0
- package/dist/content/content/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/dist/content/content/skills/plan-writing/SKILL.md +152 -0
- package/dist/content/content/skills/powershell-windows/SKILL.md +167 -0
- package/dist/content/content/skills/python-patterns/SKILL.md +441 -0
- package/dist/content/content/skills/react-patterns/SKILL.md +198 -0
- package/dist/content/content/skills/red-team-tactics/SKILL.md +199 -0
- package/dist/content/content/skills/seo-fundamentals/SKILL.md +129 -0
- package/dist/content/content/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/dist/content/content/skills/server-management/SKILL.md +161 -0
- package/dist/content/content/skills/systematic-debugging/SKILL.md +109 -0
- package/dist/content/content/skills/tailwind-patterns/SKILL.md +269 -0
- package/dist/content/content/skills/tdd-workflow/SKILL.md +149 -0
- package/dist/content/content/skills/testing-patterns/SKILL.md +178 -0
- package/dist/content/content/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/dist/content/content/skills/vulnerability-scanner/SKILL.md +276 -0
- package/dist/content/content/skills/vulnerability-scanner/checklists.md +121 -0
- package/dist/content/content/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/dist/content/content/skills/webapp-testing/SKILL.md +187 -0
- package/dist/content/content/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/dist/content/content/specialists/Especialista em Acessibilidade.md +266 -0
- package/dist/content/content/specialists/Especialista em An/303/241lise de Testes.md" +434 -0
- package/dist/content/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +358 -0
- package/dist/content/content/specialists/Especialista em Arquitetura de Software.md +177 -0
- package/dist/content/content/specialists/Especialista em Banco de Dados.md +260 -0
- package/dist/content/content/specialists/Especialista em Contrato de API.md +172 -0
- package/dist/content/content/specialists/Especialista em Dados e Analytics com IA.md +246 -0
- package/dist/content/content/specialists/Especialista em Debugging e Troubleshooting.md +191 -0
- package/dist/content/content/specialists/Especialista em Desenvolvimento Frontend.md +477 -0
- package/dist/content/content/specialists/Especialista em Desenvolvimento Mobile.md +241 -0
- package/dist/content/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +417 -0
- package/dist/content/content/specialists/Especialista em DevOps e Infraestrutura.md +294 -0
- package/dist/content/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +227 -0
- package/dist/content/content/specialists/Especialista em Engenharia de Requisitos com IA.md +299 -0
- package/dist/content/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +179 -0
- package/dist/content/content/specialists/Especialista em Gest/303/243o de Produto.md" +179 -0
- package/dist/content/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +410 -0
- package/dist/content/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +248 -0
- package/dist/content/content/specialists/Especialista em Observabilidade.md +415 -0
- package/dist/content/content/specialists/Especialista em Performance e Escalabilidade.md +373 -0
- package/dist/content/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +341 -0
- package/dist/content/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +419 -0
- package/dist/content/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +508 -0
- package/dist/content/content/specialists/Especialista em UX Design.md +453 -0
- package/dist/content/content/specialists/INDEX.md +43 -0
- package/dist/content/content/templates/PRD.md +165 -0
- package/dist/content/content/templates/README.md +65 -0
- package/dist/content/content/templates/adr.md +103 -0
- package/dist/content/content/templates/arquitetura.md +279 -0
- package/dist/content/content/templates/backlog.md +185 -0
- package/dist/content/content/templates/checklist-seguranca.md +180 -0
- package/dist/content/content/templates/contexto.md +120 -0
- package/dist/content/content/templates/criterios-aceite.md +99 -0
- package/dist/content/content/templates/design-banco.md +270 -0
- package/dist/content/content/templates/design-doc.md +240 -0
- package/dist/content/content/templates/feature.md +88 -0
- package/dist/content/content/templates/historia-backend.md +84 -0
- package/dist/content/content/templates/historia-frontend.md +75 -0
- package/dist/content/content/templates/historia-usuario.md +125 -0
- package/dist/content/content/templates/mapa-navegacao.md +133 -0
- package/dist/content/content/templates/matriz-rastreabilidade.md +121 -0
- package/dist/content/content/templates/modelo-dominio.md +219 -0
- package/dist/content/content/templates/plano-testes.md +199 -0
- package/dist/content/content/templates/prototipo-stitch.md +138 -0
- package/dist/content/content/templates/requisitos.md +162 -0
- package/dist/content/content/templates/slo-sli.md +197 -0
- package/dist/content/content/workflows/README-MCP.md +363 -0
- package/dist/content/content/workflows/brainstorm.md +113 -0
- package/dist/content/content/workflows/create.md +59 -0
- package/dist/content/content/workflows/debug.md +103 -0
- package/dist/content/content/workflows/deploy.md +176 -0
- package/dist/content/content/workflows/enhance.md +63 -0
- package/dist/content/content/workflows/mcp-debug.md +506 -0
- package/dist/content/content/workflows/mcp-feature.md +385 -0
- package/dist/content/content/workflows/mcp-gate.md +413 -0
- package/dist/content/content/workflows/mcp-next.md +388 -0
- package/dist/content/content/workflows/mcp-refactor.md +600 -0
- package/dist/content/content/workflows/mcp-start.md +304 -0
- package/dist/content/content/workflows/mcp-status.md +400 -0
- package/dist/content/content/workflows/orchestrate.md +237 -0
- package/dist/content/content/workflows/plan.md +89 -0
- package/dist/content/content/workflows/preview.md +81 -0
- package/dist/content/content/workflows/status.md +86 -0
- package/dist/content/content/workflows/test.md +144 -0
- package/dist/content/content/workflows/ui-ux-pro-max.md +296 -0
- package/dist/content/design-system/README.md +231 -0
- package/dist/content/design-system/data/charts.csv +26 -0
- package/dist/content/design-system/data/colors.csv +97 -0
- package/dist/content/design-system/data/icons.csv +101 -0
- package/dist/content/design-system/data/landing.csv +31 -0
- package/dist/content/design-system/data/products.csv +97 -0
- package/dist/content/design-system/data/prompts.csv +24 -0
- package/dist/content/design-system/data/react-performance.csv +45 -0
- package/dist/content/design-system/data/styles.csv +59 -0
- package/dist/content/design-system/data/typography.csv +58 -0
- package/dist/content/design-system/data/ui-reasoning.csv +101 -0
- package/dist/content/design-system/data/ux-guidelines.csv +100 -0
- package/dist/content/design-system/data/web-interface.csv +31 -0
- package/dist/content/design-system/indexes/README.md +211 -0
- package/dist/content/design-system/indexes/colors-index.md +156 -0
- package/dist/content/design-system/indexes/quick-search.md +111 -0
- package/dist/content/design-system/indexes/stacks-index.md +341 -0
- package/dist/content/design-system/stacks/flutter.csv +53 -0
- package/dist/content/design-system/stacks/html-tailwind.csv +56 -0
- package/dist/content/design-system/stacks/jetpack-compose.csv +53 -0
- package/dist/content/design-system/stacks/nextjs.csv +53 -0
- package/dist/content/design-system/stacks/nuxt-ui.csv +51 -0
- package/dist/content/design-system/stacks/nuxtjs.csv +59 -0
- package/dist/content/design-system/stacks/react-native.csv +52 -0
- package/dist/content/design-system/stacks/react.csv +54 -0
- package/dist/content/design-system/stacks/shadcn.csv +61 -0
- package/dist/content/design-system/stacks/svelte.csv +54 -0
- package/dist/content/design-system/stacks/swiftui.csv +51 -0
- package/dist/content/design-system/stacks/vue.csv +50 -0
- package/dist/content/examples/Exemplo de Fluxo Completo com Java e Spring Boot.md +250 -0
- package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Filament.md +278 -0
- package/dist/content/examples/Exemplo de Fluxo Completo com Laravel e Livewire.md +261 -0
- package/dist/content/examples/Exemplo de Fluxo Completo com Node e NestJS.md +258 -0
- package/dist/content/guides/Cat/303/241logo de Stacks para Cloud Moderna.md" +119 -0
- package/dist/content/guides/Cat/303/241logo de Stacks para Hospedagem Compartilhada.md" +147 -0
- package/dist/content/guides/Checklist Mestre de Entrega.md +68 -0
- package/dist/content/guides/Gates de Qualidade.md +209 -0
- package/dist/content/guides/Guia de Adi/303/247/303/243o de Novas Funcionalidades.md" +355 -0
- package/dist/content/guides/Guia de Chaos Engineering.md +267 -0
- package/dist/content/guides/Guia de Debugging com IA.md +135 -0
- package/dist/content/guides/Guia de Estrat/303/251gias de Cache.md" +352 -0
- package/dist/content/guides/Guia de Migrations Zero-Downtime.md +311 -0
- package/dist/content/guides/Guia de Multi-tenancy.md +368 -0
- package/dist/content/guides/Guia de Otimiza/303/247/303/243o de Custos Cloud.md" +195 -0
- package/dist/content/guides/Guia de Refatora/303/247/303/243o de C/303/263digo Legado com IA.md" +162 -0
- package/dist/content/guides/Guia de SLOs e Error Budgets.md +315 -0
- package/dist/content/guides/M/303/251tricas de Efici/303/252ncia do Desenvolvimento com IA.md" +93 -0
- package/dist/content/guides/Rules base.md +90 -0
- package/dist/content/playbook/Playbook de Desenvolvimento com IA.md +364 -0
- package/dist/content/prompts/README.md +203 -0
- package/dist/content/prompts/acessibilidade/analise-acessibilidade.md +257 -0
- package/dist/content/prompts/apis/design-api-rest.md +303 -0
- package/dist/content/prompts/apis/idempotencia.md +254 -0
- package/dist/content/prompts/apis/versionamento.md +313 -0
- package/dist/content/prompts/arquitetura/arquitetura-c4-completo.md +190 -0
- package/dist/content/prompts/arquitetura/clean-architecture.md +151 -0
- package/dist/content/prompts/arquitetura/ddd-bounded-contexts.md +183 -0
- package/dist/content/prompts/arquitetura/ddd-cqrs.md +176 -0
- package/dist/content/prompts/arquitetura/modelo-dominio.md +207 -0
- package/dist/content/prompts/arquitetura/multi-tenancy.md +235 -0
- package/dist/content/prompts/database/migrations-zero-downtime.md +192 -0
- package/dist/content/prompts/database/otimizacao-queries.md +296 -0
- package/dist/content/prompts/desenvolvimento/code-review.md +301 -0
- package/dist/content/prompts/desenvolvimento/gerar-servico.md +271 -0
- package/dist/content/prompts/devops/docker-compose.md +336 -0
- package/dist/content/prompts/devops/feature-flags.md +374 -0
- package/dist/content/prompts/devops/kubernetes-deploy.md +460 -0
- package/dist/content/prompts/devops/pipeline-cicd.md +358 -0
- package/dist/content/prompts/devops/terraform-iac.md +502 -0
- package/dist/content/prompts/escalabilidade/analise-performance.md +240 -0
- package/dist/content/prompts/escalabilidade/analise-performance.txt +94 -0
- package/dist/content/prompts/escalabilidade/caching.md +255 -0
- package/dist/content/prompts/observabilidade/chaos-testing.md +237 -0
- package/dist/content/prompts/observabilidade/estrategia-observabilidade.md +263 -0
- package/dist/content/prompts/observabilidade/estrategia-observabilidade.txt +134 -0
- package/dist/content/prompts/observabilidade/slos.md +215 -0
- package/dist/content/prompts/produto/discovery-inicial.md +203 -0
- package/dist/content/prompts/produto/discovery-inicial.txt +33 -0
- package/dist/content/prompts/requisitos/refinar-requisitos.md +232 -0
- package/dist/content/prompts/requisitos/refinar-requisitos.txt +40 -0
- package/dist/content/prompts/seguranca/analise-seguranca.md +243 -0
- package/dist/content/prompts/seguranca/pentest-checklist.md +333 -0
- package/dist/content/prompts/seguranca/rate-limiting.md +356 -0
- package/dist/content/prompts/seguranca/revisao-lgpd.md +227 -0
- package/dist/content/prompts/seguranca/threat-modeling.md +224 -0
- package/dist/content/prompts/testes/contract-testing.md +340 -0
- package/dist/content/prompts/testes/gerar-testes-unitarios.md +474 -0
- package/dist/content/prompts/testes/testes-e2e.md +460 -0
- package/dist/content/prompts/testes/testes-integracao.md +418 -0
- package/dist/content/prompts/testes/testes-performance.md +458 -0
- package/dist/content/prompts/ux/gerar-ui-stitch.md +151 -0
- package/dist/content/rules/GEMINI.md +841 -0
- package/dist/content/rules/RULES.md +835 -0
- package/dist/content/rules/adapters/copilot.md +10 -0
- package/dist/content/rules/adapters/cursor.md +10 -0
- package/dist/content/rules/adapters/gemini.md +13 -0
- package/dist/content/rules/adapters/windsurf.md +10 -0
- package/dist/content/skills/api-patterns/SKILL.md +81 -0
- package/dist/content/skills/api-patterns/api-style.md +42 -0
- package/dist/content/skills/api-patterns/auth.md +24 -0
- package/dist/content/skills/api-patterns/documentation.md +26 -0
- package/dist/content/skills/api-patterns/graphql.md +41 -0
- package/dist/content/skills/api-patterns/rate-limiting.md +31 -0
- package/dist/content/skills/api-patterns/response.md +37 -0
- package/dist/content/skills/api-patterns/rest.md +40 -0
- package/dist/content/skills/api-patterns/scripts/api_validator.py +211 -0
- package/dist/content/skills/api-patterns/security-testing.md +122 -0
- package/dist/content/skills/api-patterns/trpc.md +41 -0
- package/dist/content/skills/api-patterns/versioning.md +22 -0
- package/dist/content/skills/app-builder/SKILL.md +75 -0
- package/dist/content/skills/app-builder/agent-coordination.md +71 -0
- package/dist/content/skills/app-builder/feature-building.md +53 -0
- package/dist/content/skills/app-builder/project-detection.md +34 -0
- package/dist/content/skills/app-builder/scaffolding.md +118 -0
- package/dist/content/skills/app-builder/tech-stack.md +40 -0
- package/dist/content/skills/app-builder/templates/SKILL.md +39 -0
- package/dist/content/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/dist/content/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/dist/content/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/dist/content/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/dist/content/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/dist/content/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/dist/content/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/dist/content/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/dist/content/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/dist/content/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/dist/content/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/dist/content/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/dist/content/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/dist/content/skills/architecture/SKILL.md +55 -0
- package/dist/content/skills/architecture/context-discovery.md +43 -0
- package/dist/content/skills/architecture/examples.md +94 -0
- package/dist/content/skills/architecture/pattern-selection.md +68 -0
- package/dist/content/skills/architecture/patterns-reference.md +50 -0
- package/dist/content/skills/architecture/trade-off-analysis.md +77 -0
- package/dist/content/skills/bash-linux/SKILL.md +199 -0
- package/dist/content/skills/behavioral-modes/SKILL.md +242 -0
- package/dist/content/skills/brainstorming/SKILL.md +163 -0
- package/dist/content/skills/brainstorming/dynamic-questioning.md +350 -0
- package/dist/content/skills/clean-code/SKILL.md +201 -0
- package/dist/content/skills/code-review-checklist/SKILL.md +109 -0
- package/dist/content/skills/database-design/SKILL.md +52 -0
- package/dist/content/skills/database-design/database-selection.md +43 -0
- package/dist/content/skills/database-design/indexing.md +39 -0
- package/dist/content/skills/database-design/migrations.md +48 -0
- package/dist/content/skills/database-design/optimization.md +36 -0
- package/dist/content/skills/database-design/orm-selection.md +30 -0
- package/dist/content/skills/database-design/schema-design.md +56 -0
- package/dist/content/skills/database-design/scripts/schema_validator.py +172 -0
- package/dist/content/skills/deployment-procedures/SKILL.md +241 -0
- package/dist/content/skills/doc.md +177 -0
- package/dist/content/skills/documentation-templates/SKILL.md +194 -0
- package/dist/content/skills/frontend-design/SKILL.md +396 -0
- package/dist/content/skills/frontend-design/animation-guide.md +331 -0
- package/dist/content/skills/frontend-design/color-system.md +311 -0
- package/dist/content/skills/frontend-design/decision-trees.md +418 -0
- package/dist/content/skills/frontend-design/motion-graphics.md +306 -0
- package/dist/content/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/dist/content/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/dist/content/skills/frontend-design/typography-system.md +345 -0
- package/dist/content/skills/frontend-design/ux-psychology.md +541 -0
- package/dist/content/skills/frontend-design/visual-effects.md +383 -0
- package/dist/content/skills/game-development/2d-games/SKILL.md +119 -0
- package/dist/content/skills/game-development/3d-games/SKILL.md +135 -0
- package/dist/content/skills/game-development/SKILL.md +167 -0
- package/dist/content/skills/game-development/game-art/SKILL.md +185 -0
- package/dist/content/skills/game-development/game-audio/SKILL.md +190 -0
- package/dist/content/skills/game-development/game-design/SKILL.md +129 -0
- package/dist/content/skills/game-development/mobile-games/SKILL.md +108 -0
- package/dist/content/skills/game-development/multiplayer/SKILL.md +132 -0
- package/dist/content/skills/game-development/pc-games/SKILL.md +144 -0
- package/dist/content/skills/game-development/vr-ar/SKILL.md +123 -0
- package/dist/content/skills/game-development/web-games/SKILL.md +150 -0
- package/dist/content/skills/geo-fundamentals/SKILL.md +156 -0
- package/dist/content/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/dist/content/skills/i18n-localization/SKILL.md +154 -0
- package/dist/content/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/dist/content/skills/intelligent-routing/SKILL.md +334 -0
- package/dist/content/skills/lint-and-validate/SKILL.md +45 -0
- package/dist/content/skills/lint-and-validate/scripts/lint_runner.py +172 -0
- package/dist/content/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/dist/content/skills/mcp-builder/SKILL.md +176 -0
- package/dist/content/skills/mobile-design/SKILL.md +394 -0
- package/dist/content/skills/mobile-design/decision-trees.md +516 -0
- package/dist/content/skills/mobile-design/mobile-backend.md +491 -0
- package/dist/content/skills/mobile-design/mobile-color-system.md +420 -0
- package/dist/content/skills/mobile-design/mobile-debugging.md +122 -0
- package/dist/content/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/dist/content/skills/mobile-design/mobile-navigation.md +458 -0
- package/dist/content/skills/mobile-design/mobile-performance.md +767 -0
- package/dist/content/skills/mobile-design/mobile-testing.md +356 -0
- package/dist/content/skills/mobile-design/mobile-typography.md +433 -0
- package/dist/content/skills/mobile-design/platform-android.md +666 -0
- package/dist/content/skills/mobile-design/platform-ios.md +561 -0
- package/dist/content/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/dist/content/skills/mobile-design/touch-psychology.md +537 -0
- package/dist/content/skills/nextjs-best-practices/SKILL.md +203 -0
- package/dist/content/skills/nodejs-best-practices/SKILL.md +333 -0
- package/dist/content/skills/parallel-agents/SKILL.md +175 -0
- package/dist/content/skills/performance-profiling/SKILL.md +143 -0
- package/dist/content/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/dist/content/skills/plan-writing/SKILL.md +152 -0
- package/dist/content/skills/powershell-windows/SKILL.md +167 -0
- package/dist/content/skills/python-patterns/SKILL.md +441 -0
- package/dist/content/skills/react-patterns/SKILL.md +198 -0
- package/dist/content/skills/red-team-tactics/SKILL.md +199 -0
- package/dist/content/skills/seo-fundamentals/SKILL.md +129 -0
- package/dist/content/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/dist/content/skills/server-management/SKILL.md +161 -0
- package/dist/content/skills/systematic-debugging/SKILL.md +109 -0
- package/dist/content/skills/tailwind-patterns/SKILL.md +269 -0
- package/dist/content/skills/tdd-workflow/SKILL.md +149 -0
- package/dist/content/skills/testing-patterns/SKILL.md +178 -0
- package/dist/content/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/dist/content/skills/vulnerability-scanner/SKILL.md +276 -0
- package/dist/content/skills/vulnerability-scanner/checklists.md +121 -0
- package/dist/content/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/dist/content/skills/webapp-testing/SKILL.md +187 -0
- package/dist/content/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/dist/content/specialists/Especialista em Acessibilidade.md +266 -0
- package/dist/content/specialists/Especialista em An/303/241lise de Testes.md" +434 -0
- package/dist/content/specialists/Especialista em Arquitetura Avan/303/247ada.md" +358 -0
- package/dist/content/specialists/Especialista em Arquitetura de Software.md +177 -0
- package/dist/content/specialists/Especialista em Banco de Dados.md +260 -0
- package/dist/content/specialists/Especialista em Contrato de API.md +172 -0
- package/dist/content/specialists/Especialista em Dados e Analytics com IA.md +246 -0
- package/dist/content/specialists/Especialista em Debugging e Troubleshooting.md +191 -0
- package/dist/content/specialists/Especialista em Desenvolvimento Frontend.md +477 -0
- package/dist/content/specialists/Especialista em Desenvolvimento Mobile.md +241 -0
- package/dist/content/specialists/Especialista em Desenvolvimento e Vibe Coding Estruturado.md +417 -0
- package/dist/content/specialists/Especialista em DevOps e Infraestrutura.md +294 -0
- package/dist/content/specialists/Especialista em Documenta/303/247/303/243o T/303/251cnica.md" +227 -0
- package/dist/content/specialists/Especialista em Engenharia de Requisitos com IA.md +299 -0
- package/dist/content/specialists/Especialista em Explora/303/247/303/243o de Codebase.md" +179 -0
- package/dist/content/specialists/Especialista em Gest/303/243o de Produto.md" +179 -0
- package/dist/content/specialists/Especialista em Migra/303/247/303/243o e Moderniza/303/247/303/243o.md" +410 -0
- package/dist/content/specialists/Especialista em Modelagem e Arquitetura de Dom/303/255nio com IA.md" +248 -0
- package/dist/content/specialists/Especialista em Observabilidade.md +415 -0
- package/dist/content/specialists/Especialista em Performance e Escalabilidade.md +373 -0
- package/dist/content/specialists/Especialista em Plano de Execu/303/247/303/243o com IA.md" +341 -0
- package/dist/content/specialists/Especialista em Prototipagem R/303/241pida com Google Stitch.md" +419 -0
- package/dist/content/specialists/Especialista em Seguran/303/247a da Informa/303/247/303/243o.md" +508 -0
- package/dist/content/specialists/Especialista em UX Design.md +453 -0
- package/dist/content/specialists/INDEX.md +43 -0
- package/dist/content/templates/PRD.md +165 -0
- package/dist/content/templates/README.md +65 -0
- package/dist/content/templates/adr.md +103 -0
- package/dist/content/templates/arquitetura.md +279 -0
- package/dist/content/templates/backlog.md +185 -0
- package/dist/content/templates/checklist-seguranca.md +180 -0
- package/dist/content/templates/contexto.md +120 -0
- package/dist/content/templates/criterios-aceite.md +99 -0
- package/dist/content/templates/design-banco.md +270 -0
- package/dist/content/templates/design-doc.md +240 -0
- package/dist/content/templates/feature.md +88 -0
- package/dist/content/templates/historia-backend.md +84 -0
- package/dist/content/templates/historia-frontend.md +75 -0
- package/dist/content/templates/historia-usuario.md +125 -0
- package/dist/content/templates/mapa-navegacao.md +133 -0
- package/dist/content/templates/matriz-rastreabilidade.md +121 -0
- package/dist/content/templates/modelo-dominio.md +219 -0
- package/dist/content/templates/plano-testes.md +199 -0
- package/dist/content/templates/prototipo-stitch.md +138 -0
- package/dist/content/templates/requisitos.md +162 -0
- package/dist/content/templates/slo-sli.md +197 -0
- package/dist/content/workflows/README-MCP.md +363 -0
- package/dist/content/workflows/brainstorm.md +113 -0
- package/dist/content/workflows/create.md +59 -0
- package/dist/content/workflows/debug.md +103 -0
- package/dist/content/workflows/deploy.md +176 -0
- package/dist/content/workflows/enhance.md +63 -0
- package/dist/content/workflows/mcp-debug.md +506 -0
- package/dist/content/workflows/mcp-feature.md +385 -0
- package/dist/content/workflows/mcp-gate.md +413 -0
- package/dist/content/workflows/mcp-next.md +388 -0
- package/dist/content/workflows/mcp-refactor.md +600 -0
- package/dist/content/workflows/mcp-start.md +304 -0
- package/dist/content/workflows/mcp-status.md +400 -0
- package/dist/content/workflows/orchestrate.md +237 -0
- package/dist/content/workflows/plan.md +89 -0
- package/dist/content/workflows/preview.md +81 -0
- package/dist/content/workflows/status.md +86 -0
- package/dist/content/workflows/test.md +144 -0
- package/dist/content/workflows/ui-ux-pro-max.md +296 -0
- package/dist/flows/alternativas.d.ts +5 -0
- package/dist/flows/alternativas.d.ts.map +1 -0
- package/dist/flows/alternativas.js +218 -0
- package/dist/flows/alternativas.js.map +1 -0
- package/dist/flows/classifier.d.ts +10 -0
- package/dist/flows/classifier.d.ts.map +1 -0
- package/dist/flows/classifier.js +112 -0
- package/dist/flows/classifier.js.map +1 -0
- package/dist/flows/types.d.ts +23 -0
- package/dist/flows/types.d.ts.map +1 -0
- package/dist/flows/types.js +470 -0
- package/dist/flows/types.js.map +1 -0
- package/dist/gates/estrutura.d.ts +43 -0
- package/dist/gates/estrutura.d.ts.map +1 -0
- package/dist/gates/estrutura.js +199 -0
- package/dist/gates/estrutura.js.map +1 -0
- package/dist/gates/tiers.d.ts +42 -0
- package/dist/gates/tiers.d.ts.map +1 -0
- package/dist/gates/tiers.js +255 -0
- package/dist/gates/tiers.js.map +1 -0
- package/dist/gates/tiers.test.d.ts +2 -0
- package/dist/gates/tiers.test.d.ts.map +1 -0
- package/dist/gates/tiers.test.js +86 -0
- package/dist/gates/tiers.test.js.map +1 -0
- package/dist/gates/validator.d.ts +18 -0
- package/dist/gates/validator.d.ts.map +1 -0
- package/dist/gates/validator.js +171 -0
- package/dist/gates/validator.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +596 -0
- package/dist/index.js.map +1 -0
- package/dist/resources/index.d.ts +6 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +166 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/server.d.ts +6 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +27 -0
- package/dist/server.js.map +1 -0
- package/dist/state/context.d.ts +43 -0
- package/dist/state/context.d.ts.map +1 -0
- package/dist/state/context.js +92 -0
- package/dist/state/context.js.map +1 -0
- package/dist/state/memory.d.ts +54 -0
- package/dist/state/memory.d.ts.map +1 -0
- package/dist/state/memory.js +173 -0
- package/dist/state/memory.js.map +1 -0
- package/dist/state/storage.d.ts +37 -0
- package/dist/state/storage.d.ts.map +1 -0
- package/dist/state/storage.js +127 -0
- package/dist/state/storage.js.map +1 -0
- package/dist/stdio.d.ts +3 -0
- package/dist/stdio.d.ts.map +1 -0
- package/dist/stdio.js +350 -0
- package/dist/stdio.js.map +1 -0
- package/dist/tools/analise/index.d.ts +8 -0
- package/dist/tools/analise/index.d.ts.map +1 -0
- package/dist/tools/analise/index.js +8 -0
- package/dist/tools/analise/index.js.map +1 -0
- package/dist/tools/analise/performance.d.ts +25 -0
- package/dist/tools/analise/performance.d.ts.map +1 -0
- package/dist/tools/analise/performance.js +82 -0
- package/dist/tools/analise/performance.js.map +1 -0
- package/dist/tools/analise/qualidade.d.ts +25 -0
- package/dist/tools/analise/qualidade.d.ts.map +1 -0
- package/dist/tools/analise/qualidade.js +82 -0
- package/dist/tools/analise/qualidade.js.map +1 -0
- package/dist/tools/analise/relatorio.d.ts +31 -0
- package/dist/tools/analise/relatorio.d.ts.map +1 -0
- package/dist/tools/analise/relatorio.js +162 -0
- package/dist/tools/analise/relatorio.js.map +1 -0
- package/dist/tools/analise/seguranca.d.ts +25 -0
- package/dist/tools/analise/seguranca.d.ts.map +1 -0
- package/dist/tools/analise/seguranca.js +87 -0
- package/dist/tools/analise/seguranca.js.map +1 -0
- package/dist/tools/aprovar-gate.d.ts +40 -0
- package/dist/tools/aprovar-gate.d.ts.map +1 -0
- package/dist/tools/aprovar-gate.js +217 -0
- package/dist/tools/aprovar-gate.js.map +1 -0
- package/dist/tools/atualizar-codebase.d.ts +184 -0
- package/dist/tools/atualizar-codebase.d.ts.map +1 -0
- package/dist/tools/atualizar-codebase.js +199 -0
- package/dist/tools/atualizar-codebase.js.map +1 -0
- package/dist/tools/avaliar-entregavel.d.ts +31 -0
- package/dist/tools/avaliar-entregavel.d.ts.map +1 -0
- package/dist/tools/avaliar-entregavel.js +164 -0
- package/dist/tools/avaliar-entregavel.js.map +1 -0
- package/dist/tools/carregar-projeto.d.ts +32 -0
- package/dist/tools/carregar-projeto.d.ts.map +1 -0
- package/dist/tools/carregar-projeto.js +202 -0
- package/dist/tools/carregar-projeto.js.map +1 -0
- package/dist/tools/classificar.d.ts +46 -0
- package/dist/tools/classificar.d.ts.map +1 -0
- package/dist/tools/classificar.js +148 -0
- package/dist/tools/classificar.js.map +1 -0
- package/dist/tools/confirmar-classificacao.d.ts +35 -0
- package/dist/tools/confirmar-classificacao.d.ts.map +1 -0
- package/dist/tools/confirmar-classificacao.js +121 -0
- package/dist/tools/confirmar-classificacao.js.map +1 -0
- package/dist/tools/confirmar-stitch.d.ts +32 -0
- package/dist/tools/confirmar-stitch.d.ts.map +1 -0
- package/dist/tools/confirmar-stitch.js +176 -0
- package/dist/tools/confirmar-stitch.js.map +1 -0
- package/dist/tools/contexto.d.ts +29 -0
- package/dist/tools/contexto.d.ts.map +1 -0
- package/dist/tools/contexto.js +138 -0
- package/dist/tools/contexto.js.map +1 -0
- package/dist/tools/fluxos-alternativos.d.ts +79 -0
- package/dist/tools/fluxos-alternativos.d.ts.map +1 -0
- package/dist/tools/fluxos-alternativos.js +221 -0
- package/dist/tools/fluxos-alternativos.js.map +1 -0
- package/dist/tools/implementar-historia.d.ts +34 -0
- package/dist/tools/implementar-historia.d.ts.map +1 -0
- package/dist/tools/implementar-historia.js +175 -0
- package/dist/tools/implementar-historia.js.map +1 -0
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +291 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/iniciar-projeto.d.ts +64 -0
- package/dist/tools/iniciar-projeto.d.ts.map +1 -0
- package/dist/tools/iniciar-projeto.js +366 -0
- package/dist/tools/iniciar-projeto.js.map +1 -0
- package/dist/tools/injetar-conteudo.d.ts +41 -0
- package/dist/tools/injetar-conteudo.d.ts.map +1 -0
- package/dist/tools/injetar-conteudo.js +107 -0
- package/dist/tools/injetar-conteudo.js.map +1 -0
- package/dist/tools/proximo.d.ts +45 -0
- package/dist/tools/proximo.d.ts.map +1 -0
- package/dist/tools/proximo.js +571 -0
- package/dist/tools/proximo.js.map +1 -0
- package/dist/tools/salvar.d.ts +46 -0
- package/dist/tools/salvar.d.ts.map +1 -0
- package/dist/tools/salvar.js +176 -0
- package/dist/tools/salvar.js.map +1 -0
- package/dist/tools/status.d.ts +29 -0
- package/dist/tools/status.d.ts.map +1 -0
- package/dist/tools/status.js +171 -0
- package/dist/tools/status.js.map +1 -0
- package/dist/tools/validar-gate.d.ts +39 -0
- package/dist/tools/validar-gate.d.ts.map +1 -0
- package/dist/tools/validar-gate.js +131 -0
- package/dist/tools/validar-gate.js.map +1 -0
- package/dist/types/index.d.ts +81 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/memory.d.ts +171 -0
- package/dist/types/memory.d.ts.map +1 -0
- package/dist/types/memory.js +185 -0
- package/dist/types/memory.js.map +1 -0
- package/dist/types/response.d.ts +38 -0
- package/dist/types/response.d.ts.map +1 -0
- package/dist/types/response.js +35 -0
- package/dist/types/response.js.map +1 -0
- package/dist/utils/code-parser.d.ts +58 -0
- package/dist/utils/code-parser.d.ts.map +1 -0
- package/dist/utils/code-parser.js +182 -0
- package/dist/utils/code-parser.js.map +1 -0
- package/dist/utils/content-injector.d.ts +14 -0
- package/dist/utils/content-injector.d.ts.map +1 -0
- package/dist/utils/content-injector.js +88 -0
- package/dist/utils/content-injector.js.map +1 -0
- package/dist/utils/files.d.ts +73 -0
- package/dist/utils/files.d.ts.map +1 -0
- package/dist/utils/files.js +282 -0
- package/dist/utils/files.js.map +1 -0
- package/dist/utils/history.d.ts +28 -0
- package/dist/utils/history.d.ts.map +1 -0
- package/dist/utils/history.js +32 -0
- package/dist/utils/history.js.map +1 -0
- package/dist/utils/instructions.d.ts +16 -0
- package/dist/utils/instructions.d.ts.map +1 -0
- package/dist/utils/instructions.js +70 -0
- package/dist/utils/instructions.js.map +1 -0
- package/dist/utils/local-content.d.ts +21 -0
- package/dist/utils/local-content.d.ts.map +1 -0
- package/dist/utils/local-content.js +85 -0
- package/dist/utils/local-content.js.map +1 -0
- package/dist/utils/prompt-mapper.d.ts +33 -0
- package/dist/utils/prompt-mapper.d.ts.map +1 -0
- package/dist/utils/prompt-mapper.js +184 -0
- package/dist/utils/prompt-mapper.js.map +1 -0
- package/dist/utils/system-md.d.ts +7 -0
- package/dist/utils/system-md.d.ts.map +1 -0
- package/dist/utils/system-md.js +51 -0
- package/dist/utils/system-md.js.map +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quality Analyzer - Code quality metrics and issues
|
|
3
|
+
*/
|
|
4
|
+
import { BaseAnalyzer } from "./base.js";
|
|
5
|
+
import { parseCode } from "../utils/code-parser.js";
|
|
6
|
+
const QUALITY_RULES = [
|
|
7
|
+
{
|
|
8
|
+
id: "QUAL-LONG-FUNCTION",
|
|
9
|
+
name: "Função muito longa",
|
|
10
|
+
description: "Funções com mais de 50 linhas são difíceis de manter",
|
|
11
|
+
severity: "medium",
|
|
12
|
+
pattern: /function\s+\w+|=>\s*\{/,
|
|
13
|
+
suggestion: "Extraia lógica para funções menores e mais específicas",
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
id: "QUAL-MAGIC-NUMBER",
|
|
17
|
+
name: "Número mágico",
|
|
18
|
+
description: "Número literal sem explicação do significado",
|
|
19
|
+
severity: "low",
|
|
20
|
+
pattern: /(?<![.\d])\b(?!0|1|2|10|100|1000\b)[3-9]\d*\b(?!\.\d)/,
|
|
21
|
+
suggestion: "Use constantes nomeadas para valores mágicos",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: "QUAL-NESTED-CALLBACKS",
|
|
25
|
+
name: "Callback hell",
|
|
26
|
+
description: "Callbacks aninhados demais (mais de 3 níveis)",
|
|
27
|
+
severity: "medium",
|
|
28
|
+
pattern: /\)\s*=>\s*\{[^}]*\)\s*=>\s*\{[^}]*\)\s*=>\s*\{/,
|
|
29
|
+
suggestion: "Use async/await ou Promise.all para simplificar",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: "QUAL-EMPTY-CATCH",
|
|
33
|
+
name: "Catch vazio",
|
|
34
|
+
description: "Catch que ignora o erro silenciosamente",
|
|
35
|
+
severity: "high",
|
|
36
|
+
pattern: /catch\s*\([^)]*\)\s*\{\s*\}/,
|
|
37
|
+
suggestion: "Trate ou logue o erro, nunca ignore silenciosamente",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: "QUAL-TODO",
|
|
41
|
+
name: "TODO pendente",
|
|
42
|
+
description: "Código marcado como TODO não implementado",
|
|
43
|
+
severity: "info",
|
|
44
|
+
pattern: /\/\/\s*TODO|\/\*\s*TODO/i,
|
|
45
|
+
suggestion: "Resolva TODOs antes de mergear para main",
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: "QUAL-FIXME",
|
|
49
|
+
name: "FIXME pendente",
|
|
50
|
+
description: "Bug conhecido não corrigido",
|
|
51
|
+
severity: "medium",
|
|
52
|
+
pattern: /\/\/\s*FIXME|\/\*\s*FIXME/i,
|
|
53
|
+
suggestion: "Corrija FIXMEs antes de mergear para main",
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
id: "QUAL-ANY-TYPE",
|
|
57
|
+
name: "Uso de any",
|
|
58
|
+
description: "Tipo any desabilita verificação de tipos",
|
|
59
|
+
severity: "low",
|
|
60
|
+
pattern: /:\s*any\b|\bas\s+any\b/,
|
|
61
|
+
suggestion: "Use tipos específicos ou unknown se necessário",
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
id: "QUAL-CONSOLE",
|
|
65
|
+
name: "Console em código",
|
|
66
|
+
description: "Console.log deixado no código",
|
|
67
|
+
severity: "info",
|
|
68
|
+
pattern: /console\.(log|debug|trace)\s*\(/,
|
|
69
|
+
suggestion: "Use logger apropriado ou remova antes de deploy",
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
id: "QUAL-COMMENTED-CODE",
|
|
73
|
+
name: "Código comentado",
|
|
74
|
+
description: "Código comentado polui o codebase",
|
|
75
|
+
severity: "low",
|
|
76
|
+
pattern: /\/\/\s*(const|let|var|function|if|for|while|return)\s/,
|
|
77
|
+
suggestion: "Remova código comentado, use Git para histórico",
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
id: "QUAL-LARGE-FILE",
|
|
81
|
+
name: "Arquivo muito grande",
|
|
82
|
+
description: "Arquivos com mais de 500 linhas são difíceis de navegar",
|
|
83
|
+
severity: "medium",
|
|
84
|
+
pattern: /./,
|
|
85
|
+
suggestion: "Divida em módulos menores e mais focados",
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
id: "QUAL-DEEP-NESTING",
|
|
89
|
+
name: "Aninhamento profundo",
|
|
90
|
+
description: "Código com mais de 4 níveis de indentação",
|
|
91
|
+
severity: "medium",
|
|
92
|
+
pattern: /^\s{16,}\S/,
|
|
93
|
+
suggestion: "Use early returns e extraia funções auxiliares",
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
id: "QUAL-DUPLICATE-STRING",
|
|
97
|
+
name: "String duplicada",
|
|
98
|
+
description: "Mesma string literal usada múltiplas vezes",
|
|
99
|
+
severity: "low",
|
|
100
|
+
pattern: /['"][^'"]{10,}['"]/,
|
|
101
|
+
suggestion: "Extraia para constante ou arquivo de configuração",
|
|
102
|
+
},
|
|
103
|
+
];
|
|
104
|
+
export class QualityAnalyzer extends BaseAnalyzer {
|
|
105
|
+
category = "quality";
|
|
106
|
+
name = "Quality Analyzer";
|
|
107
|
+
description = "Analisa qualidade do código, complexidade e padrões";
|
|
108
|
+
async performAnalysis(content, options) {
|
|
109
|
+
const lines = content.split("\n");
|
|
110
|
+
const parsed = parseCode(content, options?.fileName || "file.ts");
|
|
111
|
+
// Check file size
|
|
112
|
+
if (lines.length > 500) {
|
|
113
|
+
this.addFinding({
|
|
114
|
+
severity: "medium",
|
|
115
|
+
title: "[QUAL-LARGE-FILE] Arquivo muito grande",
|
|
116
|
+
description: `Arquivo com ${lines.length} linhas (máximo recomendado: 500)`,
|
|
117
|
+
file: options?.fileName,
|
|
118
|
+
suggestion: "Divida em módulos menores e mais focados",
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
// Check complexity
|
|
122
|
+
if (parsed.complexity > 20) {
|
|
123
|
+
this.addFinding({
|
|
124
|
+
severity: "high",
|
|
125
|
+
title: "[QUAL-HIGH-COMPLEXITY] Alta complexidade ciclomática",
|
|
126
|
+
description: `Complexidade ${parsed.complexity} (máximo recomendado: 20)`,
|
|
127
|
+
file: options?.fileName,
|
|
128
|
+
suggestion: "Simplifique condicionais e extraia funções",
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
else if (parsed.complexity > 10) {
|
|
132
|
+
this.addFinding({
|
|
133
|
+
severity: "medium",
|
|
134
|
+
title: "[QUAL-MEDIUM-COMPLEXITY] Complexidade moderada",
|
|
135
|
+
description: `Complexidade ${parsed.complexity} (ideal: < 10)`,
|
|
136
|
+
file: options?.fileName,
|
|
137
|
+
suggestion: "Considere simplificar a lógica",
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
// Check for patterns in each line
|
|
141
|
+
const stringCounts = new Map();
|
|
142
|
+
for (let i = 0; i < lines.length; i++) {
|
|
143
|
+
const line = lines[i];
|
|
144
|
+
const lineNum = i + 1;
|
|
145
|
+
// Count string occurrences for duplication check
|
|
146
|
+
const strings = line.match(/['"][^'"]{10,}['"]/g) || [];
|
|
147
|
+
for (const str of strings) {
|
|
148
|
+
stringCounts.set(str, (stringCounts.get(str) || 0) + 1);
|
|
149
|
+
}
|
|
150
|
+
// Check each rule
|
|
151
|
+
for (const rule of QUALITY_RULES) {
|
|
152
|
+
if (rule.id === "QUAL-LARGE-FILE")
|
|
153
|
+
continue;
|
|
154
|
+
if (rule.id === "QUAL-DUPLICATE-STRING")
|
|
155
|
+
continue;
|
|
156
|
+
if (rule.pattern.test(line)) {
|
|
157
|
+
this.addFinding({
|
|
158
|
+
severity: rule.severity,
|
|
159
|
+
title: `[${rule.id}] ${rule.name}`,
|
|
160
|
+
description: rule.description,
|
|
161
|
+
file: options?.fileName,
|
|
162
|
+
line: lineNum,
|
|
163
|
+
code: line.trim(),
|
|
164
|
+
suggestion: rule.suggestion,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// Report duplicate strings
|
|
170
|
+
for (const [str, count] of stringCounts) {
|
|
171
|
+
if (count >= 3) {
|
|
172
|
+
this.addFinding({
|
|
173
|
+
severity: "low",
|
|
174
|
+
title: "[QUAL-DUPLICATE-STRING] String duplicada",
|
|
175
|
+
description: `String ${str.slice(0, 30)}... usada ${count} vezes`,
|
|
176
|
+
file: options?.fileName,
|
|
177
|
+
suggestion: "Extraia para constante ou arquivo de configuração",
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// Check for functions without proper naming
|
|
182
|
+
for (const func of parsed.functions) {
|
|
183
|
+
if (func.name.length < 3) {
|
|
184
|
+
this.addFinding({
|
|
185
|
+
severity: "low",
|
|
186
|
+
title: "[QUAL-SHORT-NAME] Nome de função muito curto",
|
|
187
|
+
description: `Função "${func.name}" deveria ter nome mais descritivo`,
|
|
188
|
+
file: options?.fileName,
|
|
189
|
+
line: func.line,
|
|
190
|
+
suggestion: "Use nomes que descrevam o que a função faz",
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=quality-analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quality-analyzer.js","sourceRoot":"","sources":["../../src/analyzers/quality-analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security Analyzer - OWASP Top 10 and common vulnerabilities
|
|
3
|
+
*/
|
|
4
|
+
import { BaseAnalyzer, type AnalyzerOptions } from "./base.js";
|
|
5
|
+
export declare class SecurityAnalyzer extends BaseAnalyzer {
|
|
6
|
+
category: "security";
|
|
7
|
+
name: string;
|
|
8
|
+
description: string;
|
|
9
|
+
protected performAnalysis(content: string, options?: AnalyzerOptions): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=security-analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-analyzer.d.ts","sourceRoot":"","sources":["../../src/analyzers/security-analyzer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAiB,MAAM,WAAW,CAAC;AAmK9E,qBAAa,gBAAiB,SAAQ,YAAY;IAC9C,QAAQ,EAAG,UAAU,CAAU;IAC/B,IAAI,SAAuB;IAC3B,WAAW,SAAuF;cAElF,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAwB7F"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security Analyzer - OWASP Top 10 and common vulnerabilities
|
|
3
|
+
*/
|
|
4
|
+
import { BaseAnalyzer } from "./base.js";
|
|
5
|
+
// OWASP Top 10 2021 rules
|
|
6
|
+
const OWASP_RULES = [
|
|
7
|
+
// A01: Broken Access Control
|
|
8
|
+
{
|
|
9
|
+
id: "A01-ADMIN-BYPASS",
|
|
10
|
+
name: "Possível bypass de admin",
|
|
11
|
+
description: "Verificação de admin pode ser bypassada",
|
|
12
|
+
severity: "critical",
|
|
13
|
+
pattern: /isAdmin\s*[=!]=\s*(true|false|['"]true['"])/i,
|
|
14
|
+
suggestion: "Use verificação de roles no backend, não confie em flags do cliente",
|
|
15
|
+
references: ["https://owasp.org/Top10/A01_2021-Broken_Access_Control/"],
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: "A01-DIRECT-REF",
|
|
19
|
+
name: "Referência direta de objeto",
|
|
20
|
+
description: "ID de usuário/recurso exposto diretamente na URL ou parâmetro",
|
|
21
|
+
severity: "high",
|
|
22
|
+
pattern: /\/(user|users|admin|account)\/\{?(id|\d+)\}?/i,
|
|
23
|
+
suggestion: "Implemente verificação de autorização por recurso",
|
|
24
|
+
references: ["https://owasp.org/Top10/A01_2021-Broken_Access_Control/"],
|
|
25
|
+
},
|
|
26
|
+
// A02: Cryptographic Failures
|
|
27
|
+
{
|
|
28
|
+
id: "A02-HARDCODED-SECRET",
|
|
29
|
+
name: "Secret hardcoded",
|
|
30
|
+
description: "Chave, senha ou token hardcoded no código",
|
|
31
|
+
severity: "critical",
|
|
32
|
+
pattern: /(password|secret|api_key|apikey|token|jwt_secret|private_key)\s*[:=]\s*['"][^'"]{8,}['"]/i,
|
|
33
|
+
suggestion: "Use variáveis de ambiente (process.env) para secrets",
|
|
34
|
+
references: ["https://owasp.org/Top10/A02_2021-Cryptographic_Failures/"],
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
id: "A02-WEAK-CRYPTO",
|
|
38
|
+
name: "Algoritmo criptográfico fraco",
|
|
39
|
+
description: "Uso de MD5 ou SHA1 para hashing de senhas",
|
|
40
|
+
severity: "high",
|
|
41
|
+
pattern: /\.(md5|sha1)\s*\(/i,
|
|
42
|
+
suggestion: "Use bcrypt, argon2 ou PBKDF2 para senhas",
|
|
43
|
+
references: ["https://owasp.org/Top10/A02_2021-Cryptographic_Failures/"],
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: "A02-HTTP",
|
|
47
|
+
name: "Comunicação não criptografada",
|
|
48
|
+
description: "URL usando HTTP ao invés de HTTPS",
|
|
49
|
+
severity: "medium",
|
|
50
|
+
pattern: /http:\/\/(?!localhost|127\.0\.0\.1)/i,
|
|
51
|
+
suggestion: "Use HTTPS para todas comunicações externas",
|
|
52
|
+
references: ["https://owasp.org/Top10/A02_2021-Cryptographic_Failures/"],
|
|
53
|
+
},
|
|
54
|
+
// A03: Injection
|
|
55
|
+
{
|
|
56
|
+
id: "A03-SQL-INJECTION",
|
|
57
|
+
name: "SQL Injection",
|
|
58
|
+
description: "Query SQL construída por concatenação de strings",
|
|
59
|
+
severity: "critical",
|
|
60
|
+
pattern: /(?:query|execute|raw)\s*\(\s*[`'"].*\$\{|(?:SELECT|INSERT|UPDATE|DELETE).*\+\s*\w+/i,
|
|
61
|
+
suggestion: "Use prepared statements ou ORM com parâmetros",
|
|
62
|
+
references: ["https://owasp.org/Top10/A03_2021-Injection/"],
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
id: "A03-COMMAND-INJECTION",
|
|
66
|
+
name: "Command Injection",
|
|
67
|
+
description: "Execução de comando shell com input do usuário",
|
|
68
|
+
severity: "critical",
|
|
69
|
+
pattern: /(?:exec|spawn|execSync|spawnSync)\s*\([^)]*\$\{/i,
|
|
70
|
+
suggestion: "Evite exec com input do usuário, use libraries específicas",
|
|
71
|
+
references: ["https://owasp.org/Top10/A03_2021-Injection/"],
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: "A03-EVAL",
|
|
75
|
+
name: "Uso de eval",
|
|
76
|
+
description: "Uso de eval() que pode executar código arbitrário",
|
|
77
|
+
severity: "critical",
|
|
78
|
+
pattern: /\beval\s*\(/i,
|
|
79
|
+
suggestion: "Nunca use eval() com input do usuário. Use JSON.parse para dados",
|
|
80
|
+
references: ["https://owasp.org/Top10/A03_2021-Injection/"],
|
|
81
|
+
},
|
|
82
|
+
// A07: XSS
|
|
83
|
+
{
|
|
84
|
+
id: "A07-XSS-INNERHTML",
|
|
85
|
+
name: "XSS via innerHTML",
|
|
86
|
+
description: "Uso de innerHTML com dados não sanitizados",
|
|
87
|
+
severity: "high",
|
|
88
|
+
pattern: /\.innerHTML\s*=|dangerouslySetInnerHTML/i,
|
|
89
|
+
suggestion: "Use textContent ou sanitize HTML com DOMPurify",
|
|
90
|
+
references: ["https://owasp.org/Top10/A07_2021-Cross-Site_Scripting/"],
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
id: "A07-XSS-DOCUMENT-WRITE",
|
|
94
|
+
name: "XSS via document.write",
|
|
95
|
+
description: "Uso de document.write que pode injetar scripts",
|
|
96
|
+
severity: "high",
|
|
97
|
+
pattern: /document\.write\s*\(/i,
|
|
98
|
+
suggestion: "Use métodos DOM seguros como createElement",
|
|
99
|
+
references: ["https://owasp.org/Top10/A07_2021-Cross-Site_Scripting/"],
|
|
100
|
+
},
|
|
101
|
+
];
|
|
102
|
+
// Additional security rules
|
|
103
|
+
const SECURITY_RULES = [
|
|
104
|
+
{
|
|
105
|
+
id: "SEC-CONSOLE-LOG",
|
|
106
|
+
name: "Console.log em produção",
|
|
107
|
+
description: "Console.log pode expor informações sensíveis",
|
|
108
|
+
severity: "low",
|
|
109
|
+
pattern: /console\.(log|debug|info)\s*\(/i,
|
|
110
|
+
suggestion: "Remova console.log ou use logger com níveis",
|
|
111
|
+
references: [],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
id: "SEC-TODO-SECURITY",
|
|
115
|
+
name: "TODO de segurança pendente",
|
|
116
|
+
description: "Comentário indica problema de segurança não resolvido",
|
|
117
|
+
severity: "medium",
|
|
118
|
+
pattern: /\/\/.*TODO.*(?:security|segurança|auth|senha|password)/i,
|
|
119
|
+
suggestion: "Resolva TODOs de segurança antes do deploy",
|
|
120
|
+
references: [],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
id: "SEC-CORS-STAR",
|
|
124
|
+
name: "CORS permissivo",
|
|
125
|
+
description: "CORS configurado para aceitar qualquer origem",
|
|
126
|
+
severity: "medium",
|
|
127
|
+
pattern: /cors\s*\(\s*\)|Access-Control-Allow-Origin.*\*/i,
|
|
128
|
+
suggestion: "Configure CORS para aceitar apenas origens conhecidas",
|
|
129
|
+
references: ["https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"],
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
id: "SEC-JWT-NONE",
|
|
133
|
+
name: "JWT sem algoritmo",
|
|
134
|
+
description: "JWT pode aceitar algoritmo 'none'",
|
|
135
|
+
severity: "high",
|
|
136
|
+
pattern: /algorithms?\s*:\s*\[\s*['"]none['"]/i,
|
|
137
|
+
suggestion: "Especifique algoritmo explícito (RS256, HS256)",
|
|
138
|
+
references: ["https://auth0.com/blog/critical-vulnerabilities-in-json-web-token-libraries/"],
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
id: "SEC-SENSITIVE-DATA",
|
|
142
|
+
name: "Dados sensíveis expostos",
|
|
143
|
+
description: "Variável com nome sensível pode ser exposta",
|
|
144
|
+
severity: "medium",
|
|
145
|
+
pattern: /(?:return|response|res\.json)\s*\(.*(?:password|ssn|credit_card|cpf)/i,
|
|
146
|
+
suggestion: "Nunca retorne dados sensíveis em responses",
|
|
147
|
+
references: [],
|
|
148
|
+
},
|
|
149
|
+
];
|
|
150
|
+
export class SecurityAnalyzer extends BaseAnalyzer {
|
|
151
|
+
category = "security";
|
|
152
|
+
name = "Security Analyzer";
|
|
153
|
+
description = "Analisa código em busca de vulnerabilidades OWASP Top 10 e problemas de segurança";
|
|
154
|
+
async performAnalysis(content, options) {
|
|
155
|
+
const lines = content.split("\n");
|
|
156
|
+
const allRules = [...OWASP_RULES, ...SECURITY_RULES];
|
|
157
|
+
for (let i = 0; i < lines.length; i++) {
|
|
158
|
+
const line = lines[i];
|
|
159
|
+
const lineNum = i + 1;
|
|
160
|
+
for (const rule of allRules) {
|
|
161
|
+
if (rule.pattern.test(line)) {
|
|
162
|
+
this.addFinding({
|
|
163
|
+
severity: rule.severity,
|
|
164
|
+
title: `[${rule.id}] ${rule.name}`,
|
|
165
|
+
description: rule.description,
|
|
166
|
+
file: options?.fileName,
|
|
167
|
+
line: lineNum,
|
|
168
|
+
code: line.trim(),
|
|
169
|
+
suggestion: rule.suggestion,
|
|
170
|
+
references: rule.references,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=security-analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-analyzer.js","sourceRoot":"","sources":["../../src/analyzers/security-analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
# Design System Database
|
|
2
|
+
|
|
3
|
+
Database extenso de design para uso pelos Especialistas MCP.
|
|
4
|
+
|
|
5
|
+
## 📊 Recursos Disponíveis
|
|
6
|
+
|
|
7
|
+
### Design Assets
|
|
8
|
+
|
|
9
|
+
| Database | Registros | Arquivo | Descrição |
|
|
10
|
+
|----------|-----------|---------|-----------|
|
|
11
|
+
| **Colors** | 96 paletas | `data/colors.csv` | Paletas por tipo de produto |
|
|
12
|
+
| **Typography** | 57 pares | `data/typography.csv` | Combinações de fontes Google Fonts |
|
|
13
|
+
| **Styles** | 58 estilos | `data/styles.csv` | Estilos UI completos |
|
|
14
|
+
| **Products** | - | `data/products.csv` | Recomendações por produto |
|
|
15
|
+
| **Landing** | - | `data/landing.csv` | Padrões de landing page |
|
|
16
|
+
| **UX Guidelines** | 99+ | `data/ux-guidelines.csv` | Best practices UX |
|
|
17
|
+
| **UI Reasoning** | - | `data/ui-reasoning.csv` | Regras de design reasoning |
|
|
18
|
+
| **Charts** | 25 tipos | `data/charts.csv` | Tipos de gráficos |
|
|
19
|
+
| **Icons** | - | `data/icons.csv` | Diretrizes de ícones |
|
|
20
|
+
| **Web Interface** | - | `data/web-interface.csv` | Guidelines web |
|
|
21
|
+
| **React Performance** | - | `data/react-performance.csv` | Performance React |
|
|
22
|
+
| **Prompts** | - | `data/prompts.csv` | Prompts para Stitch |
|
|
23
|
+
|
|
24
|
+
### Stack Guidelines
|
|
25
|
+
|
|
26
|
+
| Stack | Guidelines | Arquivo | Uso |
|
|
27
|
+
|-------|------------|---------|-----|
|
|
28
|
+
| **HTML + Tailwind** | 57 regras | `stacks/html-tailwind.csv` | HTML puro + Tailwind CSS |
|
|
29
|
+
| **React** | 55 regras | `stacks/react.csv` | Aplicações React |
|
|
30
|
+
| **Next.js** | 54 regras | `stacks/nextjs.csv` | Aplicações Next.js 14/15 |
|
|
31
|
+
| **Vue** | ~50 regras | `stacks/vue.csv` | Aplicações Vue 3 |
|
|
32
|
+
| **Svelte** | ~50 regras | `stacks/svelte.csv` | Aplicações Svelte 5 |
|
|
33
|
+
| **React Native** | ~45 regras | `stacks/react-native.csv` | Apps mobile React Native |
|
|
34
|
+
| **SwiftUI** | ~50 regras | `stacks/swiftui.csv` | Apps iOS/macOS nativas |
|
|
35
|
+
| **Flutter** | ~47 regras | `stacks/flutter.csv` | Apps Flutter cross-platform |
|
|
36
|
+
| **Jetpack Compose** | ~40 regras | `stacks/jetpack-compose.csv` | Apps Android nativas |
|
|
37
|
+
| **shadcn/ui** | ~65 regras | `stacks/shadcn.csv` | shadcn/ui components |
|
|
38
|
+
| **Nuxt.js** | ~70 regras | `stacks/nuxtjs.csv` | Aplicações Nuxt 3 |
|
|
39
|
+
| **Nuxt UI** | ~60 regras | `stacks/nuxt-ui.csv` | Nuxt UI components |
|
|
40
|
+
|
|
41
|
+
**Total:** ~600 guidelines estruturadas
|
|
42
|
+
|
|
43
|
+
## 🗂️ Estrutura
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
design-system/
|
|
47
|
+
├── README.md (este arquivo)
|
|
48
|
+
├── data/ # CSVs design (cores, fontes, estilos)
|
|
49
|
+
├── stacks/ # CSVs guidelines por stack/framework
|
|
50
|
+
└── indexes/ # Índices Markdown navegáveis
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## 🔍 Como Usar
|
|
54
|
+
|
|
55
|
+
### Método 1: Consultar Índices
|
|
56
|
+
|
|
57
|
+
Índices organizados para navegação rápida:
|
|
58
|
+
|
|
59
|
+
- **[Cores](indexes/colors-index.md)** - 96 paletas por tipo de produto
|
|
60
|
+
- **[Busca Rápida](indexes/quick-search.md)** - Atalhos e workflows
|
|
61
|
+
- **[Stacks](indexes/stacks-index.md)** - Guidelines por framework ⭐
|
|
62
|
+
|
|
63
|
+
### Método 2: Ler CSV Diretamente
|
|
64
|
+
|
|
65
|
+
Para busca mais específica:
|
|
66
|
+
|
|
67
|
+
```markdown
|
|
68
|
+
# Design Assets
|
|
69
|
+
content/design-system/data/colors.csv
|
|
70
|
+
content/design-system/data/typography.csv
|
|
71
|
+
|
|
72
|
+
# Stack Guidelines
|
|
73
|
+
content/design-system/stacks/react.csv
|
|
74
|
+
content/design-system/stacks/nextjs.csv
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## 🎯 Casos de Uso
|
|
78
|
+
|
|
79
|
+
### Para Especialista em UX Design
|
|
80
|
+
|
|
81
|
+
**Durante Fase 3 (UX Design):**
|
|
82
|
+
|
|
83
|
+
1. Consultar `indexes/colors-index.md` por tipo de produto
|
|
84
|
+
2. Buscar em `data/colors.csv` por keywords
|
|
85
|
+
3. Apresentar 2-3 opções ao usuário
|
|
86
|
+
4. Validar Purple Ban
|
|
87
|
+
5. Incorporar no Design Doc
|
|
88
|
+
|
|
89
|
+
**Exemplo:**
|
|
90
|
+
```markdown
|
|
91
|
+
Usuário: "SaaS de gestão, moderno"
|
|
92
|
+
→ colors.csv linha 2: SaaS General (#2563EB)
|
|
93
|
+
→ typography.csv linha 2: Poppins + Open Sans
|
|
94
|
+
→ Confirmar com usuário → Incorporar
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Para Especialista em Desenvolvimento Frontend
|
|
98
|
+
|
|
99
|
+
**Durante Fase 11-12 (Implementação):**
|
|
100
|
+
|
|
101
|
+
1. Consultar `indexes/stacks-index.md`
|
|
102
|
+
2. Abrir CSV da stack (react.csv, nextjs.csv, etc)
|
|
103
|
+
3. Filtrar por Severity: High (aplicar primeiro)
|
|
104
|
+
4. Buscar por Category (State, Effects, Performance)
|
|
105
|
+
5. Usar Code Good como exemplo
|
|
106
|
+
6. Evitar Code Bad (anti-patterns)
|
|
107
|
+
|
|
108
|
+
**Exemplo:**
|
|
109
|
+
```markdown
|
|
110
|
+
Stack: Next.js 15
|
|
111
|
+
→ stacks/nextjs.csv
|
|
112
|
+
→ Severity: High
|
|
113
|
+
→ Guideline: "Configure caching explicitly (fetch uncached por padrão!)"
|
|
114
|
+
→ Code Good: fetch(url, { cache: 'force-cache' })
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Para Especialista em Desenvolvimento Mobile
|
|
118
|
+
|
|
119
|
+
**Durante Fase 11-12 (Mobile):**
|
|
120
|
+
|
|
121
|
+
1. Identificar plataforma:
|
|
122
|
+
- iOS → `stacks/swiftui.csv`
|
|
123
|
+
- Android → `stacks/jetpack-compose.csv`
|
|
124
|
+
- Cross → `stacks/react-native.csv` ou `stacks/flutter.csv`
|
|
125
|
+
|
|
126
|
+
2. Aplicar guidelines específicas da plataforma
|
|
127
|
+
|
|
128
|
+
## 📖 Estrutura dos CSVs
|
|
129
|
+
|
|
130
|
+
### Design Assets (colors, typography, styles)
|
|
131
|
+
|
|
132
|
+
```csv
|
|
133
|
+
No,Product Type,Keywords,Primary,Secondary,CTA,Background,Text,Border,Notes
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Stack Guidelines
|
|
137
|
+
|
|
138
|
+
```csv
|
|
139
|
+
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Campos importantes:**
|
|
143
|
+
- **Category** - State, Effects, Performance, etc
|
|
144
|
+
- **Do/Don't** - Boas práticas vs anti-patterns
|
|
145
|
+
- **Code Good/Bad** - Exemplos comparativos
|
|
146
|
+
- **Severity** - High, Medium, Low
|
|
147
|
+
- **Docs URL** - Link documentação oficial
|
|
148
|
+
|
|
149
|
+
## ⚠️ Regras e Validações
|
|
150
|
+
|
|
151
|
+
### Purple Ban (UX Design)
|
|
152
|
+
|
|
153
|
+
Evitar roxo/violeta como cor principal:
|
|
154
|
+
```markdown
|
|
155
|
+
Cores proibidas: #6B21A8, #7C3AED, #8B5CF6, #A78BFA
|
|
156
|
+
Validar após busca no database
|
|
157
|
+
Alertar usuário se encontrar
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Validação com Usuário
|
|
161
|
+
|
|
162
|
+
Database é **sugestão**, não imposição:
|
|
163
|
+
1. Apresentar 2-3 opções
|
|
164
|
+
2. Aguardar confirmação explícita
|
|
165
|
+
3. Permitir ajustes manuais
|
|
166
|
+
|
|
167
|
+
### Severidade (Stack Guidelines)
|
|
168
|
+
|
|
169
|
+
**High Severity:**
|
|
170
|
+
- Crítico
|
|
171
|
+
- Aplicar PRIMEIRO
|
|
172
|
+
- Evitar bugs graves
|
|
173
|
+
|
|
174
|
+
**Medium:**
|
|
175
|
+
- Importante
|
|
176
|
+
- Boas práticas padrão
|
|
177
|
+
|
|
178
|
+
**Low:**
|
|
179
|
+
- Recomendações
|
|
180
|
+
- Otimizações menores
|
|
181
|
+
|
|
182
|
+
## 📚 Índices Disponíveis
|
|
183
|
+
|
|
184
|
+
- **[colors-index.md](indexes/colors-index.md)** - Paletas por tipo de produto
|
|
185
|
+
- **[quick-search.md](indexes/quick-search.md)** - Guia rápido de busca
|
|
186
|
+
- **[stacks-index.md](indexes/stacks-index.md)** - Guidelines por framework ⭐
|
|
187
|
+
|
|
188
|
+
## 🔗 Uso pelos Especialistas
|
|
189
|
+
|
|
190
|
+
### Especialista em UX Design
|
|
191
|
+
|
|
192
|
+
1. Perguntas de estilo ao usuário
|
|
193
|
+
2. Buscar no database (colors, typography, styles)
|
|
194
|
+
3. Apresentar opções
|
|
195
|
+
4. Validar Purple Ban
|
|
196
|
+
5. Incorporar no Design Doc
|
|
197
|
+
|
|
198
|
+
### Especialista em Prototipagem Stitch
|
|
199
|
+
|
|
200
|
+
1. Ler Design Doc (`docs/03-ux/design-doc.md`)
|
|
201
|
+
2. Extrair cores/fontes
|
|
202
|
+
3. Se incompleto, buscar no database
|
|
203
|
+
4. Gerar prompts enriquecidos para Stitch
|
|
204
|
+
|
|
205
|
+
### Especialista em Desenvolvimento Frontend
|
|
206
|
+
|
|
207
|
+
1. Identificar stack do projeto
|
|
208
|
+
2. Consultar `stacks/[stack].csv`
|
|
209
|
+
3. Aplicar guidelines High Severity
|
|
210
|
+
4. Seguir Do, evitar Don't
|
|
211
|
+
5. Usar Code Good como referência
|
|
212
|
+
|
|
213
|
+
### Especialista em Desenvolvimento Mobile
|
|
214
|
+
|
|
215
|
+
1. Identificar plataforma (iOS/Android/Cross)
|
|
216
|
+
2. Consultar stack correspondente
|
|
217
|
+
3. Aplicar best practices específicas
|
|
218
|
+
4. Validar contra guidelines
|
|
219
|
+
|
|
220
|
+
## 📌 Notas
|
|
221
|
+
|
|
222
|
+
- **Localização anterior:** `.agent/.shared/ui-ux-pro-max/data/`
|
|
223
|
+
- **Migração:** 2026-01-23
|
|
224
|
+
- **Formato:** CSVs + índices MD
|
|
225
|
+
- **Manutenção:** Atualizar CSV → re-gerar índices
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
**Versão:** 2.0.0
|
|
230
|
+
**Última atualização:** 2026-01-23
|
|
231
|
+
**Resources:** 12 design CSVs + 12 stack CSVs + 3 índices
|