redbar

mcp
Security Audit
Warn
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 6 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Spec-driven test agents for every layer. Math finds what you changed that nothing tests; agents write it — unit, integration, e2e — following your team's spec, not the model's.

README.md
redbar

O agente escreve os testes. O redbar decide quais, e confere.

A cobertura e o git diff dizem o que falta testar, sem IA no meio.
Seu agente escreve, seguindo a doc oficial de cada lib.
O redbar mede de novo e diz o que fechou de verdade.


release
ci
license: MIT
runtime dependencies: 0
zero LLM na análise

Como usar · MCP · O fluxo, desenhado · Design

Português · English


O problema que ele resolve

  • Todo repositório tem teste faltando, e ninguém sabe onde. Cobertura de "43%" não diz se o que você mudou ontem está testado.
  • Quando uma IA escreve o teste, sai no estilo que o modelo acordou querendo. Seis prompts, seis estilos.
  • E quando a IA diz "pronto, testei", ninguém confere.

O redbar resolve os três: mede onde estão os buracos (sem IA), entrega o padrão oficial de cada lib pro agente escrever, e mede de novo pra conferir o que fechou.

Por que não é só uma skill do agente?

  • Uma skill pede pro modelo adivinhar o que está coberto. Cobertura é fato de execução: não está visível no código-fonte. O modelo chuta, com confiança.
  • Pergunte duas vezes, receba duas listas. O redbar dá a mesma resposta byte a byte — e só um número que repete pode segurar um gate de CI.
  • Skill é opt-in: roda quando alguém lembra. O gate roda em todo PR, inclusive pra quem não usa IA.

E TDD, SDD?

  • TDD e SDD valem pra código que ainda vai nascer, e pedem disciplina de todo mundo, todo dia.
  • O redbar age depois, no repositório que já existe. Não pede adesão de ninguém: mede o que ficou sem teste.
  • Não competem. TDD previne, redbar mede. O time que faz TDD perfeito não precisa do redbar — esse time não existe.

O que já existe, e onde cada um para

Ferramenta O que faz Onde para
Codecov / Coveralls mostra a porcentagem não diz o que testar. Termômetro, não plano
Copilot / Cursor "generate tests" escreve teste do arquivo aberto não sabe o que já está coberto — cobertura não está visível no código-fonte
Qodo e afins IA escreve testes até a cobertura subir a IA decide o que cobrir, e ninguém confere o que ela alega
Diffblue gera testes sem IA só Java, caixa preta, não conversa com o teu agente

O espaço do redbar é a combinação que nenhuma faz: medir sem IA, escrever com o agente que você já usa, e conferir medindo de novo.

O que ele responde

O que eu mudei que nenhum teste executa?

language: TypeScript
runner:   jest
base:     origin/master
gaps:     289

! [5742] e2e          src/pages/Checkout/index.tsx:124  Checkout  — 99 linhas, 28 branches
  [ 564] integration  src/api.ts:15                     request   — 47 linhas, 11 branches

Cada linha: o símbolo, a camada de teste que falta (unit / integration / e2e) e a criticidade. O score é contagem, não opinião — linhas descobertas × (zero cobertura ? 2 : 1) × (1 + branches) — e qualquer número se audita com redbar explain <símbolo>.

O fluxo inteiro

  seu repo, numa branch com trabalho
        │
        ▼
  MEDIÇÃO (zero IA)     coverage report × git diff → gaps ranqueados
        │
        ▼
  O DOCUMENTO           .redbar/TESTING.md — o que testar, em que ordem,
        │               em que camada, seguindo qual doc oficial
        ▼
  ESCRITA (o agente)    um gap por vez + o padrão da camada;
        │               4 portões mecânicos julgam o que ele escreveu
        ▼
  MEDIÇÃO DE NOVO       re-roda o coverage: "fechado" é fato medido, não alegação
        │
        ▼
  OUTCOME.md            o que foi MEDIDO ≠ o que o agente ALEGA, nunca misturado

Veja o fluxo completo desenhado →

Essa divisão é o projeto inteiro: quem acha o buraco é o compilador e o git. Quem escreve é o agente. Quem confere é o compilador de novo. Teste sem asserção sobe a cobertura e não prova nada: o redbar apaga e marca no-assertion. Agente que "conserta" teu código pra fazer o teste passar: o redbar reverte e marca touched-source.

Como usar

Instala uma vez, roda no teu repo, e ele faz o resto: descobre a linguagem, o runner, roda a cobertura se faltar, e te diz o que testar.

# instalar (ainda fora do npm — direto do clone):
git clone https://github.com/emersonjds/redbar.git && cd redbar && npm install && npm link
cd /teu/repo
redbar i         # inspect — o que eu mudei que nada testa?
redbar b         # briefing — o documento pro agente + HTML + PDF pra gerência
redbar x         # execute — o agente escreve, o redbar julga e re-mede
redbar why X     # explain — de onde veio o número de X, conta por conta

Cada atalho tem o nome completo (inspect, briefing, execute, explain), e --all em qualquer um olha o repo inteiro em vez do diff.

MCP: conecte no agente que você já usa

A forma antiga registrava redbar pelado — o host do MCP não achava no PATH sanitizado. Agora o redbar imprime a linha pronta, com caminho absoluto.

Setup:

redbar mcp-config codex    # só para Codex
redbar mcp-config          # mostra pra todos os clientes

redbar imprime a linha exata pro seu terminal. Cada cliente tem sua forma — Claude Code e Codex usam --, Gemini CLI não usa, Copilot CLI é JSON. O comando já sai no formato certo. Copie a saída e rode — isso é a autorização.

Depois de conectado, o fluxo é:

  1. Peça pro agente usar o redbar → ele chama redbar_briefing
  2. redbar varre o código, calcula os gaps e grava .redbar/TESTING.md — a lista ranqueada do que testar, em que camada
  3. O agente escreve os testes de cima pra baixo, seguindo o padrão oficial de cada camada
Tool O que faz
redbar_briefing a principal — o documento completo: gaps ranqueados + o padrão de cada camada. O agente usa como fonte de verdade pra escrever os testes
redbar_inspect a lista de gaps, medida
redbar_explain a auditoria de um número — a resposta pra "isso é alucinação?"

Os artefatos (TESTING.md, gaps.json) ficam gravados no teu projeto, em .redbar/.

Quando o redbar chegar ao npm, bastará npx -y redbar mcp em qualquer máquina — funciona sem clone nem link.

O motor lê a cara do projeto

Tudo detectado do manifest, mecanicamente, sem modelo:

  • Runner — jest ou vitest, maven ou gradle. Não assume; lê.
  • Ferramenta e2e — Cypress no package.json → padrão do Cypress; senão, Playwright.
  • Perfil — React/Vue → front (e2e primeiro no foco); Express/Spring/FastAPI → back (integration primeiro); Next/Nuxt → fullstack. Vira a seção "Focus" do relatório, sem tocar no score — o número continua contagem pura.

O gate no CI

redbar ci --max-critical 0 falha o PR quando a mudança carrega lógica com branches que nenhum teste executa — e posta a tabela como comentário no PR, editando o próprio comentário a cada push. Workflow pronto pra copiar: .github/workflows/redbar.yml.

Linguagens

  • JavaScript/TypeScript · Java · Python · Rust · PHP · Go
  • três parsers de cobertura (lcov, Cobertura, JaCoCo) cobrem todos os ecossistemas
  • adicionar uma linguagem é uma linha de dado em src/languages.ts — sem código novo

Status

✅ Motor, CLI, MCP, gate de CI, execute com re-medição verificado em repositórios reais
✅ Conventions TS, Python, Java, Rust, PHP, Go — cada regra rastreável à doc da lib
🚧 Worker pool do fix

Origem

Baseado no lagune.ai, do Well Poku.

O propósito cabe numa frase: a IA nunca dá nota na própria prova.

Licença

MIT © Emerson Silva

Reviews (0)

No results found