Skip to content

커밋·푸시 워크플로 ​

CI 비용은 푸시 횟수에 비례한다(측정: CI_COST_GUIDE). 2026-09-07 PortalConsole은 하루 70커밋을 1~3분 간격으로 올렸고, 같은 날 검증이 70회 돌아 약 105분을 썼다. 그중 대부분은 같은 주제(조직 트리 버튼)를 계속 고친 미세 수정이었다.

규칙 ​

  1. 커밋은 작업 단위로 한 번 — 파일을 고칠 때마다 커밋하지 않는다. 한 작업이 끝나면 한 커밋으로 묶는다.
  2. 푸시는 작업이 끝날 때 한 번 — 중간 편집은 로컬에 둔다.
  3. 검증은 로컬에서 먼저 — pnpm check · pnpm test 를 돌리고, 원격 검증은 통과 확인용으로 한 번만 쓴다.
  4. PR을 기본 경로로 — main 직푸시는 푸시마다 검증이 돌지만, PR은 PR 단위로 돈다.
  5. CI 생략 키워드는 검증이 무의미한 커밋에만 — 버전 범프·생성 파일. 문서 게시가 필요한 커밋에는 쓰지 않는다(게시도 함께 건너뛰어진다). 스쿼시 머지 제목에 넣으면 main 검증까지 건너뛴다.
  6. 되돌리기 쉬움은 커밋을 쪼개서 얻지 않는다 — 브랜치·PR 단위로 되돌린다.

도구: scripts/agent-commit.mjs ​

bash
node scripts/agent-commit.mjs --message "feat(admin): 조직 트리 버튼 계약 정리" --body "근거 한두 줄" --push
옵션뜻
--message커밋 요약(필수)
--body커밋 본문
--push커밋 뒤 한 번만 푸시한다(앞선 미푸시 커밋도 함께 올라간다)
--dry-run인덱스·커밋을 건드리지 않고 미리보기만
--skip-ci커밋 메시지에 CI 생략 키워드를 붙인다(주의 문구를 출력)
--allow-empty변경이 없어도 커밋

동작은 단순하다 — 변경을 모아 한 커밋 → 푸시 전에 미푸시 커밋 수를 알려준다(묶였는지 눈으로 확인하는 지표) → 한 번 푸시. 변경이 없으면 빈 커밋을 만들지 않고, main 에서는 직푸시 주의를 출력한다.

사본을 각 저장소 scripts/ 에 둔다(원본은 이 저장소). 각 저장소 루트 AGENTS.md 에 같은 규칙이 있다.

효과 ​

하루 커밋푸시검증 실행소모
7070회(편집마다)70회약 105분
705회(작업 단위)5회약 7.5분
701회1회약 1.5분

에이전트 지침에 넣을 한 줄 ​

편집마다 커밋·푸시하지 말고, 작업이 끝나면 node scripts/agent-commit.mjs --message "..." --push 로 한 번에 올려라. 검증이 필요하면 로컬 게이트를 먼저 돌려라.