Skip to content

Feature Request — git-courer como Community Tool/Plugin #982

Description

@blak0p

Pre-flight Checklist

  • I have searched existing issues and this is not a duplicate
  • I understand that PRs will be rejected if the linked issue does not have status:approved

🔍 Affected Area

Catalog/Steps

💡 Problem Statement

Gentle AI ya impone disciplina profesional sobre cómo el agente planifica (SDD) y cómo verifica (TDD) antes de escribir código — pero esa disciplina se detiene justo donde empieza Git. Cuando un agente toca Git hoy, lo hace ejecutando los mismos comandos pensados para un humano con un terminal delante — sin la duda ni el criterio que un humano aportaría antes de cada operación, y sin ningún harness equivalente al que ya existe para SDD/TDD. El propio README de Gentle AI ya identifica "wrong cwd, worktree/git accident, merge recovery" como una de las señales que deberían frenar al agente y forzar una auditoría — es decir, el ecosistema ya reconoce el riesgo, pero hoy no hay ninguna herramienta en Community Tools/Plugins que lo cubra. CodeGraph resuelve el problema de "entender" el repo sin quemar contexto leyendo archivos completos; no existe un equivalente para el "escribir y publicar" — crear ramas, comitear, hacer stash, fusionar, trabajar en paralelo con worktrees — que dé esa misma seguridad y trazabilidad en cada paso, no solo al final.

📦 Proposed Solution

Añadir git-courer a la lista de Community Tools/Plugins, junto a CodeGraph, con instalación y wiring automático por agente.

Qué es: servidor MCP en Go que reimplementa la superficie completa de Git para agentes — no solo commits. Usa plumbing real de Git (write-tree, commit-tree, update-ref) en vez de invocar el binario git como subproceso, así que controla exactamente qué pasa en cada operación: status, diff, commit, branch, stash, integrate (merge/rebase/cherry-pick), sync (push/pull/fetch), history, rewrite, stage, pr-review, y session (worktrees aislados por sesión de agente).

Seguridad transversal en toda la superficie, no solo en el commit:

  • Ciclo PREVIEW/APPLY antes de escribir nada
  • Backup automático antes de cualquier mutación, con RESTORE explícito
  • confirmed=true obligatorio en toda operación destructiva (branch delete, push, hard reset, clean)
  • Detección de secretos en 5 capas antes de comitear
  • Annotator semántico (AST) que etiqueta NEW_FUNC/MOD_SIG/BREAKING_CHANGE y decide el tipo de commit por precedencia, en vez de que el agente lo adivine
  • Hooks que bloquean el uso directo de git por Bash, para que el agente no se salte nada de lo anterior

Sesiones aisladas con worktrees (ya en producción, v2.8.0): cada agente arranca su propio proceso sobre su propio worktree, sin visión del repo original ni de otras sesiones — una tool de activación fija el contexto en memoria y redirige cada operación a la ruta del worktree activo. El cierre de sesión limpia el worktree pero deja la rama intacta con todo su historial — la integración contra main sigue pasando por el PR humano de siempre, a propósito.

Toggle LLM local/cloud (v2.9.0): un solo flag decide si el mensaje de commit lo genera un modelo local vía Ollama o el propio agente cloud, pensado para quien no tiene GPU para correr un modelo decente. Ningún modo toca la seguridad de fondo (AST, PREVIEW/APPLY, backup) — solo cambia quién redacta el mensaje, y si el asistente de release (changelog interactivo) está disponible o no.

git-courer ya soporta instalación por curl, Homebrew, o go install, y tiene su propio comando de detección/auto-configuración (git-courer mcp setup / git-courer setup) que detecta el agente presente y se enchufa solo (wiring de MCP config sin pasos manuales) — el mismo patrón que ya usa Gentle AI para sus propias Community Tools. Tras la instalación hay además una TUI para configuración fina, pero no es necesaria para el paso de instalar/enchufar en sí.

Repo: https://github.com/blak0p/git-courer

🔄 Alternatives Considered

Dejar que el agente siga usando git por Bash sin capa intermedia: es lo que ya hay hoy, y es justo el riesgo que el propio README de Gentle AI marca como señal de alarma (wrong cwd, worktree/git accident). No resuelve nada, solo lo documenta como problema conocido.

📎 Additional Context

git-courer ya tiene su propio comando de configuración por agente (git-courer mcp setup, con git-courer setup como alias corto), que detecta el agente presente y enchufa la config de MCP sin pasos manuales. Los agentes soportados hoy son cinco: Claude CLI, Codex CLI, OpenCode CLI, Pi y Antigravity. El bloqueo de Bash usa hooks dedicados por agente donde existe esa capacidad — session-start-hook y subagent-start-hook para Codex, pre-invocation-hook para Antigravity — con fuerza real variable según cómo cada agente trate sus reglas: Claude Code y OpenCode lo tratan como bloqueo duro; Antigravity, a pesar de tener su propio hook (pre-invocation-hook), lo ignora casi por completo en la práctica. En nuestra experiencia de uso, OpenCode es el que respeta las reglas con más fidelidad. git-courer también trae git-courer doctor para diagnosticar la salud de los clientes MCP — el mismo concepto que gentle-ai doctor.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions