# AGENTS.md memberitahu OpenCode peraturan anda. Maguyva menunjukkan kod kepadanya.

Canonical source: https://maguyva.ai/ms/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 pelayan MCP untuk selebihnya. Maguyva ialah pelayan MCP jauh yang memberi OpenCode peta repo anda yang boleh disoal, dengan laluan fail dan nombor baris.

> Satu entri jauh di bawah mcp. Tiada apa yang berjalan secara tempatan.

## Apa yang perlu diketahui tentang OpenCode

Empat fakta khusus untuk OpenCode.

### opencode.json

Tambah pelayan di bawah `mcp` dalam `opencode.json` projek anda, atau dalam `~/.config/opencode/opencode.json` untuk semua projek.

### type: remote

OpenCode bersambung ke titik akhir Maguyva melalui HTTP. Tiada apa yang berjalan secara tempatan dan Node.js tidak diperlukan.

### Rujukan env

OpenCode menggantikan pemboleh ubah persekitaran dalam konfigurasinya, jadi pengepala berbunyi `Bearer {env:MAGUYVA_API_KEY}` dan kunci tidak masuk ke dalam fail yang anda commit.

### Hadkan mengikut ejen

Setiap pelayan MCP menambah definisi alat ke dalam konteks. OpenCode boleh mematikan alat sesuatu pelayan secara global dengan glob seperti `"maguyva*": false` dan menghidupkannya semula untuk ejen yang memerlukannya.

## AGENTS.md ialah persetujuan kerja. Gunakannya.

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

OpenCode membaca `AGENTS.md` di akar projek dan `~/.config/opencode/AGENTS.md` untuk peraturan peribadi. Tanpa `AGENTS.md`, ia beralih kepada `CLAUDE.md`. Gunakannya untuk:

- Arahan build, ujian dan lint.
- Konvensyen dan sempadan yang perlu dihormati ejen.
- Penunjuk kepada dokumen penting.

Imbasan semasa `/init` ialah ringkasan, bukan indeks. Ia tidak memberitahu OpenCode siapa yang memanggil fungsi yang ditambah semalam.

## Apabila AGENTS.md tidak mencukupi

Tiga jurang yang OpenCode isi dengan grep dan kesabaran.

### // ringkasan bukan indeks

AGENTS.md boleh menamakan pakej yang penting. Ia tidak boleh menyenaraikan setiap simbol dan tapak panggilan, dan tidak sepatutnya cuba.

### // grep menemui rentetan, bukan pemanggil

Padanan teks tidak dapat membezakan panggilan sebenar daripada komen, mock atau kaedah bernama sama dalam kelas lain.

### // fail itu ketinggalan

AGENTS.md betul pada hari ia ditulis. Kod terus bergerak; fail itu berubah apabila seseorang teringat untuk mengemas kininya.

## Maguyva sebagai pelayan MCP jauh dalam OpenCode

Satu entri di bawah mcp memberi OpenCode:

- **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.
- **Jawapan yang sama untuk setiap model**: OpenCode berfungsi dengan banyak penyedia model. Maguyva memulangkan peta yang sama, tidak kira model mana yang bertanya.

> AGENTS.md memberitahu OpenCode *cara bekerja*.
> Maguyva memberi OpenCode *sesuatu untuk mula bekerja*.

## Dua aliran kerja

Tanya peta dari terminal yang sama.

### 01. Namakan semula jenis yang dikongsi merentasi pakej

```text
opencode> namakan semula OrderStatus kepada FulfillmentStatus

dependency_search("OrderStatus", dependents)
  23 rujukan merentasi 8 pakej
structural_search(switch_statement, "OrderStatus")
  4 switch menyeluruh

→ OpenCode menyunting seluruh senarai, termasuk switch.
[exit 0]
```

Switch menyeluruh ialah yang terlepas oleh carian teks dan lambat dikesan oleh pengkompil.

### 02. Bezakan kod daripada 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   ← dokumentasi sahaja

→ Dua laluan kod, satu dokumen lapuk.
[exit 0]
```

Padanan tepat kembali bersama laluannya, jadi OpenCode boleh membezakan kod daripada dokumentasi sebelum menyunting salah satunya.

## Sediakan OpenCode

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 di bawah mcp dalam opencode.json

`opencode.json`

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

### 03. Eksport kunci anda dan semak sambungan

Tetapkan `MAGUYVA_API_KEY` dalam shell yang memulakan OpenCode. `opencode mcp list` menunjukkan setiap pelayan yang dikonfigurasi; kemudian tanya satu soalan yang anda sudah tahu jawapannya.

[Dokumentasi MCP](https://opencode.ai/docs/mcp-servers/) OpenCode merangkumi had masa, OAuth dan akses alat mengikut ejen.

## Indeks satu repo yang anda sudah kenali.

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