📚 G-Launcher Developer & AI Memory Documentation (Doc/)
แหล่งรวบรวมข้อมูลสถาปัตยกรรม กฎการพัฒนา รายละเอียดระบบ และประวัติการทำโปรเจกต์ (ใช้สำหรับนักพัฒนาและให้ AI อ่านทบทวนบริบททุกครั้งหลังเกิดการ Compact)
🎯 สรุปข้อมูลหลักที่ห้ามลืม (Master Quick Reference)
| หัวข้อ | ข้อมูลสำคัญ |
|---|---|
| ชื่อโปรเจกต์ | G-Launcher (Go + Wails v3 + React 19 + Vite) |
| เจ้าของโปรเจกต์ | GaCy |
| Remote Repository | https://gaytea.cod-algieba.ts.net/GaCy/G-Launcher.git |
| Active Branch | Dev เท่านั้น (ห้าม push ตรงเข้า main หรือ branch อื่น) |
| โครงสร้างรากฐาน | ผสมผสาน UI/Proxy จาก Firefly_Launcher + Core Tools/Rollback จาก horoyoi-san/game-Launcher |
| กฎเหล็กอันดับ 1 | แก้ระบบหลังบ้าน (Go Backend) ก่อน UI เสมอ (go vet ./... ต้องผ่านก่อนแก้ Frontend) |
| กฎเหล็กอันดับ 2 | ห้าม Hardcode URL / IP / Path สัมบูรณ์ (รวมไว้ที่ pkg/constant/constant.go) |
| กฎเหล็กอันดับ 3 | ระบบอัปเดต: โหลดลง Temp -> Build ใน Temp -> แทนที่ตัวเก่า -> ลบ Temp ทิ้ง 100% |
📑 สารบัญเอกสารในโฟลเดอร์นี้
📌 เอกสารส่งต่อสถานะหลักและสัญญาทางเทคนิค (Core Handoff & Technical Contracts)
- G-LAUNCHER-HANDOFF.md
- 🌟 เอกสารหลักที่ต้องอ่านเป็นไฟล์แรกหลัง Compact: สรุปสถานะงานแบบแยกชั้น (โค้ด/บิลด์/ดีพลอย/ยืนยันผล), กับดัก 5 ข้อที่ห้ามพลาด, และ Checklist ก่อน Commit
- updater-temp-lifecycle.md
- สัญญาทางเทคนิคของระบบอัปเดต 4 ขั้นตอน: การจัดการ Temp Workspace, การเลี่ยง Windows Process Lock, และระบบ Atomic Rollback
- wails3-ipc-bindings-contract.md
- สัญญาการสื่อสาร Wails v3 IPC, ระบบ Type-Safe Bindings, และเหตุผลทางสถาปัตยกรรมที่ต้องทำ Go Backend ก่อน Frontend UI
- diff-patching-engine.md
- กลไกการแพตช์ไฟล์ตัวเกมด้วย HPatchz (
.hdiff), Zift (.ziff), การสกัดเครื่องมือจาก Embed Assets, และระบบ Safe Backup
- กลไกการแพตช์ไฟล์ตัวเกมด้วย HPatchz (
- git-runtime-mingit.md
- สถาปัตยกรรม Portable MinGit: การตรวจจับและดาวน์โหลดอัตโนมัติโดยไม่ต้องใช้สิทธิ์ Administrator และการป้องกัน Terminal Hang
- game-selection-persistence.md
- ระบบบันทึกพาธตัวเกมแบบทนทานต่อ Crash ด้วย Windows API
MoveFileExเพื่อป้องกันปัญหาไฟล์ JSON กลายเป็น 0 ไบต์
- ระบบบันทึกพาธตัวเกมแบบทนทานต่อ Crash ด้วย Windows API
- thai-localization-mod.md
- ระบบแปลภาษาไทย 2 ระดับ: Launcher UI (i18next) และ Game Modding (การแพตช์ไบต์ใน ExcelData พร้อมระบบกู้คืน)
- upstream-merge-audit.md
- ตารางแจกแจงที่มาของโค้ด (File Attribution Matrix) จากทั้ง Firefly Launcher และ Horoyoi-san
🏛️ เอกสารสถาปัตยกรรมและกฎการพัฒนาทั่วไป
- ARCHITECTURE.md
- สถาปัตยกรรมโครงสร้างโปรเจกต์ระดับสูง Wails v3, Frontend React 19, และ Backend Services ทั้ง 5 ตัว
- DEVELOPMENT_RULES.md
- กฎ 6 ข้อในการพัฒนา และบทเรียนจาก Horoyoi-san & โปรเจกต์เดิม (Ananta / GaC-hkrpg-go)
- UPDATER_SYSTEM.md
- ภาพรวมและ Sequence Diagram ของระบบ Auto-Updater และ Local Build
- HISTORY_AND_LOGS.md
- ไทม์ไลน์และประวัติการพัฒนาตั้งแต่เริ่มรวม 2 Repos จนถึงปัจจุบัน
🤖 คำแนะนำสำหรับ AI Agent (เมื่อตื่นขึ้นมาหลัง Compact)
หากพบว่าความจำใน context ถูกย่อ (compacted):
- อ่านไฟล์ในโฟลเดอร์นี้ก่อนเริ่มทำงานเสมอ เพื่อคืนบริบทของโปรเจกต์ทั้งหมด
- เช็คว่ากำลังอยู่บน branch
Devหรือไม่ ด้วยคำสั่งgit status - ก่อน commit โค้ดใดๆ ต้องรัน:
go vet ./...(ต้องผ่าน 100%)npm --prefix frontend run build(ต้องผ่าน 100%)
- สื่อสารกับผู้ใช้เป็นภาษาไทยที่กระชับ ตรงประเด็น และรายงานผลการทำงานอย่างชัดเจน