Hoppa till innehåll

För Goose-användare

Goose körs på tillägg. Lägg till ett som känner ditt repo.

Goose utför sitt arbete via tillägg, och varje tillägg är en MCP-server. Maguyva är det som indexerar din kodbas, så att Goose frågar var saker finns i stället för att lista kataloger.

Free-nivå: 3 repositorier, Upp till 50K indexerade repo-rader, inget kreditkort krävs.

.goosehints för hur du arbetar. Maguyva för vad koden säger nu.

Det här behöver du veta om Goose

Fyra fakta som gäller just Goose.

// konfigurationsfil

config.yaml

Tillägg ligger under extensions i ~/.config/goose/config.yaml. goose configure → Add Extension skriver samma sorts post åt dig.

// transport

Ett fjärrtillägg

Maguyva är ett streamable_http-tillägg, så Goose ansluter själv till endpointen: ingen lokal process, ingen Node.js. URL:en står i uri, inte i url.

// nyckel

headers

Goose skickar headers-mappen med varje förfrågan, så nyckeln går i Authorization-headern. Goose kan också fylla den från en miljövariabel som listas under env_keys.

// verktygsfilter

available_tools

Ett tillägg kan exponera en delmängd av sina verktyg: lista dem du vill ha under available_tools, eller lämna det tomt för alla.

Goose-tips är en arbetsöverenskommelse. Använd dem.

# .goosehints
- Använd pnpm, inte npm.
- Kör integrationstesterna innan du kallar en ändring klar.

Goose läser som standard in AGENTS.md och .goosehints: globala tips från ~/.config/goose/.goosehints, projekttips från repot och nästlade filer när det arbetar i undermappar. Tips kräver tillägget Developer. De passar för:

  • Verktygsval och kommandon.
  • Konventioner som Goose ska följa.
  • Var dokumentationen finns.

Tips beskriver projektet. De svarar inte på “vad beror på det här?”

Där tips och skalet inte räcker

Tre luckor som Goose fyller med skalkommandon, en fil i taget.

// en listning är ingen karta

I ett okänt repo orienterar sig Goose med kataloglistningar och filläsningar. Var och en förbrukar kontext innan uppgiften har börjat.

// grep hittar strängar, inte anropare

En textsökning kan inte skilja ett verkligt anrop från en kommentar, en mock eller en metod med samma namn.

// tips halkar efter

En tipsfil skriven förra kvartalet beskriver förra kvartalets upplägg. Goose följer den ändå.

Maguyva som Goose-tillägg

En post under extensions ger Goose:

  • 11 verktyg för ditt indexerade repo semantisk, strukturell (AST-), graf- och textsökning, plus symbolsökning, beroenden och filhämtning.
  • Svar med filsökvägar och radnummer över mer än 285 språk.
  • Verktyg som bara läser Maguyvas verktyg frågar indexet. Inget av dem ändrar dina filer.

Tips talar om för Goose hur det ska arbeta.

Maguyva ger Goose en karta över koden.

Två arbetsflöden

Kartan först, låt sedan Goose köra.

// workflow 01

Spåra en bugg till källan

goose> varför slutar vissa exporter med noll rader?

semantic_search("export job empty result")
  src/export/runner.ts:118   flushBatch()
  src/export/filters.ts:40   applyTenantFilter()

→ Goose läser två filer, inte hela export-paketet.
[exit 0]

Rangordnade resultat smalnar av sökningen innan Goose öppnar ett skal.

// workflow 02

Kontrollera beroenden före en refaktorering

goose> dela upp klassen Notifier i e-post och sms

dependency_search("Notifier", dependents)
  11 referenser i 5 paket

→ Planen täcker alla elva före första ändringen.
[exit 0]

Goose får hela listan över beroenden i ett anrop i stället för en kedja av grep.

Installation i Goose

Tre steg. Free-nivå: 3 repositorier, Upp till 50K indexerade repo-rader, inget kreditkort krävs.

  1. // step 01

    Indexera ett repo på maguyva.ai

    Välj ett du redan känner till, så du kan bedöma svaren.

  2. // step 02

    Lägg till Maguyva i extensions i 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

    Byt ut platshållaren och starta en session

    Byt ut mgv_xxxx mot din API-nyckel, kör goose session och ställ en fråga som du redan vet svaret på. YAML är känsligt för indrag: använd blanksteg, inte tabbar.