// configbestand
config.yaml
Extensies staan onder extensions in ~/.config/goose/config.yaml. goose configure → Add Extension schrijft hetzelfde soort entry voor je.
Voor Goose-gebruikers
Goose doet zijn werk via extensies, en elke extensie is een MCP-server. Maguyva is degene die je codebase indexeert, zodat Goose vraagt waar dingen staan in plaats van mappen op te sommen.
Free-abonnement: 3 repositories, Tot 50K geïndexeerde repo-regels, geen creditcard nodig.
.goosehints voor hoe je werkt. Maguyva voor wat de code nu zegt. Vier feiten die specifiek zijn voor Goose.
// configbestand
Extensies staan onder extensions in ~/.config/goose/config.yaml. goose configure → Add Extension schrijft hetzelfde soort entry voor je.
// transport
Maguyva is een streamable_http-extensie, dus Goose maakt zelf verbinding met het endpoint: geen lokaal proces, geen Node.js. De URL staat in uri, niet in url.
// sleutel
Goose stuurt de headers-map mee met elk verzoek, dus de sleutel gaat in de Authorization-header. Goose kan hem ook vullen vanuit een omgevingsvariabele die onder env_keys staat.
// toolfilter
Een extensie kan een deel van haar tools beschikbaar stellen: zet de tools die je wilt onder available_tools, of laat het leeg voor allemaal.
# .goosehints
- Gebruik pnpm, niet npm.
- Draai de integratietests voordat je een wijziging klaar noemt.Goose laadt standaard AGENTS.md en .goosehints: globale hints uit ~/.config/goose/.goosehints, projecthints uit de repo en geneste bestanden zodra het in submappen werkt. Hints vereisen de Developer-extensie. Ze zijn de juiste plek voor:
Hints beschrijven het project. Ze beantwoorden niet “wat hangt hiervan af?”
Drie gaten die Goose vult met shellcommando’s, bestand voor bestand.
In een onbekende repo oriënteert Goose zich met maplijsten en leesacties. Elk daarvan kost context voordat de taak begint.
Tekstzoeken kan een echte aanroep niet onderscheiden van een comment, een mock of een methode met dezelfde naam.
Een hintsbestand van vorig kwartaal beschrijft de indeling van vorig kwartaal. Goose volgt het toch.
Eén extensions-entry geeft Goose:
Hints vertellen Goose hoe het moet werken.
Maguyva geeft Goose een kaart van de code.
Eerst de kaart, dan laat je Goose draaien.
// workflow 01
goose> waarom eindigen sommige exports met nul rijen? semantic_search("export job empty result") src/export/runner.ts:118 flushBatch() src/export/filters.ts:40 applyTenantFilter() → Goose leest twee bestanden, niet het hele export-pakket. [exit 0]
Gerangschikte resultaten versmallen de zoektocht voordat Goose een shell opent.
// workflow 02
goose> splits de klasse Notifier op in e-mail en sms dependency_search("Notifier", dependents) 11 verwijzingen in 5 pakketten → Het plan dekt alle elf af vóór de eerste bewerking. [exit 0]
Goose krijgt de volledige lijst afhankelijken in één aanroep in plaats van een reeks greps.
Drie stappen. Free-abonnement: 3 repositories, Tot 50K geïndexeerde repo-regels, geen creditcard nodig.
// step 01
Kies er een die je al kent, zodat je de antwoorden kunt beoordelen.
// 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
Vervang mgv_xxxx door je API-sleutel, start goose session en stel één vraag waarvan je het antwoord al weet. YAML is gevoelig voor inspringing: spaties, geen tabs.