# Goose berjalan dengan sambungan. Tambah satu yang mengenali repo anda.

Canonical source: https://maguyva.ai/ms/for-goose

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Goose melakukan kerjanya melalui sambungan, dan setiap sambungan ialah pelayan MCP. Maguyva ialah sambungan yang mengindeks pangkalan kod anda, jadi Goose bertanya di mana sesuatu berada dan bukan menyenaraikan direktori.

> Guna .goosehints untuk cara bekerja. Guna Maguyva untuk apa yang kod katakan sekarang.

## Apa yang perlu diketahui tentang Goose

Empat fakta khusus untuk Goose.

### config.yaml

Sambungan diletakkan di bawah `extensions` dalam `~/.config/goose/config.yaml`. `goose configure` → Add Extension menulis entri yang sama jenis untuk anda.

### Sambungan jauh

Maguyva ialah sambungan `streamable_http`, jadi Goose bersambung sendiri ke titik akhir: tiada proses setempat, tiada Node.js. URL diletakkan dalam `uri`, bukan `url`.

### headers

Goose menghantar peta `headers` bersama setiap permintaan, jadi kunci masuk ke pengepala `Authorization`. Goose juga boleh mengisinya daripada pemboleh ubah persekitaran yang disenaraikan di bawah `env_keys`.

### available_tools

Sesuatu sambungan boleh mendedahkan sebahagian alatnya sahaja: senaraikan yang anda mahu di bawah `available_tools`, atau biarkan kosong untuk kesemuanya.

## Goose hints ialah persetujuan kerja. Gunakannya.

```text
# .goosehints
- Guna pnpm, bukan npm.
- Jalankan ujian integrasi sebelum menganggap perubahan selesai.
```

Secara lalai Goose memuatkan `AGENTS.md` dan `.goosehints`: petunjuk global daripada `~/.config/goose/.goosehints`, petunjuk projek daripada repo, dan fail bersarang semasa bekerja dalam subfolder. Petunjuk memerlukan sambungan Developer. Ia tempat yang sesuai untuk:

- Pilihan alatan dan arahan.
- Konvensyen yang perlu dipatuhi Goose.
- Lokasi dokumentasi.

Petunjuk menerangkan projek. Ia tidak menjawab “apa yang bergantung pada ini?”

## Apabila petunjuk dan shell tidak mencukupi

Tiga jurang yang Goose isi dengan arahan shell, satu fail pada satu masa.

### // senarai bukan peta

Pada repo yang tidak biasa, Goose berorientasi dengan senarai direktori dan bacaan fail. Setiap satu menggunakan konteks sebelum tugas bermula.

### // grep menemui rentetan, bukan pemanggil

Carian teks tidak dapat membezakan panggilan sebenar daripada komen, mock atau kaedah bernama sama.

### // petunjuk ketinggalan

Fail petunjuk yang ditulis suku tahun lalu menggambarkan susun atur suku tahun lalu. Goose tetap mengikutinya.

## Maguyva sebagai sambungan Goose

Satu entri extensions memberi Goose:

- **11 alat merentasi repo anda yang diindeks**: carian semantik, struktur (AST), graf dan teks, ditambah carian simbol, dependen dan pengambilan fail.
- **Jawapan dengan laluan fail dan nombor baris**: merentasi 285+ bahasa.
- **Alat yang hanya membaca**: Alat Maguyva menyoal indeks. Tiada satu pun yang menyunting fail anda.

> Petunjuk memberitahu Goose *cara bekerja*.
> Maguyva memberi Goose *peta kod*.

## Dua aliran kerja

Peta dahulu, kemudian biarkan Goose berjalan.

### 01. Jejak pepijat hingga ke puncanya

```text
goose> kenapa sesetengah eksport selesai dengan sifar baris?

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

→ Goose membaca dua fail, bukan seluruh pakej export.
[exit 0]
```

Keputusan tersusun menyempitkan carian sebelum Goose membuka shell.

### 02. Semak dependen sebelum refactor

```text
goose> pecahkan kelas Notifier kepada e-mel dan SMS

dependency_search("Notifier", dependents)
  11 rujukan merentasi 5 pakej

→ Rancangan merangkumi kesemua sebelas sebelum suntingan pertama.
[exit 0]
```

Goose mendapat senarai dependen lengkap dalam satu panggilan dan bukan rantaian grep.

## Sediakan Goose

Tiga langkah. Peringkat Free: 3 repositori, Sehingga 50K baris repo terindeks, tanpa kad.

### 01. Indeks repo di maguyva.ai

Pilih satu yang anda sudah kenali, supaya anda boleh menilai jawapannya.

### 02. Tambah Maguyva pada extensions dalam config.yaml

`~/.config/goose/config.yaml`

```yaml
extensions:
  maguyva:
    name: maguyva
    type: streamable_http
    uri: https://maguyva.tools/mcp
    enabled: true
    headers:
      Authorization: Bearer mgv_xxxx
    timeout: 300

```

### 03. Ganti pemegang tempat dan mulakan sesi

Tukar `mgv_xxxx` kepada kunci API anda, jalankan `goose session`, dan tanya satu soalan yang anda sudah tahu jawapannya. YAML sensitif terhadap inden: guna ruang, bukan tab.

[Dokumentasi sambungan](https://goose-docs.ai/docs/getting-started/using-extensions/) Goose merangkumi sambungan jauh, had masa dan penapis alat.

## Indeks satu repo yang anda sudah kenali.

Sambung Goose melalui MCP, kemudian tanya satu soalan yang boleh anda semak.
