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 상태여야 진행. - 병합: merge-commit만 사용 (절대 squash나 rebase 금지 — 병렬 에이전트를 위해 히스토리 보존).
- 병합 후: 브랜치 삭제, 로컬
main을 fast-forward, 병합 커밋 SHA 보고.
인간 게이트 (STOP — 먼저 물어보기)
- 브랜치 보호 / 보안 / 라이선스 / 릴리스 인프라에 영향을 미치는
main으로의 병합 (#1) main으로의 강제 푸시 (#2) — 명시적 확인 없이 항상 금지- CI가 완전히 녹색이 아님 → 대기/실패 상태인 것은 병합하지 않음
리뷰 댓글
모든 댓글 (인간 또는 봇)은 분석되고 이해된 후 잘 해결되어야 하며, 절대 조용히 해결하거나 인용된 줄만 수정하는 '수정'으로 본질을 무시하지 않음. 스레드에 수행한 작업과 이유를 답변한 후 해결. skills/review 참조.