// redigerare
Windsurf
Där du och Cascade faktiskt arbetar.
För Windsurf-användare
Windsurf är redigeraren och Cascade är agenten. I ett monorepo behöver agenten ändå en karta över vilken fil som spelar roll. Maguyva indexerar din kodbas och levererar den tillbaka via MCP (semantiskt, AST-baserat, graf och text), så att ”var sker autentisering” ger det faktiska autentiseringsflödet, inte sju teststubbar.
Free-nivå: 3 repositorier, Upp till 50K indexerade repo-rader, inget kort.
Windsurf redigerar det du pekar på. Maguyva talar om för Cascade vilken fil den ska peka på.Fyra delar. Var och en har sin uppgift.
// redigerare
Där du och Cascade faktiskt arbetar.
// manuell kontext
Manuell kontext vinner, tills repot blir stort.
// kodbas
Automatiska kodbasfakta via MCP.
// vem betalar
Agenter betalar inte för platser. Se priser
IDE:n är inte problemet. Cascade, tabbkomplettering, multifilsredigeringar och .windsurfrules är utmärkta, och du använder redan dem för:
.windsurfrules för repokonventioner och stilregler.@-nämningar för att dra in en specifik fil i kontexten.Fortsätt med det. Inget av det försvinner.
Men i ett verkligt monorepo (TypeScript med workspace-beroenden, Python-tjänster, blandade paket) går agentens kontext sönder så fort den relevanta filen inte redan finns på radarn hos Cascade.
Fyra manuella lösningar parade med sina svagheter. Vänster = vad du gör idag. Höger = var det brister.
// the fix
Du @-nämner de tre filer du tror spelar roll. Cascade redigerar snyggt inom dem.
// where it breaks
Det fungerar när du redan vet vilka filer som är inblandade. Hela poängen med kontextverktyg är att lyfta fram de filer du inte visste att du skulle nämna.
// the fix
Du klistrar in 200 rader från ett annat paket i Cascade för att ge den tillräcklig kontext.
// where it breaks
Snutten du klistrade in klockan 9 speglar inte den rebase din kollega landade klockan 11. Cascade redigerar mot en spökversion av paketet.
// the fix
Du skriver en .windsurfrules-fil eller en arkitektur-markdown. Den stämmer idag.
// where it breaks
Allt du skriver för hand glider iväg. Koden är sanningen. En dokumentation som förklarar kölagret stämmer i en vecka, sedan är den fel för alltid.
// the fix
Du lägger till .windsurfrules för namngivning, lint och byggkommandon. Utmärkt för beteende.
// where it breaks
.windsurfrules är rätt plats för “kör alltid pnpm tsc -b före commits.” Det är inget sökbart index över varje symbol, fil och anropsplats i ditt monorepo.
Inte en ersättning för Windsurf. Kontextlagret för repot som ansluter via MCP-stödet i Cascade.
.windsurfrules fortsätter göra sitt jobb. @-nämningar fortsätter göra sitt. Maguyva fyller det utrymme de inte fyller.Cascade redigerar filen du pekar på.
Maguyva talar om för agenten vilken fil den ska peka på.
Paketöverskridande, språköverskridande. Förankrat i den faktiska anropsgrafen, inte grep i Cascade.
// workflow 01
cascade> var sker autentiseringen i det här monorepot? graph::query("authentication flow") packages/web/src/auth/session.ts:42 middleware packages/api/src/auth/jwt.ts:88 tokenverifiering packages/shared/src/auth/types.ts:12 AuthContext packages/admin/src/auth/admin-only.ts:31 rbac-kontroll → 4 ingångspunkter i 4 paket, rankade efter anropstäthet. [exit 0]
Du nämnde ingen fil. Du klistrade inte in någon kodsnutt. Cascade har de fyra filer som spelar roll, i rätt rangordning, och kan göra en förankrad ändring.
// workflow 02
cascade> hur hanterar normalizePhoneNumber E.164? semantic::query("normalize phone E.164") packages/shared/util/phone.ts:88 normalizePhoneNumber() ← verklig impl packages/api/test/phone.spec.ts:14 jest.mock(...) ← stub [exit 0]
Namn ljuger. Mockar skuggar verklig kod. Maguyva rankar den verkliga implementationen över testmocken, i varje paket.
// workflow 03
cascade> vad anropar QueueDispatcher.publish i monorepot? graph::callers(QueueDispatcher.publish) 3 i packages/billing/* 1 i packages/audit/* 1 i packages/notifications/* 1 i services/python-worker/* ← språköverskridande via gRPC-stub [exit 0]
Paketöverskridande, och språköverskridande om du har ett polyglot repo — anropsplatser dyker upp direkt i flödet. Diffen är förankrad i verkliga importerare, inte grep i Cascade.
Tre steg. Free-nivå: 3 repositorier, Upp till 50K indexerade repo-rader, inget kort.
// step 01
Välj det monorepo där du känt av mest kontextsmärta.
// step 02
// ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"maguyva": {
"serverUrl": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer <your-key>"
}
}
}
}// step 03
Börja inte med hela ditt företag. Börja med ett repo och en verifierbar fråga, som ”vad anropar formatInvoice över paket?”