Saltar al contenido

Para usuarios de Goose

Goose funciona con extensiones. Agrega una que conozca tu repo.

Goose hace su trabajo mediante extensiones, y cada extensión es un servidor MCP. Maguyva es la que indexa tu base de código, así Goose pregunta dónde están las cosas en lugar de listar directorios.

Nivel Free: 3 repositorios, Hasta 50 mil líneas de repo indexadas, sin tarjeta.

Usa .goosehints para cómo trabajar. Usa Maguyva para lo que dice el código hoy.

Lo que necesitas saber de Goose

Cuatro datos propios de Goose.

// archivo de configuración

config.yaml

Las extensiones van bajo extensions en ~/.config/goose/config.yaml. goose configure → Add Extension escribe por ti el mismo tipo de entrada.

// transporte

Una extensión remota

Maguyva es una extensión streamable_http, así que Goose se conecta al endpoint por sí mismo: sin procesos locales ni Node.js. La URL va en uri, no en url.

// clave

headers

Goose envía el mapa headers en cada petición, así que la clave va en el encabezado Authorization. Goose también puede rellenarla desde una variable de entorno incluida en env_keys.

// filtro de herramientas

available_tools

Una extensión puede exponer solo parte de sus herramientas: lista las que quieras bajo available_tools, o déjalo vacío para usarlas todas.

Las hints de Goose son un acuerdo de trabajo. Úsalas.

# .goosehints
- Usa pnpm, no npm.
- Ejecuta las pruebas de integración antes de dar un cambio por terminado.

Goose carga por defecto AGENTS.md y .goosehints: hints globales desde ~/.config/goose/.goosehints, hints del proyecto desde el repo y archivos anidados mientras trabaja en subcarpetas. Las hints requieren la extensión Developer. Son el lugar indicado para:

  • Elecciones de herramientas y comandos.
  • Convenciones que Goose debe seguir.
  • Dónde vive la documentación.

Las hints describen el proyecto. No responden “¿qué depende de esto?”

Donde las hints y la shell se quedan cortas

Tres huecos que Goose llena con comandos de shell, un archivo a la vez.

// un listado no es un mapa

En un repo desconocido, Goose se orienta con listados de directorios y lecturas de archivos. Cada uno gasta contexto antes de que empiece la tarea.

// grep encuentra cadenas, no llamadores

Una búsqueda de texto no distingue una llamada real de un comentario, un mock o un método con el mismo nombre.

// las hints se desfasan

Un archivo de hints escrito el trimestre pasado describe la estructura del trimestre pasado. Goose lo sigue igual.

Maguyva como extensión de Goose

Una entrada en extensions le da a Goose:

  • 11 herramientas sobre tu repo indexado búsqueda semántica, estructural (AST), de grafo y de texto, además de búsqueda de símbolos, dependientes y recuperación de archivos.
  • Respuestas con rutas de archivo y números de línea en 285+ lenguajes.
  • Herramientas que solo leen Las herramientas de Maguyva consultan el índice. Ninguna edita tus archivos.

Las hints le dicen a Goose cómo trabajar.

Maguyva le da a Goose un mapa del código.

Dos flujos de trabajo

Primero el mapa, después deja que Goose trabaje.

// workflow 01

Rastrear un bug hasta su origen

goose> ¿por qué algunas exportaciones terminan con cero filas?

semantic_search("export job empty result")
  src/export/runner.ts:118   flushBatch()
  src/export/filters.ts:40   applyTenantFilter()

→ Goose lee dos archivos, no todo el paquete export.
[exit 0]

Los resultados priorizados acotan la búsqueda antes de que Goose abra una shell.

// workflow 02

Revisar dependientes antes de un refactor

goose> divide la clase Notifier en correo y SMS

dependency_search("Notifier", dependents)
  11 referencias en 5 paquetes

→ El plan cubre las once antes de la primera edición.
[exit 0]

Goose obtiene la lista completa de dependientes en una sola llamada en lugar de una cadena de grep.

Configuración en Goose

Tres pasos. Nivel Free: 3 repositorios, Hasta 50 mil líneas de repo indexadas, sin tarjeta.

  1. // step 01

    Indexa un repo en maguyva.ai

    Elige uno que ya conozcas, así puedes evaluar las respuestas.

  2. // step 02

    Agrega Maguyva a extensions en config.yaml

    ~/.config/goose/config.yaml

    extensions:
      maguyva:
        name: maguyva
        type: streamable_http
        uri: https://maguyva.tools/mcp
        enabled: true
        headers:
          Authorization: Bearer mgv_xxxx
        timeout: 300
    
  3. // step 03

    Reemplaza el marcador e inicia una sesión

    Cambia mgv_xxxx por tu clave de API, ejecuta goose session y haz una pregunta cuya respuesta ya conozcas. YAML es sensible a la indentación: usa espacios, no tabulaciones.