Siirry sisältöön

GitHub Copilot CLI:n käyttäjille

Copilot aloittaa jokaisen istunnon sokkona.

Mukautetut ohjeet kertovat Copilotille, miten sen tulee toimia. Ne eivät kerro, mitä repositoriossasi on. Maguyva indeksoi koodikannan ja tarjoaa sen takaisin MCP:n kautta, jotta GitHub Copilot CLI muokkaa kuin olisi jo lukenut koodin.

Free-taso: 3 repositoriota, Enintään 50 000 indeksoitua repo-riviä, ei luottokorttia.

Käytä ohjeita käyttäytymiseen. Käytä Maguyva-työkalua ajantasaisiin koodikannan tosiasioihin.

Kerroksittainen pino

Neljä ideaa. Jokainen hoitaa yhden tehtävän.

// sopimus

copilot-instructions.md

Miten Copilot käyttäytyy tässä repossa.

// siirtotie

MCP

Miten Copilot tavoittaa ulkoiset työkalut ja kontekstin.

// koodikanta

Maguyva

MCP-palvelin, joka palauttaa ankkuroituja repofaktoja.

// kuka maksaa

Työtiloja, ei käyttäjäpaikkoja

Agenteista ei veloiteta käyttäjäpaikkamaksuja. Katso hinnoittelu

Mukautetut ohjeet ovat työsopimus. Käytä niitä.

# .github/copilot-instructions.md
- Suosi olemassa olevia moduulirajoja.
- Aja repon testikomento ennen mergen ehdottamista.
- Älä keksi tiedostopolkuja. Kysy ennen uuden paketin luomista.

Pysyvät ohjeet kuuluvat tiedostoon .github/copilot-instructions.md. Se on oikea paikka näille:

  • Build-, testi- ja lint-komennot, jotka Copilotin tulee ajaa.
  • “Tee aina X / älä koskaan tee Y” -säännöt, jotka koskevat tätä repoa.
  • Nimeämiskäytännöt ja katselmointimieltymykset.
  • Viittaukset päätöslokiin — ei kaatopaikkaa jokaiselle symbolille.

Tuo tiedosto ei koskaan ollut revon kyseltävä hakemisto. Se kertoo Copilotille, miten työskennellä. Se ei kerro, mitä siellä on.

Missä mukautetut ohjeet lakkaavat toimimasta laajassa mittakaavassa

Neljä vikatilaa, joita Copilot ei voi korjata markdown-tiedostosta.

// ohjeet eivät ole hakemisto

Telling Copilot how to behave does not tell it which class owns parseConfig, or which package actually implements the public API. Ensimmäinen muokkaus tuntemattomassa puussa on arvaus tiedostorakenteesta.

// dokumentit vanhenevat, koodi ei

Ohjelohko, joka kuvaa viime vuosineljänneksen todennusvirtaa, on selvästi väärässä sinä päivänä, kun joku jakaa istuntovaraston. Copilot will prefer the file you committed over the code that shipped.

// riippuvuudet eivät ole markdownissa

“Mikä tuo tätä?” is a graph question. Ohjeet eivät voi luetella jokaista kutsujaa, etkä sitä haluaisikaan.

// kontekstiikkunoilla on budjetti

Repon lisääminen ohjeisiin vaihtaa päättelytokeneita vanhentuneeseen tilannekuvaan. Muutaman kilotavun jälkeen maksat huonommasta kartasta.

Maguyva lisäkerroksena

Copilot ajattelee jo ohjeina ja työkaluina.

copilot-instructions.md

sopimus

miten Copilot käyttäytyy

MCP

kanava

miten se pääsee perille

Maguyva

koodikannan tosiasiat

mitä se näkee

  • Kyseltävä kartta repositoriosta tarjottu MCP:n kautta etä-streamable-HTTP-palvelimena.
  • 11 asiakaskohtaista työkalua semanttisessa, rakenteellisessa (AST-), graafi- ja tekstihaussa, lisäksi symbolit, riippuvaiset ja tiedostojen haku.
  • Priorisoidut tulokset tiedostopoluilla ja rivinumeroilla yli 284 kielellä ja tekstipohjaisella teknologialla.
  • Yksi asetus Sama työtila vastaa työkaluissa Copilot, Claude Code, Cursor, Codex ja missä tahansa muussa MCP-yhteensopivassa asiakkaassa.

Mukautetut ohjeet kertovat, miten Copilot käyttäytyy.

Maguyva antaa Copilot-työkalulle kyseltävän kartan koodista.

Kolme työnkulkua

Kysy kartalta ennen kuin hyväksyt diffin.

// workflow 01

Löydä oikea toteutus, ei testin stubia

copilot> miten normalizePhoneNumber käsittelee E.164-muotoa?

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

→ Copilot avaa toteutuksen, ei mockia.
[exit 0]

Nimet valehtelevat. Mockit peittävät oikean koodin. Maguyva sijoittaa oikean toteutuksen testimockin edelle.

// workflow 02

Tarkista vaikutusalue ennen refaktorointia

copilot> mikä kutsuu QueueDispatcher.publish-metodia?

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

→ Diff perustuu oikeisiin tuojiin.
[exit 0]

Pakettien väliset kutsupaikat näkyvät suoraan. Diff perustuu oikeisiin tuojiin, ei Copilot-työkalun grep-hakuun.

// workflow 03

Nimeä jaettu luokka uudelleen, löydä ensin jokainen riippuvuus

copilot> rename PaymentClient → BillingClient

graph::callers(PaymentClient)            12 viittausta 7 paketissa
graph::importers(src/payments/client.ts)  9 tuojaa
graph::extends(PaymentClient)             2 aliluokkaa (RetryClient, MockClient)

→ Copilot ehdottaa migraatiota tiedostoluettelo mukana.
[exit 0]

Copilot kysyy Maguyva-työkalulta riippuvuuksia ennen muokkaamisen aloittamista. Migraatioluettelo perustuu todelliseen graafiin, ei Copilotin muistiin.

Asennus GitHub Copilot CLI:ssä

Kolme vaihetta. Free-taso: 3 repositoriota, Enintään 50 000 indeksoitua repo-riviä, ei luottokorttia.

  1. // step 01

    Indeksoi repo osoitteessa maguyva.ai

    Valitse jo tuntemasi repo, jotta voit arvioida vastauksia. Rekisteröidy ilmaiseksi, yhdistä GitHub, odota indeksointia.

  2. // step 02

    Lisää Maguyva etä-MCP-palvelimena Copilot-työkaluun

    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

    Kysy kysymys, jonka vastauksen jo tiedät

    Älä aloita koko yrityksestä. Kysy kysymys, jonka vastauksen jo tiedät, ja avaa sitten viitattu tiedosto.