Přeskočit na obsah

Pro uživatele nástroje Windsurf

Windsurf edituje soubor.
Maguyva vidí repozitář.

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.

Co dělá každá vrstva

Čtyři části. Každá má svůj úkol.

// editor

Windsurf

Kde vy s Cascade skutečně pracujete.

// manuální kontext

@ zmínky + .windsurfrules

Manuální kontext funguje, dokud repozitář nezačne být velký.

// codebase

Maguyva

Automatická fakta o codebase přes MCP.

Windsurf je editor. Používej ho.

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:

  • Inline návrhy a edity Cascade v otevřeném souboru.
  • Editace více souborů, když je změna lokální.
  • .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.

Manuální opravy, které jsi už zkusil, a kde selhávají

Č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

// zmiň soubory

Pomocí @ zmíníš tři soubory, o kterých si myslíš, že jsou důležité. Cascade v nich edituje čistě.

// where it breaks

// zmínění je odhad

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ž úryvky

Vložíš 200 řádků z jiného balíčku do Cascade, aby měl dost kontextu.

// where it breaks

// vložený kód zastará

Ú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

// napiš kontextový dokument

Napíšeš soubor .windsurfrules nebo architektonický markdown. Dnes to sedí.

// where it breaks

// dokumentace zastarává rychleji než kód

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

// nech si soubory s pravidly

Přidáš .windsurfrules pro pojmenování, lint a build příkazy. Skvělé pro chování.

// where it breaks

// pravidla ≠ index

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

Maguyva je vrstva pod tím

Není to náhrada za Windsurf. Je to vrstva kontextu repozitáře, která se napojuje na MCP podporu Cascade.

  • Sémantika + AST + graf + text hledej podle významu, struktury, závislosti nebo doslovného textu. Každý zásah vrátí cestu k souboru a číslo řádku.
  • Napříč balíčky ve výchozím nastavení místa volání a importéry napříč všemi balíčky v monorepu, ne jen tím, co má Cascade zrovna otevřený.
  • Vnímá větve Maguyva vidí tu verzi kódu, kterou Cascade zrovna edituje.
  • Doplňkové, ne konkurenční .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.

Tři workflow napříč monorepem

Napříč balíčky, napříč jazyky. Podložené skutečným grafem volání, ne grepem Cascade.

// workflow 01

Najdi auth flow napříč balíčky, aniž bys cokoli zmiňoval

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

Najdi skutečnou implementaci, ne testovací stub

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

Zkontroluj dosah dopadu, než refaktoruješ

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.

Nastavení v nástroji Windsurf

Tři kroky. Free tarif: 3 repozitáře, Až 50K zaindexovaných řádků repa, bez karty.

  1. // step 01

    Indexuj repozitář na maguyva.ai

    Vyber monorepo, kde tě kontext bolel nejvíc.

  2. // step 02

    Přidejte Maguyva jako server MCP v Windsurf

    // ~/.codeium/windsurf/mcp_config.json
    {
      "mcpServers": {
        "maguyva": {
          "serverUrl": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer <your-key>"
          }
        }
      }
    }
  3. // step 03

    Polož jednu otázku, jejíž odpověď už znáš

    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?“