// ข้อตกลง
copilot-instructions.md
Copilot ควรทำตัวยังไงในรีโพนี้
สำหรับผู้ใช้ GitHub Copilot CLI
คำสั่งที่กำหนดเองบอก Copilot ว่าควรทำงานอย่างไร แต่ไม่ได้บอกว่ามีอะไรอยู่ในโค้ดของคุณ Maguyva จัดทำดัชนีโค้ดเบสและส่งกลับผ่าน MCP เพื่อให้ GitHub Copilot CLI แก้ไขราวกับว่าได้อ่านโค้ดแล้ว
แผน Free: รีโพซิทอรี 3 แห่ง, บรรทัดที่ทำดัชนีสูงสุด 50,000 บรรทัด ไม่ต้องใช้บัตรเครดิต
ใช้คำสั่งเพื่อกำหนดพฤติกรรม ใช้ Maguyva เพื่อข้อเท็จจริงล่าสุดของโค้ดเบสสี่แนวคิด แต่ละอย่างทำหน้าที่ของตัวเอง
// ข้อตกลง
Copilot ควรทำตัวยังไงในรีโพนี้
// การส่งผ่าน
วิธีที่ Copilot เอื้อมไปหยิบเครื่องมือและบริบทจากภายนอก
// โค้ดเบส
เซิร์ฟเวอร์ MCP ที่คืนข้อเท็จจริงของรีโพที่มีหลักฐานอ้างอิง
// ใครจ่ายเงิน
ไม่คิดค่าบริการต่อที่นั่งสำหรับเอเจนต์ ดูราคา
# .github/copilot-instructions.md
- ให้ความสำคัญกับขอบเขตโมดูลที่มีอยู่
- รันคำสั่งทดสอบของ repo ก่อนเสนอ merge
- อย่าสร้างเส้นทางไฟล์ขึ้นมาเอง ถามก่อนสร้างแพ็กเกจใหม่คำสั่งที่ใช้ถาวรควรอยู่ใน .github/copilot-instructions.md นี่คือที่ที่เหมาะสมสำหรับ:
ไฟล์นั้นไม่เคยเป็นดัชนีที่สืบค้นได้ของ 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.
“อะไร import สิ่งนี้?” is a graph question. คำสั่งไม่สามารถแสดงรายการผู้เรียกใช้ทุกรายได้ และคุณก็คงไม่อยากให้เป็นแบบนั้นด้วย
การยัด repo เข้าไปในคำสั่งมากขึ้นคือการแลก reasoning token กับภาพรวมที่ล้าสมัย เกินสองสามกิโลไบต์ คุณกำลังจ่ายเพื่อแผนที่ที่แย่กว่า
Copilot คิดในรูปแบบคำสั่งและเครื่องมืออยู่แล้ว
copilot-instructions.md
ข้อตกลง
Copilot ทำงานอย่างไร
MCP
ช่องทาง
มันเข้าถึงได้อย่างไร
Maguyva
ข้อเท็จจริงของโค้ดเบส
มันเห็นอะไรบ้าง
คำสั่งที่กำหนดเองบอก Copilot ว่าควรทำงานอย่างไร
Maguyva มอบแผนที่ของโค้ดที่สืบค้นได้ให้กับ Copilot
ถามแผนที่ก่อนที่คุณจะยอมรับ diff
// workflow 01
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
สามขั้นตอน แผน Free: รีโพซิทอรี 3 แห่ง, บรรทัดที่ทำดัชนีสูงสุด 50,000 บรรทัด ไม่ต้องใช้บัตรเครดิต
// step 01
เลือก repo ที่คุณรู้จักอยู่แล้ว เพื่อให้คุณประเมินคำตอบได้ สมัครฟรี เชื่อมต่อ GitHub แล้วรอการจัดทำดัชนี
// step 02
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"
}
}
}
}// step 03
อย่าเริ่มด้วยทั้งบริษัท ถามคำถามที่คุณรู้คำตอบอยู่แล้ว จากนั้นเปิดไฟล์ที่ถูกอ้างอิง