# Cursor edita el archivo. Maguyva ve el repo.

Canonical source: https://maguyva.ai/es/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).

Cursor es el editor. En un monorepo, el agente igual necesita un mapa de qué archivo importa. Maguyva indexa tu base de código y la pone a disposición vía MCP (semántico, AST, grafo y texto), así que “dónde pasa la autenticación” devuelve el flujo de auth real, no siete stubs de prueba.

> Cursor edita lo que le señalas. Maguyva le dice al agente qué archivo señalar.

## Qué hace cada capa

Cuatro piezas. Cada una tiene su trabajo.

### Cursor

Donde realmente programas.

### menciones con @ + pins

El contexto manual funciona, hasta que el repo se hace grande.

### Maguyva

Información sobre la base de código obtenida automáticamente vía MCP.

### Por espacio de trabajo, no por usuario

Los agentes no generan cargos por usuario. [Ver precios](https://maguyva.ai/es/pricing)

## Cursor es el editor. Úsalo.

El IDE no es el problema. El autocompletado con la tecla Tab, la edición con IA, las ediciones multiarchivo y `.cursor/rules` de Cursor son excelentes, y ya los usas para:

- Sugerencias inline y edición con IA en el archivo abierto.
- Ediciones multiarchivo cuando el cambio es local.
- `.cursor/rules` para convenciones del repo y reglas de estilo.
- Menciones con `@` para traer un archivo específico al contexto.

Sigue haciendo eso. Nada de eso desaparece.

Pero en un monorepo real (TypeScript con dependencias de workspace, servicios en Python, paquetes mixtos) el contexto del agente se rompe en el momento en que el archivo relevante todavía no está en tu radar.

## Arreglos manuales que ya probaste, y dónde fallan

Cuatro arreglos manuales junto con su modo de falla. Izquierda = lo que haces hoy. Derecha = dónde se rompe.

### // fija los archivos

Mencionas con `@` los tres archivos que crees que importan. Cursor edita limpiamente dentro de ellos.

### // fijar es adivinar

Fijar archivos funciona cuando ya sabes cuáles están involucrados. El objetivo de las herramientas de contexto es justamente mostrar los archivos que no sabías que había que fijar.

### // pega los snippets

Pegas 200 líneas de otro paquete en el chat para darle al agente suficiente contexto.

### // el código pegado se vuelve viejo

El snippet que pegaste a las 9 a. m. no refleja el rebase que tu compañero hizo a las 11 a. m. El agente está editando a partir de una versión fantasma del paquete.

### // escribe un doc de contexto

Escribes un archivo `.cursor/rules` o un markdown de arquitectura. Hoy está correcto.

### // los docs se desactualizan más rápido que el código

Todo lo que escribes a mano se desactualiza. El código es la fuente de verdad. Un doc que explica la capa de colas es correcto durante una semana, y después está mal para siempre.

### // mantén los archivos de reglas

Agregas `.cursor/rules` para nomenclatura, lint y comandos de build. Genial para el comportamiento.

### // reglas ≠ índice

`.cursor/rules` es el lugar correcto para “siempre ejecuta pnpm tsc -b antes de los commits”. No es un índice consultable de cada símbolo, archivo y punto de llamada en tu monorepo.

## Maguyva es la capa que está debajo

No es un reemplazo de Cursor. Es la capa de contexto de repo que se conecta al soporte MCP de Cursor.

- **Semántica + AST + grafo + texto**: busca por significado, estructura, dependencia o texto literal. Cada resultado devuelve una ruta de archivo y un número de línea.
- **Entre paquetes por defecto**: puntos de llamada e importadores en todos los paquetes del monorepo, no solo en el que tienes abierto.
- **Tiene en cuenta la rama**: Maguyva ve la versión del código que Cursor está editando.
- **Complementario, no competitivo**: `.cursor/rules` sigue haciendo su trabajo. Las menciones con `@` siguen haciendo el suyo. Maguyva llena el hueco que ellos no cubren.

> Cursor edita el archivo que le señalas.
> Maguyva le dice al agente *qué archivo señalar.*

## Tres flujos de trabajo de monorepo

Entre paquetes, entre lenguajes. Fundamentado en el grafo de llamadas real, no en el grep de Cursor.

### 01. Encuentra el flujo de auth entre paquetes, sin fijar nada

```text
cursor> ¿dónde pasa la autenticación en este monorepo?

graph::query("authentication flow")
  packages/web/src/auth/session.ts:42       middleware
  packages/api/src/auth/jwt.ts:88           verificación del token
  packages/shared/src/auth/types.ts:12      AuthContext
  packages/admin/src/auth/admin-only.ts:31  control RBAC

→ 4 puntos de entrada en 4 paquetes, ordenados por densidad de puntos de llamada.
[exit 0]
```

No fijaste ningún archivo. No pegaste ningún snippet. El agente tiene los cuatro archivos que importan, en el orden correcto, y puede hacer una edición fundamentada.

### 02. Encuentra la implementación real, no el stub de prueba

```text
cursor> ¿cómo maneja normalizePhoneNumber el formato E.164?

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

Los nombres mienten. Los mocks tapan el código real. Maguyva ubica la implementación real por encima del mock de prueba, en todos los paquetes.

### 03. Revisa el radio de impacto antes de refactorizar

```text
cursor> ¿qué llama a QueueDispatcher.publish en todo el monorepo?

graph::callers(QueueDispatcher.publish)
  3 en packages/billing/*
  1 en packages/audit/*
  1 en packages/notifications/*
  1 en services/python-worker/*  ← entre lenguajes vía stub de gRPC
[exit 0]
```

Entre paquetes, y entre lenguajes cuando tienes un repo políglota, los puntos de llamada aparecen inline. El diff está fundamentado en importadores reales, no en el grep de Cursor.

## Configuración con Cursor

Tres pasos. Nivel Free: 3 repositorios, Hasta 50 mil líneas de repo indexadas, sin tarjeta.

### 01. Indexa un repo en maguyva.ai

Elige el monorepo donde más problemas te ha causado la falta de contexto.

### 02. Agrega Maguyva como servidor MCP en la configuración de Cursor

`~/.cursor/mcp.json`

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

### 03. Haz una pregunta cuya respuesta ya conozcas

No empieces con toda tu empresa. Empieza con un repo y una pregunta verificable, como “¿qué llama a `formatInvoice` entre paquetes?”

## Indexa un repo que ya conozcas.

Prueba una pregunta cuya respuesta puedas verificar.
