Lumaktaw papunta sa content

Para sa mga user ng GitHub Copilot CLI

Nagsisimula ang Copilot sa bawat session nang bulag.

Sinasabi ng custom instructions kay Copilot kung paano kikilos. Hindi nila sinasabi kung ano ang nasa repo mo. Ini-index ng Maguyva ang codebase at ibinabalik ito sa MCP, para mag-edit ang GitHub Copilot CLI na parang nabasa na nito ang code.

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

Gamitin ang instructions para sa behavior. Gamitin ang Maguyva para sa kasalukuyang katotohanan ng codebase.

Ang layered stack

Apat na ideya. Isang trabaho ang ginagawa ng bawat isa.

// mga agreement

copilot-instructions.md

Kung paano dapat kumilos si Copilot sa repo na ito.

// ang transport

MCP

Kung paano inaabot ni Copilot ang mga external tool at context.

// ang codebase

Maguyva

Ang MCP server na nagbabalik ng naka-ground na repo facts.

// sino ang nagbabayad

Workspaces, hindi seats

Hindi nagbabayad ng seats ang mga agent. Tingnan ang pricing

Ang custom instructions ay isang working agreement. Gamitin ito.

# .github/copilot-instructions.md
- Unahin ang umiiral na mga hangganan ng module.
- Patakbuhin ang test command ng repo bago magmungkahi ng merge.
- Huwag umimbento ng file path. Magtanong muna bago gumawa ng bagong package.

Ang mga permanenteng instruction ay dapat nasa .github/copilot-instructions.md. Iyon ang tamang lugar para sa:

  • Mga build, test, at lint command na dapat patakbuhin ng Copilot.
  • Mga tuntunin na “laging gawin ang X / huwag gawin ang Y” na eksklusibo sa repo na ito.
  • Mga naming convention at kagustuhan sa review.
  • Mga pointer sa decision log — hindi isang dump ng bawat symbol.

Ang file na iyon ay hindi kailanman naging queryable index ng repo. Sinasabi nito sa Copilot kung paano magtrabaho. Hindi nito sinasabi kung ano ang nariyan.

Kung saan tumitigil ang custom instructions sa malaking sukat

Apat na failure mode na hindi kayang ayusin ng Copilot mula sa isang markdown file.

// hindi index ang mga instruction

Telling Copilot how to behave does not tell it which class owns parseConfig, or which package actually implements the public API. Ang unang edit sa isang hindi pamilyar na tree ay isang hula lamang sa istruktura ng file.

// nagiging luma ang docs, hindi ang code

Ang isang instruction block na naglalarawan sa auth flow noong nakaraang quarter ay tiyak na mali sa araw na hatiin ng isang tao ang session store. Copilot will prefer the file you committed over the code that shipped.

// wala sa markdown ang mga dependency

“Ano ang nag-i-import nito?” is a graph question. Hindi kayang ilista ng mga instruction ang bawat caller, at hindi mo rin naman gugustuhin iyon.

// may badyet ang mga context window

Ang paglagay ng mas maraming repo sa instructions ay ipinagpapalit ang reasoning tokens para sa isang lumang snapshot. Lampas sa ilang KB, nagbabayad ka na para sa mas masamang mapa.

Ang Maguyva bilang karagdagang layer

Nag-iisip na ang Copilot sa instructions at tools.

copilot-instructions.md

kasunduan

kung paano kikilos ang Copilot

MCP

ang channel

kung paano ito nakakarating

Maguyva

mga katotohanan ng codebase

kung ano ang nakikita nito

  • Isang queryable na mapa ng repo ibinibigay sa MCP bilang isang remote streamable-HTTP server.
  • 11 customer-facing na tool sa semantic, structural (AST), graph, at text search, kasama ang mga symbol, dependent, at pagkuha ng file.
  • Mga inayos na resulta na may file path at line number sa 284+ na wika at text-based na teknolohiya.
  • Isang configuration Ang parehong workspace ang sumasagot sa Copilot, Claude Code, Cursor, Codex, at anumang iba pang MCP-compatible na client.

Sinasabi ng custom instructions sa Copilot kung paano kikilos.

Binibigyan ng Maguyva ang Copilot ng queryable na mapa ng code.

Tatlong workflow

Magtanong sa mapa bago mo tanggapin ang diff.

// workflow 01

Hanapin ang tunay na implementation, hindi ang test stub

copilot> paano hinahawakan ng normalizePhoneNumber ang E.164?

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

→ Binubuksan ng Copilot ang implementation, hindi ang mock.
[exit 0]

Nanlilinlang ang mga pangalan. Itinatago ng mock ang tunay na code. Inuuna ng Maguyva ang tunay na implementation kaysa sa test mock.

// workflow 02

Suriin ang blast radius bago mag-refactor

copilot> ano ang tumatawag sa QueueDispatcher.publish?

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

→ Ang diff ay naka-ground sa tunay na importer.
[exit 0]

Lumalabas nang direkta ang mga call site sa iba't ibang package. Ang diff ay naka-ground sa tunay na importer, hindi sa grep ng Copilot.

// workflow 03

Palitan ang pangalan ng isang shared class, hanapin muna ang bawat dependent

copilot> rename PaymentClient → BillingClient

graph::callers(PaymentClient)            12 reference sa 7 package
graph::importers(src/payments/client.ts)  9 importer
graph::extends(PaymentClient)             2 subclass (RetryClient, MockClient)

→ Nagmumungkahi ang Copilot ng migration na may listahan ng file na kasama na.
[exit 0]

Tinatanong ng Copilot ang Maguyva tungkol sa mga dependent bago ito magsimulang mag-edit. Bumabalik ang listahan ng migration na naka-ground sa tunay na graph, hindi sa alaala ng Copilot.

Setup sa GitHub Copilot CLI

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

  1. // step 01

    I-index ang isang repo sa maguyva.ai

    Pumili ng isang alam mo na, para masuri mo ang mga sagot. Mag-sign up nang libre, ikonekta ang GitHub, hintayin ang index.

  2. // step 02

    Idagdag ang Maguyva bilang isang remote MCP server sa 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

    Magtanong ng isang bagay na alam mo na ang sagot

    Huwag magsimula sa buong kumpanya. Magtanong ng isang bagay na alam mo na ang sagot, pagkatapos ay buksan ang binanggit na file.