rebar
Un verificador que se ejecuta sobre cualquier repositorio, un portón que bloquea el commit cuando se ignora una regla, y un generador que crea el próximo proyecto ya del lado correcto de la raya.
npx github:Navesz/rebar .El problema, medido en 161 commits
Análisis forense de seis repositorios, 25/08/2026: 3 sin CI, y esos mismos 3 con el lint roto. El que tenía más documentos de gobernanza — AGENTS.md, SECURITY.md, GOVERNANCE.md — tenía 35 errores de lint.
Una regla en markdown casi nunca se cumple
Aquel repositorio tenía un script check que encadenaba formato, lint, tipos, pruebas y build. Nada lo ejecutaba nunca. Si una regla puede bajar de la prosa a la máquina, que baje — y la máquina tiene que ser la más fiable de las dos.
El verificador: un marcador de cualquier repositorio
npx github:Navesz/rebar . — sin instalar nada y sin escribir una línea en el repositorio auditado. La regla que no aplica sale del denominador, porque un marcador que cuenta lo que no existe es un marcador que miente.
El portón: hook, CI en los dos sistemas y el servidor
Lo que ejecuta el CI es la misma secuencia que ejecutas tú antes, en un solo comando. Encima, un ruleset de GitHub con la lista de excepciones vacía — ni el dueño pasa. Debajo, el hook, en tu máquina.
El generador: esta página salió de él
npx github:Navesz/rebar novo mi-sitio crea un Next estático con el portón ya dentro y un servidor MCP que sirve las reglas a la IA que abra el proyecto. Después pasa la raya por lo que acaba de crear.
Lo que todavía no está probado
rebar se impone en un repositorio: él mismo. La meta escrita eran dos hasta D+30, y va 1 de 2. Una regla sigue solo avisando porque cerca del 12% de lo que señala es ruido. Si no cambia, el criterio de abandono manda parar.
Modo de uso
Tres estados en lugar de dos, y el tercero es el que impide que el marcador mienta: lo que no aplica sale del denominador. Una carpeta vacía no saca buena nota.
El marcador de un repositorio
npx github:Navesz/rebar .rebar-check · prumo ✓ editorconfig tem .editorconfig ✗ dependabot sem dependabot nem renovate ✓ ci tem CI – typecheck não tem TypeScript 11 de 13 · 1 não se aplicasalida El guion es el tercer estado. Antes de existir, una carpeta vacía con un .git/ vacío sacaba 8 de 14 y empataba con el propio rebar. El verificador imprime en portugués de Brasil.
Varios repositorios de una vez
npx github:Navesz/rebar ../a ../b ../cAl final sale un resumen comparable. Así se levantó el análisis forense de 161 commits en seis repositorios.
Una sola regla, para arreglar sin ruido
npx github:Navesz/rebar --rule=ci-gates .El recorte sirve para arreglar, no para aprobar: ejecútalo sin el filtro antes de hacer commit.
Salida estructurada, para el CI
npx github:Navesz/rebar --json .Cada regla sale con id, clase, nivel y estado. Es lo que consume el paso de CI.
Heurísticas que también tumban el build
npx github:Navesz/rebar --heuristics .Por defecto una heurística solo informa. Una regla automática equivocada cuesta más que una regla ausente — una de ellas se midió con siete apariciones y cero verdaderos positivos.