# Copilot melihat workspace Anda. Maguyva memetakan repo.

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

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

Agen di VS Code membaca berkas yang Anda lampirkan dan berkas yang ia temukan sendiri. Maguyva mengindeks seluruh repo dan menyajikannya lewat MCP, jadi sebelum mengedit, agen bertanya di mana sebuah simbol berada dan siapa yang memanggilnya.

> Satu entri servers di .vscode/mcp.json: sebuah URL dan header Authorization.

## Yang perlu diketahui VS Code

Empat fakta khusus VS Code.

### .vscode/mcp.json

Server ditaruh di bawah `servers`, bukan `mcpServers`. Untuk semua workspace, jalankan `MCP: Open User Configuration` lalu tambahkan entri yang sama ke `mcp.json` profil Anda.

### type: http

VS Code terhubung ke endpoint Maguyva lewat Streamable HTTP dan hanya beralih ke SSE bila server tidak mendukungnya. Tidak ada yang berjalan secara lokal.

### Referensi env

Header-nya berbunyi `Bearer ${env:MAGUYVA_API_KEY}`, yang diambil VS Code dari lingkungan tempat ia dijalankan, sehingga kunci tidak masuk ke berkas yang Anda commit. Lebih suka ditanya? Variabel input menanyakannya sekali lalu menyimpan kuncinya.

### Workspace Trust

Server di `.vscode/mcp.json` dimulai tanpa prompt terpisah begitu Anda memercayai workspace, dan tidak pernah dalam mode terbatas. Configure Tools di kolom input chat menyalakan atau mematikan tiap alat.

## Instruksi khusus adalah kesepakatan kerja. Gunakan itu.

```text
# .github/copilot-instructions.md
- Jalankan npm test sebelum menyatakan perubahan selesai.
- Jangan pernah mengedit berkas hasil generate di src/gen/.
```

VS Code membaca instruksi untuk seluruh proyek dari `.github/copilot-instructions.md` atau `AGENTS.md`, dan instruksi tertarget dari berkas `.github/instructions/*.instructions.md` yang memiliki pola `applyTo`. Gunakan untuk:

- Perintah build, test, dan lint.
- Konvensi yang terus-terusan salah dikerjakan agen.
- Folder yang tidak boleh disentuh agen.

Instruksi memberi tahu agen cara bekerja. Instruksi tidak bisa memberi tahu mana dari empat ribu berkas yang mengimpor tipe yang akan ia ganti namanya.

## Di mana pandangan atas workspace berhenti

Tiga hal yang tidak bisa dipelajari agen dari berkas yang sedang terbuka.

### // yang dilampirkan bukan segalanya

Agen bekerja dengan apa yang Anda lampirkan dan apa yang dikembalikan pencariannya. Pemanggil di paket lain yang rusak setelah perubahan tidak ada di daftar mana pun.

### // kecocokan teks bukan referensi

Pencarian workspace menemukan string-nya. Ia tidak bisa membedakan panggilan sungguhan dari komentar, mock, atau metode bernama sama di kelas lain.

### // setiap baca memakan konteks

Setiap berkas yang dibuka agen untuk orientasi menghabiskan konteks yang ia butuhkan untuk perubahan. Satu jawaban berperingkat dengan file:line lebih murah daripada sepuluh pembacaan eksploratif.

## Maguyva sebagai server MCP di VS Code

Satu entri servers memberi agen:

- **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, jadi agen langsung membuka berkas yang tepat.
- **Alat yang hanya membaca**: Alat Maguyva hanya mengkueri indeks. Tidak ada yang mengedit berkas Anda, jadi setiap persetujuan adalah soal membaca, bukan menulis.

> VS Code memberi agen *workspace Anda*.
> Maguyva memberi agen *peta repo*.

## Dua alur kerja

Tanya peta dulu, lalu edit.

### 01. Temukan tes sebelum mengubah parser

```text
vscode agent> tes mana saja yang melewati parseConfig?

dependency_search("parseConfig", dependents)
  tests/config/parse.test.ts:12
  tests/cli/flags.test.ts:88

→ Setelah mengedit, agen menjalankan dua berkas ini, bukan seluruh suite.
[exit 0]
```

Jawabannya menyebut dua berkas tes yang menjangkau parser, jadi agen memeriksa perubahan di tempat yang bisa rusak.

### 02. Ukur penggantian nama sebelum edit pertama

```text
vscode agent> ganti nama OrderStatus.PENDING menjadi OrderStatus.QUEUED

find_symbol("OrderStatus", references)
  23 referensi di 9 berkas

→ Agen merencanakan satu kali jalan melewati sembilan berkas.
[exit 0]
```

Jumlah referensi datang sebelum edit, bukan setelah pemeriksa tipe gagal.

## Setup di VS Code

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 ke .vscode/mcp.json

`.vscode/mcp.json`

```json
{
  "servers": {
    "maguyva": {
      "type": "http",
      "url": "https://maguyva.tools/mcp",
      "headers": {
        "Authorization": "Bearer ${env:MAGUYVA_API_KEY}"
      }
    }
  }
}
```

### 03. Atur kunci Anda dan mulai server

Atur `MAGUYVA_API_KEY` di lingkungan tempat Anda membuka VS Code, lalu mulai server dari code lens di atas entrinya. Ajukan ke agen satu pertanyaan yang jawabannya sudah Anda ketahui.

[Dokumentasi MCP](https://code.visualstudio.com/docs/agent-customization/mcp-servers) VS Code membahas variabel input, format .mcp.json yang portabel, dan kepercayaan pada server.

## Indeks satu repo yang sudah Anda kenal.

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