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