ข้ามไปที่เนื้อหา

สำหรับผู้ใช้ GitHub Copilot CLI

Copilot เริ่มทุกเซสชันโดยไม่รู้อะไรเลย

คำสั่งที่กำหนดเองบอก Copilot ว่าควรทำงานอย่างไร แต่ไม่ได้บอกว่ามีอะไรอยู่ในโค้ดของคุณ Maguyva จัดทำดัชนีโค้ดเบสและส่งกลับผ่าน MCP เพื่อให้ GitHub Copilot CLI แก้ไขราวกับว่าได้อ่านโค้ดแล้ว

แผน Free: รีโพซิทอรี 3 แห่ง, บรรทัดที่ทำดัชนีสูงสุด 50,000 บรรทัด ไม่ต้องใช้บัตรเครดิต

ใช้คำสั่งเพื่อกำหนดพฤติกรรม ใช้ Maguyva เพื่อข้อเท็จจริงล่าสุดของโค้ดเบส

สแต็กที่แบ่งเป็นชั้น

สี่แนวคิด แต่ละอย่างทำหน้าที่ของตัวเอง

// ข้อตกลง

copilot-instructions.md

Copilot ควรทำตัวยังไงในรีโพนี้

// การส่งผ่าน

MCP

วิธีที่ Copilot เอื้อมไปหยิบเครื่องมือและบริบทจากภายนอก

// โค้ดเบส

Maguyva

เซิร์ฟเวอร์ MCP ที่คืนข้อเท็จจริงของรีโพที่มีหลักฐานอ้างอิง

// ใครจ่ายเงิน

เวิร์กสเปซ ไม่ใช่ที่นั่ง

ไม่คิดค่าบริการต่อที่นั่งสำหรับเอเจนต์ ดูราคา

คำสั่งที่กำหนดเองคือข้อตกลงการทำงาน ใช้มันให้เป็นประโยชน์

# .github/copilot-instructions.md
- ให้ความสำคัญกับขอบเขตโมดูลที่มีอยู่
- รันคำสั่งทดสอบของ repo ก่อนเสนอ merge
- อย่าสร้างเส้นทางไฟล์ขึ้นมาเอง ถามก่อนสร้างแพ็กเกจใหม่

คำสั่งที่ใช้ถาวรควรอยู่ใน .github/copilot-instructions.md นี่คือที่ที่เหมาะสมสำหรับ:

  • คำสั่ง build, test และ lint ที่ Copilot ควรรัน
  • กฎ “ทำ X เสมอ / ห้ามทำ Y” ที่จำกัดเฉพาะ repo นี้
  • หลักการตั้งชื่อและความชอบในการรีวิว
  • ตัวชี้ไปยังบันทึกการตัดสินใจ — ไม่ใช่การดัมป์ทุกสัญลักษณ์

ไฟล์นั้นไม่เคยเป็นดัชนีที่สืบค้นได้ของ repo มันบอก Copilot ว่าควรทำงานอย่างไร แต่ไม่ได้บอกว่ามีอะไรอยู่ตรงนั้น

จุดที่คำสั่งที่กำหนดเองใช้ไม่ได้ผลเมื่อขยายขนาด

สี่โหมดความล้มเหลวที่ Copilot ไม่สามารถแก้ไขได้จากไฟล์ markdown เพียงไฟล์เดียว

// คำสั่งไม่ใช่ดัชนี

Telling Copilot how to behave does not tell it which class owns parseConfig, or which package actually implements the public API. การแก้ไขครั้งแรกในโครงสร้างที่ไม่คุ้นเคยเป็นเพียงการเดาโครงสร้างไฟล์

// เอกสารล้าสมัยได้ แต่โค้ดไม่

บล็อกคำสั่งที่อธิบายขั้นตอนการยืนยันตัวตนของไตรมาสที่แล้วจะผิดอย่างชัดเจนในวันที่มีคนแยก session store Copilot will prefer the file you committed over the code that shipped.

// การพึ่งพาไม่ได้อยู่ใน markdown

“อะไร import สิ่งนี้?” is a graph question. คำสั่งไม่สามารถแสดงรายการผู้เรียกใช้ทุกรายได้ และคุณก็คงไม่อยากให้เป็นแบบนั้นด้วย

// context window มีงบประมาณจำกัด

การยัด repo เข้าไปในคำสั่งมากขึ้นคือการแลก reasoning token กับภาพรวมที่ล้าสมัย เกินสองสามกิโลไบต์ คุณกำลังจ่ายเพื่อแผนที่ที่แย่กว่า

Maguyva ในฐานะเลเยอร์เพิ่มเติม

Copilot คิดในรูปแบบคำสั่งและเครื่องมืออยู่แล้ว

copilot-instructions.md

ข้อตกลง

Copilot ทำงานอย่างไร

MCP

ช่องทาง

มันเข้าถึงได้อย่างไร

Maguyva

ข้อเท็จจริงของโค้ดเบส

มันเห็นอะไรบ้าง

  • แผนที่ของ repo ที่สืบค้นได้ ให้บริการผ่าน MCP ในรูปแบบเซิร์ฟเวอร์ streamable-HTTP ระยะไกล
  • เครื่องมือที่ใช้งานได้จริง 11 รายการ ครอบคลุมการค้นหาแบบ semantic, structural (AST), graph และ text รวมถึงสัญลักษณ์ ส่วนที่พึ่งพา และการดึงไฟล์
  • ผลลัพธ์ที่จัดอันดับพร้อมเส้นทางไฟล์และหมายเลขบรรทัด ครอบคลุมมากกว่า 284 ภาษาและเทคโนโลยีที่ใช้ข้อความ
  • การตั้งค่าเดียว workspace เดียวกันตอบใน Copilot, Claude Code, Cursor, Codex และไคลเอนต์ที่รองรับ MCP อื่น ๆ

คำสั่งที่กำหนดเองบอก Copilot ว่าควรทำงานอย่างไร

Maguyva มอบแผนที่ของโค้ดที่สืบค้นได้ให้กับ Copilot

สามเวิร์กโฟลว์

ถามแผนที่ก่อนที่คุณจะยอมรับ diff

// workflow 01

ค้นหาการทำงานจริง ไม่ใช่ test stub

copilot> normalizePhoneNumber จัดการรูปแบบ E.164 อย่างไร?

semantic::query("normalize phone E.164")
  src/util/phone.ts:88   normalizePhoneNumber()   ← การทำงานจริง
  test/util/phone.spec.ts:14  jest.mock(...)      ← stub

→ Copilot เปิดการทำงานจริง ไม่ใช่ mock
[exit 0]

ชื่ออาจหลอกได้ Mock บดบังโค้ดจริง Maguyva จัดอันดับการทำงานจริงไว้เหนือ mock ของการทดสอบ

// workflow 02

ตรวจสอบขอบเขตผลกระทบก่อนรีแฟกเตอร์

copilot> อะไรเรียกใช้ QueueDispatcher.publish?

graph::callers(QueueDispatcher.publish)
  3 รายการใน src/billing/*    1 รายการใน src/audit/*    1 รายการใน src/notifications/*

→ diff มีพื้นฐานจาก importer จริง
[exit 0]

จุดเรียกใช้งานข้ามแพ็กเกจปรากฏแบบอินไลน์ diff มีพื้นฐานจาก importer จริง ไม่ใช่ grep ของ Copilot

// workflow 03

เปลี่ยนชื่อคลาสที่ใช้ร่วมกัน ค้นหาทุกส่วนที่พึ่งพาก่อน

copilot> rename PaymentClient → BillingClient

graph::callers(PaymentClient)            12 การอ้างอิงใน 7 แพ็กเกจ
graph::importers(src/payments/client.ts)  9 importer
graph::extends(PaymentClient)             2 subclass (RetryClient, MockClient)

→ Copilot เสนอการย้ายระบบพร้อมรายการไฟล์แบบอินไลน์
[exit 0]

Copilot ถาม Maguyva เกี่ยวกับส่วนที่พึ่งพาก่อนเริ่มแก้ไข รายการการย้ายระบบกลับมาโดยมีพื้นฐานจากกราฟจริง ไม่ใช่ความทรงจำของ Copilot

การตั้งค่าใน GitHub Copilot CLI

สามขั้นตอน แผน Free: รีโพซิทอรี 3 แห่ง, บรรทัดที่ทำดัชนีสูงสุด 50,000 บรรทัด ไม่ต้องใช้บัตรเครดิต

  1. // step 01

    จัดทำดัชนี repo หนึ่งรายการที่ maguyva.ai

    เลือก repo ที่คุณรู้จักอยู่แล้ว เพื่อให้คุณประเมินคำตอบได้ สมัครฟรี เชื่อมต่อ GitHub แล้วรอการจัดทำดัชนี

  2. // step 02

    เพิ่ม Maguyva เป็นเซิร์ฟเวอร์ MCP ระยะไกลใน 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

    ถามคำถามที่คุณรู้คำตอบอยู่แล้ว

    อย่าเริ่มด้วยทั้งบริษัท ถามคำถามที่คุณรู้คำตอบอยู่แล้ว จากนั้นเปิดไฟล์ที่ถูกอ้างอิง