// editor
Windsurf
Kde vy s Cascade skutečně pracujete.
Pro uživatele nástroje Windsurf
Windsurf je editor a Cascade je agent. V monorepu agent pořád potřebuje mapu toho, který soubor je důležitý. Maguyva indexuje tvou codebase a vrací ji přes MCP (sémantika, AST, graf a text), takže „kde se řeší auth“ vrátí skutečný auth flow, ne sedm testovacích stubů.
Free tarif: 3 repozitáře, Až 50K zaindexovaných řádků repa, bez karty.
Windsurf edituje to, na co ukážeš. Maguyva řekne Cascade, na co má ukázat.Čtyři části. Každá má svůj úkol.
// editor
Kde vy s Cascade skutečně pracujete.
// manuální kontext
Manuální kontext funguje, dokud repozitář nezačne být velký.
// codebase
Automatická fakta o codebase přes MCP.
// kdo platí
Agenti neplatí za seats. Zobrazit ceník
IDE není problém. Cascade, doplňování textu, editace více souborů najednou a .windsurfrules jsou skvělé a už je používáš pro:
.windsurfrules pro konvence repozitáře a stylistická pravidla.@-zmínky, kterými vtáhneš konkrétní soubor do kontextu.Pokračuj v tom. Nic z toho nezmizí.
Ale ve skutečném monorepu (TypeScript se závislostmi mezi workspaces, Python služby, smíšené balíčky) se agentův kontext rozpadne ve chvíli, kdy relevantní soubor ještě není na radaru Cascade.
Čtyři manuální opravy spárované se svým selháním. Vlevo = co děláš dnes. Vpravo = kde to selže.
// the fix
Pomocí @ zmíníš tři soubory, o kterých si myslíš, že jsou důležité. Cascade v nich edituje čistě.
// where it breaks
Funguje to, když už víš, které soubory jsou zapojené. Celý smysl kontextových nástrojů je ukázat soubory, o kterých jsi nevěděl, že je máš zmínit.
// the fix
Vložíš 200 řádků z jiného balíčku do Cascade, aby měl dost kontextu.
// where it breaks
Úryvek, který jsi vložil v 9 ráno, neodráží rebase, který kolega odeslal v 11. Cascade edituje proti fantomové verzi balíčku.
// the fix
Napíšeš soubor .windsurfrules nebo architektonický markdown. Dnes to sedí.
// where it breaks
Cokoli napíšeš ručně, časem zastará. Kód je zdroj pravdy. Dokument popisující vrstvu fronty je správný tak týden, pak už navždy ne.
// the fix
Přidáš .windsurfrules pro pojmenování, lint a build příkazy. Skvělé pro chování.
// where it breaks
.windsurfrules je správné místo pro „vždy spusť pnpm tsc -b před commitem.“ Není to prohledávatelný index každého symbolu, souboru a místa volání ve tvém monorepu.
Není to náhrada za Windsurf. Je to vrstva kontextu repozitáře, která se napojuje na MCP podporu Cascade.
.windsurfrules dál dělá svou práci. @-zmínky dál dělají svou. Maguyva vyplňuje mezeru, kterou nepokrývají.Cascade edituje soubor, na který ukážeš.
Maguyva agentovi řekne, na co má ukázat.
Napříč balíčky, napříč jazyky. Podložené skutečným grafem volání, ne grepem Cascade.
// workflow 01
cascade> kde se v tomhle monorepu řeší autentizace? 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 vstupní body napříč 4 balíčky, seřazené podle hustoty míst volání. [exit 0]
Nezmínil jsi soubor. Nevložil jsi úryvek. Cascade má čtyři důležité soubory, ve správném pořadí, a může udělat podložený edit.
// workflow 02
cascade> jak normalizePhoneNumber zachází s E.164? semantic::query("normalize phone E.164") packages/shared/util/phone.ts:88 normalizePhoneNumber() ← skutečná impl packages/api/test/phone.spec.ts:14 jest.mock(...) ← stub [exit 0]
Jména lžou. Mocky zastiňují skutečný kód. Maguyva řadí skutečnou implementaci nad testovací mock, napříč každým balíčkem.
// workflow 03
cascade> co volá QueueDispatcher.publish napříč monorepem? graph::callers(QueueDispatcher.publish) 3 in packages/billing/* 1 in packages/audit/* 1 in packages/notifications/* 1 in services/python-worker/* ← napříč jazyky přes gRPC stub [exit 0]
Napříč balíčky, a napříč jazyky, pokud máš polyglotní repozitář, se místa volání objeví přímo v textu. Diff je podložený skutečnými importéry, ne grepem Cascade.
Tři kroky. Free tarif: 3 repozitáře, Až 50K zaindexovaných řádků repa, bez karty.
// step 01
Vyber monorepo, kde tě kontext bolel nejvíc.
// step 02
// ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"maguyva": {
"serverUrl": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer <your-key>"
}
}
}
}// step 03
Nezačínej s celou firmou. Začni jedním repozitářem a jednou ověřitelnou otázkou, třeba „co volá formatInvoice napříč balíčky?“