// file di configurazione
config.yaml
Le estensioni stanno sotto extensions in ~/.config/goose/config.yaml. goose configure → Add Extension scrive per te lo stesso tipo di voce.
Per gli utenti di Goose
Goose lavora tramite estensioni, e ogni estensione è un server MCP. Maguyva è quella che indicizza il tuo codebase, così Goose chiede dove si trovano le cose invece di elencare directory.
Piano Free: 3 repository, Fino a 50K righe di repository indicizzate, senza carta di credito.
.goosehints per come lavorare. Maguyva per ciò che dice il codice adesso. Quattro fatti specifici di Goose.
// file di configurazione
Le estensioni stanno sotto extensions in ~/.config/goose/config.yaml. goose configure → Add Extension scrive per te lo stesso tipo di voce.
// trasporto
Maguyva è un’estensione streamable_http, quindi Goose si collega da solo all’endpoint: nessun processo locale, niente Node.js. L’URL va in uri, non in url.
// chiave
Goose invia la mappa headers a ogni richiesta, quindi la chiave va nell’header Authorization. Goose può anche riempirla da una variabile d’ambiente elencata in env_keys.
// filtro strumenti
Un’estensione può esporre solo una parte dei suoi strumenti: elenca quelli che vuoi sotto available_tools, oppure lascialo vuoto per averli tutti.
# .goosehints
- Usa pnpm, non npm.
- Esegui i test di integrazione prima di dichiarare conclusa una modifica.Per impostazione predefinita Goose carica AGENTS.md e .goosehints: gli hint globali da ~/.config/goose/.goosehints, quelli di progetto dal repo e i file annidati mentre lavora nelle sottocartelle. Gli hint richiedono l’estensione Developer. Sono il posto giusto per:
Gli hint descrivono il progetto. Non rispondono a “cosa dipende da questo?”
Tre lacune che Goose colma con comandi di shell, un file alla volta.
In un repo sconosciuto, Goose si orienta con elenchi di directory e letture di file. Ognuno consuma contesto prima ancora che inizi il compito.
Una ricerca testuale non distingue una chiamata reale da un commento, un mock o un metodo con lo stesso nome.
Un file di hint scritto lo scorso trimestre descrive la struttura dello scorso trimestre. Goose lo segue comunque.
Una voce in extensions dà a Goose:
Gli hint dicono a Goose come lavorare.
Maguyva dà a Goose una mappa del codice.
Prima la mappa, poi lascia lavorare Goose.
// workflow 01
goose> perché alcune esportazioni finiscono con zero righe? semantic_search("export job empty result") src/export/runner.ts:118 flushBatch() src/export/filters.ts:40 applyTenantFilter() → Goose legge due file, non l’intero pacchetto export. [exit 0]
I risultati classificati restringono la ricerca prima che Goose apra una shell.
// workflow 02
goose> dividi la classe Notifier in email e SMS dependency_search("Notifier", dependents) 11 riferimenti in 5 pacchetti → Il piano copre tutti e undici prima della prima modifica. [exit 0]
Goose ottiene l’elenco completo dei dipendenti con una sola chiamata invece che con una catena di grep.
Tre passaggi. Piano Free: 3 repository, Fino a 50K righe di repository indicizzate, senza carta di credito.
// step 01
Scegline uno che già conosci, così puoi valutare le risposte.
// 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
Sostituisci mgv_xxxx con la tua chiave API, esegui goose session e fai una domanda di cui conosci già la risposta. YAML è sensibile all’indentazione: usa spazi, non tabulazioni.