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

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

GEMINI.md บอกกฎของคุณให้ Gemini รู้
แต่ไม่ได้บอกโค้ดของคุณ

GEMINI.md กำหนดบริบทในการทำงาน MCP ให้ Gemini เอื้อมไปหยิบเครื่องมือได้ Maguyva คือเซิร์ฟเวอร์ MCP ที่มอบแผนที่ของรีโพที่สอบถามได้ให้ Gemini ทำให้การแก้ไขครั้งแรกไม่ใช่การเดาโครงสร้างไฟล์

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

GEMINI.md คือบริบท MCP คือช่องทางสื่อสาร Maguyva คือแผนที่

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

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

// บริบท

GEMINI.md

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

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

MCP

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

// โค้ดเบส

Maguyva

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

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

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

เอเจนต์ไม่ต้องจ่ายค่าที่นั่ง ดูราคา

GEMINI.md คือบริบทในการทำงาน ใช้มันให้เต็มที่

คำสั่งที่ต้องคงอยู่ถาวรควรอยู่ใน GEMINI.md มันคือที่ที่เหมาะสำหรับ:

  • คำสั่งบิลด์ เทสต์ และ lint ที่ Gemini ควรรัน
  • กฎแบบ “ต้องทำ X เสมอ / ห้ามทำ Y” ที่จำกัดขอบเขตไว้ในไดเรกทอรีหนึ่งๆ
  • ข้อตกลงการตั้งชื่อและแนวทางการรีแฟกเตอร์
  • ลิงก์ไปยังบันทึกการตัดสินใจและบันทึกสถาปัตยกรรมที่เป็นมาตรฐาน

เขียนให้กระชับ จำกัดขอบเขตไว้ แล้ว commit มันเก็บไว้

แต่ GEMINI.md ไม่เคยถูกออกแบบมาให้เป็นดัชนีที่สอบถามได้ของทุกสัญลักษณ์ ไฟล์ และจุดเรียกใช้ในรีโพของคุณ

จุดที่ GEMINI.md เพียงลำพังไปต่อไม่ไหว

สี่รูปแบบความล้มเหลว การ์ดละหนึ่งแบบ

// บริบทไม่ใช่ดัชนี

การบอก Gemini ว่าต้องทำงานยังไง ไม่ได้บอกว่ามีอะไรอยู่จริง การแก้ไขครั้งแรกในแพ็กเกจที่ไม่คุ้นเคยคือการเดาพาธไฟล์และชื่อฟังก์ชัน GEMINI.md ไม่สามารถลิสต์ทุกสัญลักษณ์ได้ และคุณก็ไม่อยากให้มันเป็นแบบนั้นด้วย

// เอกสารคลาดเคลื่อนจากโค้ด

บล็อกใน GEMINI.md ที่อธิบายโครงสร้างคิวของคุณถูกต้องอยู่จนกว่าจะมีใครเพิ่มคอนซูมเมอร์ใหม่เข้ามา ตอนนี้โค้ดคือแหล่งความจริง ส่วนเอกสารล้าสมัยไปแล้วอย่างมั่นใจ Gemini กลับอ่านอันที่ผิดอยู่

// การเปลี่ยนชื่อคือปัญหาของกราฟ

“มีอะไรอ้างอิงคลาสนี้บ้าง?” ตอบไม่ได้จากไฟล์ markdown Gemini ก็ต้อง grep แล้วภาวนาไปทั่วโมโนรีโพ หรือไม่ก็ขอให้คุณวางจุดเรียกใช้ลงในแชท

// คอนเท็กซ์วินโดว์ไม่ได้มาฟรีๆ

หน้าต่างบริบทที่ใหญ่ ไม่เหมือนกับดัชนีที่สอบถามได้ การโหลด GEMINI.md จน Gemini “รู้พอ” ก็ยังแลกงบประมาณการคิดวิเคราะห์กับปริมาณบริบทนิ่งๆ อยู่ดี

สามชั้นนี้ประกอบกันยังไง

ผู้ใช้ Gemini คิดในรูปแบบนี้อยู่แล้ว หน้านี้แค่ทำให้มันชัดเจนขึ้น

GEMINI.md

บริบท

Gemini ทำตัวยังไง

MCP

ช่องทางสื่อสาร

วิธีที่มันเอื้อมไปหยิบ

Maguyva

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

สิ่งที่มันมองเห็น

  • GEMINI.md Gemini ทำตัวยังไงในรีโพนี้
  • MCP วิธีที่ Gemini เอื้อมไปหยิบเครื่องมือและบริบท (สเปก)
  • Maguyva สิ่งที่ Gemini มองเห็นเมื่อถามคำถามกับโค้ดเบส ผลการค้นหาเชิงความหมาย เชิง AST เชิงกราฟ และเชิงข้อความ พร้อมพาธไฟล์และเลขบรรทัด

GEMINI.md บอก Gemini ว่าต้องทำงานยังไง

Maguyva มอบสิ่งที่ใช้เริ่มทำงานได้ให้ Gemini

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

เฉพาะสำหรับ Gemini อ้างอิงจากกราฟการเรียกใช้จริง ไม่ใช่การ grep ของ Gemini

// workflow 01

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

gemini> PaymentClient → BillingClient เปลี่ยนชื่อ

graph::callers(PaymentClient)            12 การอ้างอิง ครอบคลุม 7 แพ็กเกจ
graph::importers(src/payments/client.ts)  9 ผู้นำเข้า
graph::extends(PaymentClient)             2 คลาสลูก (RetryClient, MockClient)

 Gemini เสนอแผนย้าย 21 จุดแก้ไข พร้อมรายการไฟล์แบบอินไลน์
[exit 0]

Gemini ถาม Maguyva หาผู้ที่พึ่งพาก่อนที่จะเริ่มแก้ไข รายการย้ายที่ได้กลับมาอ้างอิงจากกราฟจริง ไม่ใช่จากความจำของ Gemini

// workflow 02

หาการอิมพลีเมนต์จริง ไม่ใช่ test stub

gemini> normalizePhoneNumber จัดการ E.164 ยังไง?

semantic::query("normalize phone E.164")
  src/util/phone.ts:88   normalizePhoneNumber()   ← ของจริง
  test/util/phone.spec.ts:14  jest.mock(...)      ← stub
[exit 0]

ชื่อบอกอะไรไม่ได้เสมอไป mock บดบังโค้ดจริงได้ Maguyva จัดอันดับการอิมพลีเมนต์จริงให้อยู่เหนือ test mock

// workflow 03

เช็ครัศมีผลกระทบก่อนรีแฟกเตอร์

gemini> อะไรเรียก QueueDispatcher.publish บ้าง?

graph::callers(QueueDispatcher.publish)
  3 ครั้งใน src/billing/*    1 ครั้งใน src/audit/*    1 ครั้งใน src/notifications/*
[exit 0]

จุดเรียกใช้ข้ามแพ็กเกจโผล่ขึ้นมาให้เห็นทันที การเปลี่ยนแปลงอ้างอิงจากผู้นำเข้าจริง ไม่ใช่การ grep ของ Gemini

ตั้งค่าใน Gemini CLI

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

  1. // step 01

    ทำดัชนีรีโพที่ maguyva.ai

    เลือกรีโพที่คุณรู้จักดี เพื่อให้ตรวจสอบคำตอบได้

  2. // step 02

    เพิ่ม Maguyva เป็นเซิร์ฟเวอร์ MCP ในการตั้งค่า Gemini CLI ของคุณ

    // ~/.gemini/settings.json
    {
      "mcpServers": {
        "maguyva": {
          "httpUrl": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer <your-key>"
          }
        }
      }
    }
  3. // step 03

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

    อย่าเริ่มจากทั้งบริษัทของคุณ เริ่มจากรีโพเดียวและคำถามเดียวที่ตรวจสอบได้