# AGENTS.md memberi tahu OpenCode aturan Anda. Maguyva menunjukkan kodenya.

Canonical source: https://maguyva.ai/id/for-opencode

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

OpenCode membaca AGENTS.md untuk cara bekerja dan memanggil server MCP untuk hal lainnya. Maguyva adalah server MCP jarak jauh yang memberi OpenCode peta repo yang bisa ditanyai, lengkap dengan jalur berkas dan nomor baris.

> Satu entri jarak jauh di bawah mcp. Tidak ada yang berjalan secara lokal.

## Yang perlu diketahui soal OpenCode

Empat fakta khusus OpenCode.

### opencode.json

Tambahkan server di bawah `mcp` di `opencode.json` proyek Anda, atau di `~/.config/opencode/opencode.json` untuk semua proyek.

### type: remote

OpenCode terhubung ke endpoint Maguyva lewat HTTP. Tidak ada yang berjalan secara lokal dan Node.js tidak diperlukan.

### Referensi env

OpenCode mengganti variabel lingkungan di konfigurasinya, jadi header-nya berbunyi `Bearer {env:MAGUYVA_API_KEY}` dan kuncinya tidak masuk ke berkas yang Anda commit.

### Batasi per agen

Setiap server MCP menambahkan definisi alat ke konteks. OpenCode bisa mematikan alat sebuah server secara global dengan glob seperti `"maguyva*": false` lalu menyalakannya lagi untuk agen yang membutuhkannya.

## AGENTS.md adalah kesepakatan kerja. Pakai itu.

```text
> /init
# memindai repo dan menulis AGENTS.md
```

OpenCode membaca `AGENTS.md` di root proyek dan `~/.config/opencode/AGENTS.md` untuk aturan pribadi. Tanpa `AGENTS.md`, ia beralih ke `CLAUDE.md`. Pakai untuk:

- Perintah build, test, dan lint.
- Konvensi dan batasan yang harus dihormati agen.
- Penunjuk ke dokumen penting.

Pemindaian saat `/init` adalah ringkasan, bukan index. Ia tidak memberi tahu OpenCode siapa yang memanggil fungsi yang ditambahkan kemarin.

## Saat AGENTS.md tidak cukup

Tiga celah yang diisi OpenCode dengan grep dan kesabaran.

### // ringkasan bukan index

AGENTS.md bisa menyebut package-package penting. Ia tidak bisa mendaftar setiap symbol dan call site, dan memang tidak seharusnya mencoba.

### // grep menemukan string, bukan pemanggil

Kecocokan teks tidak bisa membedakan pemanggilan sungguhan dari komentar, mock, atau method bernama sama di class lain.

### // berkasnya tertinggal

AGENTS.md benar pada hari ditulis. Kode terus bergerak; berkasnya berubah saat ada yang ingat memperbaruinya.

## Maguyva sebagai server MCP jarak jauh di OpenCode

Satu entri di bawah mcp memberi OpenCode:

- **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.
- **Jawaban yang sama untuk setiap model**: OpenCode bekerja dengan banyak penyedia model. Maguyva mengembalikan peta yang sama, model mana pun yang bertanya.

> AGENTS.md memberi tahu OpenCode *cara bekerja*.
> Maguyva memberi OpenCode *sesuatu untuk mulai bekerja*.

## Dua alur kerja

Tanyakan ke peta dari terminal yang sama.

### 01. Ganti nama type bersama di beberapa package

```text
opencode> ganti nama OrderStatus menjadi FulfillmentStatus

dependency_search("OrderStatus", dependents)
  23 referensi di 8 package
structural_search(switch_statement, "OrderStatus")
  4 switch exhaustive

→ OpenCode mengedit seluruh daftar, termasuk switch-nya.
[exit 0]
```

Switch exhaustive adalah yang terlewat oleh pencarian teks dan baru ketahuan belakangan oleh compiler.

### 02. Bedakan kode dari dokumentasi

```text
opencode> di mana FEATURE_BULK_EXPORT dibaca?

text_pattern_search("FEATURE_BULK_EXPORT")
  src/config/flags.ts:17
  src/export/bulk.ts:5
  docs/flags.md:40   ← hanya dokumentasi

→ Dua jalur kode, satu dokumen usang.
[exit 0]
```

Kecocokan persis kembali beserta jalurnya, jadi OpenCode bisa membedakan kode dari dokumentasi sebelum mengedit salah satunya.

## Setup di OpenCode

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

### 01. Indeks repo di maguyva.ai

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

### 02. Tambahkan Maguyva di bawah mcp di opencode.json

`opencode.json`

```json
{
  "mcp": {
    "maguyva": {
      "type": "remote",
      "url": "https://maguyva.tools/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:MAGUYVA_API_KEY}"
      }
    }
  }
}
```

### 03. Ekspor kunci Anda dan periksa koneksinya

Set `MAGUYVA_API_KEY` di shell yang menjalankan OpenCode. `opencode mcp list` menampilkan setiap server yang dikonfigurasi; lalu ajukan satu pertanyaan yang jawabannya sudah Anda ketahui.

[Dokumentasi MCP](https://opencode.ai/docs/mcp-servers/) OpenCode membahas timeout, OAuth, dan akses alat per agen.

## Indeks satu repo yang sudah Anda kenal.

Hubungkan OpenCode lewat MCP, lalu ajukan satu pertanyaan yang bisa Anda periksa.
