FaundrDocumentaçãoAbrir o painelPainel

O painel do projeto

Qualidade do código

Qualidade mostra se o código está bem escrito e sem excesso. Código de IA costuma funcionar e ainda assim acumular problemas que só aparecem depois: um erro engolido em silêncio, uma função que ninguém entende, três cópias do mesmo trecho, um pacote instalado para algo que a linguagem já faz.

A checagem nunca trava o agente: os achados vêm para o painel, e o agente recebe um resumo no início da sessão.

Duas camadas

CamadaQuandoO que olha
Checagem sem IASozinha: completa no início da sessão, e só nos arquivos editados no fim de cada respostaRegras fixas sobre a estrutura do código. Roda no seu computador e envia só os achados.
Revisão com IAQuando você pede: /faundr:qualityO agente lê o que mudou (ou o projeto todo, com --full) e acha o que regras fixas não enxergam. Só aponta, não muda nada.

O que a checagem sem IA procura

TipoExemplos
Falha escondidaErro capturado e ignorado, promessa sem tratamento de erro.
Tipo fracoany, @ts-ignore e outros jeitos de desligar a checagem de tipos.
Complicado demaisFunções com caminhos demais (muitos if, laços e condições).
Código demaisCódigo sem uso, trechos repetidos, código comentado, pacotes que a linguagem já resolve.
LimpezaRestos de depuração, TODO antigo.
TestesTestes pulados ou marcados como "só este".
Instruções da IAO CLAUDE.md cita um arquivo ou script que não existe mais.
DesempenhoLista sem limite, consulta ao banco dentro de um laço, chave estrangeira sem índice.
Ferramenta do projetoOs erros que o tsc e o ESLint do próprio projeto já apontam.

Código sem uso, trechos repetidos, o ranking dos mais complexos e o tsc/ESLint só entram na checagem completa, a do início da sessão.

Em que linguagens

A checagem sem IA funciona sem instalar nada em JavaScript e TypeScript (com React Native, Vue, Angular, Svelte e Astro), Python, Flutter e Dart, PHP, Go, Java, Kotlin, C#, Rust, C, C++, Dockerfile, HTML e CSS. Ela lê o código por conta própria; o tsc e o ESLint só entram se o projeto já os tem. A tabela completa está em Linguagens suportadas.

O que a revisão com IA procura

Código demais (sempre com o substituto concreto), falhas escondidas, tipos que não protegem, complexidade, comentários que mentem, testes que não protegem nada e regras do CLAUDE.md desobedecidas. O agente só registra o achado quando tem confiança de 80 ou mais, com a prova no código. No fim, ele resume quanto dá para cortar ("−120 linhas, −2 pacotes possíveis") ou diz "Enxuto. Pode seguir."

O card de estado

No topo de todas as abas: quantos problemas estão abertos e quantos são altos, quando foi a última checagem, os contadores (Altos, Abertos, Novos em 7 dias, Corrigidos) e a linha da última revisão com IA, com uma nota de 0 a 4 por tema.

Também é aqui que fica o interruptor Lembrete para a IA não escrever código demais: 6 linhas que vão para o agente no início de cada sessão, lembrando-o de preferir o que a linguagem e o projeto já têm. Vem desligado.

Abas

AbaO que mostra
ProblemasOs achados Q-n, com filtro por tipo, por situação (Abertos, Corrigidos, Ignorados) e Só os novos: os que apareceram nos últimos 7 dias, depois da primeira checagem.
Por arquivoOs problemas abertos agrupados por arquivo, o mais grave primeiro.
Mais complexosOs 10 arquivos com mais caminhos possíveis, com a pior função de cada um. O detalhe tem um pedido pronto para a IA simplificar.
Código demaisO que dá para cortar, agrupado pela ação: pacotes para trocar ou remover, trechos repetidos, código sem uso, achados da revisão com IA e código comentado. Validação, tratamento de erro, segurança, acessibilidade e testes nunca entram no corte.
AtalhosOs atalhos conscientes marcados no código (veja abaixo).
Por sessãoO tamanho de cada sessão: linhas de código e de teste somadas e removidas, arquivos e problemas novos. Avisa quando mais de 100 linhas mudaram sem nenhum teste junto.

O detalhe de um achado explica O que é, Por que importa e Como resolver, com o arquivo, a linha e a regra. Os botões:

  • Corrigir com a IA: copia /faundr:quality-fix Q-n. O agente corrige sem mudar o que o app faz, pede o seu OK antes de mexer em vários arquivos ou remover pacotes, e só fecha quando a checagem não encontra mais o problema.
  • Ignorar, com o motivo: É de propósito, Alarme falso ou Deixar para depois (volta sozinho em 30 dias).

Achados de outras skills

Se você já usa uma skill de revisão de código que não é do Faundr, dá para conectá-la ao painel com /faundr:skills. Toda vez que ela roda, no fim da resposta o agente registra o que ela achou:

  • cada problema vira um Q-n aqui, com a etiqueta via /nome, e conta no Lançamento e no Impacto como os outros;
  • quando ela roda de novo e o problema sumiu, ele fecha sozinho;
  • cada skill só fecha os próprios achados, e só nos arquivos que olhou.

Veja como conectar em Workflows.

Atalhos conscientes

Às vezes vale fazer o simples agora e melhorar depois. Para isso não virar dívida esquecida, marque o atalho no código:

// faundr: busca só pelo nome, melhorar quando passar de 1.000 produtos

O formato é // faundr: <o limite do atalho>, <quando melhorar>. A aba Atalhos lista todos, com o arquivo, quem escreveu e há quanto tempo. Os que não dizem quando melhorar aparecem primeiro.

Regras da casa

Uma regra da casa é algo que o time não quer ver no código, como "nada de fetch direto nas telas". Ela vira um arquivo em .faundr-regras/, que vai para o git com o resto do projeto, e a checagem passa a apontar onde aparece:

!faundr quality-rule "Sem fetch nas telas" --pattern "\bfetch\(" --files "src/components/**" --message "Use o cliente de src/lib/api.ts"

As regras da Memória com padrão proibido funcionam do mesmo jeito. Veja Memória.

Pular um trecho

Na linha de cima de um trecho que quebra uma regra de propósito:

// faundr-ignore <regra>: <motivo>

Para o arquivo inteiro, use faundr-ignore-file <regra>.

Comandos

A Qualidade do código mostra se o código está bem escrito e sem excesso: erro engolido em silêncio, tipos fracos (any, @ts-ignore), funções complicadas demais, código comentado, pacotes que a linguagem já resolve, testes pulados, instruções da IA (CLAUDE.md) que citam arquivo ou script que não existe, código que ninguém usa, trechos repetidos e os erros do tsc e do ESLint que o próprio projeto já tem. A checagem roda no seu computador, sem IA, e para o painel vão só os achados. Use estes comandos no seu agente de IA, na pasta ligada ao projeto.

A checagem roda sozinha quando o agente abre e depois de cada resposta em que ele mexeu em arquivos (só nos arquivos editados). Código sem uso, trechos repetidos, o ranking dos mais complexos e o tsc/ESLint só entram na checagem completa (no início da sessão). No fim de cada resposta o Faundr também mede o tamanho da mudança da sessão (linhas de código e de teste). Atalhos conscientes ficam marcados no código com // faundr: <limite>, <quando melhorar>. Ela nunca trava o agente: os achados vêm para cá e ele recebe um resumo no início da sessão.

  • /faundr:quality [--full | --files <arquivos>]

    Revisão de qualidade com IA: a IA lê o que mudou (ou o projeto inteiro, com --full) e registra o que a checagem automática não enxerga, como o que dá para cortar e pelo quê, erro escondido, tipos que não protegem, nomes confusos e regras do CLAUDE.md desobedecidas. Só entra achado com confiança de 80 ou mais, cada um com a prova no código. Ela só aponta e não muda nada.

    ex.: /faundr:quality --full

  • /faundr:quality-fix [Q-<n> | --all]

    Corrige um problema sem mudar o que o app faz (ou os altos abertos, um de cada vez, sem argumento; com --all, todos os abertos sem parar). Pede o seu OK antes de mexer em vários arquivos, apagar arquivo ou remover pacote (no --all, deixa esses para o fim numa lista), e só fecha quando a checagem não encontra mais o problema.

    ex.: /faundr:quality-fix Q-3

  • /faundr:quality-scan

    Roda a checagem completa agora e resume o que encontrou, por tipo.

  • !faundr quality-rule "<nome>" --pattern "<expressão>" --message "<por quê e o que usar>" [--files "src/**"] [--severity alta|media|baixa]

    Cria uma regra da casa: algo que o time não quer ver no código (ex.: fetch direto nas telas, uma biblioteca proibida). Vira um arquivo em .faundr-regras/ que vai para o git, e a checagem passa a apontar onde aparece.

    ex.: !faundr quality-rule "Sem fetch nas telas" --pattern "\bfetch\(" --files "src/components/**" --message "Use o cliente de src/lib/api.ts"

  • !faundr quality-ladder on|off

    Liga ou desliga o lembrete para a IA não escrever código demais (6 linhas no início de cada sessão). Também dá para ligar aqui no painel, no card de estado.

    ex.: !faundr quality-ladder on

  • !faundr quality-show [Q-<n>]

    Lista os problemas abertos, ou mostra um com o que é, por que importa e como resolver.

    ex.: !faundr quality-show Q-3

  • !faundr quality-resolve Q-<n>

    Refaz a checagem e só fecha o problema se ele sumiu de verdade. A IA roda isso depois de corrigir.

    ex.: !faundr quality-resolve Q-3

  • !faundr quality-ignore Q-<n> --reason <motivo> --note "<por quê>"

    Tira da lista com motivo: falso-alarme, de-proposito, ou depois (volta sozinho em 30 dias). Também dá para fazer pelo botão Ignorar aqui no painel. No código, um comentário faundr-ignore <regra>: motivo vale para a linha seguinte.

    ex.: !faundr quality-ignore Q-3 --reason de-proposito --note "apagar o temporário é opcional"

  • !faundr quality-reopen Q-<n>

    Reabre um problema ignorado.

    ex.: !faundr quality-reopen Q-3