@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,341 @@
|
|
|
1
|
+
# Índice de Guidelines por Stack
|
|
2
|
+
|
|
3
|
+
Navegue por framework/stack ou busque no CSV completo.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 🌐 Web Frameworks & Libraries
|
|
8
|
+
|
|
9
|
+
### HTML + Tailwind (57 guidelines)
|
|
10
|
+
|
|
11
|
+
**Arquivo:** [`../stacks/html-tailwind.csv`](../stacks/html-tailwind.csv)
|
|
12
|
+
|
|
13
|
+
**Categorias Principais:**
|
|
14
|
+
- Animation (5) - `animate-*`, transitions, durations
|
|
15
|
+
- Z-Index (3) - Stacking context, modals, backgrounds
|
|
16
|
+
- Layout (4) - Container, padding, grid gaps, flexbox
|
|
17
|
+
- Images (4) - Aspect ratio, object-fit, lazy loading, responsive
|
|
18
|
+
- Typography (4) - Prose plugin, line height, font scale, truncation
|
|
19
|
+
- Colors (4) - Opacity, dark mode, semantic naming
|
|
20
|
+
- Spacing (3) - Spacing scale, negative margins, space-between
|
|
21
|
+
- Forms (4) - Focus states, sizing, disabled states
|
|
22
|
+
- Responsive (3) - Mobile-first, breakpoints, visibility
|
|
23
|
+
- Buttons (4) - Sizing, touch targets, loading, icons
|
|
24
|
+
- Cards (3) - Structure, hover states, spacing
|
|
25
|
+
- Accessibility (3) - Screen readers, focus-visible, reduced-motion
|
|
26
|
+
- Performance (3) - Content paths, JIT mode, @apply usage
|
|
27
|
+
- Plugins (2) - Official plugins, custom utilities
|
|
28
|
+
|
|
29
|
+
**Tailwind v4 Specific:**
|
|
30
|
+
- ⭐ Use `bg-linear-to-*` for gradients (not `bg-gradient-to-*`)
|
|
31
|
+
- ⭐ Use `size-*` for square dimensions (not `h-* w-*`)
|
|
32
|
+
- ⭐ Use `shrink-0` shorthand (not `flex-shrink-0`)
|
|
33
|
+
- ⭐ Use theme colors directly: `bg-primary` (not `bg-[var(--color-primary)]`)
|
|
34
|
+
|
|
35
|
+
**High Severity:** 9 regras críticas
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
### React (55 guidelines)
|
|
40
|
+
|
|
41
|
+
**Arquivo:** [`../stacks/react.csv`](../stacks/react.csv)
|
|
42
|
+
|
|
43
|
+
**Categorias Principais:**
|
|
44
|
+
- State (5) - useState, useReducer, lift state, lazy init, avoid unnecessary
|
|
45
|
+
- Effects (4) - Cleanup, dependencies, avoid unnecessary, refs
|
|
46
|
+
- Rendering (5) - Keys, useMemo, useCallback, memo, avoid inline objects
|
|
47
|
+
- Components (4) - Small/focused, composition, colocate, fragments
|
|
48
|
+
- Props (4) - Destructure, defaults, avoid drilling, TypeScript
|
|
49
|
+
- Events (3) - Synthetic events, binding, passing handlers
|
|
50
|
+
- Forms (3) - Controlled components, submission, debouncing
|
|
51
|
+
- Hooks (3) - Rules of hooks, custom hooks, naming
|
|
52
|
+
- Context (3) - Global data, split contexts, memoize values
|
|
53
|
+
- Performance (4) - Profiler, lazy load, virtualize, batching
|
|
54
|
+
- Error Handling (2) - Error boundaries, async errors
|
|
55
|
+
- Testing (2) - Test behavior, testing-library queries
|
|
56
|
+
- Accessibility (4) - Semantic HTML, focus, ARIA, labels
|
|
57
|
+
- TypeScript (4) - Props typing, state typing, events, generics
|
|
58
|
+
- Patterns (3) - Container/Presentational, render props, compound
|
|
59
|
+
|
|
60
|
+
**High Severity:** 16 regras críticas
|
|
61
|
+
- Avoid unnecessary state
|
|
62
|
+
- Clean up effects
|
|
63
|
+
- Specify dependencies correctly
|
|
64
|
+
- Use keys properly (stable IDs)
|
|
65
|
+
- Rules of hooks
|
|
66
|
+
- Memoize context values
|
|
67
|
+
- Virtualize long lists (100+ items)
|
|
68
|
+
- Error boundaries
|
|
69
|
+
- Semantic HTML
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
### Next.js (54 guidelines)
|
|
74
|
+
|
|
75
|
+
**Arquivo:** [`../stacks/nextjs.csv`](../stacks/nextjs.csv)
|
|
76
|
+
|
|
77
|
+
**Categorias Principais:**
|
|
78
|
+
- Routing (6) - App Router, file-based, route groups, loading, errors
|
|
79
|
+
- Rendering (5) - Server Components, Client Components, streaming
|
|
80
|
+
- Data Fetching (5) - Fetch in Server Components, caching, Server Actions
|
|
81
|
+
- Images (5) - next/image, dimensions, fill, remote domains, priority
|
|
82
|
+
- Fonts (3) - next/font, layout application, variable fonts
|
|
83
|
+
- Metadata (3) - generateMetadata, OpenGraph, metadata API
|
|
84
|
+
- API (4) - Route Handlers, Response objects, HTTP methods, validation
|
|
85
|
+
- Middleware (3) - Auth, path matching, edge-compatible
|
|
86
|
+
- Environment (3) - NEXT_PUBLIC prefix, validation, .env.local
|
|
87
|
+
- Performance (4) - Bundle analyzer, dynamic imports, layout shifts
|
|
88
|
+
- Link (3) - next/link, prefetch, scroll
|
|
89
|
+
- Config (3) - next.config.js, strict mode, redirects
|
|
90
|
+
- Deployment (2) - Vercel, self-hosting
|
|
91
|
+
- Security (3) - Sanitize input, CSP headers, Server Action validation
|
|
92
|
+
|
|
93
|
+
**⚠️ CRITICAL (Next.js 15):**
|
|
94
|
+
```csv
|
|
95
|
+
Configure caching explicitly
|
|
96
|
+
fetch() is UNCACHED by default in v15!
|
|
97
|
+
Do: fetch(url, { cache: 'force-cache' })
|
|
98
|
+
Don't: fetch(url) // Uncached!
|
|
99
|
+
Severity: High
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**High Severity:** ~15 regras críticas
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
### Vue (50 guidelines)
|
|
107
|
+
|
|
108
|
+
**Arquivo:** [`../stacks/vue.csv`](../stacks/vue.csv)
|
|
109
|
+
|
|
110
|
+
**Uso:** Aplicações Vue 3 com Composition API
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
### Svelte (50 guidelines)
|
|
115
|
+
|
|
116
|
+
**Arquivo:** [`../stacks/svelte.csv`](../stacks/svelte.csv)
|
|
117
|
+
|
|
118
|
+
**Uso:** Aplicações Svelte 5 com Runes
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
### shadcn/ui (65 guidelines)
|
|
123
|
+
|
|
124
|
+
**Arquivo:** [`../stacks/shadcn.csv`](../stacks/shadcn.csv)
|
|
125
|
+
|
|
126
|
+
**Uso:** Projects usando shadcn/ui components
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
### Nuxt.js (70 guidelines)
|
|
131
|
+
|
|
132
|
+
**Arquivo:** [`../stacks/nuxtjs.csv`](../stacks/nuxtjs.csv)
|
|
133
|
+
|
|
134
|
+
**Uso:** Aplicações Nuxt 3
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
### Nuxt UI (60 guidelines)
|
|
139
|
+
|
|
140
|
+
**Arquivo:** [`../stacks/nuxt-ui.csv`](../stacks/nuxt-ui.csv)
|
|
141
|
+
|
|
142
|
+
**Uso:** Projects usando Nuxt UI
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## 📱 Mobile Frameworks
|
|
147
|
+
|
|
148
|
+
### React Native (45 guidelines)
|
|
149
|
+
|
|
150
|
+
**Arquivo:** [`../stacks/react-native.csv`](../stacks/react-native.csv)
|
|
151
|
+
|
|
152
|
+
**Uso:** Apps mobile React Native (iOS + Android)
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
### SwiftUI (50 guidelines)
|
|
157
|
+
|
|
158
|
+
**Arquivo:** [`../stacks/swiftui.csv`](../stacks/swiftui.csv)
|
|
159
|
+
|
|
160
|
+
**Uso:** Apps iOS/macOS nativas
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
### Flutter (47 guidelines)
|
|
165
|
+
|
|
166
|
+
**Arquivo:** [`../stacks/flutter.csv`](../stacks/flutter.csv)
|
|
167
|
+
|
|
168
|
+
**Uso:** Apps Flutter (iOS + Android)
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
### Jetpack Compose (40 guidelines)
|
|
173
|
+
|
|
174
|
+
**Arquivo:** [`../stacks/jetpack-compose.csv`](../stacks/jetpack-compose.csv)
|
|
175
|
+
|
|
176
|
+
**Uso:** Apps Android nativas modernas
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## 🔍 Como Usar
|
|
181
|
+
|
|
182
|
+
### Para Especialistas MCP
|
|
183
|
+
|
|
184
|
+
**1. Identificar stack do projeto:**
|
|
185
|
+
```
|
|
186
|
+
Estado.json → stack_framework: "react" | "nextjs" | "vue" | etc
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**2. Abrir CSV correspondente:**
|
|
190
|
+
```
|
|
191
|
+
content/design-system/stacks/react.csv
|
|
192
|
+
content/design-system/stacks/nextjs.csv
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**3. Buscar por categoria:**
|
|
196
|
+
```csv
|
|
197
|
+
# Implementando hooks?
|
|
198
|
+
Category: "Hooks" (3 regras)
|
|
199
|
+
|
|
200
|
+
# Otimizando performance?
|
|
201
|
+
Category: "Performance" (4 regras)
|
|
202
|
+
|
|
203
|
+
# TypeScript?
|
|
204
|
+
Category: "TypeScript" (4 regras)
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**4. Filtrar por severidade:**
|
|
208
|
+
```csv
|
|
209
|
+
# High Severity = Crítico (aplicar primeiro)
|
|
210
|
+
# Medium = Importante
|
|
211
|
+
# Low = Boas práticas
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
**5. Consultar exemplos:**
|
|
215
|
+
```csv
|
|
216
|
+
Code Good: [exemplo correto]
|
|
217
|
+
Code Bad: [anti-pattern]
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## 📊 Estatísticas por Severidade
|
|
223
|
+
|
|
224
|
+
### Web Stacks
|
|
225
|
+
|
|
226
|
+
| Stack | High | Medium | Low | Total |
|
|
227
|
+
|-------|------|--------|-----|-------|
|
|
228
|
+
| Tailwind | 9 | 28 | 20 | 57 |
|
|
229
|
+
| React | 16 | ~30 | ~9 | 55 |
|
|
230
|
+
| Next.js | ~15 | ~30 | ~9 | 54 |
|
|
231
|
+
| shadcn | ~20 | ~35 | ~10 | 65 |
|
|
232
|
+
| Nuxt.js | ~25 | ~35 | ~10 | 70 |
|
|
233
|
+
|
|
234
|
+
### Mobile Stacks
|
|
235
|
+
|
|
236
|
+
| Stack | High | Medium | Low | Total |
|
|
237
|
+
|-------|------|--------|-----|-------|
|
|
238
|
+
| React Native | ~15 | ~20 | ~10 | 45 |
|
|
239
|
+
| SwiftUI | ~15 | ~25 | ~10 | 50 |
|
|
240
|
+
| Flutter | ~15 | ~22 | ~10 | 47 |
|
|
241
|
+
| Jetpack Compose | ~12 | ~20 | ~8 | 40 |
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## ⚡ Workflows Rápidos
|
|
246
|
+
|
|
247
|
+
### Cenário 1: Dashboard React + Next.js
|
|
248
|
+
|
|
249
|
+
```
|
|
250
|
+
1. nextjs.csv:
|
|
251
|
+
✅ Use Server Components by default (High)
|
|
252
|
+
✅ Configure caching explicitly (High - v15!)
|
|
253
|
+
✅ Use next/image (High)
|
|
254
|
+
|
|
255
|
+
2. react.csv:
|
|
256
|
+
✅ Avoid unnecessary state (High)
|
|
257
|
+
✅ Use keys properly (High)
|
|
258
|
+
✅ Error boundaries (High)
|
|
259
|
+
|
|
260
|
+
3. tailwind.csv:
|
|
261
|
+
✅ Mobile-first approach (Medium)
|
|
262
|
+
✅ Focus states (High)
|
|
263
|
+
✅ Dark mode (Medium)
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### Cenário 2: App Mobile React Native
|
|
267
|
+
|
|
268
|
+
```
|
|
269
|
+
1. react-native.csv:
|
|
270
|
+
✅ FlatList for long lists (High)
|
|
271
|
+
✅ TouchableOpacity for interactions (Medium)
|
|
272
|
+
✅ Platform-specific code (Medium)
|
|
273
|
+
|
|
274
|
+
2. react.csv:
|
|
275
|
+
✅ Rules of hooks (High)
|
|
276
|
+
✅ Memoize callbacks (Medium)
|
|
277
|
+
✅ Error boundaries (High)
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### Cenário 3: Landing Page com Nuxt UI
|
|
281
|
+
|
|
282
|
+
```
|
|
283
|
+
1. nuxt-ui.csv:
|
|
284
|
+
✅ Use Nuxt UI components (Medium)
|
|
285
|
+
✅ Theme configuration (Medium)
|
|
286
|
+
✅ Icons library (Low)
|
|
287
|
+
|
|
288
|
+
2. nuxtjs.csv:
|
|
289
|
+
✅ Auto-imports (Medium)
|
|
290
|
+
✅ Server routes (High)
|
|
291
|
+
✅ SEO metadata (High)
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## 🎯 Integração com Especialistas
|
|
297
|
+
|
|
298
|
+
### Especialista em Desenvolvimento Frontend
|
|
299
|
+
|
|
300
|
+
Durante Fase 11-12 (Implementação):
|
|
301
|
+
1. Consultar `stacks-index.md` para identificar stack
|
|
302
|
+
2. Abrir CSV correspondente
|
|
303
|
+
3. Aplicar regras High Severity primeiro
|
|
304
|
+
4. Validar código contra Code Bad (anti-patterns)
|
|
305
|
+
5. Consultar Docs URL para aprofundamento
|
|
306
|
+
|
|
307
|
+
### Especialista em Desenvolvimento Mobile
|
|
308
|
+
|
|
309
|
+
Durante Fase 11-12 (Implementação Mobile):
|
|
310
|
+
1. Identificar plataforma (iOS/Android/Cross-platform)
|
|
311
|
+
2. Consultar CSV correspondente:
|
|
312
|
+
- iOS → swiftui.csv
|
|
313
|
+
- Android → jetpack-compose.csv
|
|
314
|
+
- Cross → react-native.csv ou flutter.csv
|
|
315
|
+
3. Aplicar best practices específicas da plataforma
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
## 📋 Estrutura dos CSVs
|
|
320
|
+
|
|
321
|
+
```csv
|
|
322
|
+
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
**Campos:**
|
|
326
|
+
- **No** - Número da guideline
|
|
327
|
+
- **Category** - Categoria (State, Effects, etc)
|
|
328
|
+
- **Guideline** - Título resumido
|
|
329
|
+
- **Description** - Descrição completa
|
|
330
|
+
- **Do** - Boas práticas (o que fazer)
|
|
331
|
+
- **Don't** - Anti-patterns (o que NÃO fazer)
|
|
332
|
+
- **Code Good** - Exemplo de código correto
|
|
333
|
+
- **Code Bad** - Exemplo de código incorreto
|
|
334
|
+
- **Severity** - High, Medium, Low
|
|
335
|
+
- **Docs URL** - Link para documentação oficial
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
339
|
+
**Total de Stacks:** 12
|
|
340
|
+
**Total de Guidelines:** ~600
|
|
341
|
+
**Última atualização:** 2026-01-23
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
2
|
+
1,Widgets,Use StatelessWidget when possible,Immutable widgets are simpler,StatelessWidget for static UI,StatefulWidget for everything,class MyWidget extends StatelessWidget,class MyWidget extends StatefulWidget (static),Medium,https://api.flutter.dev/flutter/widgets/StatelessWidget-class.html
|
|
3
|
+
2,Widgets,Keep widgets small,Single responsibility principle,Extract widgets into smaller pieces,Large build methods,Column(children: [Header() Content()]),500+ line build method,Medium,
|
|
4
|
+
3,Widgets,Use const constructors,Compile-time constants for performance,const MyWidget() when possible,Non-const for static widgets,const Text('Hello'),Text('Hello') for literals,High,https://dart.dev/guides/language/language-tour#constant-constructors
|
|
5
|
+
4,Widgets,Prefer composition over inheritance,Combine widgets using children,Compose widgets,Extend widget classes,Container(child: MyContent()),class MyContainer extends Container,Medium,
|
|
6
|
+
5,State,Use setState correctly,Minimal state in StatefulWidget,setState for UI state changes,setState for business logic,setState(() { _counter++; }),Complex logic in setState,Medium,https://api.flutter.dev/flutter/widgets/State/setState.html
|
|
7
|
+
6,State,Avoid setState in build,Never call setState during build,setState in callbacks only,setState in build method,onPressed: () => setState(() {}),build() { setState(); },High,
|
|
8
|
+
7,State,Use state management for complex apps,Provider Riverpod BLoC,State management for shared state,setState for global state,Provider.of<MyState>(context),Global setState calls,Medium,
|
|
9
|
+
8,State,Prefer Riverpod or Provider,Recommended state solutions,Riverpod for new projects,InheritedWidget manually,ref.watch(myProvider),Custom InheritedWidget,Medium,https://riverpod.dev/
|
|
10
|
+
9,State,Dispose resources,Clean up controllers and subscriptions,dispose() for cleanup,Memory leaks from subscriptions,@override void dispose() { controller.dispose(); },No dispose implementation,High,
|
|
11
|
+
10,Layout,Use Column and Row,Basic layout widgets,Column Row for linear layouts,Stack for simple layouts,"Column(children: [Text(), Button()])",Stack for vertical list,Medium,https://api.flutter.dev/flutter/widgets/Column-class.html
|
|
12
|
+
11,Layout,Use Expanded and Flexible,Control flex behavior,Expanded to fill space,Fixed sizes in flex containers,Expanded(child: Container()),Container(width: 200) in Row,Medium,
|
|
13
|
+
12,Layout,Use SizedBox for spacing,Consistent spacing,SizedBox for gaps,Container for spacing only,SizedBox(height: 16),Container(height: 16),Low,
|
|
14
|
+
13,Layout,Use LayoutBuilder for responsive,Respond to constraints,LayoutBuilder for adaptive layouts,Fixed sizes for responsive,LayoutBuilder(builder: (context constraints) {}),Container(width: 375),Medium,https://api.flutter.dev/flutter/widgets/LayoutBuilder-class.html
|
|
15
|
+
14,Layout,Avoid deep nesting,Keep widget tree shallow,Extract deeply nested widgets,10+ levels of nesting,Extract widget to method or class,Column(Row(Column(Row(...)))),Medium,
|
|
16
|
+
15,Lists,Use ListView.builder,Lazy list building,ListView.builder for long lists,ListView with children for large lists,"ListView.builder(itemCount: 100, itemBuilder: ...)",ListView(children: items.map(...).toList()),High,https://api.flutter.dev/flutter/widgets/ListView-class.html
|
|
17
|
+
16,Lists,Provide itemExtent when known,Skip measurement,itemExtent for fixed height items,No itemExtent for uniform lists,ListView.builder(itemExtent: 50),ListView.builder without itemExtent,Medium,
|
|
18
|
+
17,Lists,Use keys for stateful items,Preserve widget state,Key for stateful list items,No key for dynamic lists,ListTile(key: ValueKey(item.id)),ListTile without key,High,
|
|
19
|
+
18,Lists,Use SliverList for custom scroll,Custom scroll effects,CustomScrollView with Slivers,Nested ListViews,CustomScrollView(slivers: [SliverList()]),ListView inside ListView,Medium,https://api.flutter.dev/flutter/widgets/SliverList-class.html
|
|
20
|
+
19,Navigation,Use Navigator 2.0 or GoRouter,Declarative routing,go_router for navigation,Navigator.push for complex apps,GoRouter(routes: [...]),Navigator.push everywhere,Medium,https://pub.dev/packages/go_router
|
|
21
|
+
20,Navigation,Use named routes,Organized navigation,Named routes for clarity,Anonymous routes,Navigator.pushNamed(context '/home'),Navigator.push(context MaterialPageRoute()),Low,
|
|
22
|
+
21,Navigation,Handle back button (PopScope),Android back behavior and predictive back (Android 14+),Use PopScope widget (WillPopScope is deprecated),Use WillPopScope,"PopScope(canPop: false, onPopInvoked: (didPop) => ...)",WillPopScope(onWillPop: ...),High,https://api.flutter.dev/flutter/widgets/PopScope-class.html
|
|
23
|
+
22,Navigation,Pass typed arguments,Type-safe route arguments,Typed route arguments,Dynamic arguments,MyRoute(id: '123'),arguments: {'id': '123'},Medium,
|
|
24
|
+
23,Async,Use FutureBuilder,Async UI building,FutureBuilder for async data,setState for async,FutureBuilder(future: fetchData()),fetchData().then((d) => setState()),Medium,https://api.flutter.dev/flutter/widgets/FutureBuilder-class.html
|
|
25
|
+
24,Async,Use StreamBuilder,Stream UI building,StreamBuilder for streams,Manual stream subscription,StreamBuilder(stream: myStream),stream.listen in initState,Medium,https://api.flutter.dev/flutter/widgets/StreamBuilder-class.html
|
|
26
|
+
25,Async,Handle loading and error states,Complete async UI states,ConnectionState checks,Only success state,if (snapshot.connectionState == ConnectionState.waiting),No loading indicator,High,
|
|
27
|
+
26,Async,Cancel subscriptions,Clean up stream subscriptions,Cancel in dispose,Memory leaks,subscription.cancel() in dispose,No subscription cleanup,High,
|
|
28
|
+
27,Theming,Use ThemeData,Consistent theming,ThemeData for app theme,Hardcoded colors,Theme.of(context).primaryColor,Color(0xFF123456) everywhere,Medium,https://api.flutter.dev/flutter/material/ThemeData-class.html
|
|
29
|
+
28,Theming,Use ColorScheme,Material 3 color system,ColorScheme for colors,Individual color properties,colorScheme: ColorScheme.fromSeed(),primaryColor: Colors.blue,Medium,
|
|
30
|
+
29,Theming,Access theme via context,Dynamic theme access,Theme.of(context),Static theme reference,Theme.of(context).textTheme.bodyLarge,TextStyle(fontSize: 16),Medium,
|
|
31
|
+
30,Theming,Support dark mode,Respect system theme,darkTheme in MaterialApp,Light theme only,"MaterialApp(theme: light, darkTheme: dark)",MaterialApp(theme: light),Medium,
|
|
32
|
+
31,Animation,Use implicit animations,Simple animations,AnimatedContainer AnimatedOpacity,Explicit for simple transitions,AnimatedContainer(duration: Duration()),AnimationController for fade,Low,https://api.flutter.dev/flutter/widgets/AnimatedContainer-class.html
|
|
33
|
+
32,Animation,Use AnimationController for complex,Fine-grained control,AnimationController with Ticker,Implicit for complex sequences,AnimationController(vsync: this),AnimatedContainer for staggered,Medium,
|
|
34
|
+
33,Animation,Dispose AnimationControllers,Clean up animation resources,dispose() for controllers,Memory leaks,controller.dispose() in dispose,No controller disposal,High,
|
|
35
|
+
34,Animation,Use Hero for transitions,Shared element transitions,Hero for navigation animations,Manual shared element,Hero(tag: 'image' child: Image()),Custom shared element animation,Low,https://api.flutter.dev/flutter/widgets/Hero-class.html
|
|
36
|
+
35,Forms,Use Form widget,Form validation,Form with GlobalKey,Individual validation,Form(key: _formKey child: ...),TextField without Form,Medium,https://api.flutter.dev/flutter/widgets/Form-class.html
|
|
37
|
+
36,Forms,Use TextEditingController,Control text input,Controller for text fields,onChanged for all text,final controller = TextEditingController(),onChanged: (v) => setState(),Medium,
|
|
38
|
+
37,Forms,Validate on submit,Form validation flow,_formKey.currentState!.validate(),Skip validation,if (_formKey.currentState!.validate()),Submit without validation,High,
|
|
39
|
+
38,Forms,Dispose controllers,Clean up text controllers,dispose() for controllers,Memory leaks,controller.dispose() in dispose,No controller disposal,High,
|
|
40
|
+
39,Performance,Use const widgets,Reduce rebuilds,const for static widgets,No const for literals,const Icon(Icons.add),Icon(Icons.add),High,
|
|
41
|
+
40,Performance,Avoid rebuilding entire tree,Minimal rebuild scope,Isolate changing widgets,setState on parent,Consumer only around changing widget,setState on root widget,High,
|
|
42
|
+
41,Performance,Use RepaintBoundary,Isolate repaints,RepaintBoundary for animations,Full screen repaints,RepaintBoundary(child: AnimatedWidget()),Animation without boundary,Medium,https://api.flutter.dev/flutter/widgets/RepaintBoundary-class.html
|
|
43
|
+
42,Performance,Profile with DevTools,Measure before optimizing,Flutter DevTools profiling,Guess at performance,DevTools performance tab,Optimize without measuring,Medium,https://docs.flutter.dev/tools/devtools
|
|
44
|
+
43,Accessibility,Use Semantics widget,Screen reader support,Semantics for accessibility,Missing accessibility info,Semantics(label: 'Submit button'),GestureDetector without semantics,High,https://api.flutter.dev/flutter/widgets/Semantics-class.html
|
|
45
|
+
44,Accessibility,Support large fonts,MediaQuery text scaling,MediaQuery.textScaleFactor,Fixed font sizes,style: Theme.of(context).textTheme,TextStyle(fontSize: 14),High,
|
|
46
|
+
45,Accessibility,Test with screen readers,TalkBack and VoiceOver,Test accessibility regularly,Skip accessibility testing,Regular TalkBack testing,No screen reader testing,High,
|
|
47
|
+
46,Testing,Use widget tests,Test widget behavior,WidgetTester for UI tests,Unit tests only,testWidgets('...' (tester) async {}),Only test() for UI,Medium,https://docs.flutter.dev/testing
|
|
48
|
+
47,Testing,Use integration tests,Full app testing,integration_test package,Manual testing only,IntegrationTestWidgetsFlutterBinding,Manual E2E testing,Medium,
|
|
49
|
+
48,Testing,Mock dependencies,Isolate tests,Mockito or mocktail,Real dependencies in tests,when(mock.method()).thenReturn(),Real API calls in tests,Medium,
|
|
50
|
+
49,Platform,Use Platform checks,Platform-specific code,Platform.isIOS Platform.isAndroid,Same code for all platforms,if (Platform.isIOS) {},Hardcoded iOS behavior,Medium,
|
|
51
|
+
50,Platform,Use kIsWeb for web,Web platform detection,kIsWeb for web checks,Platform for web,if (kIsWeb) {},Platform.isWeb (doesn't exist),Medium,
|
|
52
|
+
51,Packages,Use pub.dev packages,Community packages,Popular maintained packages,Custom implementations,cached_network_image,Custom image cache,Medium,https://pub.dev/
|
|
53
|
+
52,Packages,Check package quality,Quality before adding,Pub points and popularity,Any package without review,100+ pub points,Unmaintained packages,Medium,
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
2
|
+
1,Animation,Use Tailwind animate utilities,Built-in animations are optimized and respect reduced-motion,Use animate-pulse animate-spin animate-ping,Custom @keyframes for simple effects,animate-pulse,@keyframes pulse {...},Medium,https://tailwindcss.com/docs/animation
|
|
3
|
+
2,Animation,Limit bounce animations,Continuous bounce is distracting and causes motion sickness,Use animate-bounce sparingly on CTAs only,Multiple bounce animations on page,Single CTA with animate-bounce,5+ elements with animate-bounce,High,
|
|
4
|
+
3,Animation,Transition duration,Use appropriate transition speeds for UI feedback,duration-150 to duration-300 for UI,duration-1000 or longer for UI elements,transition-all duration-200,transition-all duration-1000,Medium,https://tailwindcss.com/docs/transition-duration
|
|
5
|
+
4,Animation,Hover transitions,Add smooth transitions on hover state changes,Add transition class with hover states,Instant hover changes without transition,hover:bg-gray-100 transition-colors,hover:bg-gray-100 (no transition),Low,
|
|
6
|
+
5,Z-Index,Use Tailwind z-* scale,Consistent stacking context with predefined scale,z-0 z-10 z-20 z-30 z-40 z-50,Arbitrary z-index values,z-50 for modals,z-[9999],Medium,https://tailwindcss.com/docs/z-index
|
|
7
|
+
6,Z-Index,Fixed elements z-index,Fixed navigation and modals need explicit z-index,z-50 for nav z-40 for dropdowns,Relying on DOM order for stacking,fixed top-0 z-50,fixed top-0 (no z-index),High,
|
|
8
|
+
7,Z-Index,Negative z-index for backgrounds,Use negative z-index for decorative backgrounds,z-[-1] for background elements,Positive z-index for backgrounds,-z-10 for decorative,z-10 for background,Low,
|
|
9
|
+
8,Layout,Container max-width,Limit content width for readability,max-w-7xl mx-auto for main content,Full-width content on large screens,max-w-7xl mx-auto px-4,w-full (no max-width),Medium,https://tailwindcss.com/docs/container
|
|
10
|
+
9,Layout,Responsive padding,Adjust padding for different screen sizes,px-4 md:px-6 lg:px-8,Same padding all sizes,px-4 sm:px-6 lg:px-8,px-8 (same all sizes),Medium,
|
|
11
|
+
10,Layout,Grid gaps,Use consistent gap utilities for spacing,gap-4 gap-6 gap-8,Margins on individual items,grid gap-6,grid with mb-4 on each item,Medium,https://tailwindcss.com/docs/gap
|
|
12
|
+
11,Layout,Flexbox alignment,Use flex utilities for alignment,items-center justify-between,Multiple nested wrappers,flex items-center justify-between,Nested divs for alignment,Low,
|
|
13
|
+
12,Images,Aspect ratio,Maintain consistent image aspect ratios,aspect-video aspect-square,No aspect ratio on containers,aspect-video rounded-lg,No aspect control,Medium,https://tailwindcss.com/docs/aspect-ratio
|
|
14
|
+
13,Images,Object fit,Control image scaling within containers,object-cover object-contain,Stretched distorted images,object-cover w-full h-full,No object-fit,Medium,https://tailwindcss.com/docs/object-fit
|
|
15
|
+
14,Images,Lazy loading,Defer loading of off-screen images,loading='lazy' on images,All images eager load,<img loading='lazy'>,<img> without lazy,High,
|
|
16
|
+
15,Images,Responsive images,Serve appropriate image sizes,srcset and sizes attributes,Same large image all devices,srcset with multiple sizes,4000px image everywhere,High,
|
|
17
|
+
16,Typography,Prose plugin,Use @tailwindcss/typography for rich text,prose prose-lg for article content,Custom styles for markdown,prose prose-lg max-w-none,Custom text styling,Medium,https://tailwindcss.com/docs/typography-plugin
|
|
18
|
+
17,Typography,Line height,Use appropriate line height for readability,leading-relaxed for body text,Default tight line height,leading-relaxed (1.625),leading-none or leading-tight,Medium,https://tailwindcss.com/docs/line-height
|
|
19
|
+
18,Typography,Font size scale,Use consistent text size scale,text-sm text-base text-lg text-xl,Arbitrary font sizes,text-lg,text-[17px],Low,https://tailwindcss.com/docs/font-size
|
|
20
|
+
19,Typography,Text truncation,Handle long text gracefully,truncate or line-clamp-*,Overflow breaking layout,line-clamp-2,No overflow handling,Medium,https://tailwindcss.com/docs/text-overflow
|
|
21
|
+
20,Colors,Opacity utilities,Use color opacity utilities,bg-black/50 text-white/80,Separate opacity class,bg-black/50,bg-black opacity-50,Low,https://tailwindcss.com/docs/background-color
|
|
22
|
+
21,Colors,Dark mode,Support dark mode with dark: prefix,dark:bg-gray-900 dark:text-white,No dark mode support,dark:bg-gray-900,Only light theme,Medium,https://tailwindcss.com/docs/dark-mode
|
|
23
|
+
22,Colors,Semantic colors,Use semantic color naming in config,primary secondary danger success,Generic color names in components,bg-primary,bg-blue-500 everywhere,Medium,
|
|
24
|
+
23,Spacing,Consistent spacing scale,Use Tailwind spacing scale consistently,p-4 m-6 gap-8,Arbitrary pixel values,p-4 (1rem),p-[15px],Low,https://tailwindcss.com/docs/customizing-spacing
|
|
25
|
+
24,Spacing,Negative margins,Use sparingly for overlapping effects,-mt-4 for overlapping elements,Negative margins for layout fixing,-mt-8 for card overlap,-m-2 to fix spacing issues,Medium,
|
|
26
|
+
25,Spacing,Space between,Use space-y-* for vertical lists,space-y-4 on flex/grid column,Margin on each child,space-y-4,Each child has mb-4,Low,https://tailwindcss.com/docs/space
|
|
27
|
+
26,Forms,Focus states,Always show focus indicators,focus:ring-2 focus:ring-blue-500,Remove focus outline,focus:ring-2 focus:ring-offset-2,focus:outline-none (no replacement),High,
|
|
28
|
+
27,Forms,Input sizing,Consistent input dimensions,h-10 px-3 for inputs,Inconsistent input heights,h-10 w-full px-3,Various heights per input,Medium,
|
|
29
|
+
28,Forms,Disabled states,Clear disabled styling,disabled:opacity-50 disabled:cursor-not-allowed,No disabled indication,disabled:opacity-50,Same style as enabled,Medium,
|
|
30
|
+
29,Forms,Placeholder styling,Style placeholder text appropriately,placeholder:text-gray-400,Dark placeholder text,placeholder:text-gray-400,Default dark placeholder,Low,
|
|
31
|
+
30,Responsive,Mobile-first approach,Start with mobile styles and add breakpoints,Default mobile + md: lg: xl:,Desktop-first approach,text-sm md:text-base,text-base max-md:text-sm,Medium,https://tailwindcss.com/docs/responsive-design
|
|
32
|
+
31,Responsive,Breakpoint testing,Test at standard breakpoints,320 375 768 1024 1280 1536,Only test on development device,Test all breakpoints,Single device testing,High,
|
|
33
|
+
32,Responsive,Hidden/shown utilities,Control visibility per breakpoint,hidden md:block,Different content per breakpoint,hidden md:flex,Separate mobile/desktop components,Low,https://tailwindcss.com/docs/display
|
|
34
|
+
33,Buttons,Button sizing,Consistent button dimensions,px-4 py-2 or px-6 py-3,Inconsistent button sizes,px-4 py-2 text-sm,Various padding per button,Medium,
|
|
35
|
+
34,Buttons,Touch targets,Minimum 44px touch target on mobile,min-h-[44px] on mobile,Small buttons on mobile,min-h-[44px] min-w-[44px],h-8 w-8 on mobile,High,
|
|
36
|
+
35,Buttons,Loading states,Show loading feedback,disabled + spinner icon,Clickable during loading,<Button disabled><Spinner/></Button>,Button without loading state,High,
|
|
37
|
+
36,Buttons,Icon buttons,Accessible icon-only buttons,aria-label on icon buttons,Icon button without label,<button aria-label='Close'><XIcon/></button>,<button><XIcon/></button>,High,
|
|
38
|
+
37,Cards,Card structure,Consistent card styling,rounded-lg shadow-md p-6,Inconsistent card styles,rounded-2xl shadow-lg p-6,Mixed card styling,Low,
|
|
39
|
+
38,Cards,Card hover states,Interactive cards should have hover feedback,hover:shadow-lg transition-shadow,No hover on clickable cards,hover:shadow-xl transition-shadow,Static cards that are clickable,Medium,
|
|
40
|
+
39,Cards,Card spacing,Consistent internal card spacing,space-y-4 for card content,Inconsistent internal spacing,space-y-4 or p-6,Mixed mb-2 mb-4 mb-6,Low,
|
|
41
|
+
40,Accessibility,Screen reader text,Provide context for screen readers,sr-only for hidden labels,Missing context for icons,<span class='sr-only'>Close menu</span>,No label for icon button,High,https://tailwindcss.com/docs/screen-readers
|
|
42
|
+
41,Accessibility,Focus visible,Show focus only for keyboard users,focus-visible:ring-2,Focus on all interactions,focus-visible:ring-2,focus:ring-2 (shows on click too),Medium,
|
|
43
|
+
42,Accessibility,Reduced motion,Respect user motion preferences,motion-reduce:animate-none,Ignore motion preferences,motion-reduce:transition-none,No reduced motion support,High,https://tailwindcss.com/docs/hover-focus-and-other-states#prefers-reduced-motion
|
|
44
|
+
43,Performance,Configure content paths,Tailwind needs to know where classes are used,Use 'content' array in config,Use deprecated 'purge' option (v2),"content: ['./src/**/*.{js,ts,jsx,tsx}']",purge: [...],High,https://tailwindcss.com/docs/content-configuration
|
|
45
|
+
44,Performance,JIT mode,Use JIT for faster builds and smaller bundles,JIT enabled (default in v3),Full CSS in development,Tailwind v3 defaults,Tailwind v2 without JIT,Medium,
|
|
46
|
+
45,Performance,Avoid @apply bloat,Use @apply sparingly,Direct utilities in HTML,Heavy @apply usage,class='px-4 py-2 rounded',@apply px-4 py-2 rounded;,Low,https://tailwindcss.com/docs/reusing-styles
|
|
47
|
+
46,Plugins,Official plugins,Use official Tailwind plugins,@tailwindcss/forms typography aspect-ratio,Custom implementations,@tailwindcss/forms,Custom form reset CSS,Medium,https://tailwindcss.com/docs/plugins
|
|
48
|
+
47,Plugins,Custom utilities,Create utilities for repeated patterns,Custom utility in config,Repeated arbitrary values,Custom shadow utility,"shadow-[0_4px_20px_rgba(0,0,0,0.1)] everywhere",Medium,
|
|
49
|
+
48,Layout,Container Queries,Use @container for component-based responsiveness,Use @container and @lg: etc.,Media queries for component internals,@container @lg:grid-cols-2,@media (min-width: ...) inside component,Medium,https://github.com/tailwindlabs/tailwindcss-container-queries
|
|
50
|
+
49,Interactivity,Group and Peer,Style based on parent/sibling state,group-hover peer-checked,JS for simple state interactions,group-hover:text-blue-500,onMouseEnter={() => setHover(true)},Low,https://tailwindcss.com/docs/hover-focus-and-other-states#styling-based-on-parent-state
|
|
51
|
+
50,Customization,Arbitrary Values,Use [] for one-off values,w-[350px] for specific needs,Creating config for single use,top-[117px] (if strictly needed),style={{ top: '117px' }},Low,https://tailwindcss.com/docs/adding-custom-styles#using-arbitrary-values
|
|
52
|
+
51,Colors,Theme color variables,Define colors in Tailwind theme and use directly,bg-primary text-success border-cta,bg-[var(--color-primary)] text-[var(--color-success)],bg-primary,bg-[var(--color-primary)],Medium,https://tailwindcss.com/docs/customizing-colors
|
|
53
|
+
52,Colors,Use bg-linear-to-* for gradients,Tailwind v4 uses bg-linear-to-* syntax for gradients,bg-linear-to-r bg-linear-to-b,bg-gradient-to-* (deprecated in v4),bg-linear-to-r from-blue-500 to-purple-500,bg-gradient-to-r from-blue-500 to-purple-500,Medium,https://tailwindcss.com/docs/background-image
|
|
54
|
+
53,Layout,Use shrink-0 shorthand,Shorter class name for flex-shrink-0,shrink-0 shrink,flex-shrink-0 flex-shrink,shrink-0,flex-shrink-0,Low,https://tailwindcss.com/docs/flex-shrink
|
|
55
|
+
54,Layout,Use size-* for square dimensions,Single utility for equal width and height,size-4 size-8 size-12,Separate h-* w-* for squares,size-6,h-6 w-6,Low,https://tailwindcss.com/docs/size
|
|
56
|
+
55,Images,SVG explicit dimensions,Add width/height attributes to SVGs to prevent layout shift before CSS loads,<svg class='size-6' width='24' height='24'>,SVG without explicit dimensions,<svg class='size-6' width='24' height='24'>,<svg class='size-6'>,High,
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
2
|
+
1,Composable,Pure UI composables,Composable functions should only render UI,Accept state and callbacks,Calling usecase/repo,Pure UI composable,Business logic in UI,High,https://developer.android.com/jetpack/compose/mental-model
|
|
3
|
+
2,Composable,Small composables,Each composable has single responsibility,Split into components,Huge composable,Reusable UI,Monolithic UI,Medium,
|
|
4
|
+
3,Composable,Stateless by default,Prefer stateless composables,Hoist state,Local mutable state,Stateless UI,Hidden state,High,https://developer.android.com/jetpack/compose/state#state-hoisting
|
|
5
|
+
4,State,Single source of truth,UI state comes from one source,StateFlow from VM,Multiple states,Unified UiState,Scattered state,High,https://developer.android.com/topic/architecture/ui-layer
|
|
6
|
+
5,State,Model UI State,Use sealed interface/data class,UiState.Loading,Boolean flags,Explicit state,Flag hell,High,
|
|
7
|
+
6,State,remember only UI state,remember for UI-only state,"Scroll, animation",Business state,Correct remember,Misuse remember,High,https://developer.android.com/jetpack/compose/state
|
|
8
|
+
7,State,rememberSaveable,Persist state across config,rememberSaveable,remember,State survives,State lost,High,https://developer.android.com/jetpack/compose/state#restore-ui-state
|
|
9
|
+
8,State,derivedStateOf,Optimize recomposition,derivedStateOf,Recompute always,Optimized,Jank,Medium,https://developer.android.com/jetpack/compose/performance
|
|
10
|
+
9,SideEffect,LaunchedEffect keys,Use correct keys,LaunchedEffect(id),LaunchedEffect(Unit),Scoped effect,Infinite loop,High,https://developer.android.com/jetpack/compose/side-effects
|
|
11
|
+
10,SideEffect,rememberUpdatedState,Avoid stale lambdas,rememberUpdatedState,Capture directly,Safe callback,Stale state,Medium,https://developer.android.com/jetpack/compose/side-effects
|
|
12
|
+
11,SideEffect,DisposableEffect,Clean up resources,onDispose,No cleanup,No leak,Memory leak,High,
|
|
13
|
+
12,Architecture,Unidirectional data flow,UI → VM → State,onEvent,Two-way binding,Predictable flow,Hard debug,High,https://developer.android.com/topic/architecture
|
|
14
|
+
13,Architecture,No business logic in UI,Logic belongs to VM,Collect state,Call repo,Clean UI,Fat UI,High,
|
|
15
|
+
14,Architecture,Expose immutable state,Expose StateFlow,asStateFlow,Mutable exposed,Safe API,State mutation,High,
|
|
16
|
+
15,Lifecycle,Lifecycle-aware collect,Use collectAsStateWithLifecycle,Lifecycle aware,collectAsState,No leak,Leak,High,https://developer.android.com/jetpack/compose/lifecycle
|
|
17
|
+
16,Navigation,Event-based navigation,VM emits navigation event,"VM: Channel + receiveAsFlow(), V: Collect with Dispatchers.Main.immediate",Nav in UI,Decoupled nav,Using State / SharedFlow for navigation -> event is replayed and navigation fires again (StateFlow),High,https://developer.android.com/jetpack/compose/navigation
|
|
18
|
+
17,Navigation,Typed routes,Use sealed routes,sealed class Route,String routes,Type-safe,Runtime crash,Medium,
|
|
19
|
+
18,Performance,Stable parameters,Prefer immutable/stable params,@Immutable,Mutable params,Stable recomposition,Extra recomposition,High,https://developer.android.com/jetpack/compose/performance
|
|
20
|
+
19,Performance,Use key in Lazy,Provide stable keys,key=id,No key,Stable list,Item jump,High,
|
|
21
|
+
20,Performance,Avoid heavy work,No heavy computation in UI,Precompute in VM,Compute in UI,Smooth UI,Jank,High,
|
|
22
|
+
21,Performance,Remember expensive objects,remember heavy objects,remember,Recreate each recomposition,Efficient,Wasteful,Medium,
|
|
23
|
+
22,Theming,Design system,Centralized theme,Material3 tokens,Hardcoded values,Consistent UI,Inconsistent,High,https://developer.android.com/jetpack/compose/themes
|
|
24
|
+
23,Theming,Dark mode support,Theme-based colors,colorScheme,Fixed color,Adaptive UI,Broken dark,Medium,
|
|
25
|
+
24,Layout,Prefer Modifier over extra layouts,Use Modifier to adjust layout instead of adding wrapper composables,Use Modifier.padding(),Wrap content with extra Box,Padding via modifier,Box just for padding,High,https://developer.android.com/jetpack/compose/modifiers
|
|
26
|
+
25,Layout,Avoid deep layout nesting,Deep layout trees increase measure & layout cost,Keep layout flat,Box ? Column ? Box ? Row,Flat hierarchy,Deep nested tree,High,
|
|
27
|
+
26,Layout,Use Row/Column for linear layout,Linear layouts are simpler and more performant,Use Row / Column,Custom layout for simple cases,Row/Column usage,Over-engineered layout,High,
|
|
28
|
+
27,Layout,Use Box only for overlapping content,Box should be used only when children overlap,Stack elements,Use Box as Column,Proper overlay,Misused Box,Medium,
|
|
29
|
+
28,Layout,Prefer LazyColumn over Column scroll,Lazy layouts are virtualized and efficient,LazyColumn,Column.verticalScroll(),Lazy list,Scrollable Column,High,https://developer.android.com/jetpack/compose/lists
|
|
30
|
+
29,Layout,Avoid nested scroll containers,Nested scrolling causes UX & performance issues,Single scroll container,Scroll inside scroll,One scroll per screen,Nested scroll,High,
|
|
31
|
+
30,Layout,Avoid fillMaxSize by default,fillMaxSize may break parent constraints,Use exact size,Fill max everywhere,Constraint-aware size,Overfilled layout,Medium,
|
|
32
|
+
31,Layout,Avoid intrinsic size unless necessary,Intrinsic measurement is expensive,Explicit sizing,IntrinsicSize.Min,Predictable layout,Expensive measure,High,https://developer.android.com/jetpack/compose/layout/intrinsics
|
|
33
|
+
32,Layout,Use Arrangement and Alignment APIs,Declare layout intent explicitly,Use Arrangement / Alignment,Manual spacing hacks,Declarative spacing,Magic spacing,High,
|
|
34
|
+
33,Layout,Extract reusable layout patterns,Repeated layouts should be shared,Create layout composable,Copy-paste layouts,Reusable scaffold,Duplicated layout,High,
|
|
35
|
+
34,Theming,No hardcoded text style,Use typography,MaterialTheme.typography,Hardcode sp,Scalable,Inconsistent,Medium,
|
|
36
|
+
35,Testing,Stateless UI testing,Composable easy to test,Pass state,Hidden state,Testable,Hard test,High,https://developer.android.com/jetpack/compose/testing
|
|
37
|
+
36,Testing,Use testTag,Stable UI selectors,Modifier.testTag,Find by text,Stable tests,Flaky tests,Medium,
|
|
38
|
+
37,Preview,Multiple previews,Preview multiple states,@Preview,Single preview,Better dev UX,Misleading,Low,https://developer.android.com/jetpack/compose/tooling/preview
|
|
39
|
+
38,DI,Inject VM via Hilt,Use hiltViewModel,@HiltViewModel,Manual VM,Clean DI,Coupling,High,https://developer.android.com/training/dependency-injection/hilt-jetpack
|
|
40
|
+
39,DI,No DI in UI,Inject in VM,Constructor inject,Inject composable,Proper scope,Wrong scope,High,
|
|
41
|
+
40,Accessibility,Content description,Accessible UI,contentDescription,Ignore a11y,Inclusive,A11y fail,Medium,https://developer.android.com/jetpack/compose/accessibility
|
|
42
|
+
41,Accessibility,Semantics,Use semantics API,Modifier.semantics,None,Testable a11y,Invisible,Medium,
|
|
43
|
+
42,Animation,Compose animation APIs,Use animate*AsState,AnimatedVisibility,Manual anim,Smooth,Jank,Medium,https://developer.android.com/jetpack/compose/animation
|
|
44
|
+
43,Animation,Avoid animation logic in VM,Animation is UI concern,Animate in UI,Animate in VM,Correct layering,Mixed concern,Low,
|
|
45
|
+
44,Modularization,Feature-based UI modules,UI per feature,:feature:ui,God module,Scalable,Tight coupling,High,https://developer.android.com/topic/modularization
|
|
46
|
+
45,Modularization,Public UI contracts,Expose minimal UI API,Interface/Route,Expose impl,Encapsulated,Leaky module,Medium,
|
|
47
|
+
46,State,Snapshot state only,Use Compose state,mutableStateOf,Custom observable,Compose aware,Buggy UI,Medium,
|
|
48
|
+
47,State,Avoid mutable collections,Immutable list/map,PersistentList,MutableList,Stable UI,Silent bug,High,
|
|
49
|
+
48,Lifecycle,RememberCoroutineScope usage,Only for UI jobs,UI coroutine,Long jobs,Scoped job,Leak,Medium,https://developer.android.com/jetpack/compose/side-effects#remembercoroutinescope
|
|
50
|
+
49,Interop,Interop View carefully,Use AndroidView,Isolated usage,Mix everywhere,Safe interop,Messy UI,Low,https://developer.android.com/jetpack/compose/interop
|
|
51
|
+
50,Interop,Avoid legacy patterns,No LiveData in UI,StateFlow,LiveData,Modern stack,Legacy debt,Medium,
|
|
52
|
+
51,Debug,Use layout inspector,Inspect recomposition,Tools,Blind debug,Fast debug,Guessing,Low,https://developer.android.com/studio/debug/layout-inspector
|
|
53
|
+
52,Debug,Enable recomposition counts,Track recomposition,Debug flags,Ignore,Performance aware,Hidden jank,Low,
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
No,Category,Guideline,Description,Do,Don't,Code Good,Code Bad,Severity,Docs URL
|
|
2
|
+
1,Routing,Use App Router for new projects,App Router is the recommended approach in Next.js 14+,app/ directory with page.tsx,pages/ for new projects,app/dashboard/page.tsx,pages/dashboard.tsx,Medium,https://nextjs.org/docs/app
|
|
3
|
+
2,Routing,Use file-based routing,Create routes by adding files in app directory,page.tsx for routes layout.tsx for layouts,Manual route configuration,app/blog/[slug]/page.tsx,Custom router setup,Medium,https://nextjs.org/docs/app/building-your-application/routing
|
|
4
|
+
3,Routing,Colocate related files,Keep components styles tests with their routes,Component files alongside page.tsx,Separate components folder,app/dashboard/_components/,components/dashboard/,Low,
|
|
5
|
+
4,Routing,Use route groups for organization,Group routes without affecting URL,Parentheses for route groups,Nested folders affecting URL,(marketing)/about/page.tsx,marketing/about/page.tsx,Low,https://nextjs.org/docs/app/building-your-application/routing/route-groups
|
|
6
|
+
5,Routing,Handle loading states,Use loading.tsx for route loading UI,loading.tsx alongside page.tsx,Manual loading state management,app/dashboard/loading.tsx,useState for loading in page,Medium,https://nextjs.org/docs/app/building-your-application/routing/loading-ui-and-streaming
|
|
7
|
+
6,Routing,Handle errors with error.tsx,Catch errors at route level,error.tsx with reset function,try/catch in every component,app/dashboard/error.tsx,try/catch in page component,High,https://nextjs.org/docs/app/building-your-application/routing/error-handling
|
|
8
|
+
7,Rendering,Use Server Components by default,Server Components reduce client JS bundle,Keep components server by default,Add 'use client' unnecessarily,export default function Page(),('use client') for static content,High,https://nextjs.org/docs/app/building-your-application/rendering/server-components
|
|
9
|
+
8,Rendering,Mark Client Components explicitly,'use client' for interactive components,Add 'use client' only when needed,Server Component with hooks/events,('use client') for onClick useState,No directive with useState,High,https://nextjs.org/docs/app/building-your-application/rendering/client-components
|
|
10
|
+
9,Rendering,Push Client Components down,Keep Client Components as leaf nodes,Client wrapper for interactive parts only,Mark page as Client Component,<InteractiveButton/> in Server Page,('use client') on page.tsx,High,
|
|
11
|
+
10,Rendering,Use streaming for better UX,Stream content with Suspense boundaries,Suspense for slow data fetches,Wait for all data before render,<Suspense><SlowComponent/></Suspense>,await allData then render,Medium,https://nextjs.org/docs/app/building-your-application/routing/loading-ui-and-streaming
|
|
12
|
+
11,Rendering,Choose correct rendering strategy,SSG for static SSR for dynamic ISR for semi-static,generateStaticParams for known paths,SSR for static content,export const revalidate = 3600,fetch without cache config,Medium,
|
|
13
|
+
12,DataFetching,Fetch data in Server Components,Fetch directly in async Server Components,async function Page() { const data = await fetch() },useEffect for initial data,const data = await fetch(url),useEffect(() => fetch(url)),High,https://nextjs.org/docs/app/building-your-application/data-fetching
|
|
14
|
+
13,DataFetching,Configure caching explicitly (Next.js 15+),Next.js 15 changed defaults to uncached for fetch,Explicitly set cache: 'force-cache' for static data,Assume default is cached (it's not in Next.js 15),fetch(url { cache: 'force-cache' }),fetch(url) // Uncached in v15,High,https://nextjs.org/docs/app/building-your-application/upgrading/version-15
|
|
15
|
+
14,DataFetching,Deduplicate fetch requests,React and Next.js dedupe same requests,Same fetch call in multiple components,Manual request deduplication,Multiple components fetch same URL,Custom cache layer,Low,
|
|
16
|
+
15,DataFetching,Use Server Actions for mutations,Server Actions for form submissions,action={serverAction} in forms,API route for every mutation,<form action={createPost}>,<form onSubmit={callApiRoute}>,Medium,https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations
|
|
17
|
+
16,DataFetching,Revalidate data appropriately,Use revalidatePath/revalidateTag after mutations,Revalidate after Server Action,'use client' with manual refetch,revalidatePath('/posts'),router.refresh() everywhere,Medium,https://nextjs.org/docs/app/building-your-application/caching#revalidating
|
|
18
|
+
17,Images,Use next/image for optimization,Automatic image optimization and lazy loading,<Image> component for all images,<img> tags directly,<Image src={} alt={} width={} height={}>,<img src={}/>,High,https://nextjs.org/docs/app/building-your-application/optimizing/images
|
|
19
|
+
18,Images,Provide width and height,Prevent layout shift with dimensions,width and height props or fill,Missing dimensions,<Image width={400} height={300}/>,<Image src={url}/>,High,
|
|
20
|
+
19,Images,Use fill for responsive images,Fill container with object-fit,fill prop with relative parent,Fixed dimensions for responsive,"<Image fill className=""object-cover""/>",<Image width={window.width}/>,Medium,
|
|
21
|
+
20,Images,Configure remote image domains,Whitelist external image sources,remotePatterns in next.config.js,Allow all domains,remotePatterns: [{ hostname: 'cdn.example.com' }],domains: ['*'],High,https://nextjs.org/docs/app/api-reference/components/image#remotepatterns
|
|
22
|
+
21,Images,Use priority for LCP images,Mark above-fold images as priority,priority prop on hero images,All images with priority,<Image priority src={hero}/>,<Image priority/> on every image,Medium,
|
|
23
|
+
22,Fonts,Use next/font for fonts,Self-hosted fonts with zero layout shift,next/font/google or next/font/local,External font links,import { Inter } from 'next/font/google',"<link href=""fonts.googleapis.com""/>",Medium,https://nextjs.org/docs/app/building-your-application/optimizing/fonts
|
|
24
|
+
23,Fonts,Apply font to layout,Set font in root layout for consistency,className on body in layout.tsx,Font in individual pages,<body className={inter.className}>,Each page imports font,Low,
|
|
25
|
+
24,Fonts,Use variable fonts,Variable fonts reduce bundle size,Single variable font file,Multiple font weights as files,Inter({ subsets: ['latin'] }),Inter_400 Inter_500 Inter_700,Low,
|
|
26
|
+
25,Metadata,Use generateMetadata for dynamic,Generate metadata based on params,export async function generateMetadata(),Hardcoded metadata everywhere,generateMetadata({ params }),export const metadata = {},Medium,https://nextjs.org/docs/app/building-your-application/optimizing/metadata
|
|
27
|
+
26,Metadata,Include OpenGraph images,Add OG images for social sharing,opengraph-image.tsx or og property,Missing social preview images,opengraph: { images: ['/og.png'] },No OG configuration,Medium,
|
|
28
|
+
27,Metadata,Use metadata API,Export metadata object for static metadata,export const metadata = {},Manual head tags,export const metadata = { title: 'Page' },<head><title>Page</title></head>,Medium,
|
|
29
|
+
28,API,Use Route Handlers for APIs,app/api routes for API endpoints,app/api/users/route.ts,pages/api for new projects,export async function GET(request),export default function handler,Medium,https://nextjs.org/docs/app/building-your-application/routing/route-handlers
|
|
30
|
+
29,API,Return proper Response objects,Use NextResponse for API responses,NextResponse.json() for JSON,Plain objects or res.json(),return NextResponse.json({ data }),return { data },Medium,
|
|
31
|
+
30,API,Handle HTTP methods explicitly,Export named functions for methods,Export GET POST PUT DELETE,Single handler for all methods,export async function POST(),switch(req.method),Low,
|
|
32
|
+
31,API,Validate request body,Validate input before processing,Zod or similar for validation,Trust client input,const body = schema.parse(await req.json()),const body = await req.json(),High,
|
|
33
|
+
32,Middleware,Use middleware for auth,Protect routes with middleware.ts,middleware.ts at root,Auth check in every page,export function middleware(request),if (!session) redirect in page,Medium,https://nextjs.org/docs/app/building-your-application/routing/middleware
|
|
34
|
+
33,Middleware,Match specific paths,Configure middleware matcher,config.matcher for specific routes,Run middleware on all routes,matcher: ['/dashboard/:path*'],No matcher config,Medium,
|
|
35
|
+
34,Middleware,Keep middleware edge-compatible,Middleware runs on Edge runtime,Edge-compatible code only,Node.js APIs in middleware,Edge-compatible auth check,fs.readFile in middleware,High,
|
|
36
|
+
35,Environment,Use NEXT_PUBLIC prefix,Client-accessible env vars need prefix,NEXT_PUBLIC_ for client vars,Server vars exposed to client,NEXT_PUBLIC_API_URL,API_SECRET in client code,High,https://nextjs.org/docs/app/building-your-application/configuring/environment-variables
|
|
37
|
+
36,Environment,Validate env vars,Check required env vars exist,Validate on startup,Undefined env at runtime,if (!process.env.DATABASE_URL) throw,process.env.DATABASE_URL (might be undefined),High,
|
|
38
|
+
37,Environment,Use .env.local for secrets,Local env file for development secrets,.env.local gitignored,Secrets in .env committed,.env.local with secrets,.env with DATABASE_PASSWORD,High,
|
|
39
|
+
38,Performance,Analyze bundle size,Use @next/bundle-analyzer,Bundle analyzer in dev,Ship large bundles blindly,ANALYZE=true npm run build,No bundle analysis,Medium,https://nextjs.org/docs/app/building-your-application/optimizing/bundle-analyzer
|
|
40
|
+
39,Performance,Use dynamic imports,Code split with next/dynamic,dynamic() for heavy components,Import everything statically,const Chart = dynamic(() => import('./Chart')),import Chart from './Chart',Medium,https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading
|
|
41
|
+
40,Performance,Avoid layout shifts,Reserve space for dynamic content,Skeleton loaders aspect ratios,Content popping in,"<Skeleton className=""h-48""/>",No placeholder for async content,High,
|
|
42
|
+
41,Performance,Use Partial Prerendering,Combine static and dynamic in one route,Static shell with Suspense holes,Full dynamic or static pages,Static header + dynamic content,Entire page SSR,Low,https://nextjs.org/docs/app/building-your-application/rendering/partial-prerendering
|
|
43
|
+
42,Link,Use next/link for navigation,Client-side navigation with prefetching,"<Link href=""""> for internal links",<a> for internal navigation,"<Link href=""/about"">About</Link>","<a href=""/about"">About</a>",High,https://nextjs.org/docs/app/api-reference/components/link
|
|
44
|
+
43,Link,Prefetch strategically,Control prefetching behavior,prefetch={false} for low-priority,Prefetch all links,<Link prefetch={false}>,Default prefetch on every link,Low,
|
|
45
|
+
44,Link,Use scroll option appropriately,Control scroll behavior on navigation,scroll={false} for tabs pagination,Always scroll to top,<Link scroll={false}>,Manual scroll management,Low,
|
|
46
|
+
45,Config,Use next.config.js correctly,Configure Next.js behavior,Proper config options,Deprecated or wrong options,images: { remotePatterns: [] },images: { domains: [] },Medium,https://nextjs.org/docs/app/api-reference/next-config-js
|
|
47
|
+
46,Config,Enable strict mode,Catch potential issues early,reactStrictMode: true,Strict mode disabled,reactStrictMode: true,reactStrictMode: false,Medium,
|
|
48
|
+
47,Config,Configure redirects and rewrites,Use config for URL management,redirects() rewrites() in config,Manual redirect handling,redirects: async () => [...],res.redirect in pages,Medium,https://nextjs.org/docs/app/api-reference/next-config-js/redirects
|
|
49
|
+
48,Deployment,Use Vercel for easiest deploy,Vercel optimized for Next.js,Deploy to Vercel,Self-host without knowledge,vercel deploy,Complex Docker setup for simple app,Low,https://nextjs.org/docs/app/building-your-application/deploying
|
|
50
|
+
49,Deployment,Configure output for self-hosting,Set output option for deployment target,output: 'standalone' for Docker,Default output for containers,output: 'standalone',No output config for Docker,Medium,https://nextjs.org/docs/app/building-your-application/deploying#self-hosting
|
|
51
|
+
50,Security,Sanitize user input,Never trust user input,Escape sanitize validate all input,Direct interpolation of user data,DOMPurify.sanitize(userInput),dangerouslySetInnerHTML={{ __html: userInput }},High,
|
|
52
|
+
51,Security,Use CSP headers,Content Security Policy for XSS protection,Configure CSP in next.config.js,No security headers,headers() with CSP,No CSP configuration,High,https://nextjs.org/docs/app/building-your-application/configuring/content-security-policy
|
|
53
|
+
52,Security,Validate Server Action input,Server Actions are public endpoints,Validate and authorize in Server Action,Trust Server Action input,Auth check + validation in action,Direct database call without check,High,
|