Repolode
winnin

winnin/farol

CLI y GitHub Action que, después de una revisión de código con IA, evalúa el riesgo de merge de un pull request y enumera los archivos y endpoints a los que llega.

Estrellas
174
Forks
5
Issues abiertos
6
Último commit
hace 3 días

¿Qué es?

farol es un CLI y una GitHub Action gratuitos y de código abierto para quien aprueba un pull request. Después de que un agente de revisión con IA comenta el diff, farol usa análisis estático para mostrar qué partes alcanza el código modificado, como páginas, operaciones de API, métodos RPC, jobs y scripts, y asigna un veredicto al cambio (vía rápida, revisión breve o revisión exhaustiva) junto con una puntuación de riesgo de 0 a 100.

El informe combina el alcance, la cobertura del diff, los hallazgos de seguridad, las rupturas de contratos y los cambios en dependencias. Además, enumera primero los archivos de mayor riesgo e incluye diffs en línea, líneas sin probar y una lista de verificación para pruebas manuales. Lee el código con el comprobador de tipos de TypeScript, go/types y ast de Python, y nunca ejecuta el código analizado ni lo envía por la red. Se ejecuta localmente o en CI y publica un comentario en los pull requests sin bloquear los merges.

Entre los stacks compatibles se incluyen los frontends de React Router, Next.js y TanStack Router; los backends de TypeScript con GraphQL y REST; los servicios de Go; y servicios de Python como FastAPI, Flask y Django. La integración opcional con Datadog añade información de tráfico y errores.

Funciones clave

  • 01Ordena los archivos modificados según su riesgo y muestra las páginas y los endpoints a los que llega cada uno.
  • 02Asigna un veredicto y una puntuación de riesgo de 0 a 100, junto con los motivos.
  • 03Detecta cambios incompatibles en contratos de GraphQL, FastAPI, Go y gRPC.
  • 04Marca las líneas sin probar en diffs en línea e importa informes de cobertura, lint y auditoría desde CI.
  • 05Genera un informe HTML de un solo archivo y un registro de revisión en Markdown.

Casos de uso

  • Decidir cuánto tiempo de revisión necesita un pull request grande antes de aprobarlo.
  • Detectar cambios incompatibles en API y sus consumidores posteriores antes del merge.
  • Añadir una etapa de clasificación de riesgos a los pull requests de GitHub junto a un revisor de IA existente.
  • Comprobar qué páginas del frontend se ven afectadas por un cambio en un componente compartido.

Inicio rápido

  1. 1

    Crea farol.config.json en la raíz del proyecto y describe tu stack

  2. 2

    Enumera las páginas, los endpoints, los trabajos y los scripts que encontró farol

    npx @winninjs/farol routes
  3. 3

    Analiza la rama comparándola con la rama de destino

    npx @winninjs/farol analyze --base origin/main --head HEAD --out farol.json
  4. 4

    Genera el informe HTML y ábrelo

    npx @winninjs/farol html --in farol.json --out farol.html && open farol.html

Antes de usarlo

  • Requiere Node.js 22 o posterior y git; además, go para proyectos Go o python3 3.11 o posterior para proyectos Python.
  • Solo admite bases de código TypeScript, Go y Python.

En colecciones

Temas

Preguntas frecuentes

¿Qué es farol?
CLI y GitHub Action que, después de una revisión de código con IA, evalúa el riesgo de merge de un pull request y enumera los archivos y endpoints a los que llega. farol es un CLI y una GitHub Action gratuitos y de código abierto para quien aprueba un pull request. Después de que un agente de revisión con IA comenta el diff, farol usa análisis estático para mostrar qué partes alcanza el código modificado, como páginas, operaciones de API, métodos RPC, jobs y scripts, y asigna un veredicto al cambio (vía rápida, revisión breve o revisión exhaustiva) junto con una puntuación de riesgo de 0 a 100.
¿farol es gratuito? ¿Qué licencia tiene?
farol es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿farol sigue mantenido?
Mantenimiento activo. El último commit de farol fue el 4 nov 2026.
¿Para qué puedo usar farol?
Decidir cuánto tiempo de revisión necesita un pull request grande antes de aprobarlo. Detectar cambios incompatibles en API y sus consumidores posteriores antes del merge. Añadir una etapa de clasificación de riesgos a los pull requests de GitHub junto a un revisor de IA existente. Comprobar qué páginas del frontend se ven afectadas por un cambio en un componente compartido.
¿Cómo se instala farol?
Crea farol.config.json en la raíz del proyecto y describe tu stack Enumera las páginas, los endpoints, los trabajos y los scripts que encontró farol: npx @winninjs/farol routes Analiza la rama comparándola con la rama de destino: npx @winninjs/farol analyze --base origin/main --head HEAD --out farol.json Genera el informe HTML y ábrelo: npx @winninjs/farol html --in farol.json --out farol.html && open farol.html
¿Dónde consigo farol?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/winnin/farol

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados