Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

nimblegate

Guardrails para pushes Git de agentes IA que bloquean commits inseguros, reenvían los seguros y registran cada decisión. Auto-alojable con Docker.

Ficha actualizada 24 sept 2026, 19:42 · upstream 24 sept 2026, 19:21 · release v0.5.0

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

Qué es nimblegate

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

nimblegate actúa como puerta entre tu agente IA y el repositorio Git real. Cada push del agente se verifica contra reglas configurables; los pushes limpios se reenvían al upstream en menos de un segundo, mientras que los inseguros se bloquean con informe claro. El comportamiento es determinista: misma entrada, misma respuesta siempre.

El sistema opera en tres capas: tu máquina (push/clone), la puerta (nimblegate) y el upstream real (GitHub/GitLab/Gitea). Solo la puerta posee credenciales al upstream; tu máquina solo habla con la puerta vía SSH. Los commits llegan al upstream byte a byte sin reescritura, preservando SHA, autor y firma.

Incluye 51 reglas agrupadas en kits: core (credenciales hardcoded, force-pushes, rm -rf, curl | sh), web-app, cf-pages-project, cf-workers-project. La función Auto-PR cierra el bucle de corrección publicando hallazgos como comentarios estructurados en PRs upstream y disparando webhooks para que agentes como Claude Code o Cursor auto-corrijan.

CASOS DE USO
  • Proteger repositorios Git contra commits accidentales de agentes IA (credenciales, force-pushes a main)
  • Auditoría determinista de cada push con registro de decisiones en dashboard
  • Integración con flujos CI/CD existentes sin modificar hooks pre-commit del agente
  • Auto-corrección mediante comentarios estructurados en PRs upstream y webhooks
  • Alojamiento propio para evitar dependencia de servicios cloud externos
PUNTOS DESTACADOS
  • Puerta externa al agente: no puede ser omitida con --no-verify ni editada por el agente
  • Reenvío determinista: misma entrada siempre produce misma respuesta, crucial para bucles de corrección
  • 51 reglas predefinidas en kits modulares (core, web-app, cf-pages-project, cf-workers-project)
  • Auto-PR con comentarios estructurados en PRs upstream y webhooks para agentes
  • Registro completo de decisiones en dashboard con estimación de horas ahorradas
PRECAUCIONES
  • Requiere Docker con docker compose plugin instalado en el host
  • El upstream solo acepta HTTPS (sin soporte SSH directo al upstream)
  • Dashboard se binda por defecto a localhost del host (necesita túnel o configuración para acceso remoto)
  • Solo soporta GitHub, GitLab y Gitea como upstreams según documentación visible
  • Credenciales de upstream almacenadas en el gateway (requieren gestión segura de tokens)
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Listo para automatizar

Instalar con Docker Compose: curl -O compose.yaml && docker compose up -d. Obtener token setup desde logs, configurar admin en http://localhost:7900/setup. Registrar repositorios vía dashboard con HTTPS upstream y PAT scoped a write. Autorizar SSH public key del dev machine. Push via SSH port 2222 con URL ~/repo.git (git-shell). Para acceso remoto al dashboard, usar NIMBLEGATE_DASHBOARD_HOST=0.0.0.0 o túnel SSH. CPU: 2 cores, RAM: 2GB, disco: 10GB mínimo.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsGo
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
7900222222
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.