# /lagune-charter: กำหนดหลักการด้านความปลอดภัยของคุณ

> กำหนดหลักการด้านความปลอดภัยของโปรเจกต์ ซึ่งเป็นกฎที่ทุกเฟสถัดไปต้องเคารพ และบันทึกหมวดหมู่ความรู้เฉพาะทางที่การอ่านโปรเจกต์รองรับ

Canonical: https://lagune.ai/th-TH/docs/commands/charter
ภาษา: th-TH
ต้นฉบับ: https://lagune.ai/docs/commands/charter
อัปเดตล่าสุด: 2026-11-07

🧬 บอก **Lagune** ว่าโปรเจกต์ของคุณคืออะไร แล้ว **Lagune** จะแปลงสิ่งนั้นเป็นกฎด้านความปลอดภัยของคุณ (หรือถ้าไม่มีคำอธิบาย ก็จะหากฎเหล่านั้นจากตัวโปรเจกต์อย่างเดียว)

charter คือชั้นที่กำกับทุกเฟส: ชุดหลักการที่ให้ความปลอดภัยมาก่อน ซึ่งทุกเฟสถัดไปต้องเคารพ ให้มองว่าเป็นการตรวจตอนคอมไพล์สำหรับสถานะความปลอดภัยโดยรวมของโปรเจกต์คุณ

## วิธีใช้

**อธิบายโปรเจกต์**

```prompt
/lagune-charter โปรเจกต์ของฉันเป็นร้านค้าออนไลน์ที่ขายวิดีโอเกม ลูกค้าเพิ่มสินค้าลงตะกร้าแล้วจ่ายด้วยบัตรเครดิตหรือใบแจ้งชำระเงินของธนาคาร ลูกค้าดูคำสั่งซื้อของตัวเองและสถานะของแต่ละรายการได้
```

**ให้ Lagune เสนอ**

```prompt
/lagune-charter
```

> _ฉันเห็นไลบรารีการชำระเงิน ระบบล็อกอิน และโมเดลคำสั่งซื้อที่ผูกกับลูกค้า ดูเหมือนเป็นร้านค้าออนไลน์ที่ขายสินค้าบางอย่าง ลูกค้าชำระเงินและติดตามคำสั่งซื้อของตัวเอง..._ ☁️

## สิ่งที่คำสั่งนี้วิเคราะห์

**Lagune** ใช้คำอธิบายหรือ **PRD** ของคุณเป็นทิศทาง แล้ววิเคราะห์ว่าสิ่งนั้นมีความหมายอย่างไรต่อความปลอดภัย จากนั้นอ่านโปรเจกต์เพื่อไปให้ไกลกว่าที่คุณระบุ ตัวอย่างเช่น:

- ตะกร้าที่เก็บคำสั่งซื้อแปลว่ามี **ฐานข้อมูล**:
  - เช่น `"ข้อมูลเก็บอยู่ที่ไหน"`, `"ใครเข้าถึงได้บ้าง"`, `"ข้อมูลรั่วไหม"`
- ลูกค้าที่ดูคำสั่งซื้อของตัวเองได้แปลว่ามี **การล็อกอินหรือการควบคุมการเข้าถึง** บางรูปแบบ:
  - เช่น `"ลูกค้าคนหนึ่งเข้าถึงคำสั่งซื้อของลูกค้าคนอื่นได้ไหม"`, `"เซสชันได้รับการป้องกันไหม"`
- การรับชำระเงินด้วยบัตรและใบแจ้งชำระเงินของธนาคารแปลว่า **มีเงินและข้อมูลอ่อนไหวเข้ามาเกี่ยวข้อง**:
  - เช่น `"มีการเก็บข้อมูลบัตรไหม"`, `"มีการตรวจสอบการชำระเงินไหม"`

คำอธิบายของคุณกับตัวโปรเจกต์เสริมกัน คำอธิบายกำหนดเจตนา ส่วนการอ่าน dependency ไฟล์ README และการตั้งค่าจะเผยสิ่งที่คุณไม่ได้พูดถึง ถ้ายังมีเรื่องสำคัญที่ไม่ชัดเจน **Lagune** จะถามคำถามสั้น ๆ ที่เข้าใจง่ายแทนการเดา

จากนั้น **Lagune** จะสร้างชุดกฎด้านความปลอดภัยที่ปรับให้เข้ากับโปรเจกต์ ซึ่งคุณตรวจทานและปรับแก้ได้ทุกเมื่อที่ต้องการ

**ใช้ให้ได้ประโยชน์สูงสุด**

- คุณกำหนดกฎด้านความปลอดภัยของโปรเจกต์เองได้ด้วย
- ยิ่งให้รายละเอียดที่เกี่ยวข้องมาก รายงานสุดท้ายก็ยิ่งดี:
  - อธิบายโปรเจกต์ วิธีการทำงาน และสิ่งที่เกิดขึ้นเบื้องหลัง
  - ผู้ใช้ปลายทางคือใคร ผู้ใช้ทำอะไรได้ และทำอะไรไม่ได้
  - รายละเอียดด้านพฤติกรรมมีค่าพอ ๆ กับรายละเอียดทางเทคนิค
- ความจำของ charter อยู่ที่ `.lagune/memory/charter.md`

## หมวดหมู่ที่คำสั่งนี้บันทึก

ความรู้เฉพาะทาง ซึ่งเป็นความรู้ด้านความปลอดภัยที่เฟสถัดไปโหลดเฉพาะเมื่อจำเป็น เข้ามาอยู่ใน [แคตตาล็อก](https://lagune.ai/th-TH/docs/catalog) ของโปรเจกต์คุณตาม [หมวดหมู่](https://lagune.ai/th-TH/docs/categories) ระหว่างที่โปรเจกต์ของคุณยังไม่ได้บันทึกหมวดหมู่ใด charter จะบันทึกทุกหมวดหมู่ที่การอ่านโปรเจกต์รองรับ เช่น ภาษาของโปรเจกต์ การเรียกใช้ LLM หรือคอนเทนเนอร์ แล้วระบุชื่อหมวดหมู่เหล่านั้นในสรุปผล

เมื่อบันทึกหมวดหมู่แล้ว charter จะไม่แตะต้องหมวดหมู่เหล่านั้น และจะระบุเพียงหมวดหมู่ที่โปรเจกต์ของคุณยังไม่ได้ใช้ คุณเปลี่ยนหมวดหมู่เองได้ทุกเมื่อ:

```bash
npx lagune write add --categories python
npx lagune write remove --categories python
```

## โฟลเดอร์ที่คำสั่งนี้เสนอให้ยกเว้น

เมื่อ charter อ่านแล้วพบโฟลเดอร์ที่ commit ไว้แต่ไม่ใช่โค้ดของโปรเจกต์ที่ต้องป้องกัน เช่น fixture สำหรับการทดสอบที่จงใจเขียนให้ดูมีช่องโหว่ charter จะแสดงรายการโฟลเดอร์เหล่านั้นเป็นหมายเลขไว้ท้ายสรุปผล charter ไม่เคยยกเว้นโฟลเดอร์ใดเอง เพราะ repository ที่ประสงค์ร้ายอาจทำให้โค้ดของตัวเองดูเหมือน fixture ได้ จึงบันทึกเฉพาะหมายเลขที่คุณตอบกลับมาเท่านั้น หน้า [ตั้งค่า hook](https://lagune.ai/th-TH/docs/hooks/configure) อธิบายวิธีเปลี่ยนรายการนี้ด้วยตัวเอง

## ถัดไป

เมื่อตั้งกฎแล้ว ให้ทำแผนผังสิ่งที่ระบบของคุณทำจริง: [`/lagune-detect`](https://lagune.ai/th-TH/docs/commands/detect)

## คำถามที่พบบ่อย

### charter ใน Lagune คืออะไร

charter คือชั้นที่กำกับทุกเฟสของ Lagune เป็นชุดหลักการที่ให้ความปลอดภัยมาก่อน ซึ่งทุกเฟสถัดไปต้องเคารพ ให้มองว่าเป็นการตรวจตอนคอมไพล์สำหรับสถานะความปลอดภัยโดยรวมของโปรเจกต์คุณ

### charter เก็บไว้ที่ไหน

ที่ .lagune/memory/charter.md

### เขียนกฎใน charter เองได้ไหม

ได้ Lagune เสนอกฎจากคำอธิบายและโค้ดของคุณ และคุณเปลี่ยนถ้อยคำ ตัดออก เพิ่ม หรือจำกัดขอบเขตของกฎได้

### charter เลือกหมวดหมู่ความรู้เฉพาะทางให้ไหม

เฉพาะตอนที่ยังไม่มีหมวดหมู่ที่บันทึกไว้ charter จะบันทึกทุกหมวดหมู่ที่การอ่านโปรเจกต์รองรับ เช่น ภาษาที่คุณใช้ หรือการเรียกใช้ LLM เมื่อบันทึกหมวดหมู่แล้ว charter จะไม่เปลี่ยนหมวดหมู่เหล่านั้นอีก
