Lumaktaw papunta sa content

Para sa mga user ng Windsurf

Ini-edit ng Windsurf ang file.
Nakikita ng Maguyva ang repo.

Ang Windsurf ang editor at si Cascade ang agent. Sa isang monorepo, kailangan pa rin ng agent ng mapa kung aling file ang mahalaga. Ini-index ng Maguyva ang codebase mo at ibinabalik ito sa pamamagitan ng MCP (semantic, AST, graph, at text), kaya ang “saan nangyayari ang auth” ay nagbabalik ng aktwal na auth flow, hindi pitong test stub.

May Free tier: 3 repository, Hanggang 50K na naka-index na linya ng repo, walang card.

Ini-edit ng Windsurf ang itinuro mo. Sinasabi ng Maguyva kay Cascade kung aling file ang ituturo.

Ano ang ginagawa ng bawat layer

Apat na piraso. May trabaho ang bawat isa.

// ang editor

Windsurf

Kung saan talaga kayo ni Cascade nagtatrabaho.

// manual na context

@ mentions + .windsurfrules

Nananalo ang manual context, hanggang lumaki ang repo.

// ang codebase

Maguyva

Automatic na codebase facts sa pamamagitan ng MCP.

// sino ang nagbabayad

Workspaces, hindi seats

Hindi nagbabayad ng seats ang mga agent. Tingnan ang pricing

Ang Windsurf ang editor. Gamitin ito.

Hindi ang IDE ang problema. Si Cascade, ang tab completion, multi-file edits, at .windsurfrules ay mahusay, at ginagamit mo na sila para sa:

  • Inline suggestions at edit ni Cascade sa bukas na file.
  • Multi-file edits kapag lokal ang pagbabago.
  • .windsurfrules para sa mga convention ng repo at style guardrails.
  • @-mentions para kunin ang isang partikular na file papasok sa context.

Ituloy iyan. Wala sa mga iyon ang mawawala.

Pero sa isang tunay na monorepo (TypeScript na may workspace deps, Python services, magkakahalong package) nasisira ang agent context sa sandaling ang kaugnay na file ay wala pa sa radar ni Cascade.

Mga manual na fix na sinubukan mo na, at kung saan nasisira ang mga ito

Apat na manual na fix na naka-pares sa kanilang failure mode. Kaliwa = ang ginagawa mo ngayon. Kanan = kung saan ito nasisira.

// the fix

// banggitin ang mga file

Ina-@-mention mo ang tatlong file na sa tingin mo mahalaga. Malinis na nag-e-edit si Cascade sa loob ng mga ito.

// where it breaks

// hula lang ang pagbanggit

Gumagana ito kapag alam mo na kung aling mga file ang kasangkot. Ang buong punto ng context tools ay ilitaw ang mga file na hindi mo alam na dapat banggitin.

// the fix

// i-paste ang mga snippet

Nagpa-paste ka ng 200 linya mula sa ibang package kay Cascade para bigyan ito ng sapat na context.

// where it breaks

// nagiging lipas ang pinaste na code

Hindi na sinasalamin ng snippet na pinaste mo nang 9 a.m. ang rebase na na-land ng teammate mo nang 11 a.m. Nag-e-edit si Cascade laban sa phantom na bersyon ng package.

// the fix

// sumulat ng context doc

Sumusulat ka ng .windsurfrules file o isang architecture markdown. Tama ito ngayon.

// where it breaks

// mas mabilis mag-drift ang docs kaysa code

Kahit ano mang isinulat mo nang kamay ay nagd-drift. Ang code ang source of truth. Tama ang isang doc na nagpapaliwanag sa queue layer sa loob ng isang linggo, pagkatapos ay mali na habambuhay.

// the fix

// panatilihin ang rules files

Nagdaragdag ka ng .windsurfrules para sa naming, lint, at build commands. Mahusay para sa behavior.

// where it breaks

// panuntunan ≠ index

Ang .windsurfrules ang tamang lugar para sa “laging patakbuhin ang pnpm tsc -b bago mag-commit.” Hindi ito queryable na index ng bawat symbol, file, at call-site sa monorepo mo.

Ang Maguyva ang layer sa ilalim

Hindi ito kapalit ng Windsurf. Ito ang repo-context layer na naka-sabit sa MCP support ni Cascade.

  • Semantic, AST, graph, at text search maghanap ayon sa kahulugan, istruktura, dependency, o literal na teksto. Bawat hit ay nagbabalik ng file path at line number.
  • Cross-package bilang default mga call-site at importer sa lahat ng package sa monorepo, hindi lang sa isang bukas ni Cascade.
  • May kamalayan sa branch nakikita ng Maguyva ang bersyon ng code na ini-edit ni Cascade.
  • Complementary, hindi competitive Patuloy na ginagawa ng .windsurfrules ang trabaho nito. Patuloy na ginagawa ng @-mentions ang trabaho nila. Pinupunan ng Maguyva ang puwang na hindi nila napupunan.

Ini-edit ni Cascade ang file na itinuro mo.

Sinasabi ng Maguyva sa agent kung aling file ang ituturo.

Tatlong monorepo workflow

Cross-package, cross-language. Naka-ground laban sa aktwal na call graph, hindi sa grep ni Cascade.

// workflow 01

Hanapin ang auth flow sa mga package, nang hindi bumabanggit ng kahit ano

cascade> saan nangyayari ang authentication sa monorepo na ito?

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 entry point sa 4 package, naka-rank ayon sa call-site density.
[exit 0]

Hindi ka nagbanggit ng file. Hindi ka nag-paste ng snippet. Nasa kay Cascade na ang apat na file na mahalaga, sa tamang ranking, at kaya na nitong gumawa ng grounded na edit.

// workflow 02

Hanapin ang tunay na implementation, hindi ang test stub

cascade> paano hinahandle ng normalizePhoneNumber ang E.164?

semantic::query("normalize phone E.164")
  packages/shared/util/phone.ts:88     normalizePhoneNumber()  ← real impl
  packages/api/test/phone.spec.ts:14   jest.mock(...)          ← stub
[exit 0]

Nagsisinungaling ang mga pangalan. Nagbabalot ang mocks sa tunay na code. Inilalagay ng Maguyva ang tunay na implementation sa itaas ng test mock, sa lahat ng package.

// workflow 03

Suriin ang saklaw ng epekto bago ka mag-refactor

cascade> ano ang tumatawag sa QueueDispatcher.publish sa buong monorepo?

graph::callers(QueueDispatcher.publish)
  3 in packages/billing/*
  1 in packages/audit/*
  1 in packages/notifications/*
  1 in services/python-worker/*  ← cross-language via gRPC stub
[exit 0]

Cross-package, at cross-language kapag polyglot ang repo mo, lumilitaw ang mga call-site nang inline. Naka-ground ang diff laban sa tunay na importer, hindi sa grep ni Cascade.

Setup sa Windsurf

Tatlong hakbang. Free tier: 3 repository, Hanggang 50K na naka-index na linya ng repo, walang card.

  1. // step 01

    I-index ang isang repo sa maguyva.ai

    Piliin ang monorepo kung saan mo pinakanaramdaman ang context pain.

  2. // step 02

    Idagdag ang Maguyva bilang MCP server sa Windsurf

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

    Magtanong ng isang tanong na alam mo na ang sagot

    Huwag magsimula sa buong kompanya mo. Magsimula sa isang repo at isang verifiable na tanong, tulad ng “ano ang tumatawag sa formatInvoice sa mga package?”