// editor
Windsurf
Tempat anda dan Cascade betul-betul bekerja.
Untuk pengguna Windsurf
Windsurf itu editornya dan Cascade ejennya. Dalam monorepo, ejen masih perlukan peta fail mana yang penting. Maguyva indeks pangkalan kod anda dan sampaikannya semula melalui MCP (semantik, AST, graf, dan teks), supaya “di mana auth berlaku” pulangkan aliran auth sebenar, bukan tujuh stub ujian.
Peringkat Free: 3 repositori, Sehingga 50K baris repo terindeks, tanpa kad.
Windsurf sunting apa yang anda tuding. Maguyva beritahu Cascade fail mana nak dituding.Empat bahagian. Setiap satu ada kerja.
// editor
Tempat anda dan Cascade betul-betul bekerja.
// konteks manual
Konteks manual menang, sehingga repo jadi besar.
// pangkalan kod
Fakta pangkalan kod automatik melalui MCP.
// siapa bayar
Ejen tak bayar seat. Lihat harga
IDE bukan masalahnya. Cascade, ciri tab completion, suntingan pelbagai fail, dan .windsurfrules memang hebat, dan anda dah pun guna untuk:
.windsurfrules untuk konvensyen repo dan sekatan gaya.@ untuk tarik fail tertentu ke dalam konteks.Teruskan buat begitu. Semua itu tak hilang.
Tapi dalam monorepo sebenar (TypeScript dengan dependensi workspace, servis Python, pakej bercampur) konteks ejen pecah sebaik saja fail yang berkaitan belum ada dalam radar Cascade.
Empat pembetulan manual dipadankan dengan mod kegagalannya. Kiri = apa yang anda buat sekarang. Kanan = di mana ia pecah.
// the fix
Anda sebut @ tiga fail yang anda rasa penting. Cascade sunting dengan bersih di dalamnya.
// where it breaks
Ia berfungsi bila anda dah tahu fail mana yang terlibat. Tujuan sebenar alat konteks ialah untuk tonjolkan fail yang anda tak tahu nak sebut.
// the fix
Anda tampal 200 baris daripada pakej lain ke dalam Cascade untuk bagi ia konteks yang cukup.
// where it breaks
Snippet yang anda tampal pukul 9 pagi tak cerminkan rebase yang rakan sepasukan anda landing pukul 11 pagi. Cascade sedang sunting berdasarkan versi hantu pakej itu.
// the fix
Anda tulis fail .windsurfrules atau markdown seni bina. Betul untuk hari ini.
// where it breaks
Apa jua yang anda tulis dengan tangan akan menyimpang. Kod itulah punca kebenaran. Dokumen yang terangkan lapisan queue betul untuk seminggu, kemudian salah selamanya.
// the fix
Anda tambah .windsurfrules untuk penamaan, lint, dan arahan binaan. Bagus untuk kelakuan.
// where it breaks
.windsurfrules ialah tempat yang betul untuk “sentiasa jalankan pnpm tsc -b sebelum commit.” Ia bukan indeks yang boleh ditanya untuk setiap simbol, fail, dan tapak panggilan dalam monorepo anda.
Bukan pengganti Windsurf. Lapisan konteks repo yang bergantung pada sokongan MCP Cascade.
.windsurfrules terus buat kerjanya. Sebutan @ terus buat kerjanya. Maguyva isi jurang yang mereka tak isi.Cascade sunting fail yang anda tuding.
Maguyva beritahu ejen fail mana nak dituding.
Merentas pakej, merentas bahasa. Terbukti berdasarkan graf panggilan sebenar, bukan grep Cascade.
// workflow 01
cascade> di mana pengesahan berlaku dalam monorepo ini? graph::query("authentication flow") packages/web/src/auth/session.ts:42 middleware packages/api/src/auth/jwt.ts:88 token verify packages/shared/src/auth/types.ts:12 AuthContext packages/admin/src/auth/admin-only.ts:31 rbac gate → 4 titik masuk merentasi 4 pakej, disusun ikut kepadatan tapak panggilan. [exit 0]
Anda tak sebut apa-apa fail. Anda tak tampal snippet. Cascade ada empat fail yang penting, dalam susunan yang betul, dan boleh buat suntingan yang terbukti.
// workflow 02
cascade> macam mana normalizePhoneNumber uruskan E.164? semantic::query("normalize phone E.164") packages/shared/util/phone.ts:88 normalizePhoneNumber() ← impl sebenar packages/api/test/phone.spec.ts:14 jest.mock(...) ← stub [exit 0]
Nama boleh menipu. Mock membayangi kod sebenar. Maguyva susun implementasi sebenar di atas mock ujian, merentasi setiap pakej.
// workflow 03
cascade> apa yang panggil QueueDispatcher.publish merentasi monorepo? graph::callers(QueueDispatcher.publish) 3 dalam packages/billing/* 1 dalam packages/audit/* 1 dalam packages/notifications/* 1 dalam services/python-worker/* ← merentas bahasa melalui stub gRPC [exit 0]
Merentas pakej, dan merentas bahasa bila repo anda poliglot, tapak panggilan tertonjol terus. Diff itu terbukti berdasarkan pengimport sebenar, bukan grep Cascade.
Tiga langkah. Peringkat Free: 3 repositori, Sehingga 50K baris repo terindeks, tanpa kad.
// step 01
Pilih monorepo yang paling anda rasa kesakitan konteksnya.
// step 02
// ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"maguyva": {
"serverUrl": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer <your-key>"
}
}
}
}// step 03
Jangan mula dengan seluruh syarikat anda. Mula dengan satu repo dan satu soalan yang boleh disahkan, seperti “apa yang panggil formatInvoice merentasi pakej?”