# Buku Resep

Canonical source: https://maguyva.ai/id/docs/cookbook

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).

Resep praktis untuk pekerjaan sehari-hari Maguyva MCP. Setiap resep memberi nama alat dan urutannya — bukan referensi parameter lengkap. Untuk parameter alat, gunakan [Referensi MCP API](https://maguyva.ai/docs/mcp-api). Untuk pengaturan pertama kali, gunakan [Mulai cepat](https://maguyva.ai/docs/quickstart).

### Pilih alat yang tepat

Kebanyakan pertanyaan dimulai dengan satu panggilan. Lanjutkan ke pencarian yang lebih mendalam hanya jika jawaban pertama terlalu luas atau informasinya kurang.

- `intelligent_search` — mulai di sini untuk pertanyaan tentang basis kode dalam bahasa alami. Pengaturan bawaan auto/balanced mengarahkan kueri yang dikenali dengan keyakinan tinggi sebagai pencarian definisi ke pencarian struktural, pertanyaan tentang referensi atau dampak ke graf, dan pertanyaan tentang kecocokan persis ke pencarian teks. Pertanyaan lainnya menggunakan makna semantik dan teks yang diindeks. Gunakan mode=hybrid atau auto dengan quality=thorough untuk meminta keempat modalitas pencarian. Mode yang dipilih secara eksplisit didahulukan daripada quality.
- `find_symbol` — gunakan saat Anda sudah mengetahui nama fungsi, kelas, atau variabel.
- `dependency_search` — cakupan dampak: kode pemanggil, kode yang bergantung pada simbol, dan efek sebelum maupun sesudah perubahan.
- `get_task_context` — untuk area yang belum dikenal; satu paket terbatas berisi file, symbol, dan dependensi berdasarkan deskripsi tugas.
- `repository_context` — tampilkan repositori yang dapat diakses atau periksa bagaimana nama repositori di-resolve.
- `ask_maguyva` dengan `operation="guidance"` — bantuan lokal untuk memilih dan menggunakan alat Maguyva, tanpa mengubah repo.

Blok JSON adalah input MCP tools/call. Ganti owner/repo, nama branch, dan nama simbol dengan nilai dari repositori Anda.

### Instal dan verifikasi klien

Tambahkan Maguyva ke klien MCP Anda, lalu verifikasi koneksinya dengan daftar repositori yang nyata.

1. Buat kunci API di [app.maguyva.ai](https://app.maguyva.ai) (kunci diawali `mgv_`).
2. Hubungkan dan indeks setidaknya satu repositori GitHub yang sudah Anda pahami.
3. Konfigurasikan klien melalui [Panduan Instalasi](https://maguyva.ai/docs/installation) (plugin Claude Code, atau konfigurasi remote native untuk Cursor, VS Code, Devin Desktop, Zed, dan lainnya).
4. Tanyakan "Repositori apa yang telah saya sambungkan?" kepada agen Anda; ini menguji autentikasi dan `repository_context` dari awal hingga akhir.
5. Ajukan satu pertanyaan nyata tentang repo itu yang jawabannya bisa Anda nilai. Anda seharusnya melihat path file dan nomor baris dari tree yang telah diindeks.

```json
{
  "name": "repository_context",
  "arguments": {
    "action": "list"
  }
}
```

Ada masalah dengan kunci API, bridge, atau repo yang tidak ditemukan? [Pemecahan masalah](https://maguyva.ai/docs/troubleshooting).

### Tanyakan sebelum Anda mengedit

Petakan symbol dan cakupan dampak sebelum mengubah kode bersama. Alat Maguyva tidak memodifikasi repositori Anda; alat ini menyediakan bukti untuk perubahan yang diterapkan klien secara lokal.

1. Jika Anda mengetahui nama symbol, panggil `find_symbol` untuk menemukan definisi dan penggunaannya.
2. Jika Anda hanya memiliki deskripsi tugas ("tambahkan SSO", "perbaiki webhook penagihan"), mulai dengan `get_task_context` atau `intelligent_search`.
3. Sebelum mengedit simbol bersama, panggil `dependency_search` untuk menganalisis kode yang bergantung padanya atau dampak perubahan (atau kirim path yang berubah untuk analisis ala PR) agar Anda melihat seluruh cakupan dampak.
4. Buka file yang dirujuk (baca secara lokal untuk file di disk; gunakan `get_file` untuk path remote atau lintas repo), lalu cocokkan rencana dengan kode yang sebenarnya.
5. Setelah mengedit, periksa kembali simbol yang sama dengan `dependency_search`, menggunakan verify_after_edit=true dan targets atau changed_paths. Ini membaca graf terindeks, bukan perubahan lokal yang belum di-commit: periksa indexed_commit_sha dan kemutakhiran indeks sebelum menganggapnya sebagai bukti untuk revisi baru, lalu jalankan pengujian lokal.

```json
{
  "name": "dependency_search",
  "arguments": {
    "repository": "owner/repo",
    "target": "getCurrentUser",
    "exact_match": true,
    "analysis_type": "impact",
    "depth": "shallow",
    "include_metrics": true,
    "limit": 10
  }
}
```

Parameter lengkap: [Referensi MCP API](https://maguyva.ai/docs/mcp-api).

### Cari, lalu ubah

Loop agen bawaan: jelajahi → tetapkan symbol → edit berdasarkan bukti.

1. Mulai dengan `intelligent_search` dan kueri dalam bahasa biasa ("bagaimana sesi kedaluwarsa", "di mana logika retry berada").
2. Persempit dengan filter bahasa atau path jika kumpulan hasil pertama terlalu banyak memuat hasil yang tidak relevan. language_filter menghilangkan graf dari auto/hybrid; kueri auto yang hanya diarahkan ke graf akan beralih kembali ke pencarian semantik dan teks. Mode graf yang dipilih secara eksplisit dengan language_filter ditolak. Periksa routing_decision.modalities_used untuk melihat rencana pencarian yang dipilih; warnings hanya muncul kalau server mengeluarkan peringatan.
3. Lanjutkan hasil yang menjanjikan ke `find_symbol` atau `dependency_search`, alih-alih mengulang pertanyaan samar yang sama.
4. Gunakan `get_file` hanya saat Anda membutuhkan path terindeks tertentu yang tidak tersedia di disk.
5. Edit dengan alat klien biasa. Maguyva untuk penemuan dan verifikasi, bukan untuk menulis.

```json
{
  "name": "intelligent_search",
  "arguments": {
    "repository": "owner/repo",
    "query": "How does session expiry work?",
    "limit": 5
  }
}
```

Mengapa loop ini berfungsi: [Cara Kerjanya](https://maguyva.ai/docs/how-it-works).

### Hasil kosong atau minim

Jika alat tidak menghasilkan apa pun yang berguna, perbaiki resolusi repositori dan pengindeksan sebelum terus-menerus menulis ulang kueri.

1. Konfirmasikan repositori terhubung dan selesai mengindeks di [app.maguyva.ai](https://app.maguyva.ai).
2. Periksa string repositori: `"owner/repo"` menggunakan branch default; `"owner/repo:branch"` menentukan branch tertentu. Pencocokan tidak membedakan huruf besar-kecil, tetapi tidak menggunakan pencocokan perkiraan — kesalahan ketik tidak dikoreksi secara otomatis.
3. Panggil `repository_context` dengan `action="info"` dan periksa metadata resolusi (misalnya `metadata.resolution_reason`).
4. Jangan sertakan `repository` hanya jika klien MCP Anda menyediakan nilai default untuk permintaan atau kunci dapat mengakses tepat satu repositori; jika tidak, berikan secara eksplisit.
5. Coba lagi dengan kueri yang lebih spesifik, nama symbol yang dikenal melalui `find_symbol`, atau filter bahasa/jalur. Jika koneksinya sendiri terputus, gunakan [Pemecahan masalah](https://maguyva.ai/docs/troubleshooting).

```json
{
  "name": "repository_context",
  "arguments": {
    "action": "info",
    "repository": "owner/repo:main"
  }
}
```

Kegagalan pengaturan: [Pemecahan masalah](https://maguyva.ai/docs/troubleshooting).

### Bekerja di banyak repositori

Targetkan repo terindeks yang tepat ketika sebuah kunci dapat melihat lebih dari satu.

1. Panggil `repository_context` dengan `action="list"` satu kali untuk mengetahui slug persis yang dapat dicari oleh kunci Anda.
2. Kirim `repository` secara eksplisit ke alat pencarian dan symbol saat Anda membutuhkan repo non-default (misalnya `"owner/other-repo"` atau `"owner/other-repo:develop"`).
3. Pertahankan satu pertanyaan = satu repositori, kecuali Anda memang membandingkan repo melalui panggilan terpisah.
4. Gunakan `get_file` saat file berada di repo terindeks yang bukan working tree saat ini.
5. Ingat: alat tidak pernah menulis kembali ke GitHub; konteks lintas repo hanya untuk membaca dan merencanakan.

Detail format repositori: [Referensi MCP API](https://maguyva.ai/docs/mcp-api).

Baru pertama kali menyiapkan? Mulai dari [Mulai cepat](https://maguyva.ai/docs/quickstart), lalu gunakan resep ini untuk tugas sehari-hari.
