เวิร์กช็อป
เวิร์กช็อปสร้างแอป & โค้ด
6 · สร้างแอป & โค้ด

ตั้ง hooks อัตโนมัติ

ให้ Claude Code ทำงานอัตโนมัติตาม event

0%
ความคืบหน้าเวิร์กช็อป
รู้ใน 30 วิ

Hooks คือ คำสั่งที่รันเองอัตโนมัติเมื่อเกิด event ใน Claude Code เช่น พอแก้ไฟล์เสร็จก็จัดฟอร์แมตหรือรันเทสให้ทันที ตั้งครั้งเดียวในไฟล์ settings

event เกิด แล้วสั่งรันเองPostToolUse หลังแก้ไฟล์auto-format / รันเทสเอง

ดู Claude Code ตั้ง hook ให้

บอกสิ่งที่อยากให้ทำอัตโนมัติ มันเขียน config ให้

ดู Claude Code ทำงาน
คุณตั้ง hook ให้ทุกครั้งที่แก้ไฟล์ .py เสร็จ ให้รัน black จัดฟอร์แมตอัตโนมัติ
  • เปิดอ่าน .claude/settings.json ดูว่ามี hook เดิมอยู่ไหม
  • เพิ่ม event PostToolUse ที่ match เครื่องมือ Edit|Write
  • ใส่คำสั่งให้รัน black กับไฟล์ที่เพิ่งถูกแก้
  • บันทึกไฟล์ แล้วอธิบายว่าต้องเปิดเซสชันใหม่ hook ถึงจะทำงาน
  • เสร็จ ต่อไปแก้ไฟล์ Python เสร็จเมื่อไหร่ ฟอร์แมตเองทันที

ส่วนประกอบของ hook

3 อย่างนี้ประกอบกันเป็น hook หนึ่งตัว

1

Event

จังหวะที่ hook ทำงาน เช่น PostToolUse (หลังใช้เครื่องมือ), Stop (จบงาน)

2

Matcher

กรองว่าให้รันกับเครื่องมือไหน เช่น Edit|Write คือเฉพาะตอนแก้หรือสร้างไฟล์

3

Command

คำสั่ง shell ที่จะรัน เช่น สั่ง formatter หรือ npm test ตั้งใน settings.json

Hook เป็นคำสั่งที่ ระบบรันให้เองตาม event ไม่ใช่ Claude ตัดสินใจรัน เหมาะกับงานซ้ำ ๆ ที่อยากให้เกิดทุกครั้งแน่นอน เช่น จัดฟอร์แมต

ลองเลยจับมือทำ
  1. เปิด claude ในโปรเจกต์ แล้วพิมพ์ /hooks เพื่อดูและจัดการ hook ผ่านเมนู
  2. หรือให้ Claude Code ตั้งให้เลยด้วย Prompt นี้ มันจะแก้ไฟล์ settings ให้
    พิมพ์ Prompt นี้
    ช่วยตั้ง hook ใน .claude/settings.json ให้หน่อย ทุกครั้งที่มีการแก้หรือสร้างไฟล์ (Edit หรือ Write) ให้รัน [คำสั่งจัดฟอร์แมตของผม เช่น npx prettier --write] กับไฟล์นั้นอัตโนมัติ อธิบายด้วยว่า config ที่ใส่แต่ละส่วนทำอะไร
  3. เปิดไฟล์ .claude/settings.json ดูว่ามีบล็อก PostToolUse พร้อม matcher และ command ครบ
  4. ปิดแล้วเปิดเซสชัน Claude Code ใหม่ เพื่อให้ hook เริ่มทำงาน
  5. ลองให้ Claude Code แก้ไฟล์สักไฟล์ แล้วสังเกตว่าคำสั่งจัดฟอร์แมตรันเองหลังแก้เสร็จ
ลองใช้ Prompt นี้
ช่วยตั้ง hook ให้ทุกครั้งที่แก้ไฟล์เสร็จ ให้รัน [คำสั่งเทสของผม เช่น npm test] โดยอัตโนมัติ ถ้าเทสไม่ผ่าน ให้แสดงผลลัพธ์ออกมาด้วย แล้วบอกผมว่าต้องทำอะไรเพิ่มเพื่อให้ hook เริ่มทำงาน
สรุปเวิร์กช็อป
  • Hook คือคำสั่งที่ระบบรันให้เองตาม event เหมาะกับงานซ้ำ ๆ เช่น auto-format หรือรันเทส
  • หัวใจของ hook คือ event + matcher + command ตั้งไว้ในไฟล์ .claude/settings.json
  • ให้ Claude Code เขียน config ให้ได้ แล้วเปิดเซสชันใหม่ hook ถึงจะเริ่มทำงาน