Open Source · Licença MIT · Binário Único

Saiba quem alterou o quê.
Mesmo quando não é humano.

Rastreamento de modificações de código em tempo real com diffs inteligentes, atribuição git e notificações instantâneas. Um binário. Zero configuração. Visibilidade total.

Instalar 0diff Ver no GitHub
$ curl -fsSL https://0diff.dev/install.sh | sh copiar
0diff watch — ~/project/flin
$ 0diff watch
▸ Watching 847 files across 23 directories...
▸ Git: main branch, 3 contributors tracked
 
[14:32:05] src/parser.rs +12 -3 (alice on feature/parser)
@@ -45,3 +45,12 @@
- fn parse_expression(&mut self) -> Result<Expr> {
+ fn parse_expression(&mut self, precedence: u8) -> Result<Expr> {
+ let left = self.parse_primary()?;
 
[14:33:41] src/typechecker/checker.rs +47 -2 ( Claude Agent on fix/enum-collision)
@@ -189,2 +189,49 @@
+ // Resolve enum variant / entity name collision
+ fn resolve_name_shadowing(&mut self, scope: &Scope) {
 
→ Slack #dev-changes notificado
→ Discord #code-watch notificado

Toda equipe já viveu esse pesadelo.
Alterações não rastreadas em codebases complexas custam dias de depuração, prazos perdidos e confiança abalada. Essas histórias acontecem todos os dias.

O Crash de Produção às 3h da Manhã

A produção caiu. Sua equipe corre para descobrir o que mudou. 47 arquivos foram modificados em 6 branches nas últimas 24 horas. Ninguém lembra de ter tocado no arquivo de migração do banco de dados. Você executa git log em cada arquivo, um por um. Três horas depois, você encontra uma alteração de uma linha em um arquivo de configuração que ninguém sinalizou.

"Quem mexeu nas configurações do pool de conexões? Ninguém lembra. O git blame diz que foi mergeado há 3 dias, enterrado em um PR de 200 arquivos."

A Modificação Fantasma

Seu código funcionava perfeitamente ontem. Hoje, uma função crítica retorna valores errados. Você não mudou nada. Mas alguém mudou -- um assistente de IA reformatou um arquivo e silenciosamente alterou um bloco sensível à indentação. O diff parecia "limpeza de espaços em branco". Na verdade, era uma mudança de lógica escondida à vista de todos.

"O Cursor auto-formatou meu arquivo Python. Parecia cosmético. Ele mudou a indentação de um bloco if aninhado. Levamos 2 dias para encontrar."

O Problema do "Não Fui Eu"

Cinco desenvolvedores trabalhando no mesmo módulo. Uma regressão aparece após um merge. Todos dizem que não tocaram naquele arquivo. O git blame mostra um merge commit -- inútil. Você precisa saber quem alterou o quê, quando e em qual branch, antes de ser mergeado e o histórico ser esmagado pelo squash.

"Após o squash merge, o git blame mostra um autor para 500 linhas. A modificação que realmente quebrou tudo? Perdida no squash."

O Agente de IA Rebelde

Você está executando 5 agentes Claude Code em paralelo em diferentes terminais. O Agente 3 decide "corrigir" uma função utilitária da qual os Agentes 1, 2, 4 e 5 dependem. Tudo quebra. Cada agente faz commit com o seu nome. Não há como saber qual agente alterou qual arquivo sem ler cada diff manualmente.

"Eu tinha 100 agentes executando em um projeto Rust complexo. Um agente refatorou um módulo compartilhado. 4 outros agentes começaram a falhar silenciosamente. Só descobri 45 minutos depois."

O Arquivo de 5.000 Linhas que Ninguém Lê

Seu módulo principal tem mais de 5.000 linhas. Lógica de negócio crítica, cuidadosamente equilibrada ao longo dos anos. Um desenvolvedor júnior ou um assistente de IA faz uma pequena alteração na linha 3.847. Ninguém revisa porque o diff do PR é grande demais. Vai para produção. Duas semanas depois, um caso extremo aparece. Descobrir qual das 40 alterações naquele arquivo causou o problema se torna uma escavação arqueológica.

"Nós temos um controller legado de 7.000 linhas. Literalmente não conseguimos revisar cada alteração nele. Só rezamos."

A Surpresa de Sexta às 17h

Alguém fez push de uma "correção rápida" às 16h58 de sexta-feira. Sem revisão, sem notificação. Segunda de manhã: o ambiente de staging não inicia. O job de lote do fim de semana corrompeu 10.000 registros por causa de uma regra de validação alterada. Se alguém tivesse sido notificado em tempo real, seria uma correção de 5 minutos. Em vez disso, é um desastre na segunda de manhã.

"Se eu tivesse recebido uma notificação no Slack quando aquele arquivo mudou, eu teria resolvido em 30 segundos. Em vez disso, custou todos os dados do fim de semana."
O custo real
Alterações não rastreadas não causam apenas bugs.
Elas custam dinheiro de verdade.
23%
do tempo dos desenvolvedores gasto depurando problemas causados por modificações não rastreadas
4.2h
tempo médio para identificar a causa raiz de uma regressão relacionada a alterações
$680K
custo anual médio por equipe de engenharia com incidentes evitáveis relacionados a alterações
67%
dos incidentes de produção remontam a uma alteração de código que não passou por revisão adequada

Visibilidade em tempo real de cada alteração.
Antes que se torne um problema.
O 0diff monitora seu codebase, calcula diffs inteligentes, identifica quem fez cada alteração e notifica sua equipe instantaneamente. Tudo em um único binário.

Monitoramento de Arquivos em Tempo Real

Monitoramento nativo em nível de SO usando inotify (Linux), FSEvents (macOS) e ReadDirectoryChanges (Windows). Com debounce para evitar ruído. Detecção instantânea, zero uso de CPU.

0diff watch

Motor de Diff Inteligente

O algoritmo Myers calcula diffs precisos em nível de linha. Opcionalmente, ignore alterações apenas de espaços em branco, modificações em comentários ou mudanças abaixo de um limite configurável. Veja o que realmente importa.

filter.ignore_whitespace = true

Atribuição Git

Detecta automaticamente a branch atual, executa git blame nas linhas modificadas e identifica o autor. Saiba exatamente quem alterou cada linha, mesmo antes do commit.

0diff log --author "alice"

Notificações Instantâneas

Envie notificações para o Slack (formatado com Block Kit), webhooks do Discord ou qualquer endpoint HTTP. Agrupe por arquivo para manter os canais organizados. Saiba no momento em que algo muda.

0diff test

Histórico Pesquisável

Cada alteração é registrada em um arquivo local JSON-lines. Consulte por autor, arquivo, período ou branch. Trilha de auditoria completa sem depender da arqueologia do git log.

0diff log --file "parser.rs"

Zero Configuração

Execute 0diff init e comece a monitorar. Padrões inteligentes cuidam de padrões de ignoração, extensões e debouncing. Personalize depois com um simples arquivo TOML. Funciona com qualquer linguagem, qualquer projeto.

0diff init

Daemon em Segundo Plano

Execute o 0diff como um daemon em segundo plano que persiste entre sessões de terminal. Inicie uma vez, esqueça. O cão de guarda da sua equipe está sempre ativo.

0diff watch --daemon

Resumo Diário

Receba resumos periódicos: "Hoje, 47 arquivos modificados por 3 autores. Mais alterado: parser.rs (12 modificações)." A visão executiva para líderes técnicos e CTOs.

notifications.digest.interval_hours = 4

Binário Único

Escrito em Rust. Compila para um único binário estático de menos de 10MB. Sem runtime, sem dependências, sem node_modules. Instale com curl, execute em qualquer lugar. Multiplataforma.

curl -fsSL 0diff.dev/install.sh | sh

Construído para como você realmente trabalha.
Seja você um desenvolvedor solo, uma equipe distribuída ou gerenciando um exército de agentes de IA.

Você está construindo sozinho. Mas não está mais sozinho.

Você usa Copilot, Cursor, Claude Code. Eles escrevem código nos seus arquivos enquanto você está focado em outra coisa. Você volta à aba e algo está diferente, mas não consegue dizer o quê. Você executa git diff constantemente, mas esquece de verificar. Horas depois, um bug sutil aparece e você não faz ideia de quando foi introduzido.

Com o 0diff, cada modificação é registrada no instante em que acontece. Você vê exatamente o que mudou, mesmo entre múltiplas sessões assistidas por IA. Chega de "espera, fui eu que escrevi isso ou foi a IA?"

Cenário

Você está editando auth.rs em uma aba. O Copilot auto-completa uma função em utils.rs em outra. O 0diff captura imediatamente e mostra o diff exato com uma notificação no terminal -- antes mesmo de você trocar de aba.

0diff -- fluxo solo
[09:14:22] src/auth.rs +3 -1 (você)
+ let token = jwt::encode(&claims)?;
 
[09:14:23] src/utils.rs +18 -0 ( Copilot)
+ pub fn validate_token(token: &str)
+ -> Result<Claims, AuthError> {
+ let decoded = jwt::decode(
+ token, &KEY, &Validation::default()
+ )?;
...
 
ℹ 2 arquivos alterados nos últimos 5 min

5 desenvolvedores. 200 arquivos. Ninguém sabe o que o outro está tocando.

Sua equipe está distribuída em 3 fusos horários. Alice refatora uma função utilitária às 2h da manhã no seu horário. Bob começa a construir sobre a API antiga às 8h. Ao meio-dia, há um conflito que leva 4 horas para resolver. O Git mostra o conflito de merge. Ele não mostra o momento em que a divergência começou.

Com o 0diff enviando para um canal Slack compartilhado, cada desenvolvedor vê cada alteração em tempo real. Conflitos são prevenidos, não apenas resolvidos. Sua equipe se torna consciente do trabalho de cada um em tempo real.

Cenário

Alice modifica api/routes.rs. Bob recebe uma notificação no Slack instantaneamente com o diff exato. Ele ajusta sua abordagem antes de escrever uma única linha conflitante.

#dev-changes -- Slack
┌─────────────────────────────────────┐
alice modificou api/routes.rs
feature/v2-endpoints
+22 -8 linhas · 3 hunks │
- GET /api/users/:id
+ GET /api/v2/users/:id
Bob também está com este arquivo aberto
└─────────────────────────────────────┘

Você precisa da visão geral, não de cada diff.

Como tech lead ou CTO, você não precisa ver cada alteração de linha. Você precisa saber: quais arquivos críticos foram modificados hoje? Quantas alterações atingiram código sensível de produção? O novo membro da equipe está tocando em arquivos que não deveria?

O resumo diário do 0diff te dá exatamente isso. Um sumário periódico de todas as modificações, agrupadas por autor e arquivo, com detecção de hotspots para arquivos frequentemente alterados. Visibilidade executiva sem o ruído.

Exemplo de resumo diário

"Hoje: 127 modificações em 34 arquivos por 5 autores. Hotspots: core/engine.rs (23 alterações), db/migrations/ (8 alterações). Sinalizado: novo colaborador tocou em security/auth.rs."

0diff log --summary
═══ Resumo Diário -- 14 fev. 2026 ═══
 
Autores:
alice +342 -89 │ 14 arquivos
bob +127 -43 │ 8 arquivos
agent-3 +891 -202 │ 12 arquivos
 
Hotspots:
core/engine.rs │ 23 alterações │ ALTO
db/schema.rs │ 8 alterações │ MÉDIO
security/auth.rs │ 3 alterações │ SENSÍVEL

Alguns arquivos não podem ter alterações silenciosas.

Migrações de banco de dados. Lógica de autenticação. Processamento de pagamentos. Chaves de criptografia. Esses arquivos precisam de um nível diferente de vigilância. Uma única alteração não revisada em payment_handler.rs pode custar milhões. Uma modificação silenciosa em .env.production pode expor segredos.

O 0diff permite configurar alertas de arquivos críticos com notificações elevadas -- canais diferentes, alertas mais intensos, gatilhos de revisão obrigatória. Alterações em caminhos sensíveis são impossíveis de passar despercebidas.

Exemplo de configuração

Monitore db/migrations/*, security/*, .env* com DM imediata no Slack para o tech lead + alerta no Discord em #security-audit. Tolerância zero para alterações silenciosas.

.0diff.toml -- caminhos críticos
# Monitoramento de arquivos críticos
[[watch.critical]]
paths = ["db/migrations/", "security/"]
alert_level = "urgent"
notify = ["slack-dm:@cto", "discord:#security"]
 
[[watch.critical]]
paths = [".env*", "secrets/"]
alert_level = "critical"
notify = ["slack-dm:@cto", "webhook:pagerduty"]
block_unreviewed = true

Construído para a era do
desenvolvimento assistido por IA.

Você usa Copilot, Cursor, Claude Code, Codex. Eles escrevem código nos seus arquivos, com o seu nome, sem pedir. Ferramentas tradicionais foram feitas para um mundo onde humanos eram os únicos autores. O 0diff é a primeira ferramenta projetada para codebases humano + IA.

Detecção de Agentes

Detecta padrões de ferramentas de IA conhecidas (Claude, Cursor, Copilot). Sinaliza alterações não humanas automaticamente com um marcador .

Rastreamento Multi-Agente

Executando 5 agentes em terminais paralelos? O 0diff rastreia cada um independentemente e mostra qual agente modificou qual arquivo.

Detecção de Colisões

Quando o Agente A modifica um arquivo do qual o Agente B depende, o 0diff alerta imediatamente -- antes que falhas em cascata comecem.

Comparação
Por que não usar apenas git diff?
Você pode. Mas eis o que você vai perder.
Capacidade git diff watchexec fswatch 0diff
Monitoramento de arquivos em tempo real
Diff inteligente (mostra o que mudou)
Atribuição de autoria (manual)
Notificações Slack / Discord
Histórico de alterações pesquisável
Filtragem de espaços / comentários (flags)
Detecção de agentes de IA
Binário único, zero dependências (compilar)
Modo daemon em segundo plano

Instale em 10 segundos. Monitore em 20.
Binário único. Sem dependências. Sem runtime. Sem complicação.

Instalação Rápida (macOS / Linux)

curl -fsSL https://0diff.dev/install.sh | sh copiar

Compilar do Código-Fonte

git clone https://github.com/zerosuite-inc/0diff.git && cd 0diff && cargo install --path . copiar

Cargo (do GitHub)

cargo install --git https://github.com/zerosuite-inc/0diff.git copiar

Desinstalar

rm $(which 0diff) copiar

Binário único, sem arquivos de configuração fora do seu projeto. Remova o binário e pronto.

Primeira execução
$ cd my-project
$ 0diff init
✓ Created .0diff.toml with smart defaults
✓ Detected: Rust project, 847 files
 
$ 0diff watch
▸ Watching 847 files...
▸ Ready. Edit a file to see 0diff in action.

Pare de adivinhar.
Comece a monitorar.

Open source. Gratuito para sempre. Construído com Rust.
Um produto ZeroSuite.

Instalar 0diff Dar Estrela no GitHub