เตรียม Context จาก Git Repository ให้ AI ด้วย Repomix และ Gitingest
รวมโครงสร้างและไฟล์สำคัญของ repository เป็น context ที่ LLM อ่านง่าย พร้อม exclude generated files และ secrets เพื่อให้ AI วิเคราะห์โค้ดได้ตรงระบบมากขึ้น

ภาพรวม
ถ้าเคยโยน GitHub repo ให้ AI Agent แล้วได้คำตอบมั่ว ๆ ปัญหาอาจไม่ใช่โมเดลโง่เสมอไป บางทีเราให้ context มันไม่ครบตั้งแต่แรก
Repomix และ Gitingest คือเครื่องมือสาย “ย่อย repo ให้ AI อ่าน” หน้าที่ของมันเรียบง่ายมาก แปลงทั้งโปรเจกต์ให้กลายเป็นไฟล์หรือข้อความเดียว ที่มีโครงสร้างพอให้ LLM เข้าใจว่าไฟล์ไหนอยู่ตรงไหน โค้ดส่วนไหนเกี่ยวกับอะไร และควรเริ่มวิเคราะห์จากจุดใด 🤖
ภาพที่เจอบ่อยคือเราเปิด coding assistant แล้วถามว่า “ช่วย refactor auth flow ให้หน่อย” แต่ส่งไปแค่ไฟล์ controller หนึ่งไฟล์ AI จึงไม่เห็น middleware ไม่เห็น schema ไม่เห็น test ไม่เห็น config สุดท้ายคำตอบเลยดูฉลาด แต่ใช้จริงไม่ได้
Repomix แก้โจทย์นี้ด้วยแนวคิด pack repository มันอ่าน tree ของโปรเจกต์ คัดไฟล์ที่ควรใช้ ตัดไฟล์ที่ไม่ควรใส่ เช่น node_modules, dist, lock บางแบบ, binary แล้วรวมออกมาเป็นไฟล์เดียวที่ AI-friendly เหมาะกับเอาไปวางใน ChatGPT, Claude, Gemini หรือโยนให้ agent ที่ต้อง review repo ทั้งก้อน
ตัวอย่างใช้งานจริง มี repo Express + React + Prisma เราอยากให้ AI ช่วยหา bug เรื่อง permission แทนที่จะ copy ทีละไฟล์ เราสร้าง context pack ก่อน แล้วถามว่า “อ่าน repo นี้แล้วอธิบาย authorization flow ทั้งระบบ บอกจุดเสี่ยง และเสนอ patch ที่กระทบไฟล์น้อยที่สุด” คำถามแบบนี้จะดีขึ้นมาก เพราะ AI เห็นภาพรวมก่อนลงมือ
Gitingest ไปอีกทางที่เร็วและ social กว่า หลายคนชอบเพราะ concept จำง่ายมาก เปลี่ยน github.com เป็น gitingest.com แล้วได้ digest ของ repo ที่เอาไป prompt ต่อได้ทันที เหมาะกับการอ่าน repo คนอื่นแบบเร็ว ๆ เช่นเจอโปรเจกต์ใหม่บน GitHub แล้วอยากถาม AI ว่า “โปรเจกต์นี้ทำอะไร ใช้ stack อะไร และมี entry point ตรงไหน”
ความต่างแบบจำง่าย Repomix เหมาะกับงานจริงจัง คุม config ได้ ใช้ใน CLI/CI ได้ Gitingest เหมาะกับการ ingest เร็ว อ่าน repo public ง่าย ทั้งคู่ไม่ได้มาแทน git clone แต่มาช่วยเปลี่ยน repo ให้กลายเป็น context ที่ LLM กินง่ายขึ้น
จุดที่ต้องระวังคือ context ไม่ได้แปลว่าต้องใส่ทุกอย่าง ใส่เยอะเกินไป AI ก็หลงได้เหมือนกัน ไฟล์ generated, minified, snapshot ใหญ่ ๆ, dataset, secret example ควรถูก exclude ก่อนเสมอ โดยเฉพาะ .env, private key, token, internal URL อย่าคิดว่า “แค่ส่งให้ AI” แล้วไม่มีความเสี่ยง 🔐
อีก pitfall คือ repo ใหญ่เกิน token budget ถ้า pack ทั้ง monorepo แล้วถามคำถามเล็ก ๆ AI อาจเสียแรงอ่าน noise มากกว่าสัญญาณ แนวทางที่ดีกว่าคือ pack เฉพาะ folder ที่เกี่ยวข้อง เช่น apps/api + packages/auth + prisma แล้วค่อยขยาย context ถ้าคำตอบยังขาด
สำหรับทีม dev เครื่องมือแบบนี้มีประโยชน์มากใน workflow ใหม่ ใช้ก่อน onboarding เพื่อให้ AI สรุป architecture ใช้ก่อน code review เพื่อถาม risk map ใช้ก่อน migration เพื่อหา dependency ที่ซ่อนอยู่ ใช้กับ issue ยาก ๆ เพื่อให้ agent เข้าใจทั้งเส้นทางของ bug
แต่คำสั่ง prompt สำคัญไม่แพ้ตัว tool อย่าถามแค่ว่า “อธิบาย repo นี้” ให้ถามแบบมีเป้าหมาย เช่น “สรุป request lifecycle จาก route ถึง database” “หาไฟล์ที่ต้องแก้ถ้าจะเพิ่ม OAuth provider” “บอก test ที่ควรเพิ่มก่อน refactor payment flow” คำถามชัด context ดี ผลลัพธ์จะต่างมาก ⚙️
สรุปคือ Repomix / Gitingest คือสะพานระหว่าง GitHub repo กับ AI Agent มันทำให้เราไม่ต้องเล่าโปรเจกต์จากความจำ แต่ให้ agent อ่านจาก source จริงมากขึ้น สำหรับยุค coding assistant นี่ไม่ใช่ของเล่น แต่เป็นทักษะพื้นฐานของการเตรียม context ให้ถูกก่อนสั่ง AI ทำงาน
แนวทางนำไปใช้
- นำแนวคิดจากโพสต์นี้ไปทดลองกับงานจริงของคุณ
- แยกเป็นขั้นตอนเล็ก ๆ แล้วทำทีละส่วน
- บันทึกผลลัพธ์และสิ่งที่เรียนรู้เพื่อต่อยอด
สรุป
รวมโครงสร้างและไฟล์สำคัญของ repository เป็น context ที่ LLM อ่านง่าย พร้อม exclude generated files และ secrets เพื่อให้ AI วิเคราะห์โค้ดได้ตรงระบบมากขึ้น