Continuous Claude: Claude Code를 계속 실행하며 자율적으로 PR 생성 및 병합하기

Continuous Claude 소개

Continuous Claude는 Anthropic의 'Claude Code' CLI 도구를 연속적인 루프(Loop)로 실행하여, 자율적으로 코드를 수정하고 Pull Request(PR)를 생성하며, CI/CD 테스트 통과 시 병합(Merge)까지 수행하는 자동화 워크플로우 도구입니다. 개발자가 잠을 자는 동안에도 대규모 리팩토링이나 테스트 커버리지 확보와 같은 다단계 프로젝트를 AI가 스스로 진행할 수 있도록 돕습니다.

일반적인 AI 코딩 도구들은 사용자가 요청한 작업을 한 번 수행하면 종료되는 "일회성(One-shot)" 패턴을 따릅니다. 이 때문에 AI가 스스로 결과물을 검토하거나, 수십 개의 파일에 걸친 대규모 작업을 연속적으로 수행하기 어렵습니다. Continuous Claude는 이러한 한계를 극복하기 위해 CI/CD 파이프라인과 지속적 에이전트(Persistent Agent) 개념에서 영감을 받아 만들어졌습니다. AI가 작업을 작은 단위로 쪼개어 수행하고, 각 단계의 맥락(Context)을 유지하며 다음 단계로 넘어가는 구조를 취합니다.

이 도구는 특히 "테스트 커버리지를 0%에서 80%로 높이기"와 같이 반복적이고 지루하지만 중요한 작업에 유용합니다. 단순히 코드를 생성하는 것을 넘어, 실제로 GitHub PR을 생성하고 CI 체크(테스트, 린트 등)가 통과될 때까지 기다렸다가, 통과되면 병합하고 실패하면 작업을 폐기하거나 다시 시도하는 전체 수명 주기를 관리합니다.

Continuous Claude의 주요 기능

작동 원리 (The Loop)

Continuous Claude는 continuous_claude.sh 스크립트를 통해 다음과 같은 과정을 반복합니다.

  1. 브랜치 생성: 새로운 작업 브랜치를 생성합니다.
  2. Claude Code 실행: 사용자의 프롬프트에 따라 코드를 수정하거나 테스트를 작성합니다.
  3. 커밋 및 푸시: 변경 사항을 커밋하고 원격 저장소에 푸시합니다.
  4. PR 생성: GitHub CLI(gh)를 사용하여 PR을 생성합니다.
  5. 검증 대기: GitHub Actions 등의 CI 체크가 통과하고, 필요한 코드 리뷰가 완료될 때까지 대기합니다.
  6. 병합 또는 폐기: 모든 체크가 통과하면 PR을 병합(Merge)하고, 실패하면 해당 작업을 폐기(Discard)한 후 다음 반복에서 새로운 접근을 시도합니다.
  7. 반복: 최신 main 브랜치를 당겨오고(Pull), 다음 작업을 위해 위 과정을 반복합니다.

맥락 유지 (Context Persistence)

이 도구의 핵심은 SHARED_TASK_NOTES.md 파일입니다. AI에게 "전체 목표를 한 번에 달성하려 하지 말고, 의미 있는 진전을 이룬 뒤 다음 반복을 위해 명확한 메모를 남기라"고 지시합니다. 이를 통해 AI는 이전 단계의 실패 원인이나 다음 단계의 우선순위를 스스로 파악하고 자가 발전(Self-improvement)하는 모습을 보여줍니다.

설치 방법

Mac이나 Linux 환경에서 다음 명령어로 간편하게 설치할 수 있습니다. claude(Claude Code CLI), gh(GitHub CLI), jq가 사전에 설치되어 있어야 합니다.

# 설치 스크립트 실행
curl -fsSL https://raw.githubusercontent.com/AnandChowdhary/continuous-claude/main/install.sh | bash

사용 예시

설치 후에는 다음과 같이 실행할 수 있습니다. 반복 횟수나 예산 한도를 설정할 수 있어 API 비용을 제어하기 용이합니다.

기본 실행 (테스트 커버리지 향상)

continuous-claude --prompt "모든 코드가 커버될 때까지 유닛 테스트를 추가해줘" --max-runs 5 --owner [사용자명] --repo [저장소명]

예산 제한 실행 (최대 10달러)

continuous-claude --prompt "문서화 작업 수행" --max-cost 10.00 --owner [사용자명] --repo [저장소명]

병렬 실행 (Git Worktree)
여러 작업을 동시에 수행하고 싶다면 worktree 기능을 사용하여 충돌 없이 병렬로 에이전트를 돌릴 수 있습니다.

# 터미널 1
continuous-claude -p "유닛 테스트 추가" -m 5 ... --worktree tests

# 터미널 2
continuous-claude -p "문서 추가" -m 5 ... --worktree docs

주요 옵션 플래그

  • -p, --prompt: Claude에게 전달할 작업 지시 사항 (필수)
  • -m, --max-runs: 최대 반복 횟수 (0으로 설정 시 무한 반복)
  • --max-cost: 최대 허용 비용 (USD)
  • --merge-strategy: 병합 전략 (squash, merge, rebase 중 선택, 기본값 squash)
  • --disable-commits: 커밋이나 PR 생성 없이 테스트 실행 (디버깅용)
  • --notes-file: 맥락 공유를 위한 메모 파일 경로 지정 (기본값 SHARED_TASK_NOTES.md)

라이선스

Continuous Claude 프로젝트는 MIT License 하에 배포되고 있습니다. 자유롭게 수정 및 배포가 가능하며 상업적 이용에도 제한이 거의 없습니다.

:house: Continuous Claude 공개 블로그

:github: Continuous Claude 프로젝트 GitHub 저장소




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

1개의 좋아요