Saltar al contenido

Para usuarios de GitHub Copilot CLI

Copilot empieza cada sesión a ciegas.

Las instrucciones personalizadas le dicen a Copilot cómo comportarse. No le dicen qué hay en tu repositorio. Maguyva indexa la base de código y la sirve de vuelta por MCP, para que GitHub Copilot CLI edite como si ya hubiera leído el código.

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

Usa las instrucciones para el comportamiento. Usa Maguyva para los datos actuales de la base de código.

El stack en capas

Cuatro ideas. Cada una cumple una función.

// acuerdo

copilot-instructions.md

Cómo debe comportarse Copilot en este repo.

// transporte

MCP

Cómo accede Copilot a herramientas y contexto externos.

// base de código

Maguyva

El servidor MCP que devuelve hechos fundamentados del repo.

// quién paga

Por espacio de trabajo, no por usuario

Los agentes no generan cargos por usuario. Ver precios

Las instrucciones personalizadas son un acuerdo de trabajo. Úsalas.

# .github/copilot-instructions.md
- Prefiere los límites de módulo existentes.
- Ejecuta el comando de pruebas del repo antes de proponer un merge.
- No inventes rutas de archivo. Pregunta antes de crear un paquete nuevo.

Las instrucciones persistentes pertenecen a .github/copilot-instructions.md. Es el lugar adecuado para:

  • Comandos de build, test y lint que Copilot debe ejecutar.
  • “Siempre haz X / nunca hagas Y”, límites específicos de este repo.
  • Convenciones de nombres y preferencias de revisión.
  • Referencias al registro de decisiones, no un volcado de todos los símbolos.

Ese archivo nunca fue un índice consultable del repo. Le dice a Copilot cómo trabajar. No le dice qué hay ahí.

Dónde las instrucciones personalizadas dejan de escalar

Cuatro modos de fallo que Copilot no puede resolver desde un archivo markdown.

// las instrucciones no son un índice

Telling Copilot how to behave does not tell it which class owns parseConfig, or which package actually implements the public API. La primera edición en un árbol desconocido es una suposición sobre la estructura de archivos.

// los documentos quedan obsoletos, el código no

Un bloque de instrucciones que describe el flujo de autenticación del trimestre pasado queda rotundamente equivocado el día que alguien divide el almacén de sesiones. Copilot will prefer the file you committed over the code that shipped.

// las dependencias no están en markdown

“¿Qué importa esto?” is a graph question. Las instrucciones no pueden listar cada invocador, y tampoco querrías que lo hicieran.

// las ventanas de contexto tienen un presupuesto

Meter más repo en las instrucciones cambia tokens de razonamiento por una foto obsoleta. Pasados unos pocos KB estás pagando por un mapa peor.

Maguyva como la capa añadida

Copilot ya piensa en instrucciones y herramientas.

copilot-instructions.md

acuerdo

cómo se comporta Copilot

MCP

el canal

cómo llega

Maguyva

datos del código

qué ve

  • Un mapa consultable del repositorio servido por MCP como un servidor remoto streamable-HTTP.
  • 11 herramientas orientadas al cliente en búsqueda semántica, estructural (AST), de grafo y de texto, además de símbolos, dependientes y recuperación de archivos.
  • Resultados priorizados con rutas de archivo y números de línea en 284+ lenguajes y tecnologías basadas en texto.
  • Una sola configuración El mismo workspace responde en Copilot, Claude Code, Cursor, Codex y cualquier otro cliente compatible con MCP.

Las instrucciones personalizadas le dicen a Copilot cómo comportarse.

Maguyva le da a Copilot un mapa consultable del código.

Tres flujos de trabajo

Pregúntale al mapa antes de aceptar el cambio.

// workflow 01

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

copilot> ¿cómo maneja normalizePhoneNumber el formato E.164?

semantic::query("normalize phone E.164")
  src/util/phone.ts:88   normalizePhoneNumber()   ← impl. real
  test/util/phone.spec.ts:14  jest.mock(...)      ← stub

→ Copilot abre la implementación, no el mock.
[exit 0]

Los nombres engañan. Los mocks ocultan el código real. Maguyva prioriza la implementación real sobre el mock de prueba.

// workflow 02

Comprueba el radio de impacto antes de refactorizar

copilot> ¿qué llama a QueueDispatcher.publish?

graph::callers(QueueDispatcher.publish)
  3 en src/billing/*    1 en src/audit/*    1 en src/notifications/*

→ El diff está fundamentado en importadores reales.
[exit 0]

Los puntos de llamada entre paquetes aparecen en línea. El diff está fundamentado en importadores reales, no en el grep de Copilot.

// workflow 03

Renombra una clase compartida y encuentra primero cada dependiente

copilot> rename PaymentClient → BillingClient

graph::callers(PaymentClient)            12 referencias en 7 paquetes
graph::importers(src/payments/client.ts)  9 importadores
graph::extends(PaymentClient)             2 subclases (RetryClient, MockClient)

→ Copilot propone una migración con la lista de archivos incluida.
[exit 0]

Copilot le pregunta a Maguyva por los dependientes antes de empezar a editar. La lista de migración vuelve fundamentada en el grafo real, no en el recuerdo de Copilot.

Configuración en GitHub Copilot CLI

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

  1. // step 01

    Indexa un repositorio en maguyva.ai

    Elige uno que ya conozcas, así puedes evaluar las respuestas. Regístrate gratis, conecta GitHub y espera a que se indexe.

  2. // step 02

    Añade Maguyva como servidor MCP remoto en Copilot

    copilot mcp add --transport http --header "Authorization: Bearer mgv_xxxx" maguyva https://maguyva.tools/mcp

    ~/.copilot/mcp-config.json

    {
      "mcpServers": {
        "maguyva": {
          "type": "http",
          "url": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer mgv_xxxx"
          }
        }
      }
    }
  3. // step 03

    Haz una pregunta cuya respuesta ya conozcas

    No empieces con toda la empresa. Haz una pregunta cuya respuesta ya conozcas y luego abre el archivo citado.