// 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.
Para usuarios de Goose
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. Cuatro datos propios de Goose.
// archivo de configuración
Las extensiones van bajo extensions en ~/.config/goose/config.yaml. goose configure → Add Extension escribe por ti el mismo tipo de entrada.
// transporte
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
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
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.
# .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:
Las hints describen el proyecto. No responden “¿qué depende de esto?”
Tres huecos que Goose llena con comandos de shell, un archivo a la vez.
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.
Una búsqueda de texto no distingue una llamada real de un comentario, un mock o un método con el mismo nombre.
Un archivo de hints escrito el trimestre pasado describe la estructura del trimestre pasado. Goose lo sigue igual.
Una entrada en extensions le da a Goose:
Las hints le dicen a Goose cómo trabajar.
Maguyva le da a Goose un mapa del código.
Primero el mapa, después deja que Goose trabaje.
// workflow 01
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
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.
Tres pasos. Nivel Free: 3 repositorios, Hasta 50 mil líneas de repo indexadas, sin tarjeta.
// step 01
Elige uno que ya conozcas, así puedes evaluar las respuestas.
// step 02
~/.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
// step 03
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.