Pre-PR check
ทำทุกข้อ แล้วรายงานเป็นตาราง ผ่าน/ไม่ผ่าน พร้อมหลักฐาน (คำสั่งและผลย่อ)
-
make checkต้องผ่านทั้งหมด (docs-check, lint + SAST, test, build, license) — ยกเว้น 2 กรณี:- PR เอกสารอย่างเดียว (
docs(design): …, ADR, docs):make docs-checkผ่านพอ - repo ที่ยังไม่เลือก stack (target พิมพ์
not configured— ADR-0001 ยังไม่ accepted): target นั้นรายงานเป็น N/A (ยังไม่ตั้งค่า) ไม่ใช่ผ่าน และไม่ใช่เหตุให้หยุด — ห้ามแก้ recipe ให้exit 0เพื่อให้ผ่าน
และ
make e2eถ้าเปลี่ยนสิ่งที่ผู้ใช้เห็น (เพิ่ม/แก้ e2e ด้วย) และmake dastถ้าแตะ middleware, header, cookie, หน้า error หรือ route ใหม่ - PR เอกสารอย่างเดียว (
-
git diff origin/main...HEAD --stat— ดูว่าแตะเฉพาะไฟล์ที่เกี่ยวกับงาน ไม่มีไฟล์หลุด (build output, .env, ไฟล์ส่วนตัว) -
log ชั่วคราวที่ลืมลบ:
git diff origin/main...HEAD | grep -n '\[DBG-'ต้องไม่เจอ (fix-bugข้อ 3) -
หา secret ใน diff:
git diff origin/main...HEAD | grep -nEi '(api[_-]?key|secret|token|password|BEGIN .*PRIVATE KEY)'— ถ้าเจอให้หยุดและแจ้ง -
ตัวแปร env ใหม่อยู่ใน
.env.exampleครบ -
dependency ที่เพิ่ม/อัปเกรด (ดู diff ของ lockfile, go.mod, Dockerfile
FROM): เวอร์ชันและ license ตรงตามdocs/dependencies.mdและระบุใน PR description -
migration ใหม่ (ถ้ามี) รันได้และย้อนกลับได้
-
เอกสาร: README/docs/ADR (
docs/adr/) อัปเดตตามที่เปลี่ยน; คำใหม่ของโดเมนอยู่ใน CONTEXT.md และชื่อในโค้ดตรงกับ CONTEXT.md -
รีวิวตาม skill
review(Claude Code: subagentreviewer; agent อื่น: อ่าน.agents/skills/review/SKILL.mdแล้วตรวจ diff ตัวเอง) และแก้ข้อ "ต้องแก้" ก่อน -
commit message เป็น Conventional Commits และ branch ไม่ใช่
main -
PR description มี
Closes #<issue>(ไม่มี issue ให้เปิดก่อน) และหัวข้อ## CHANGELOG(หมวด + 1 บรรทัดภาษาไทยมุมผู้ใช้ หรือ-) — ไม่แก้CHANGELOG.mdเอง (docs/release.md) -
แตะ UI: ไม่มีข้อความ hardcode, key ครบทุกภาษา, ไม่มีค่าสีตรง ๆ, ดูแล้วทั้ง
th/en× light/dark (docs/ui.md)
ถ้าข้อใดไม่ผ่าน ห้ามเปิด PR ให้แก้ก่อนหรือรายงานว่าติดอะไร