Lompat ke konten

Untuk pengguna Goose

Goose berjalan di atas extension. Tambahkan satu yang mengenal repo Anda.

Goose bekerja lewat extension, dan setiap extension adalah server MCP. Maguyva adalah extension yang mengindeks codebase Anda, jadi Goose menanyakan letak sesuatu alih-alih mendaftar isi direktori.

Paket Free: 3 repository, Hingga 50K baris repo terindeks, tanpa kartu kredit.

Pakai .goosehints untuk cara bekerja. Pakai Maguyva untuk isi kode saat ini.

Yang perlu diketahui soal Goose

Empat fakta khusus Goose.

// berkas konfigurasi

config.yaml

Extension ditaruh di bawah extensions di ~/.config/goose/config.yaml. goose configure → Add Extension menuliskan entri sejenis untuk Anda.

// transport

Ekstensi jarak jauh

Maguyva adalah ekstensi streamable_http, jadi Goose terhubung sendiri ke endpoint: tanpa proses lokal, tanpa Node.js. URL ditaruh di uri, bukan url.

// kunci

headers

Goose mengirim peta headers di setiap permintaan, jadi kunci masuk ke header Authorization. Goose juga bisa mengisinya dari variabel lingkungan yang tercantum di env_keys.

// filter alat

available_tools

Extension bisa membuka sebagian alatnya saja: daftarkan yang Anda inginkan di bawah available_tools, atau biarkan kosong untuk semuanya.

Goose hints adalah kesepakatan kerja. Pakai itu.

# .goosehints
- Pakai pnpm, bukan npm.
- Jalankan integration test sebelum menyatakan perubahan selesai.

Secara default Goose memuat AGENTS.md dan .goosehints: hint global dari ~/.config/goose/.goosehints, hint proyek dari repo, dan berkas bersarang saat bekerja di subfolder. Hint membutuhkan extension Developer. Hint adalah tempat yang tepat untuk:

  • Pilihan tooling dan perintah.
  • Konvensi yang harus diikuti Goose.
  • Letak dokumentasi.

Hint menggambarkan proyeknya. Hint tidak menjawab “apa yang bergantung pada ini?”

Saat hint dan shell tidak cukup

Tiga celah yang diisi Goose dengan perintah shell, satu berkas per kali.

// daftar bukan peta

Di repo yang belum dikenal, Goose berorientasi dengan daftar direktori dan pembacaan berkas. Masing-masing menghabiskan konteks sebelum tugasnya dimulai.

// grep menemukan string, bukan pemanggil

Pencarian teks tidak bisa membedakan pemanggilan sungguhan dari komentar, mock, atau method bernama sama.

// hint tertinggal

Berkas hint yang ditulis kuartal lalu menggambarkan struktur kuartal lalu. Goose tetap mengikutinya.

Maguyva sebagai extension Goose

Satu entri extensions memberi Goose:

  • 11 alat di atas repo yang terindeks pencarian semantik, struktural (AST), graf, dan teks, ditambah pencarian simbol, dependen, dan pengambilan berkas.
  • Jawaban dengan jalur berkas dan nomor baris di 285+ bahasa.
  • Alat yang hanya membaca Alat Maguyva menanyai index. Tidak satu pun mengedit berkas Anda.

Hint memberi tahu Goose cara bekerja.

Maguyva memberi Goose peta kode.

Dua alur kerja

Peta dulu, lalu biarkan Goose bekerja.

// workflow 01

Telusuri bug sampai ke sumbernya

goose> kenapa sebagian ekspor selesai dengan nol baris?

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

→ Goose membaca dua berkas, bukan seluruh package export.
[exit 0]

Hasil berperingkat mempersempit pencarian sebelum Goose membuka shell.

// workflow 02

Periksa dependen sebelum refactor

goose> pecah class Notifier menjadi email dan SMS

dependency_search("Notifier", dependents)
  11 referensi di 5 package

→ Rencana mencakup kesebelasnya sebelum edit pertama.
[exit 0]

Goose mendapat daftar dependen lengkap dalam satu panggilan, bukan rangkaian grep.

Setup di Goose

Tiga langkah. Paket Free: 3 repository, Hingga 50K baris repo terindeks, tanpa kartu kredit.

  1. // step 01

    Indeks repo di maguyva.ai

    Pilih yang sudah Anda kenal, agar Anda dapat menilai jawabannya.

  2. // step 02

    Tambahkan Maguyva ke extensions di 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

    Ganti placeholder dan mulai sesi

    Ganti mgv_xxxx dengan kunci API Anda, jalankan goose session, lalu ajukan satu pertanyaan yang jawabannya sudah Anda ketahui. YAML peka indentasi: pakai spasi, bukan tab.