ship — 將工作部署至生產環境 (git + gh)
平台無關的部署工作流程。不允許繞過,沒有捷徑。
推送前:本地 CI 流程(推送前所有檢查皆為綠色)
- 格式化 —
cargo fmt --check/prettier --check/ruff format --check - 語法檢查 —
cargo clippy -- -D warnings/eslint/ruff check - 型別檢查 —
cargo check/npx tsc --noEmit - 測試 —
cargo test/npm test/pytest(顯示輸出) - 建置 —
cargo build/npm run build
如果某個步驟失敗:修正後重新執行所有檢查。絕不推送已知失敗的程式碼。
流程
- 專用分支(絕不直接在
main上工作)。 - 按階段提交,使用傳統提交訊息,並附上證據(SHA/PR/CI)。
git push該分支。- 開啟 PR:摘要 + 測試計畫(如果該儲存庫使用 5 段模板)。
- 監控 CI:
gh pr checks <n>— 所有狀態皆為 SUCCESS 後再繼續。 - 合併:僅使用合併提交(絕不壓縮,絕不變基 — 保留歷史記錄以供並行代理使用)。
- 合併後:刪除該分支,將本地
main快轉,回報合併提交的 SHA。
人工審核閘道(停下來 — 先詢問)
- 合併至
main會影響分支保護 / 安全 / 授權 / 發佈基礎設施 (#1) - 強制推送至
main(#2) — 未經明確確認,一律禁止 - CI 未完全通過 → 不要合併任何待處理或失敗的項目
檢閱評論
每條評論(無論來自人類或機器人)都必須經過分析、理解並妥善解決 — 絕不能
默默解決,也不能僅觸及引述行而忽略實質內容的「修正」。
在討論串上回覆你做了什麼以及原因,然後再解決。請參閱 skills/review。