Skip to content

Latest commit

 

History

History
184 lines (140 loc) · 8.74 KB

File metadata and controls

184 lines (140 loc) · 8.74 KB

⚠️ This is an auto-generated translation. For the latest version, see the English README. Community corrections welcome!

🇺🇸 English | 🇨🇳 简体中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇪🇸 Español | 🇧🇷 Português | 🇩🇪 Deutsch | 🇫🇷 Français | 🇷🇺 Русский | 🇮🇳 हिन्दी | 🇹🇷 Türkçe | 🇻🇳 Tiếng Việt | 🇮🇹 Italiano | 🇸🇦 العربية | 🇮🇱 עברית


failproof ai

npm CI Supply Chain Slack Docs License

Traduções: 简体中文 · 日本語 · 한국어 · Español · Português · Deutsch · Français · Русский · हिन्दी · Türkçe · Tiếng Việt · Italiano · العربية · עברית

Resolução de falhas em tempo de execução para agentes de código. Se integra ao Claude Code e ao Codex. Detecta loops, ações perigosas e vazamentos de segredos antes que se tornem incidentes. Zero latência. Executa localmente.

Failproof AI in action


CLIs de agentes suportados

Claude Code        OpenAI Codex        GitHub Copilot        Cursor Agent

OpenCode        Pi        Gemini CLI

Instale hooks para um ou qualquer combinação: failproofai policies --install --cli opencode pi gemini (ou --cli claude codex copilot cursor opencode pi gemini). Omita --cli para detectar automaticamente as CLIs instaladas e receber uma solicitação de confirmação.


Instalação

npm install -g failproofai
failproofai policies --install   # ou simplesmente execute `failproofai` e aceite o prompt da primeira execução
failproofai

30 políticas integradas são ativadas imediatamente. Dashboard disponível em localhost:8020. Desative o prompt da primeira execução com FAILPROOFAI_NO_FIRST_RUN=1.


O que ele bloqueia

Política O que bloqueia
block-push-master Pushes diretos para main / master
block-force-push git push --force
block-work-on-main Commits, merges e rebases em main / master
block-rm-rf Exclusão recursiva de arquivos
sanitize-api-keys Chaves de API vazando para o contexto do agente

Todas as 30 políticas integradas


Suas próprias políticas

Coloque um arquivo em .failproofai/policies/ — ele é carregado automaticamente, sem flags necessárias. Faça commit e toda a equipe receberá na próxima atualização.

import { customPolicies, deny, allow } from "failproofai";

customPolicies.add({
  name: "no-production-writes",
  match: { events: ["PreToolUse"] },
  fn: async (ctx) => {
    if (ctx.toolInput?.file_path?.includes("production"))
      return deny("Writes to production paths are blocked.");
    return allow();
  },
});

Três decisões disponíveis para cada política:

Decisão Efeito
allow() Permite a operação
deny(message) Bloqueia — a mensagem é retornada ao agente
instruct(message) Deixa passar, mas adiciona contexto ao próximo prompt do agente

Guia de políticas personalizadas


Visibilidade da sessão

Cada chamada de ferramenta feita pelo seu agente é registrada localmente. O dashboard mostra o que foi executado, o que foi bloqueado e o que a política informou ao agente — para que você não fique no escuro quando algo der errado. → Guia do dashboard


Documentação

Primeiros Passos Instalação e configuração inicial
Políticas Integradas Todas as 30 políticas com parâmetros
Políticas Personalizadas Escreva as suas próprias
Configuração Escopos de configuração e regras de mesclagem
Dashboard Monitor de sessão e atividade de políticas
Arquitetura Como o sistema de hooks funciona

Licença

MIT com Commons Clause — gratuito para uso interno e pessoal; a revenda comercial do próprio failproofai requer um acordo separado. Veja LICENSE para o texto completo.


Contribuindo

Consulte CONTRIBUTING.md. Novas políticas, casos extremos e traduções são bem-vindos.

Faça o build antes de começar. Execute bun install && bun run build primeiro. Este repositório executa os próprios hooks do failproofai sobre si mesmo, e eles resolvem o import do failproofai contra o bundle compilado em dist/ — sem um build você receberá erros de hook Cannot find package 'failproofai'. Refaça o build após alterar src/. Consulte Build before the in-repo dev hooks will work.


Desenvolvido por Nivedit Jain e Nikita Agarwal. befailproof.ai