Spring til indhold

Til brugere af GitHub Copilot CLI

Copilot starter hver session blindt.

Brugerdefinerede instruktioner fortæller Copilot, hvordan det skal opføre sig. De fortæller ikke, hvad der er i dit repo. Maguyva indekserer kodebasen og leverer den tilbage via MCP, så GitHub Copilot CLI redigerer, som om det allerede har læst koden.

Free-niveau: 3 repos, Op til 50K indekserede repo-linjer, intet kreditkort.

Brug instruktioner til adfærd. Brug Maguyva til aktuelle kodebase-fakta.

Den lagdelte stack

Fire idéer. Hver løser én opgave.

// aftale

copilot-instructions.md

Hvordan Copilot bør opføre sig på dette repo.

// transport

MCP

Hvordan Copilot rækker ud efter eksterne værktøjer og kontekst.

// kodebase

Maguyva

MCP-serveren, der leverer forankrede repo-fakta.

// hvem betaler

Arbejdsområder, ikke brugere

Agenter medfører ingen ekstra gebyrer pr. bruger. Se priser

Brugerdefinerede instruktioner er en arbejdsaftale. Brug dem.

# .github/copilot-instructions.md
- Foretræk de eksisterende modulgrænser.
- Kør repoets testkommando, før du foreslår en merge.
- Find ikke på filstier. Spørg, før du opretter en ny pakke.

Vedvarende instruktioner hører hjemme i .github/copilot-instructions.md. Det er det rette sted til:

  • Build-, test- og lint-kommandoer, Copilot skal køre.
  • “Gør altid X / gør aldrig Y”-regler, der gælder for dette repo.
  • Navngivningskonventioner og review-præferencer.
  • Henvisninger til beslutningsloggen — ikke et dump af hvert symbol.

Den fil var aldrig et gennemsøgeligt indeks over repoet. Den fortæller Copilot, hvordan det skal arbejde. Den fortæller ikke, hvad der er der.

Hvor brugerdefinerede instruktioner holder op med at skalere

Fire fejltilstande, som Copilot ikke kan løse fra en markdown-fil.

// instruktioner er ikke et indeks

Telling Copilot how to behave does not tell it which class owns parseConfig, or which package actually implements the public API. Den første ændring i et ukendt træ er et gæt på filstrukturen.

// docs bliver forældede, kode gør ikke

En instruktionsblok, der beskriver sidste kvartals auth-flow, tager afgjort fejl den dag, nogen splitter session-lageret. Copilot will prefer the file you committed over the code that shipped.

// afhængigheder er ikke i markdown

“Hvad importerer dette?” is a graph question. Instruktioner kan ikke liste hver kalder, og det ville du heller ikke ønske.

// kontekstvinduer har et budget

At proppe mere af repoet ind i instruktioner bytter ræsonnements-tokens for et forældet øjebliksbillede. Efter et par KB betaler du for et dårligere kort.

Maguyva som det ekstra lag

Copilot tænker allerede i instruktioner og værktøjer.

copilot-instructions.md

aftale

hvordan Copilot opfører sig

MCP

kanalen

hvordan det når frem

Maguyva

kodebase-fakta

hvad det ser

  • Et gennemsøgeligt kort over repoet leveret via MCP som en ekstern streamable-HTTP-server.
  • 11 kundevendte værktøjer på tværs af semantisk, strukturel (AST-), graf- og tekstsøgning, plus symboler, afhængige og filhentning.
  • Rangerede resultater med filstier og linjenumre på tværs af over 284 sprog og tekstbaserede teknologier.
  • Én konfiguration Det samme workspace svarer i Copilot, Claude Code, Cursor, Codex og enhver anden MCP-kompatibel klient.

Brugerdefinerede instruktioner fortæller Copilot hvordan det skal opføre sig.

Maguyva giver Copilot et gennemsøgeligt kort over koden.

Tre arbejdsgange

Spørg kortet, før du accepterer diffen.

// workflow 01

Find den rigtige implementering, ikke test-stubben

copilot> hvordan håndterer normalizePhoneNumber E.164?

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

→ Copilot åbner implementeringen, ikke mock’en.
[exit 0]

Navne lyver. Mocks skjuler rigtig kode. Maguyva rangerer den rigtige implementering over test-mock’en.

// workflow 02

Tjek blast radius, før du refaktorerer

copilot> hvad kalder QueueDispatcher.publish?

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

→ Diffen er funderet i rigtige importører.
[exit 0]

Kald på tværs af pakker vises inline. Diffen er funderet i rigtige importører, ikke Copilots grep.

// workflow 03

Omdøb en delt klasse, find hver afhængighed først

copilot> rename PaymentClient → BillingClient

graph::callers(PaymentClient)            12 referencer i 7 pakker
graph::importers(src/payments/client.ts)  9 importører
graph::extends(PaymentClient)             2 underklasser (RetryClient, MockClient)

→ Copilot foreslår en migrering med fillisten inline.
[exit 0]

Copilot spørger Maguyva om afhængigheder før det begynder at redigere. Migreringslisten kommer tilbage funderet i den rigtige graf, ikke Copilots hukommelse.

Opsætning i GitHub Copilot CLI

Tre trin. Free-niveau: 3 repos, Op til 50K indekserede repo-linjer, intet kreditkort.

  1. // step 01

    Indekser et repo på maguyva.ai

    Vælg et, du allerede kender, så du kan vurdere svarene. Tilmeld dig gratis, forbind GitHub, vent på indekseringen.

  2. // step 02

    Tilføj Maguyva som en ekstern MCP-server i 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

    Stil et spørgsmål, du allerede kender svaret på

    Start ikke med hele virksomheden. Stil et spørgsmål, du allerede kender svaret på, og åbn så den citerede fil.