docs: add Doc folder with architecture, rules, updater lifecycle, and project memory

This commit is contained in:
CAtlas0784 committed 2026-10-30 21:36:24 +07:00
1 parent 0a97749a1c
commit 3411e5b058
7 files changed
+414

No files matched your search

+43
View File
@@ -0,0 +1,43 @@
# 📚 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`](../pkg/constant/constant.go)) |
| **กฎเหล็กอันดับ 3** | **ระบบอัปเดต:** โหลดลง Temp -> Build ใน Temp -> แทนที่ตัวเก่า -> ลบ Temp ทิ้ง 100% |
---
## 📑 สารบัญเอกสารในโฟลเดอร์นี้
1. [**ARCHITECTURE.md**](./ARCHITECTURE.md)
* สถาปัตยกรรมโครงสร้างโปรเจกต์ Wails v3, Frontend React 19, และ Backend Services ทั้ง 5 ตัว
2. [**DEVELOPMENT_RULES.md**](./DEVELOPMENT_RULES.md)
* กฎ 6 ข้อในการพัฒนา และบทเรียนจาก Horoyoi-san & โปรเจกต์เดิม (Ananta / GaC-hkrpg-go)
3. [**UPDATER_SYSTEM.md**](./UPDATER_SYSTEM.md)
* กลไกและวงจรชีวิตของระบบ Auto-Updater และ Local Build (Temp Isolation, Rollback, Cleanup)
4. [**HISTORY_AND_LOGS.md**](./HISTORY_AND_LOGS.md)
* ไทม์ไลน์และประวัติการพัฒนาตั้งแต่เริ่มรวม 2 Repos จนถึงฟีเจอร์ปัจจุบัน
---
## 🤖 คำแนะนำสำหรับ AI Agent (เมื่อตื่นขึ้นมาหลัง Compact)
หากพบว่าความจำใน context ถูกย่อ (compacted):
1. **อ่านไฟล์ในโฟลเดอร์นี้ก่อนเริ่มทำงานเสมอ** เพื่อคืนบริบทของโปรเจกต์ทั้งหมด
2. เช็คว่ากำลังอยู่บน branch `Dev` หรือไม่ ด้วยคำสั่ง `git status`
3. ก่อน commit โค้ดใดๆ ต้องรัน:
* `go vet ./...` (ต้องผ่าน 100%)
* `npm --prefix frontend run build` (ต้องผ่าน 100%)
4. สื่อสารกับผู้ใช้เป็นภาษาไทยที่กระชับ ตรงประเด็น และรายงานผลการทำงานอย่างชัดเจน