FaundrDocumentaçãoAbrir o painelPainel

O painel do projeto

Erros

Erros junta, num lugar só, o que quebrou. Ele tem duas fontes:

  • Os comandos do agente: build, checagem de tipos, testes, lint e scripts que ele roda enquanto trabalha. Não precisa instalar nada.
  • O app publicado: o que quebra com quem usa o seu app no ar. Precisa ligar uma vez, com /faundr:errors-setup.

Cada erro vira um E-n. Os erros dos comandos ficam ligados à conversa e ao pedido em que nasceram, para você saber o que causou cada um.

Erros dos comandos do agente

Depois de cada comando de checagem, o Faundr lê a saída no seu computador:

  • se falhou, separa cada erro (só a mensagem e um trecho curto, com chaves mascaradas) e o envia ao painel;
  • quando o mesmo comando volta a passar, o erro fecha sozinho;
  • se ele aparecer de novo depois de fechado, ganha a etiqueta Voltou.

Comandos como git, grep e o servidor de desenvolvimento ficam de fora. No começo de cada sessão, o agente fica sabendo dos erros em aberto.

Funciona em todas as linguagens que o Faundr cobre, menos HTML puro, que não tem comando para rodar: o Faundr entende a saída do tsc, do ESLint, do Vitest e dos outros comandos de JavaScript, e também de mypy, ruff e pytest (Python), go build, go vet e golangci-lint (Go), cargo build e cargo clippy (Rust), flutter analyze e flutter test, Maven e Gradle, dotnet build, phpstan e phpunit (PHP), gcc, clang, make e ctest (C/C++) e docker build. Essas ferramentas só aparecem aqui se o projeto já as usa: o Faundr não instala nenhuma. A tabela completa está em Linguagens suportadas.

Erros do app publicado

Com /faundr:errors-setup, o agente instala no seu app o SDK gratuito do Sentry, apontando para o Faundr:

  • não precisa de conta no Sentry;
  • envia só os erros, só em produção e sem dados pessoais;
  • cada versão publicada fica marcada com o commit, para saber em qual versão o erro apareceu.

Funciona com JavaScript e TypeScript (React, Next.js, Vue, Nuxt, Svelte, Angular, React Native, Node, Cloudflare Workers e site em HTML puro), Python, Flutter e Dart, PHP e Laravel, Go, Java e Kotlin (Spring Boot e Android), C#, Rust, C e C++.

No fim, o agente confere com um erro de teste.

Num erro do app publicado, o detalhe mostra quantas pessoas foram afetadas, em que página, em que versão, onde quebrou no código e o que a pessoa fez antes do erro. Em JavaScript, o código original é recuperado pelos *source maps* do seu computador, sem enviar nada a ninguém.

Abas

Erros

O card de estado mostra quantos erros estão abertos, quantos voltaram e quantos estão aumentando, e o botão Corrigir com a IA. Filtre por tipo (App publicado, Build, Tipos, Testes, Lint, Scripts) e por situação (Abertos, Resolvidos, Arquivados).

As etiquetas:

  • Voltou: foi corrigido e apareceu de novo;
  • Aumentando: o erro do app publicado está acontecendo muito mais que o normal nesta hora;
  • Aguardando deploy: corrigido, esperando a nova versão ir ao ar.

O detalhe de um erro tem:

  • Em português simples: o que é, por que costuma acontecer e o que fazer;
  • Copiar pedido para o agente: um pedido pronto para qualquer agente de programação com IA;
  • onde quebrou, quantas vezes, onde nasceu (conversa e pedido) e o trecho da saída.

E os botões:

  • Corrigir com a IA (/faundr:error-fix E-n): o agente corrige a causa, sem silenciar o erro, e só dá como resolvido quando o mesmo comando volta a passar;
  • Arquivar 7 dias ou Arquivar até voltar;
  • só no app publicado: Resolvido no próximo deploy (a versão antiga pode continuar mandando o erro sem reabri-lo; ele só volta se aparecer numa versão nova) e Até mais 100 vezes (arquiva até o erro acontecer mais 100 vezes).

Por sessão

Os erros agrupados pela conversa em que nasceram: quantos nasceram ali, quantos seguem abertos e quantos foram resolvidos na mesma conversa. Ajuda a ver se uma sessão deixou estrago.

App publicado

Tudo o que liga o app no ar ao Faundr:

  • Card de estado: se os erros estão chegando e quando chegou o último, com o botão Ligar o app (/faundr:errors-setup).
  • Endereço de envio (DSN): o endereço que o app usa para mandar os erros, com os limites (acima de 300 eventos por hora, o Faundr guarda uma amostra).
  • Site no ar: o Faundr confere o seu site a cada 5 minutos. Se ele cair (2 falhas seguidas), vira um erro "Site fora do ar" e você recebe um aviso. Quando o site volta, o erro fecha sozinho. Só aceita endereços https.
  • Avisos no Slack ou no Discord: cole o endereço (webhook) de um canal e escolha os avisos: Erro novo, Erro voltou, Erro aumentando e Site fora do ar e de volta. No máximo um aviso por erro por hora. Os mesmos endereços servem para o resumo semanal da Atividade.
  • Relatórios de CSP (opcional): o trecho para o cabeçalho de segurança mandar violações ao Faundr.
  • Já usa o Sentry?: o comando para trazer os erros abertos de lá.

Achados de outras skills

Se você já usa uma skill de investigar bugs, falhas ou logs 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 erro vira um E-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 erro sumiu, ele fecha sozinho;
  • cada skill só fecha os próprios achados, e só nos arquivos que olhou.

Veja como conectar em Workflows.

Comandos

Erros mostra o que quebrou nos comandos que a IA roda enquanto trabalha (build, checagem de tipos, testes, lint e scripts) e, depois de ligar o app, o que quebra com quem usa o app publicado. Cada erro vira um E-n; os dos comandos ficam ligados à conversa e ao pedido em que nasceram. Use estes comandos no seu agente de IA, na pasta ligada ao projeto.

Não precisa fazer nada: o Faundr lê a saída dos comandos no seu computador (só a mensagem e um trecho curto, com chaves mascaradas). O erro fecha sozinho quando o mesmo comando volta a passar e, se aparecer de novo depois, é marcado como "voltou". No começo de cada conversa, a IA fica sabendo dos erros em aberto.

  • /faundr:error-fix [E-<n> | --all]

    A IA corrige o erro (sem argumento: os abertos, começando pelos que voltaram; com --all, todos sem parar) e roda o mesmo comando para confirmar. Não silencia o erro com atalhos.

    ex.: /faundr:error-fix E-3

  • /faundr:errors-setup

    Liga o app publicado ao Faundr: a IA instala o SDK gratuito do Sentry apontando para o Faundr (sem conta no Sentry, só erros, sem dados pessoais) e confere com um erro de teste.

  • !faundr errors-uptime https://<seu site> | --off

    Confere o site a cada 5 minutos. Se ele cair (2 falhas seguidas), vira um erro "Site fora do ar" e avisa; quando volta, o erro fecha sozinho. Também dá para ligar na aba App publicado.

    ex.: !faundr errors-uptime https://minhaloja.com

  • !faundr errors-import-sentry --org <org> --project <projeto>

    Para quem já usa o Sentry: traz os erros abertos de lá, com contagens. O token (SENTRY_AUTH_TOKEN) fica só no seu computador.

    ex.: !faundr errors-import-sentry --org minha-empresa --project loja

  • !faundr errors-dsn

    Mostra o endereço (DSN) que o app usa para mandar erros ao Faundr e quando chegou o último.

  • !faundr errors [--all]

    Lista os erros em aberto (ou todos) no terminal.

  • !faundr error-show E-<n>

    Mostra um erro: onde quebrou, quantas vezes, em que conversa e pedido nasceu, e o trecho da saída.

    ex.: !faundr error-show E-3

  • !faundr error-archive E-<n> [--days N | --count N | --users N]

    Arquiva um erro que não é para corrigir agora: por N dias, até acontecer mais N vezes ou até afetar mais N pessoas (sem opção: até voltar depois de corrigido). Também dá para arquivar aqui no painel.

    ex.: !faundr error-archive E-3 --count 100

  • !faundr error-resolve E-<n> --next-deploy --verified "<como conferiu>"

    Erro do app publicado corrigido: a versão antiga ainda pode mandá-lo sem reabrir; ele só volta se aparecer numa versão nova. O /faundr:error-fix já faz isso sozinho.

    ex.: !faundr error-resolve E-3 --next-deploy --verified "checagem de itens vazios; build ok"

  • !faundr error-recipe E-<n> --cause "<por que quebrou>" --fix "<o que consertou>"

    Guarda a receita do erro. Ela aparece no error-show quando o erro volta ou quando o mesmo erro surge em outro arquivo.

    ex.: !faundr error-recipe E-3 --cause "carrinho vazio chegava no total" --fix "conferir itens vazios antes"

  • !faundr error-reopen E-<n>

    Reabre um erro.

    ex.: !faundr error-reopen E-3