opencode-agents
AGENTS.md1 starsChanged 57 days agoMITView on GitHub
Este arquivo é lido pelo agente em TODO trabalho, em qualquer projeto. As regras abaixo são diretivas, não sugestões: o agente deve acionar as skills listadas automaticamente, sem perguntar ao usuário antes, sempre que a condição de gatilho for satisfeita. Só pergunta ao usuário se a ação for destrutiva (ex: force push, delete de dados, revert de commit), se duas skills conflitarem sobre a mesma tarefa, ou se o agente estiver em dúvida sobre qual skill aplicar. Ao iniciar trabalho…
- Reads credentials
In this repository117 other files it gives its agents.
- ask-mattSkill
- banner-designSkill
- brandSkill
- claude-handoffSkill
- codebase-designSkill
- code-reviewSkill
- designSkill
- design-systemSkill
- diagnosing-bugsSkill
- domain-modelingSkill
- git-guardrails-claude-codeSkill
- graphifySkill
- grillingSkill
- grill-meSkill
- grill-with-docsSkill
- gsd-add-testsSkill
- gsd-ai-integration-phaseSkill
- gsd-audit-fixSkill
- gsd-audit-milestoneSkill
- gsd-audit-uatSkill
- gsd-autonomousSkill
- gsd-captureSkill
- gsd-cleanupSkill
- gsd-code-reviewSkill
- gsd-complete-milestoneSkill
- gsd-configSkill
- gsd-debugSkill
- gsd-discuss-phaseSkill
- gsd-docs-updateSkill
- gsd-eval-reviewSkill
- gsd-execute-phaseSkill
- gsd-exploreSkill
- gsd-extract-learningsSkill
- gsd-fastSkill
- gsd-forensicsSkill
- gsd-graphifySkill
- gsd-healthSkill
- gsd-helpSkill
- gsd-importSkill
- gsd-inboxSkill
- gsd-ingest-docsSkill
- gsd-managerSkill
- gsd-map-codebaseSkill
- gsd-mempalace-captureSkill
- gsd-mempalace-recallSkill
- gsd-milestone-summarySkill
- gsd-mvp-phaseSkill
- gsd-new-milestoneSkill
- gsd-new-projectSkill
- gsd-nextSkill
- gsd-ns-contextSkill
- gsd-ns-ideateSkill
- gsd-ns-manageSkill
- gsd-ns-projectSkill
- gsd-ns-reviewSkill
- gsd-ns-workflowSkill
- gsd-onboardSkill
- gsd-pause-workSkill
- gsd-phaseSkill
- gsd-plan-phaseSkill
- The first 60 shown.
The file
Files
AGENTS.md — Invocação Automática de Skills por Fase de Projeto
Este arquivo é lido pelo agente em TODO trabalho, em qualquer projeto. As regras abaixo são diretivas, não sugestões: o agente deve acionar as skills listadas automaticamente, sem perguntar ao usuário antes, sempre que a condição de gatilho for satisfeita. Só pergunta ao usuário se a ação for destrutiva (ex: force push, delete de dados, revert de commit), se duas skills conflitarem sobre a mesma tarefa, ou se o agente estiver em dúvida sobre qual skill aplicar.
Regra 0 — Detecção de estado (condicional)
Ao iniciar trabalho num projeto, o agente SEMPRE roda gsd-next pra detectar o estado atual se o projeto já tiver um .planning/ ou ROADMAP.md. Se não tiver, pula direto pra regra aplicável — não pergunta "em que estamos".
Se não houver skill mapeada pra uma necessidade encontrada, o agente aciona find-skills sozinho, instala, e informa o que instalou.
Se ficar em dúvida entre duas skills aplicáveis, aciona ask-matt internamente pra decidir — não expõe essa dúvida ao usuário a menos que a decisão mude o resultado visível do trabalho.
Regra 0.5 — Adoção de GSD em Projeto Existente
Gatilho: projeto com código e CONTEXT.md (ou README.md), mas sem .planning/ ou ROADMAP.md — ou seja, já existe código mas o GSD nunca foi configurado.
Ação automática, nesta ordem:
gsd-onboard— mapeia o codebase existente e gera.planning/inicialgsd-ingest-docs— se existirem ADRs, PRDs, SPECs ou docs soltos, ingere no.planning/gsd-map-codebase— gera os documentos de mapeamento do codebase (tech, arch, quality, concerns)- A partir daí, o projeto entra no fluxo normal (Regra 0 → detecta estado → segue)
Não pede confirmação — só informa que o GSD foi inicializado pro projeto existente e mostra o que foi gerado.
Regra 1 — Início de projeto ou milestone
Gatilho: repositório vazio ou sem CONTEXT.md / primeira mensagem do tipo "vamos começar um projeto novo" / pedido de novo milestone num projeto existente.
Ação automática, nesta ordem:
gsd-new-project(ougsd-new-milestonese já existir projeto)setup-matt-pocock-skillssetup-pre-commitdomain-modeling+codebase-design(em paralelo, se o domínio ainda não tiver CONTEXT.md/ADRs)- Se o projeto for TypeScript:
setup-ts-deep-modules
Não pede confirmação pra rodar setup-pre-commit — só avisa depois do que configurou.
Regra 2 — Ideia solta / ainda sem escopo
Gatilho: mensagem exploratória, sem pedido de código concreto ainda ("queria fazer algo que...", "tem uma ideia de...").
Ação automática: gsd-explore primeiro. Se o usuário topar uma direção, gsd-capture a decisão automaticamente antes de seguir. Se pedir algo visual pra entender a ideia: gsd-sketch ou prototype.
Regra 3 — Planejamento de uma feature/fase
Gatilho: escopo já definido, precisa virar plano executável.
Ação automática: gsd-plan-phase gera o PLAN.md sem que o usuário peça explicitamente "cria um plano". Se a spec ainda estiver em formato de conversa solta: passa por to-spec antes. Se precisar virar tickets: to-tickets na sequência, sem pedir.
Antes de decisões técnicas relevantes (escolha de lib, arquitetura, provider): research roda automaticamente contra fontes primárias antes de a decisão ser proposta ao usuário — mas antes, checa .planning/RESEARCH.md e .planning/research/ pra ver se já existe pesquisa sobre o tópico. Se existir, reutiliza. Se não, pesquisa e salva no .planning/.
Regra 4 — Qualquer trabalho visual (UI, tela, componente, marca, apresentação)
Gatilho: menção a tela, componente, layout, cor, marca, logo, banner, slide, landing page.
Ação automática, avaliando complexidade:
ui-ux-pro-max— consultivo: roda quando o design ainda não existe ou precisa de direção (estilo, paleta, tipografia). Se o design já estiver definido, pula.design/design-system/banner-design/brand/slides— só quando precisa criar assets novos (logo, CIP, apresentação, etc.). Se o ativo já existe e só precisa de ajuste de estilo, pula.ui-styling— sempre quando houver código de UI sendo escrito.impeccable— só em entregas finais, não em iterações internas. Roda quando o usuário diz "pronto" ou "tá finalizado", ou quando a tarefa é claramente uma entrega (PR, deploy, demo).
Se o pedido for só um mockup rápido pra validar ideia: gsd-sketch/prototype substitui os passos 2–3.
Regra 5 — Código de frontend (React/Next.js e afins)
Gatilho: qualquer arquivo .tsx/.jsx/componente React sendo criado ou editado.
Ação automática: vercel-react-best-practices (e vercel-optimize se o deploy for Vercel/Next/Nuxt/Astro/SvelteKit) aplicados durante a escrita do código, não como revisão posterior. Depois de qualquer bloco de código React relevante: react-doctor roda sozinho pra pegar lint/a11y/bundle antes de entregar.
Regra 5.1 — Frontend Vanilla (HTML/CSS/JS puro)
Gatilho: qualquer arquivo .html, .css, ou .js (sem framework) sendo criado ou editado, OU menção a "vanilla", "puro", "sem framework".
Ação automática:
html-css-best-practices— aplicado durante toda escrita de HTML/CSS. Regras: semântica HTML, acessibilidade, CSS organizado, responsividade.frontend-design— roda quando o design precisa de direção (estilo, paleta, tipografia, composição). Se o design já estiver definido, pula.
Diferença da Regra 5: a Regra 5 é pra React/Next.js (.tsx/.jsx). Esta é pra projetos vanilla sem framework.
Regra 6 — Arquitetura / backend / domínio
Gatilho: qualquer decisão de módulo novo, service, entidade de domínio.
Ação automática: codebase-design e domain-modeling são consultados/atualizados junto com a mudança, não depois. A cada ~5 mudanças estruturais relevantes acumuladas no projeto, improve-codebase-architecture roda um scan automático e reporta oportunidades, sem que o usuário peça.
Se o projeto crescer a ponto de ficar difícil de navegar (muitos módulos/arquivos), graphify roda automaticamente pra gerar o knowledge graph.
Regra 7 — Escrevendo código (execução)
Gatilho: qualquer tarefa de implementação.
Classificação de tamanho — heurística por arquivos afetados:
- Trivial (< 3 arquivos):
gsd-fast - Pequena (< 10 arquivos):
gsd-quick - Grande (> 10 arquivos):
gsd-execute-phase
Exceção: se uma única arquivo receber muitas alterações (> 50 linhas alteradas ou > 5 funções afetadas), o agente PERGUNTA ao usuário qual skill aplicar, explicando:
- Quais skills estão em dúvida
- Por que está em dúvida
- O que cada skill faz nesse contexto
O usuário decide e o agente segue.
Se a tarefa envolver lógica nova (não só estilo/config): tdd é aplicado por padrão (red-green-refactor), a menos que o usuário peça explicitamente pra pular teste.
Regra 8 — Testes
Gatilho: feature implementada e ainda sem cobertura de teste correspondente.
Ação automática: o agente NÃO espera o usuário pedir teste — gera automaticamente:
tdd/javascript-typescript-jestpra lógica unitáriaplaywright/playwright-e2e-testingpra fluxo de UI ponta a ponta, se a feature tiver interface
Se um bug for reportado ou um teste falhar de forma não óbvia: diagnosing-bugs roda antes de qualquer tentativa de correção às cegas. Bugs que persistem entre sessões: gsd-debug (estado persistente).
Regra 9 — Antes de qualquer PR/merge
Ação automática dependendo do destino:
Commits locais (não vai pra branch remota):
no-ai-slop— limpa texto/códigocode-review— review contra standards
PRs pra branch principal (main/develop), nesta ordem, sem pedir permissão:
no-ai-slop— limpa o texto/código de padrões genéricos de IAcode-review— review completo contra standards + specgsd-code-review— bugs/segurança/qualidade no nível de arquivo- Se houver superfície de ataque relevante (input do usuário, auth, dados sensíveis):
perform-security-review+typescript-security-review(se TS/Node) - Se houve mudança visual:
gsd-ui-review dependency-auditse dependências novas foram adicionadas na tarefagsd-ship— só depois de todos os passos acima passarem
O agente nunca pula os passos 1–4 achando que "essa mudança é pequena". Só reduz o escopo do review se o usuário pedir explicitamente.
Ordem de Review — Resolução de sobreposição (Regras 9, 15.6, 17.4, 19.6 e 21.4)
Quando um PR envolver Python, SQL/DB, Node.js/TypeScript e/ou Docker, as reviews rodam na seguinte ordem para evitar duplicação:
- Regra 9 — roda PRIMEIRO (review geral de código). É a gate de entrada.
- Regra 15.6 — roda DEPOIS da Regra 9, apenas se o código for Python. Se a Regra 9 já cobriu tudo que a 15.6 faria, ela apenas confirma ("sem achados adicionais") e segue.
- Regra 17.4 — roda EM PARALELO com a 15.6, apenas se houver queries SQL ou schema de banco. Não espera a 15.6 terminar.
- Regra 19.6 — roda DEPOIS da Regra 9, apenas se o código for Node/TypeScript. Se a Regra 9 já cobriu tudo que a 19.6 faria, ela apenas confirma ("sem achados adicionais") e segue.
- Regra 21.4 — roda EM PARALELO com as reviews de linguagem (15.6, 19.6), apenas se houver Dockerfile ou docker-compose.yml no PR. Não espera as outras reviews terminarem.
Regra prática: se a Regra 9 já aprovou e não há SQL/DB no PR, a 15.6 (Python) e a 19.6 (Node) não rodam — o agente segue direto pro próximo passo. Nunca roda a mesma review duas vezes.
Regra 10 — Git / conflitos / changelog
Gatilho: merge conflict, rebase, ou pedido de release.
Ação automática: resolving-merge-conflicts entra sozinho ao detectar conflito. changelog-generator roda automaticamente antes de qualquer release/tag. gsd-undo só é acionado com confirmação explícita do usuário (ação destrutiva).
Regra 11 — Verificação final / QA
Gatilho: fase marcada como "pronta" pelo gsd-execute-phase ou pelo usuário.
Ação automática: gsd-verify-work (UAT conversacional) e gsd-review (peer review cross-AI) rodam antes de a fase ser fechada, mesmo sem o usuário pedir "verifica".
Regra 12 — Documentação
Gatilho: feature nova sem documentação correspondente, ou pedido de docs.
Ação automática: doc-coauthoring conduz a escrita. Se o destinatário for outro agente (AGENTS.md, skill nova): writing-for-agents. Escolha de estilo sem perguntar ao usuário:
- narrativa/onboarding →
writing-beats - exploração livre/notas →
writing-fragments - doc técnica estruturada →
writing-shape
changelog-generator atualiza o changelog público junto.
Regra 13 — Handoff / continuidade entre sessões
Gatilho: contexto ficando longo, ou pedido de passar pra outro agente/sessão.
Ação automática: handoff (ou claude-handoff se for pra um background agent) compacta o essencial sem que o usuário peça resumo manual. Projetos longos usam gsd-thread pra manter contexto entre sessões automaticamente. Projetos com múltiplas frentes simultâneas: gsd-workspace/gsd-workstreams isolam automaticamente.
Regra 14 — Infraestrutura de IA (Omni)
Gatilho: o projeto integra mais de um provider de LLM, ou tem omni-* ou mcp no package.json/opencode.json.
Ação automática: omni-providers/omni-models na configuração inicial; omni-cache/omni-compression/omni-combos-routing/omni-budget entram automaticamente assim que o projeto for pra produção, sem esperar o usuário pedir otimização de custo.
Regra 15 — Desenvolvimento Python (QUALIFICADOR)
Esta regra se aplica a QUALQUER projeto Python detectado (presença de
pyproject.toml,setup.py,setup.cfg,requirements.txt,Pipfile,uv.lock, ou extensão.pycomo fonte principal). Aplica-se EM PARALELO com as regras gerais 0–14, nunca as substitui.
15.1 — Detecção automática de projeto Python
Ao detectar um projeto Python, o agente SEMPRE verifica:
- Framework web (FastAPI/Django/Flask) → carrega a skill correspondente automaticamente
- Gerenciador de pacotes (uv/pip/poetry) →
uv-package-managerse uv estiver presente, senão mantém o fluxo padrão - Testes →
python-testing-patternsé acionado antes de escrever qualquer teste - Qualidade de código →
python-patternsé aplicado durante a escrita de código
15.2 — Início de projeto Python
Gatilho: novo projeto Python ou primeiro arquivo .py criado.
Ação automática, nesta ordem:
python-patterns— padrões idiomáticos Python (legibilidade, PEP 8, naming)uv-package-manager— configuração de dependências e ambiente virtual- Se framework detectado:
fastapi-python/django-python/flask-python python-testing-patterns— configuração de testes com pytest
15.3 — Escrita de código Python
Gatilho: qualquer arquivo .py sendo criado ou editado.
Ação automática:
python-patterns— aplicado durante toda escrita de códigopython-testing-patterns— testes gerados automaticamente para lógica novadebugging— disponível para qualquer bug reportado
15.4 — Frameworks web Python
Gatilho: detecção de framework específico.
Ação automática:
- FastAPI:
fastapi-python— async/await, Pydantic v2, dependency injection - Django:
django-python— models, views, templates, ORM - Flask:
flask-python— blueprints, rotas, extensões
15.5 — Segurança Python
Gatilho: qualquer código que lide com auth, inputs do usuário, dados sensíveis, ou ferramentas de segurança.
Ação automática:
python-cybersecurity-tool-development— se o projeto for uma ferramenta de segurançapython-security-scan— scan automático de vulnerabilidades
15.6 — Code Review Python
Gatilho: PR ou merge de código Python.
Ação automática, nesta ordem:
python-patterns— conformidade com PEP 8 e padrõescode-review-and-quality— review multi-dimensional (5 eixos)complexity— análise de complexidade ciclomática- Se houver superfície de ataque:
python-cybersecurity-tool-development
15.7 — Deploy Python
Gatilho: preparação para deploy de aplicação Python.
Ação automática:
python-appservice-deploy— se deploy for no Azure App Serviceci-cd— pipeline de CI/CD para Pythonuv-package-manager— otimização de build e dependências
15.8 — Debugging Python
Gatilho: bug reportado ou erro não óbvio em código Python.
Ação automática:
debugging— técnicas de debug com pdb e IDEcomplexity— se o bug estiver em código complexo
15.9 — Documentação Python
Gatilho: feature nova sem documentação ou pedido de docs.
Ação automática:
python-patterns— docstrings idiomáticasdoc-coauthoring— documentação estruturadachangelog-generator— changelog atualizado
Regra 16 — Reuse First: Não reinventar a roda (QUALIFICADOR)
Esta regra se aplica ANTES de qualquer implementação. O agente SEMPRE pesquisa soluções existentes antes de escrever código novo.
16.1 — Detecção automática
Ao receber uma tarefa de implementação (feature, função, componente, endpoint, utility), o agente SEMPRE executa esta sequência antes de escrever qualquer código:
- Checar pesquisa existente —
.planning/RESEARCH.mde.planning/research/antes de pesquisar de novo. Se já existir research sobre o tópico, reutiliza. Também checa código existente emsrc/e dependências instaladas (package.json,pyproject.toml,requirements.txt). - Pesquisa web —
reuse-first+shunk031-research-before-implementationrodam automaticamente buscando:- Bibliotecas/módulos que resolvem exatamente o mesmo problema
- Padrões da comunidade (ex: PyPI para Python, npm para Node)
- Soluções open-source já validadas
- Artigos e documentação oficial do ecossistema
- Análise de reuso —
reduce-reinventionavalia:- Código já existente neste mesmo projeto que pode ser reaproveitado
- Funções/módulos internos duplicados
- Dependências externas que eliminam necessidade de código novo
- Decisão automática:
- Se existe solução madura (>1k stars, boa manutenção, compatível): usa a solução existente
- Se existe parcialmente: estende em vez de reescrever
- Se não existe nada adequado: implementa e documenta o motivo (ADR)
16.2 — Gatilhos por tipo de tarefa
| Tarefa | Ação automática |
| Função utilitária nova | Pesquisa em PyPI/npm/pip antes de implementar |
| Componente UI | Busca componentes equivalentes em libs existentes (shadcn, radix, etc) |
| Endpoint de API | Verifica frameworks e middlewares disponíveis |
| Autenticação/Authorization | NUNCA implementa do zero — usa libs (OAuth2, JWT, etc) |
| Validação de dados | Usa biblioteca existente (Pydantic, zod, etc) em vez de regex manual |
| Date/Time/Timezone | Usa libs de timezone em vez de lidar com UTC manualmente |
| Email sending | Usa serviço/library existente em vez de SMTP manual |
| File upload/storage | Usa S3/GCS SDK em vez de handler HTTP manual |
16.3 — Exceções (implementa do zero apenas quando)
- É um projeto didático/exploratório (o usuário confirma que é pra aprender)
- A solução existente tem vulnerabilidades conhecidas ou está abandonada
- O caso de uso é genuinamente único e não tem equivalente
- A dependência externa adiciona overhead desproporcional ao benefício
Regra 17 — SQL / Banco de Dados (PostgreSQL + SQLite)
Esta regra se aplica a QUALQUER projeto que use banco de dados relacional (presença de arquivos
.sql, migrations, models SQLAlchemy/Django ORM,psycopg2/aiopg/asyncpg/sqlite3no código, ou configuração de database em.env/settings). PostgreSQL e SQLite são os únicos SGBDs suportados — MySQL/MariaDB não são cobertos por esta regra.
17.1 — Detecção automática de banco de dados
Ao detectar uso de banco relacional, o agente SEMPRE verifica:
- SGBD — PostgreSQL (
psycopg2/aiopg/asyncpg/sqlalchemy+postgresql) ou SQLite (sqlite3/sqlalchemy+sqlite) - ORM — SQLAlchemy, Django ORM, Tortoise, ou raw SQL
- Migrations — Alembic, Django migrations, SQLArmas, ou sem sistema de migrations
- Docker — se PostgreSQL roda em container (compose)
Ação automática quando Docker detectado:
- Se existir
Dockerfileoudocker-compose.yml: rodardocker compose configpra validar configuração - Se houver lint disponível: rodar
hadolintno Dockerfile (oudocker build --no-cachecomo fallback) - Se o commit mexer em arquivos Docker: tag
[docker]no commit - Se o banco estiver em container: verificar se o container está rodando antes de rodar migrations
17.2 — Design de schema (tabelas novas)
Gatilho: criação de tabela, model, ou migration.
Ação automática, nesta ordem:
postgresql-table-design— padrões de normalização, tipos de dados, constraintsdatabase-schema-designer— validação do modelo relacionalpostgresql-best-practices— conventions do ecossistema
Regras obrigatórias:
- Sempre usar
SERIAL/BIGSERIALpara chaves primárias (nãoINTEGER+ auto-increment manual) - Sempre definir
NOT NULL+DEFAULTonde aplicável - Sempre criar
INDEXem colunas de FK e colunas frequentemente consultadas - Sempre incluir
created_ateupdated_atem tabelas de negócio - Usar
TEXTem vez deVARCHAR(n)quando o limite for arbitrário - Usar
NUMERIC/DECIMALpara dinheiro, nuncaFLOAT
17.3 — Escrita de queries SQL
Gatilho: qualquer query SQL sendo escrita ou editada.
Ação automática:
sql-optimization-patterns— padrões de performance (JOINs, subqueries, CTEs)sql-optimization— indexação, explain analyze, partitioningpostgresql-optimization— otimizações específicas do PostgreSQL (VACUUM, statistics, wal)
17.4 — Code Review de SQL
Gatilho: PR ou revisão de código com queries SQL.
Ação automática, nesta ordem:
sql-code-review— qualidade das queries (N+1, missing indexes, cartesian products)postgresql-code-review— PostgreSQL-specific (lock patterns, deadlocks, long queries)postgresql-best-practices— conformidade com padrões
17.5 — SQLite específicas
Gatilho: uso de SQLite no projeto.
Ação automática:
sqlite-database-expert— configuração WAL, pragma tuning, testes paralelos- Regras 17.2–17.4 se aplicam com adaptações (SQLite não tem
SERIAL, usaINTEGER PRIMARY KEY)
17.6 — Migrations
Gatilho: criação ou alteração de migration.
Ação automática:
database-schema-designer— valida a migration antes de executarpostgresql-table-design— garante tipos corretos- Se migration for destrutiva (drop column, rename): SEMPRE pede confirmação antes de executar
17.7 — Performance de banco
Gatilho: query lenta reportada, ou pedido de otimização de performance.
Ação automática:
sql-optimization— analisa EXPLAIN ANALYZEpostgresql-optimization— revisa configurações do PostgreSQL (shared_buffers, work_mem, etc)sql-optimization-patterns— sugere reescrita de queries lentas
Regra 18 — Projeto Fullstack (Python + React no mesmo PR)
Esta regra se aplica quando um único PR ou commit envolve alterações tanto no backend Python quanto no frontend React/Next.js.
18.1 — Ordem de execução
Ação automática, nesta ordem:
- Regra 15 (backend Python) — executa primeiro, resolve dependências de API
- Regra 5 (frontend React) — executa depois, consome APIs do backend
- Regra 9 (review unificado) — roda uma única vez cobrindo os dois lados
- Regra 15.6 (review final Python) — confirma conformidade do backend
18.2 — Commits
Ação automática:
- Separar em commits distintos quando possível:
[backend]e[frontend] - Se não for possível separar (mudança acoplada): usar tag
[fullstack] - Nunca misturar
[backend]e[frontend]no mesmo commit sem justificativa
18.3 — Testes
Ação automática:
- Rodar testes do backend (pytest) e testes do frontend (jest/playwright) antes do merge
- Se um falhar: bloqueia o merge — não aprova PR com teste falhando
- Se ambos passarem: segue o fluxo normal de review (Regra 9)
18.4 — Sobreposição com outras regras
- Regra 5 e 15 rodam em sequência, não em paralelo
- Se o PR só mexe em Python mas o projeto tem React: Regra 18 não aciona (usa Regra 15 normalmente)
- Se o PR só mexe em React mas o projeto tem Python: Regra 18 não aciona (usa Regra 5 normalmente)
- Regra 18 só entra quando o PR toca nos dois lados
Regra 19 — Desenvolvimento Node.js/TypeScript (QUALIFICADOR)
Esta regra se aplica a QUALQUER projeto Node.js/TypeScript detectado (presença de
package.json,tsconfig.json, extensão.ts/.tsx/.js/.jsxcomo fonte principal, ou dependênciasexpress/fastify/nestjs). Aplica-se EM PARALELO com as regras gerais 0–14, nunca as substitui.
19.1 — Detecção automática de projeto Node.js/TypeScript
Ao detectar um projeto Node/TS, o agente SEMPRE verifica:
- Framework backend (Express/Fastify/NestJS) → carrega a skill correspondente automaticamente
- Framework frontend (React/Next/Nuxt/SvelteKit/Astro) → aciona Regra 5 automaticamente
- Gerenciador de pacotes (npm/pnpm/yarn/bun) → mantém o lockfile existente
- TypeScript → se
tsconfig.jsonpresente,typescript-coreé acionado - Testes → framework detectado (jest/vitest/playwright) → aciona Regra 8
19.2 — Início de projeto Node.js/TypeScript
Gatilho: novo projeto Node/TS ou primeiro package.json criado.
Ação automática, nesta ordem:
nodejs-backend— setup de servidor (Express/Fastify), estrutura de pastastypescript-core— configuração de TS (tipos, tsconfig, validação)- Se framework detectado:
express-rest-api/fastify api-design-patterns— se for API exposta- Se banco relacional:
drizzle+ Regra 17 (SQL)
19.3 — Escrita de código Node.js/TypeScript
Gatilho: qualquer arquivo .ts/.tsx/.js/.jsx sendo criado ou editado.
Ação automática:
typescript-core— aplicado durante toda escrita de código TSzod— validação de inputs/outputs- Se backend:
express-rest-api/fastify - Se banco:
drizzle - Testes gerados automaticamente (Regra 8)
19.4 — Frameworks backend Node
Gatilho: detecção de framework específico.
Ação automática:
- Express:
express-rest-api— rotas, validação, error handling - Express em produção:
express-production— Helmet, CORS, rate-limit, PM2 - Fastify:
fastify— schema-based validation, performance - GraphQL:
graphql-best-practices— Apollo Server, GraphQL Yoga, schema-first vs code-first, DataLoader pra N+1
19.5 — Autenticação Node
Gatilho: qualquer código que lide com auth, JWT, sessão, RBAC.
Ação automática:
jwt-authentication— access/refresh tokens, RBAC, password reset- NUNCA implementa auth do zero (Regra 16)
19.6 — Code Review Node/TypeScript
Gatilho: PR ou merge de código Node/TS.
Ação automática, nesta ordem:
typescript-core— conformidade com padrões TScode-review— review multi-dimensional- Regra 9 (review geral) — já cobre
- Se houver superfície de ataque:
perform-security-review+typescript-security-review
19.7 — Deploy Node.js/TypeScript
Gatilho: preparação para deploy de aplicação Node/TS.
Ação automática:
express-production— se Express em produçãoci-cd— pipeline de CI/CD para Nodevercel-optimize— se deploy for Vercel/Next/Nuxt/Astro/SvelteKit- Monitoramento:
observability— logs estruturados (pino, winston), métricas (Prometheus), tracing (OpenTelemetry), error tracking (Sentry)
19.8 — Realtime / WebSocket Node
Gatilho: chat, notificações, dashboards ao vivo.
Ação automática:
websocket-realtime-builder— Socket.io, rooms, namespaces, presence, Redis adapter
19.9 — Frontend consumindo API Node
Gatilho: frontend React/Next consumindo API Node.
Ação automática:
tanstack-query— cache automático, background refetch, optimistic updatesfusion-backend-dev— padrões de integração com APIs backend
19.10 — Debugging Node.js/TypeScript
Gatilho: bug reportado ou erro não óbvio em código Node/TS.
Ação automática:
debugging— técnicas de debug com inspector, source mapscomplexity— se o bug estiver em código complexo
19.11 — Documentação Node.js/TypeScript
Gatilho: feature nova sem documentação ou pedido de docs.
Ação automática:
typescript-core— JSDoc/TSDoc idiomáticosdoc-coauthoring— documentação estruturadachangelog-generator— changelog atualizado
Regra 20 — Projeto Fullstack (Node + React no mesmo PR)
Esta regra se aplica quando um único PR ou commit envolve alterações tanto no backend Node quanto no frontend React/Next.js.
20.1 — Ordem de execução
Ação automática, nesta ordem:
- Regra 19 (backend Node) — executa primeiro, resolve dependências de API
- Regra 5 (frontend React) — executa depois, consome APIs do backend
- Regra 9 (review unificado) — roda uma única vez cobrindo os dois lados
- Regra 19.6 (review final Node) — confirma conformidade do backend
20.2 — Commits
Ação automática:
- Separar em commits distintos quando possível:
[backend]e[frontend] - Se não for possível separar (mudança acoplada): usar tag
[fullstack] - Nunca misturar
[backend]e[frontend]no mesmo commit sem justificativa
20.3 — Testes
Ação automática:
- Rodar testes do backend (jest/vitest) e testes do frontend (jest/playwright) antes do merge
- Se um falhar: bloqueia o merge — não aprova PR com teste falhando
- Se ambos passarem: segue o fluxo normal de review (Regra 9)
20.4 — Sobreposição com outras regras
- Regra 5 e 19 rodam em sequência, não em paralelo
- Se o PR só mexe em Node mas o projeto tem React: Regra 20 não aciona (usa Regra 19 normalmente)
- Se o PR só mexe em React mas o projeto tem Node: Regra 20 não aciona (usa Regra 5 normalmente)
- Regra 20 só entra quando o PR toca nos dois lados
Regra 21 — Docker / Containerização (QUALIFICADOR)
Esta regra se aplica a QUALQUER projeto que use Docker (presença de
Dockerfile,docker-compose.yml,.dockerignore, ou menção a container/containerização). Aplica-se EM PARALELO com as regras gerais 0–14, nunca as substitui.
21.1 — Detecção automática de Docker
Ao detectar Docker no projeto, o agente SEMPRE verifica:
- Tipo de uso — Dockerfile (build), docker-compose (orquestração), ou ambos
- Base image —
node:*,python:*,alpine,distroless - Multi-stage build — se usa (build + runtime separados)
- Registry — Docker Hub, GHCR, ECR, ou privado
21.2 — Escrita de Dockerfile
Gatilho: qualquer Dockerfile sendo criado ou editado.
Ação automática:
docker-best-practices— multi-stage build, layer caching, non-root user.dockerignoreobrigatório (node_modules,.env,.git)- Regras: usar imagem
alpine/distrolessquando possível; nunca rodar como root; copiarpackage.jsonantes do código (cache de layers) - Se Node:
node:20-alpinecomo base;npm ci(nãonpm install) - Se Python:
python:3.12-slimcomo base;uv/pipcom--no-cache-dir
21.3 — Docker Compose
Gatilho: qualquer docker-compose.yml sendo criado ou editado.
Ação automática:
docker-compose-best-practices— services, networks, volumes, healthchecksdocker compose config— validação automática antes de rodarhadolintno Dockerfile (oudocker build --no-cachecomo fallback)- Sempre definir
healthcheckpra serviços que dependem de banco - Sempre usar volumes nomeados (não bind mounts) pra dados persistentes
21.4 — Code Review Docker
Gatilho: PR ou merge que mexe em Dockerfile/docker-compose.yml.
Ação automática, nesta ordem:
hadolint— lint do Dockerfiledocker-best-practices— conformidade- Se houver superfície de ataque:
perform-security-review - Tag
[docker]no commit
21.5 — Deploy com Docker
Gatilho: preparação para deploy de aplicação containerizada.
Ação automática:
ci-cd— pipeline de CI/CD com build de imagem- Se registry: push automático pra GHCR/Docker Hub
- Se Kubernetes:
k8s-best-practices(se instalado)
Skills que faltam — instalar SOMENTE com confirmação do usuário
O agente não instala automaticamente. Quando detectar uma lacuna, o agente:
- Identifica a skill necessária
- Explica POR QUE precisa dela (qual tarefa específica a skill resolveria)
- Mostra os prós e contras de instalar vs não instalar
- Espera a decisão do usuário antes de prosseguir
| Lacuna | Gatilho pra identificar |
| Auditoria de acessibilidade dedicada (WCAG) | primeira entrega de UI pública/produção |
| Geração de docs de API (OpenAPI/Swagger) | primeiro endpoint de API exposto externamente |
| Revisão de schema de banco de dados/migrations | primeira migration de schema em produção |
| Load testing / performance de API | primeiro endpoint com expectativa de tráfego real |
| Geração de pipeline CI/CD | primeiro gsd-ship bem-sucedido no projeto |
| Regressão visual (screenshot diff) | segunda entrega de UI no mesmo projeto (pra já ter baseline) |
| README/onboarding generator | gsd-new-project sem README existente |
Skills Python instaladas — Referência Rápida
| Skill | Uso | Gatilho automático |
python-patterns | Padrões idiomáticos Python | Qualquer código .py |
python-testing-patterns | Testes com pytest | Features novas |
code-review-and-quality | Review multi-dimensional | PRs e merges |
fastapi-python | APIs FastAPI | Arquivos FastAPI |
uv-package-manager | Gerenciador de pacotes uv | Dependências Python |
django-python | Framework Django | Arquivos Django |
flask-python | Framework Flask | Arquivos Flask |
python-cybersecurity-tool-development | Ferramentas de segurança | Código de segurança |
complexity | Análise de complexidade | Code review |
debugging | Debug Python | Bugs e erros |
python-appservice-deploy | Deploy no Azure | Deploy Azure |
ci-cd | Pipelines CI/CD | Configuração de deploy |
Skills SQL/Banco de Dados instaladas — Referência Rápida
| Skill | Uso | Gatilho automático |
postgresql-table-design | Design de tabelas PostgreSQL | Criação de tabela/model |
postgresql-optimization | Otimização PostgreSQL (VACUUM, WAL, etc) | Performance de query |
postgresql-code-review | Review PostgreSQL-specific | PRs com SQL |
postgresql-best-practices | Convenções PostgreSQL | Qualquer código PG |
sql-optimization-patterns | Padrões de query SQL | Queries complexas |
sql-optimization | Indexação, explain analyze | Query lenta |
sql-code-review | Qualidade de queries | Review de código SQL |
database-schema-designer | Validação de modelo relacional | Design de schema |
sqlite-database-expert | SQLite (WAL, pragma, testes) | Projeto com SQLite |
Skills Reuse First instaladas — Referência Rápida
| Skill | Uso | Gatilho automático |
reuse-first | Pesquisa web de soluções existentes | Antes de qualquer implementação |
shunk031-research-before-implementation | Busca bibs/frameworks relevantes | Antes de escrever código |
reduce-reinvention | Análise de reuso no projeto atual | Função/nova feature |
Skills Frontend Vanilla instaladas — Referência Rápida
| Skill | Uso | Gatilho automático |
html-css-best-practices | Semântica HTML, acessibilidade, CSS organizado | Qualquer arquivo .html/.css/.js sem framework |
frontend-design | Design distintivo, tipografia, paleta, composição | Trabalho visual em frontend vanilla |
Skills Node.js/TypeScript/Backend instaladas — Referência Rápida
| Skill | Uso | Gatilho automático |
| typescript-core | Padrões avançados de TS (tipos, config, validação runtime) | Qualquer projeto TypeScript |
| nodejs-backend | Setup de servidor com Express/Fastify, estrutura de pastas | Início de projeto backend Node.js |
| express-rest-api | Rotas REST, validação, error handling com Express | Framework escolhido é Express |
| express-production | Helmet, CORS, rate-limit, PM2, graceful shutdown | Deploy/produção com Express |
| fastify | Framework de alta performance com schema-based validation | Performance crítica ou TS-first |
| drizzle | ORM type-safe com zero overhead, migrations, relações | Banco relacional (PG/MySQL/SQLite) |
| zod | Schema validation com inference de tipos TypeScript | Validar inputs/outputs de qualquer dado |
| api-design-patterns | REST/GraphQL/gRPC, versionamento, rate limiting, idempotency | Projetar qualquer API |
| jwt-authentication | JWT access/refresh tokens, RBAC, password reset | Backend com autenticação |
| websocket-realtime-builder | Socket.io, rooms, namespaces, presence, Redis adapter | Chat, notificações, dashboards ao vivo |
| tanstack-query | Cache automático, background refetch, optimistic updates | Frontend React consumindo APIs |
| fusion-backend-dev | Padrões de consumo/integração de APIs backend | Integrar com APIs existentes |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

