Pre-PR 檢查
執行所有步驟,並以表格報告 通過/未通過 狀態,附上證據(指令與簡要結果)。
-
make check必須全部通過(docs-check、lint + SAST、test、build、license)— 但以下兩種情況例外:- 僅文件型 PR(
docs(design): …、ADR、docs):只需make docs-check通過即可 - 尚未選定技術棧的 repository(目標顯示
not configured— ADR-0001 尚未 accepted):該目標回報為 N/A(尚未設定),既不算通過也不算失敗原因 — 請勿修改 recipe 讓其exit 0以強制通過
另外,若變更影響使用者可見內容(需新增/修改 e2e 測試)請執行
make e2e;若觸及 middleware、header、cookie、錯誤頁面或新路由,請執行make dast - 僅文件型 PR(
-
git diff origin/main...HEAD --stat— 確認只觸及與任務相關的檔案,無遺漏的產出物(build output、.env、個人檔案) -
遺留的暫存日誌:
git diff origin/main...HEAD | grep -n '\[DBG-'不得找到任何結果(fix-bug第 3 項) -
在 diff 中搜尋機密資訊:
git diff origin/main...HEAD | grep -nEi '(api[_-]?key|secret|token|password|BEGIN .*PRIVATE KEY)'— 若找到則停止並通知 -
新的環境變數都已加入
.env.example -
新增/升級的相依性(查看 lockfile、go.mod、Dockerfile
FROM的 diff):版本與授權需符合docs/dependencies.md,並在 PR 描述中註明 -
新的資料庫遷移(如有)必須可執行且可回滾
-
文件:README、docs、ADR(
docs/adr/)需根據變更內容更新;領域新詞需放入 CONTEXT.md,且程式碼中的名稱需與 CONTEXT.md 一致 -
根據
review技能進行程式碼審查(Claude Code:使用子代理reviewer;其他代理:讀取.agents/skills/review/SKILL.md後自行檢查 diff),並處理所有「必須修正」的項目 -
commit message 需符合 Conventional Commits 規範,且分支名稱不得為
main -
PR 描述需包含
Closes #<issue>(若無 issue 請先建立),以及## CHANGELOG標題(類別 + 一行繁體中文的使用者視角說明,或使用-)— 請勿直接修改CHANGELOG.md(參考docs/release.md) -
若觸及 UI:不得有硬編碼文字,所有語言的 key 必須完整,不得有直接使用的顏色值,並確保在
th/en及 light/dark 主題下皆正常(參考docs/ui.md)
若任一項檢查未通過,請勿開啟 PR,應先修正問題或回報卡關原因。