ผู้ใช้ Claude Code ส่วนใหญ่มักรู้จัก
.claude/
โฟลเดอร์นี้ แต่ไม่เคยเปิดมันจริงจัง Akshay นักพัฒนา AI ได้รวบรวมคำแนะนำฉบับสมบูรณ์เพื่อวิเคราะห์หน้าที่ของแต่ละไฟล์ในโฟลเดอร์นี้ รวมถึงวิธีตั้งค่าที่จะทำให้ Claude ทำงานตามที่คุณต้องการอย่างเต็มที่
สองโฟลเดอร์ ไม่ใช่หนึ่ง
ก่อนอื่นต้องชี้แจงความเข้าใจผิดกันบ่อย:
.claude/
โฟลเดอร์นี้มีสองระดับ ไม่ใช่หนึ่ง
ระดับโปรเจกต์ (โปรเจกต์ของคุณ/.claude/) : เก็บการตั้งค่าร่วมกันของทีม ส่งเข้า Git เพื่อให้ทุกคนได้รับกฎและคำสั่งเดียวกัน
ระดับทั่วโลก (~/.claude/) : การตั้งค่าความชอบส่วนตัวและการตั้งค่าข้ามโปรเจกต์ มีผลเฉพาะเครื่องของคุณเท่านั้น
CLAUDE.md : ไฟล์สำคัญที่สุด
ทุกครั้งที่เริ่มต้นช่วงทำงาน Claude Code สิ่งแรกที่ Claude จะอ่านคือ
CLAUDE.md
และโหลดเข้าเป็น system prompt เพื่อให้ปฏิบัติตามคำสั่งในไฟล์นี้อย่างต่อเนื่องตลอดการสนทนา
เนื้อหาที่ควรเขียน:
คำสั่ง build, test, lint (เช่น npm run test)
การตัดสินใจด้านสถาปัตยกรรมที่สำคัญ
ข้อควรระวังที่ไม่ชัดเจน (เช่น “เปิด strict mode ของ TypeScript แล้ว ตัวแปรที่ไม่ได้ใช้จะรายงานข้อผิดพลาด”)
แนวทางการตั้งชื่อและการจัดการข้อผิดพลาด
เนื้อหาที่ไม่ควรเขียน: กฎของ linter, เอกสารฉบับเต็ม, คำอธิบายทฤษฎีที่ยาวเกินไป
Akshay แนะนำให้ควบคุม CLAUDE.md ให้อยู่ในประมาณ 200 บรรทัด — หากเกินกว่านี้ การปฏิบัติตามคำสั่งของ Claude จะลดลง เนื่องจากใช้ context มากเกินไป
rules/ : โฟลเดอร์โมดูลคำสั่ง เหมาะสำหรับการขยายทีม
เมื่อ CLAUDE.md เริ่มหนาขึ้นเรื่อยๆ
.claude/rules/
คือทางออก ไฟล์ Markdown แต่ละไฟล์แทนจุดสนใจ เช่น code-style.md, testing.md, api-conventions.md Claude จะอ่านไฟล์ทั้งหมดโดยอัตโนมัติ
ที่ทรงพลังยิ่งขึ้นคือ “กฎช่วงเส้นทาง” : เพิ่ม YAML front matter ในไฟล์กฎ เพื่อให้กฎเหล่านั้นโหลดเฉพาะเมื่อ Claude จัดการไฟล์ในเส้นทางที่กำหนดเท่านั้น ช่วยลดภาระใน context
commands/ : โฟลเดอร์คำสั่งแบบกำหนดเอง
ไฟล์ Markdown แต่ละไฟล์ใน
.claude/commands/
จะกลายเป็นคำสั่ง slash เช่น review.md จับคู่กับ /project:review, fix-issue.md จับคู่กับ /project:fix-issue
ฟังก์ชันที่ใช้งานได้จริงที่สุดคือ การใช้
!
ในไฟล์คำสั่งเพื่อรัน shell command และแทรกผลลัพธ์ เช่น การดึง git diff อัตโนมัติใส่ prompt ทำให้ Claude “เห็น” การเปลี่ยนแปลงโค้ดของคุณจริงๆ คำสั่งใน ~/.claude/commands/ สำหรับคำสั่งส่วนตัวก็สามารถใช้ได้ในทุกโปรเจกต์
skills/ กับ agents/ : การเรียกใช้งานอัตโนมัติ vs. การกำหนด sub-agent
ความแตกต่างหลักของ Skills กับ agents อยู่ที่วิธีการ trigger:
Skills : Claude จะวิเคราะห์เนื้อหาในสนทนาโดยอัตโนมัติว่าควรเรียกใช้งานหรือไม่ โดยไม่ต้องพิมพ์คำสั่งเอง แต่ละ skill มีโฟลเดอร์และไฟล์ SKILL.md ของตัวเอง และสามารถแนบไฟล์สนับสนุนได้
Agents : กำหนดบุคลิกของ sub-agent ที่มีระบบ prompt, เครื่องมือ และการตั้งค่ารุ่นโมเดลเป็นอิสระ เมื่อภารกิจซับซ้อน Claude จะ spawn context window แยกต่างหากเพื่อให้ agent ทำงาน โดยไม่รบกวนช่วงงานหลัก
ในส่วนของ
tools
ของ agents สามารถจำกัดขอบเขตการทำงานของ sub-agent เช่น ตัวแทนด้านความปลอดภัยที่มีสิทธิอ่านเท่านั้น ไม่ควรมีสิทธิเขียน ส่วน model ก็สามารถเลือกใช้โมเดลที่เบากว่าเพื่อประหยัดต้นทุน
settings.json : รายชื่ออนุญาตและบล็อก
ไฟล์
.claude/settings.json
ควบคุมว่า Claude ได้รับอนุญาตหรือห้ามทำอะไรบ้าง:
allow list : อนุญาตให้ทำโดยตรงโดยไม่ถาม (เช่น npm run *, git *)
deny list : ห้ามทำโดยสมบูรณ์ (เช่น rm -rf *, อ่านไฟล์ .env)
คำสั่งที่ไม่ได้อยู่ในรายการจะให้ Claude ถามก่อนดำเนินการ
การตั้งค่าส่วนตัวสามารถเก็บใน
.claude/settings.local.json
ซึ่งจะถูก gitignore อัตโนมัติและไม่ถูกส่งขึ้น repo
เริ่มต้นจากตรงไหน?
คำแนะนำของ Akshay สำหรับการเริ่มต้นที่ใช้งานได้ดีคือ: เริ่มด้วยคำสั่ง
/init
เพื่อสร้าง CLAUDE.md เบื้องต้น เพิ่มการตั้งค่าใน settings.json จากนั้นสร้างคำสั่งกำหนดเองที่ใช้งบ่อยที่สุดอีกหนึ่งสองคำสั่ง แล้วค่อยๆ เพิ่มตามการใช้งานจริง
แก่นของความเข้าใจคือ:
โฟลเดอร์ .claude/
คือข้อตกลงที่บอก Claude ว่า “คุณคือใคร, โปรเจกต์คืออะไร, ควรปฏิบัติตามกฎอะไร” การตั้งค่าให้ชัดเจนจะช่วยลดเวลาที่ใช้ในการแก้ไขข้อผิดพลาดของ Claude ได้มากขึ้น
บทความนี้อธิบายให้เข้าใจอย่างลึกซึ้งเกี่ยวกับโฟลเดอร์ .claude/ : ศูนย์กลางการควบคุม Claude Code, การวิเคราะห์ CLAUDE.md, คำสั่ง, Skills และการตั้งค่าการอนุญาต ทั้งหมดในบทความเดียว