Show HN: A local merge queue for parallel Claude Code agents
개요
Claude Code 에이전트들을 위한 로컬에서 실행되는 제로 코스트 병렬 머지 큐는 동시에 여러 에이전트가 코드를 병합, 빌드, 테스트할 때 발생할 수 있는 푸시 경쟁, 중복 빌드, 공유 리소스 테스트 불안정 문제를 직렬화하여 방지합니다.
주요 내용
* 로컬 실행 및 비용 절감: GitHub의 Merge Queue와 달리 로컬 머신에서 실행되며, GitHub Actions 사용 시간을 소모하지 않아 비용이 발생하지 않습니다.
* 병렬 작업 직렬화: 여러 Claude Code 에이전트가 동시에 코드를 푸시하고 빌드, 테스트하는 작업을 순차적으로 처리하여 충돌 및 중복을 방지합니다.
* 쉬운 설정: claude-code-merge-queue.config.mjs 파일 하나로 모든 설정을 관리하며, integrationBranch, checkCommand 등은 자동 감지됩니다.
* 핵심 명령어 제공:
* hook worktree-create: Claude Code의 WorktreeCreate 훅과 통합합니다.
* build-lock -- <cmd>: 빌드 명령어를 직렬화하여 실행합니다.
* land: FIFO 큐를 통해 레인(lane)을 통합 브랜치로 리베이스 및 푸시합니다.
* sync: 메인 체크아웃을 최신 상태로 동기화하고 의존성을 재설치합니다.
* promote: 통합 브랜치를 프로덕션으로 배포합니다 (인간 전용).
* preview: 현재 작업 중인 레인의 라이브 작업 트리를 즉시 미러링합니다.
* port: 레인의 개발 서버 포트를 출력합니다.
* prune: 완료된 형제 레인 작업 트리를 삭제합니다.
* 자동화된 사전 검증: pre-push 훅을 통해 land 명령어를 필수로 만들고, checkCommand 통과 여부로만 병합을 허용합니다.
* 비상 탈출구: CLAUDE_CODE_MERGE_QUEUE_EMERGENCY_PUSH=1 환경 변수를 사용하여 모든 차단을 우회할 수 있습니다.
* 제한 사항: 인간 검토가 포함되지 않으며, checkCommand 통과가 유일한 게이트입니다. 한 대의 머신에서만 실행되며, 리소스 제한으로 인해 처리량이 제한될 수 있습니다. 리베이스 충돌 시에는 자동으로 취소됩니다.
* 라이선스: MIT 라이선스로 자유롭게 포크하고 수정할 수 있습니다.
시사점
이 도구는 개인 개발자나 소규모 팀이 로컬 환경에서 Claude Code 에이전트의 코드 병합 프로세스를 효율적으로 관리하고 잠재적인 충돌 및 중복 작업을 방지하는 데 실질적인 도움을 줄 수 있으며, GitHub Enterprise Cloud와 같은 특정 환경에 종속되지 않고 모든 리포에서 활용 가능하다는 장점을 가집니다.
댓글
GitHub Discussions