# Ini-edit ng Cursor ang file. Nakikita ng Maguyva ang repo.

Canonical source: https://maguyva.ai/fil/for-cursor

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Ang Cursor ang editor. 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.

> Ini-edit ng Cursor ang itinuro mo. Sinasabi ng Maguyva sa agent kung aling file ang ituturo.

## Ano ang ginagawa ng bawat layer

Apat na piraso. May trabaho ang bawat isa.

### Cursor

Kung saan ka talagang nagko-code.

### @ mentions + pins

Nananalo ang manual context, hanggang lumaki ang repo.

### Maguyva

Automatic na codebase facts sa pamamagitan ng MCP.

### Workspaces, hindi seats

Hindi nagbabayad ng seats ang mga agent. [Tingnan ang pricing](https://maguyva.ai/fil/pricing)

## Ang Cursor ang editor. Gamitin ito.

Hindi ang IDE ang problema. Ang tab completion ng Cursor, edit-with-AI, multi-file edits, at `.cursor/rules` ay mahusay, at ginagamit mo na sila para sa:

- Inline suggestions at edit-with-AI sa bukas na file.
- Multi-file edits kapag lokal ang pagbabago.
- `.cursor/rules` 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 mo.

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

### // i-pin ang mga file

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

### // hula lang ang pinning

Gumagana ang pinning 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 pinin.

### // i-paste ang mga snippet

Nagpa-paste ka ng 200 linya mula sa ibang package papasok sa chat para bigyan ang agent ng sapat na context.

### // 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 ang agent laban sa phantom na bersyon ng package.

### // sumulat ng context doc

Sumusulat ka ng `.cursor/rules` file o isang architecture markdown. Tama ito ngayon.

### // mas mabilis mag-drift ang docs kaysa code

Kahit ano mang isinulat mo nang mano-mano 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.

### // panatilihin ang rules files

Nagdaragdag ka ng `.cursor/rules` para sa naming, lint, build commands. Mahusay para sa behavior.

### // rules ≠ index

Ang `.cursor/rules` 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 Cursor. Ito ang repo-context layer na naka-sabit sa MCP support ng Cursor.

- **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 package na bukas ngayon.
- **May kamalayan sa branch**: nakikita ng Maguyva ang bersyon ng code na ini-edit ng Cursor.
- **Complementary, hindi competitive**: Patuloy na ginagawa ng `.cursor/rules` ang trabaho nito. Patuloy na ginagawa ng `@`-mentions ang trabaho nila. Pinupunan ng Maguyva ang puwang na hindi nila napupunan.

> Ini-edit ng Cursor ang file na itinuro mo.
> Sinasabi ng Maguyva sa agent *kung aling file ang ituturo.*

## Tatlong monorepo workflow

Cross-package, cross-language. Naka-ground sa aktwal na call graph, hindi sa grep ng Cursor.

### 01. Hanapin ang auth flow sa mga package, nang walang pinin

```text
cursor> 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 nag-pin ng file. Hindi ka nag-paste ng snippet. Nasa agent na ang apat na file na mahalaga, sa tamang ranking, at kaya na nitong gumawa ng grounded na edit.

### 02. Hanapin ang tunay na implementation, hindi ang test stub

```text
cursor> 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. Natatabunan ng mocks ang tunay na code. Inilalagay ng Maguyva ang tunay na implementation sa itaas ng test mock, sa lahat ng package.

### 03. Suriin ang saklaw ng epekto bago ka mag-refactor

```text
cursor> 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 sa tunay na importer, hindi sa grep ng Cursor.

## Setup sa Cursor

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

### 01. I-index ang isang repo sa maguyva.ai

Piliin ang monorepo kung saan mo pinakanaramdaman ang context pain.

### 02. Idagdag ang Maguyva bilang MCP server sa settings ng Cursor

`~/.cursor/mcp.json`

```json
{
  "mcpServers": {
    "maguyva": {
      "url": "https://maguyva.tools/mcp",
      "headers": {
        "Authorization": "Bearer ${env:MAGUYVA_API_KEY}"
      }
    }
  }
}
```

### 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?”

## I-index ang isang repo na kilala mo na.

Subukan ang isang tanong na kaya mong i-verify ang sagot.
