ship
Skill: ship
Workflow chốt quanh remote. Chạy checklist điều kiện, DỪNG chờ duyệt trước mọi bước side-effect (push/tag/PR/MR/merge). Năm mức — 4 mức ĐẨY ĐI (outbound) + 1 mức GOM VỀ (inbound): push (đủ mọi bước, không tag) · release (push + tag
vX.Y.Z+ release notes) · pr (push nhánh + mở Pull Request GitHub quagh) · mr (push nhánh + mở Merge Request GitLab quaglab) · merge (liệt kê PR/MR đến → kéo nhánh về → gate+test → merge nếu xanh).
WHAT
Purpose và context
- Purpose: đưa thay đổi ra remote (push/release/PR/MR) hoặc gom PR/MR đến về (merge) CHỈ sau khi checklist điều kiện xanh, và dừng chờ duyệt trước mọi side-effect.
- Trigger (when to use):
- User nhắc "release" / "push" / "ship" / "lên release" / "chuẩn bị push" / "đủ điều kiện push chưa" / "mở PR" / "tạo MR".
- Trước khi đẩy code lên remote, cắt một release, hoặc mở PR/MR để review-then-merge.
- Muốn duyệt-rồi-merge các PR/MR đang mở của repo: "gom PR về merge" / "merge PR nếu test xanh" / "ship merge".
- Non-goals: không tự sửa lỗi gate (việc của
/medic+ skill sửa), không tự đóng issue, không tự cài/authgh/glab.
Mental model
repo_role (framework · module · downstream · foreign) → bảng gate của ĐÚNG loại repo → rồi mới tới chuỗi chung:
mức (push · release · pr · mr · merge) → gate sức khoẻ (medic --ci + ci-local) → UAT remote (chỉ release/pr/mr có năng lực mới) → git sạch → selftest → [version + patch note] → checklist → DỪNG duyệt → side-effect → [UAT pha 2]. Các mức khác nhau ở bước cuối, không ở checklist.