// editor
Windsurf
Tempat Anda dan Cascade benar-benar bekerja.
Untuk pengguna Windsurf
Windsurf adalah editornya dan Cascade adalah agennya. Di monorepo, agen tetap butuh peta soal file mana yang penting. Maguyva mengindeks codebase Anda dan menyajikannya kembali lewat MCP (semantic, AST, graph, dan text), jadi pertanyaan "di mana auth terjadi" mengembalikan alur auth yang sesungguhnya, bukan tujuh stub test.
Paket Free: 3 repository, Hingga 50K baris repo terindeks, tanpa kartu.
Windsurf mengedit apa yang Anda tunjuk. Maguyva memberi tahu Cascade file mana yang harus ditunjuk.Empat bagian. Masing-masing punya tugasnya.
// editor
Tempat Anda dan Cascade benar-benar bekerja.
// konteks manual
Konteks manual menang, sampai repo-nya jadi besar.
// codebase
Fakta codebase otomatis lewat MCP.
// yang bayar
Agen tidak bayar kursi. Lihat harga
IDE-nya bukan masalahnya. Cascade, tab completion, edit multi-file, dan .windsurfrules itu bagus, dan Anda sudah memakainya untuk:
.windsurfrules untuk konvensi repo dan guardrail gaya penulisan kode.@-mention untuk menarik file tertentu ke dalam konteks.Terus lakukan itu. Tidak ada satu pun yang hilang.
Tapi di monorepo sungguhan (TypeScript dengan workspace deps, service Python, paket campuran) konteks agen langsung rusak begitu file yang relevan belum ada di radar Cascade.
Empat perbaikan manual dipasangkan dengan mode kegagalannya. Kiri = yang Anda lakukan sekarang. Kanan = di mana itu gagal.
// the fix
Anda @-mention tiga file yang menurut Anda penting. Cascade mengedit dengan bersih di dalamnya.
// where it breaks
Ini berhasil kalau Anda sudah tahu file mana yang terlibat. Intinya tool konteks itu justru untuk memunculkan file yang tidak Anda tahu harus disebutkan.
// the fix
Anda paste 200 baris dari package lain ke Cascade untuk memberinya konteks yang cukup.
// where it breaks
Snippet yang Anda paste jam 9 pagi tidak mencerminkan rebase yang teman satu tim Anda landing-kan jam 11. Cascade mengedit berdasarkan versi hantu dari package tersebut.
// the fix
Anda menulis file .windsurfrules atau markdown arsitektur. Hari ini itu masih benar.
// where it breaks
Apa pun yang Anda tulis manual, lama-lama meleset. Kode adalah sumber kebenarannya. Dokumen yang menjelaskan lapisan queue itu benar selama seminggu, lalu salah selamanya.
// the fix
Anda menambahkan .windsurfrules untuk naming, lint, dan perintah build. Bagus untuk behavior.
// where it breaks
.windsurfrules adalah tempat yang tepat untuk “selalu jalankan pnpm tsc -b sebelum commit.” Itu bukan index yang bisa di-query untuk setiap symbol, file, dan call-site di monorepo Anda.
Bukan pengganti Windsurf. Lapisan konteks repo yang menggantung di dukungan MCP Cascade.
.windsurfrules tetap menjalankan tugasnya. @-mention tetap menjalankan tugasnya. Maguyva mengisi celah yang tidak diisi keduanya.Cascade mengedit file yang Anda tunjuk.
Maguyva memberi tahu agen file mana yang harus ditunjuk.
Cross-package, cross-language. Berlandaskan call graph yang sesungguhnya, bukan grep Cascade.
// workflow 01
cascade> di mana autentikasi terjadi di monorepo ini? graph::query("authentication flow") packages/web/src/auth/session.ts:42 middleware packages/api/src/auth/jwt.ts:88 verifikasi token packages/shared/src/auth/types.ts:12 AuthContext packages/admin/src/auth/admin-only.ts:31 gerbang rbac → 4 entry point di 4 package, diranking berdasarkan kepadatan call-site. [exit 0]
Anda tidak menyebutkan file apa pun. Anda tidak paste snippet apa pun. Cascade sudah punya empat file yang penting, dalam urutan yang benar, dan bisa membuat edit yang berlandaskan bukti nyata.
// workflow 02
cascade> bagaimana normalizePhoneNumber menangani E.164? semantic::query("normalize phone E.164") packages/shared/util/phone.ts:88 normalizePhoneNumber() ← impl asli packages/api/test/phone.spec.ts:14 jest.mock(...) ← stub [exit 0]
Nama itu bisa menipu. Mock menutupi kode asli. Maguyva meranking implementasi asli di atas mock test, di semua package.
// workflow 03
cascade> apa yang memanggil QueueDispatcher.publish di seluruh monorepo? graph::callers(QueueDispatcher.publish) 3 di packages/billing/* 1 di packages/audit/* 1 di packages/notifications/* 1 di services/python-worker/* ← cross-language lewat stub gRPC [exit 0]
Cross-package, dan cross-language kalau repo Anda poliglot, call-site langsung muncul inline. Diff-nya berlandaskan importer sungguhan, bukan grep Cascade.
Tiga langkah. Paket Free: 3 repository, Hingga 50K baris repo terindeks, tanpa kartu.
// step 01
Pilih monorepo yang paling sering bikin Anda pusing soal konteks.
// step 02
// ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"maguyva": {
"serverUrl": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer <your-key>"
}
}
}
}// step 03
Jangan mulai dari seluruh perusahaan Anda. Mulai dari satu repo dan satu pertanyaan yang bisa diverifikasi, seperti "apa yang memanggil formatInvoice lintas package?"