Primeiros passos
Revise seu último commit em dois minutos
Você só precisa de um repositório Git com pelo menos dois commits. A primeira execução não exige configuração, Docker nem chave de API, e nunca executa o seu código.
Esta página trata do Probe para código, a ferramenta de linha de comando. Vai monitorar arquivos Word, Excel ou PowerPoint? Veja o Probe Desktop.
-
Instale o binário
O Probe é um único executável. O Git precisa estar instalado; nada mais é necessário para este guia. Baixe o arquivo para o seu sistema operacional e processador e extraia-o. Siga os passos do seu sistema abaixo.
Abra um terminal na pasta extraída que contém
probe. No macOS, primeiro remova a quarentena de download do navegador comxattr -d com.apple.quarantine probe.sudo install probe /usr/local/bin/ probe versionSem
sudo? Instale em~/.local/bin, desde que essa pasta exista e esteja no seuPATH.No Explorador de Arquivos, crie
%LOCALAPPDATA%\Programs\probee copie para ela oprobe.exeextraído. Depois abra o PowerShell:$env:Path += ";$env:LOCALAPPDATA\Programs\probe" probe versionIsso define o
PATHpara o terminal atual. Para os próximos terminais, adicione a mesma pasta aoPathdo seu usuário nas Variáveis de Ambiente do Windows.O último comando exibe a versão instalada, por exemplo
probe v0.5.1. Para conferir o arquivo com os checksums publicados, veja Verifique um download. -
Compare seu último commit com o anterior
Vá para qualquer repositório Git e pergunte ao Probe o que mudou entre
HEAD~1eHEAD:cd path/to/your/repository probe lint HEAD~1..HEADO
linté a metade estática do Probe. Ele compara os dois commits, coleta sinais de risco e grava um relatório. Ele nunca executa código do repositório, nunca chama um provedor de IA e não precisa de.probe.json: sem ele, aplicam-se os padrões embutidos da linguagem detectada.Somente arquivos commitados são analisados. Edições não commitadas e arquivos não rastreados são ignorados, então faça commit do seu trabalho antes, por exemplo em uma branch de rascunho. Para manter os relatórios fora dogit statussem mexer no.gitignore, executeecho .probe/ >> .git/info/exclude. -
Leia o relatório
Abra
.probe/CONFIDENCE_REPORT.mdno seu editor. Comece por Suggested Human Review, uma lista de arquivos e intervalos de linhas ordenada por gravidade, cada um com o motivo pelo qual foi sinalizado:## Suggested Human Review - **high** auth/auth.go:7–7 (new): Authentication or authorization function body changed - **high** payment/refund.go (whole file): Lines added and removed in a sensitive file; No nearby test file changed - **high** payment/refund.go:21–21 (old): Possible input validation removed(new) aponta para uma linha do commit candidato e (old) para uma linha removida da base. (whole file) marca um sinal sobre o próprio arquivo, como um caminho sensível, e não sobre uma das suas linhas. Review Surface informa quantas linhas alteradas esses intervalos cobrem. Os mesmos dados, com IDs de commit e as evidências dos sinais, estão em
confidence-report.jsonpara scripts e CI.Sinais são motivos para olhar, não bugs confirmados. A referência de sinais explica cada um deles.
-
Escolha o que comparar
Quaisquer duas revisões funcionam. Algumas escolhas comuns:
Comando Compara probe lint HEAD~5..HEADSeus últimos cinco commits em conjunto. probe lint --base mainSua branch atual comparada com main, a partir da merge base, como um pull request. Use--base masterse essa for a sua branch padrão.probe lint --base origin/main --head featureOutra branch comparada com a branch padrão remota, sem fazer checkout dela. probe lint main..featureOs dois commits exatos, sem merge base ( main...featureusa a merge base).probe lint --base main --ciO mesmo que acima, mas sai com código 2quando for necessária revisão humana, para scripts e CI. -
Opcional: execute suas verificações em uma sandbox
O
reviewfaz tudo o que olintfaz e depois executa os comandos de teste, typecheck, build e cobertura do repositório em contêineres Docker descartáveis e sem rede. Ele precisa do Docker com contêineres Linux e de uma imagem pré-carregada com o seu toolchain: o Probe nunca baixa imagens nem instala dependências por conta própria. Para um projeto Go sem dependências de terceiros, a imagem padrão basta:docker pull golang:1.26-bookworm probe review HEAD~1..HEAD --reviewer=falsePara projetos Node.js, Python e Rust, as imagens padrão não contêm as suas dependências: construa uma imagem que as contenha e aponte
sandbox.imagepara ela em uma política (próximo passo), ou deixe a política confiável construir essa camada com um objetoprepare. Se o Docker ou a imagem estiverem ausentes, o Probe para com código de saída4e nunca recorre a executar código na sua máquina. -
Adote no seu repositório
Execute
probe initpara gerar o.probe.jsonda linguagem detectada. Revise os comandos e a imagem da sandbox e depois teste a política localmente:probe review --base main --config .probe.jsonFaça commit do
.probe.jsonna sua branch base. Os reviews seguintes leem essa política confiável. Na sua branch de feature, execute:probe review --base main --ciTrabalha com um agente de programação? Adote o processo com plano primeiro: o agente executa
probe plan --intent-file task.md --ciantes de escrever código (um plano sinalizado vai para uma pessoa), implementa o plano, e o CI executaprobe review --plan .probe/PLAN.json --ci. A saída0significa que a mudança está em conformidade com um plano de baixo risco e passou nas verificações, então pode ser mesclada sem revisão humana; a saída2lista por que uma pessoa precisa olhar (plan gate).Próximos passos: cada flag, código de saída e chave de política está na referência. Para deixar um revisor de IA tentar reproduzir problemas, configure um provedor como descrito em Revisor de IA. Para o GitHub Actions, veja o guia de integração com CI.
-
Mostre no seu README
Assim que o Probe estiver revisando seus pull requests, adicione o badge ao seu README. Ele leva a este site e diz que o projeto usa o Probe; não é uma aprovação do código.
[](https://probe.technology/)HTML, reStructuredText, estilos do shields.io e o badge ao vivo do Probe Hub estão no guia de badges.
Se algo der errado
| Mensagem | O que fazer |
|---|---|
base: git rev-parse … Needed a single revision | Uma revisão não existe. O repositório pode ter um único commit (então não há HEAD~1), ou a branch padrão dele não é main: passe --base master ou um intervalo explícito. |
| O relatório não inclui suas últimas edições | Elas ainda não foram commitadas. O Probe só analisa commits; faça commit delas e execute de novo. |
Código de saída 2 | Não é um erro: com --ci, significa que é necessária revisão humana. Veja códigos de saída. |
Código de saída 4 durante o review | O Docker não está rodando ou a imagem da sandbox não está disponível localmente. Baixe-a antes, ou use o lint. |
reviewer.model must be configured… | --reviewer foi solicitado sem um modelo. Remova-o ou configure um provedor. |