// konfigurasjonsfil
config.yaml
Utvidelser ligger under extensions i ~/.config/goose/config.yaml. goose configure → Add Extension skriver samme type oppføring for deg.
For Goose-brukere
Goose gjør jobben gjennom utvidelser, og hver utvidelse er en MCP-server. Maguyva er den som indekserer kodebasen din, så Goose spør hvor ting ligger i stedet for å liste mapper.
Free-planen: 3 repoer, Opptil 50K indekserte kodelinjer, uten kredittkort.
.goosehints for hvordan du jobber. Maguyva for hva koden sier nå. Fire fakta som gjelder akkurat Goose.
// konfigurasjonsfil
Utvidelser ligger under extensions i ~/.config/goose/config.yaml. goose configure → Add Extension skriver samme type oppføring for deg.
// transport
Maguyva er en streamable_http-utvidelse, så Goose kobler seg selv til endepunktet: ingen lokal prosess, ingen Node.js. URL-en står i uri, ikke i url.
// nøkkel
Goose sender headers-kartet med hver forespørsel, så nøkkelen går i Authorization-headeren. Goose kan også fylle den fra en miljøvariabel som står under env_keys.
// verktøyfilter
En utvidelse kan eksponere bare noen av verktøyene sine: list dem du vil ha under available_tools, eller la feltet stå tomt for alle.
# .goosehints
- Bruk pnpm, ikke npm.
- Kjør integrasjonstestene før du kaller en endring ferdig.Goose laster som standard inn AGENTS.md og .goosehints: globale hint fra ~/.config/goose/.goosehints, prosjekthint fra repoet og nestede filer når det jobber i undermapper. Hint krever utvidelsen Developer. De er rett sted for:
Hint beskriver prosjektet. De svarer ikke på “hva avhenger av dette?”
Tre hull Goose fyller med skallkommandoer, én fil om gangen.
I et ukjent repo orienterer Goose seg med mappelister og fillesinger. Hver av dem bruker kontekst før oppgaven i det hele tatt starter.
Et tekstsøk kan ikke skille et ekte kall fra en kommentar, en mock eller en metode med samme navn.
En hintfil skrevet forrige kvartal beskriver forrige kvartals oppsett. Goose følger den likevel.
Én oppføring under extensions gir Goose:
Hint forteller Goose hvordan det skal jobbe.
Maguyva gir Goose et kart over koden.
Kartet først, så får Goose kjøre.
// workflow 01
goose> hvorfor ender noen eksporter med null rader? semantic_search("export job empty result") src/export/runner.ts:118 flushBatch() src/export/filters.ts:40 applyTenantFilter() → Goose leser to filer, ikke hele export-pakken. [exit 0]
Rangerte resultater snevrer inn søket før Goose åpner et skall.
// workflow 02
goose> del klassen Notifier opp i e-post og SMS dependency_search("Notifier", dependents) 11 referanser i 5 pakker → Planen dekker alle elleve før første redigering. [exit 0]
Goose får hele listen over avhengige i ett kall i stedet for en kjede av grep.
Tre steg. Free-planen: 3 repoer, Opptil 50K indekserte kodelinjer, uten kredittkort.
// step 01
Velg ett du allerede kjenner, så du kan vurdere svarene.
// 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
Bytt ut mgv_xxxx med API-nøkkelen din, kjør goose session, og still ett spørsmål du allerede vet svaret på. YAML er følsomt for innrykk: bruk mellomrom, ikke tabulatorer.