Skip to content

Latest commit

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Workshop: Claude Code + GitHub

คู่มือ + ชุด template สำหรับทีม เพื่อให้ทุก repo ทำงานด้วยมาตรฐานเดียวกัน และใช้ Claude Code อย่างที่ควบคุมผลลัพธ์ได้จริง ไม่ใช่ "สั่งแล้วหวังว่ามันจะถูก"

ปัญหาที่ repo นี้แก้

อาการที่เจอสาเหตุจริงแก้ที่
Claude แก้โค้ดเกินที่สั่ง / ผิด convention ของ repoไม่มี CLAUDE.md ให้มันอ่านdocs/02
PR ใหญ่จนไม่มีใครกล้ารีวิวไม่มีข้อตกลงเรื่องขนาด PRdocs/03
โค้ดพังบน main แต่บนเครื่องผ่านไม่มี CI เป็น required checkdocs/04
repo A แก้แล้ว repo B พังโดยไม่มีใครรู้ไม่มี CODEOWNERS / ไม่มี contractdocs/05
แต่ละ repo ตั้งค่าไม่เหมือนกันตั้งค่าด้วยมือทีละ reposcripts/

เริ่มยังไง

ถ้าคุณเป็นผู้เข้าร่วม workshop — อ่าน docs/01-setup.md ให้เครื่องพร้อมก่อนวันงาน แล้วค่อยไล่ docs/02docs/05 ตามลำดับ

ถ้าคุณเป็นคนจัด — เริ่มที่ docs/00-agenda.md

ถ้าคุณจะเอาไปใช้กับ repo จริงเลย

# 1. ติดตั้ง template ลง repo เป้าหมาย
./scripts/bootstrap-repo.sh --repo ~/work/my-service --stack python
# 2. เปิด branch protection บน main
./scripts/apply-ruleset.sh myorg/my-service --checks ci
# 3. ตรวจว่า repo ไหนในองค์กรยังขาดอะไร
./scripts/audit-repos.sh myorg

สารบัญ

เอกสารเนื้อหา
00Agendaตาราง half-day + วิธีคุมแต่ละช่วง (สำหรับคนจัด)
01เตรียมเครื่องgh, git identity, Claude Code, secret scanning
02ใช้ Claude Code ให้ควบคุมได้CLAUDE.md, plan mode, permission, การจัด context
03Branch / PR / Reviewtrunk-based, Conventional Commits, ขนาด PR, วิธีรีวิว
04CI + branch protectiongate job, workflow ต่อ stack, rulesets, secrets
05หลาย repo หลายทีมCODEOWNERS, เปลี่ยน contract 3 จังหวะ, audit ทั้ง org
06Claude บน GitHub@claude ใน PR, auto review, ความปลอดภัย (ของเสริม)
99Cheatsheetคำสั่งที่ใช้ทุกวัน, กู้ของที่พัง, ตารางแก้ปัญหา

โครงสร้าง

docs/ handbook อ่านเรียงตามลำดับ
templates/ ไฟล์ที่ก๊อปไปวางใน repo จริงได้เลย — ดู templates/README.md
scripts/ เครื่องมือติดตั้ง/ตรวจสอบมาตรฐาน (ต้องมี gh + jq)
check-setup.sh ตรวจว่าเครื่องพร้อมไหม
bootstrap-repo.sh ติดตั้ง template ลง repo
apply-ruleset.sh เปิด branch protection
audit-repos.sh สแกนทั้ง org ว่าขาดอะไร
validate.sh ตรวจ repo นี้เอง (CI เรียกตัวเดียวกัน)

แก้ repo นี้เอง

repo นี้ก็ทำตามกติกาของตัวเอง — ทุกอย่างเข้าผ่าน PR ที่ CI เขียว

git switch -c docs/แก้อะไรสักอย่าง
# ...แก้...
./scripts/validate.sh # รันตัวเดียวกับที่ CI รัน
gh pr create --fill

validate.sh ตรวจ: YAML/JSON ใน templates/ ใช้ได้จริง · ทุก ci-*.yml มี gate job ชื่อ ci ที่รอครบทุก job และมี if: always() · scripts/*.sh ผ่าน shellcheck และมี executable bit · ลิงก์ภายในไม่ตาย · ไม่มี token หรืออีเมลจริงหลุดเข้า repo สาธารณะ

สิ่งที่ต้องมีก่อน

  • git >= 2.34, gh >= 2.40 (login แล้ว), jq >= 1.6
  • Claude Code และ login แล้ว (claude แล้วพิมพ์ /login)
  • สิทธิ์ admin บน repo ที่จะตั้ง branch protection (ถ้าไม่มี ให้ข้ามไปหา org admin)

ข้อตกลงที่ repo นี้ยึด

  1. main ต้อง deploy ได้ตลอดเวลา — ทุกอย่างเข้าผ่าน PR ที่ CI เขียว
  2. PR หนึ่งอัน = การเปลี่ยนแปลงหนึ่งเรื่อง — ไม่เกิน ~400 บรรทัดที่เปลี่ยนจริง
  3. Claude เขียนได้ แต่ คนเป็นคนรับผิดชอบ diff — ห้าม merge สิ่งที่ตัวเองอ่านไม่รู้เรื่อง
  4. Secret ไม่เคยอยู่ในโค้ด — อยู่ใน GitHub Secrets หรือ .env ที่ถูก gitignore

About

Workshop: Claude Code + GitHub — handbook ภาษาไทย + template และ script สำหรับทำให้ทุก repo ของทีมเป็นมาตรฐานเดียวกัน

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages