Naar inhoud springen

Voor Goose-gebruikers

Goose draait op extensies. Voeg er een toe die je repo kent.

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.

Wat je over Goose moet weten

Vier feiten die specifiek zijn voor Goose.

// configbestand

config.yaml

Extensies staan onder extensions in ~/.config/goose/config.yaml. goose configure → Add Extension schrijft hetzelfde soort entry voor je.

// transport

Een externe extensie

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

headers

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

available_tools

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.

Goose-hints zijn een werkafspraak. Gebruik ze.

# .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:

  • Toolingkeuzes en commando’s.
  • Conventies die Goose moet volgen.
  • Waar de documentatie staat.

Hints beschrijven het project. Ze beantwoorden niet “wat hangt hiervan af?”

Waar hints en de shell tekortschieten

Drie gaten die Goose vult met shellcommando’s, bestand voor bestand.

// een lijst is geen kaart

In een onbekende repo oriënteert Goose zich met maplijsten en leesacties. Elk daarvan kost context voordat de taak begint.

// grep vindt strings, geen aanroepers

Tekstzoeken kan een echte aanroep niet onderscheiden van een comment, een mock of een methode met dezelfde naam.

// hints lopen achter

Een hintsbestand van vorig kwartaal beschrijft de indeling van vorig kwartaal. Goose volgt het toch.

Maguyva als Goose-extensie

Eén extensions-entry geeft Goose:

  • 11 tools voor je geïndexeerde repo semantisch, structureel (AST-), graaf- en tekstzoeken, plus symbolen opzoeken, afhankelijken en bestanden ophalen.
  • Antwoorden met bestandspaden en regelnummers over meer dan 285 talen.
  • Tools die alleen lezen De tools van Maguyva bevragen de index. Geen ervan bewerkt je bestanden.

Hints vertellen Goose hoe het moet werken.

Maguyva geeft Goose een kaart van de code.

Twee workflows

Eerst de kaart, dan laat je Goose draaien.

// workflow 01

Volg een bug terug naar de bron

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

Controleer afhankelijken vóór een refactor

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.

Instellen in Goose

Drie stappen. Free-abonnement: 3 repositories, Tot 50K geïndexeerde repo-regels, geen creditcard nodig.

  1. // step 01

    Indexeer een repo op maguyva.ai

    Kies er een die je al kent, zodat je de antwoorden kunt beoordelen.

  2. // step 02

    Voeg Maguyva toe aan extensions in 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

    Vervang de placeholder en start een sessie

    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.