콘텐츠로 이동

09. 자동화의 힘

Claude Code로 자동화할 수 있는 것들과 그 방법이에요.


무엇을 자동화할 수 있는가?

Claude Code는 단순 코드 생성 도구가 아닙니다. 개발하면서 하는 일 전체를 자동화할 수 있어요.

코드 작성 → 테스트 → 리뷰 → 커밋 → PR → 배포
    ↑         ↑       ↑       ↑      ↑
    모든 단계를 Claude Code가 도와줍니다

1. Git Commit 자동화

기본 사용

/commit

이 한 줄이면 1. 변경된 파일 분석 2. 변경 내용에 맞는 커밋 메시지 자동 생성 (Conventional Commits) 3. 사용자 확인 후 커밋

실제 동작 예시

> /commit

Claude: "변경 사항을 분석했습니다:
- src/auth/login.ts: JWT 검증 로직 추가
- src/auth/login.test.ts: 테스트 케이스 3개 추가

제안 커밋 메시지:
feat(auth): JWT 토큰 검증 로직 및 테스트 추가

이 메시지로 커밋할까요?"

커밋 + 푸시 + PR 한 번에

/commit-push-pr

커밋부터 PR 생성까지 한 번에 처리합니다.


2. PR 자동화

PR 생성

> 지금까지 작업한 내용으로 PR 만들어줘

Claude:
- 브랜치의 모든 커밋 분석
- PR 제목 자동 생성
- 변경 사항 요약 작성
- 테스트 계획 포함
- gh pr create 실행

PR 리뷰

> 이 PR 리뷰해줘: #123

# 또는 OMC 사용
/oh-my-claudecode:code-review

자동으로 리뷰하는 항목은 이렇습니다. - 코드 품질 (안티패턴, 중복) - 보안 취약점 - 성능 이슈 - 테스트 커버리지 - 스타일 가이드 준수


3. 테스트 자동화

TDD 모드

/oh-my-claudecode:tdd

> 사용자 인증 기능 만들어줘

TDD 모드에서는 1. 테스트를 먼저 작성 (Red) 2. 테스트 통과하는 코드 작성 (Green) 3. 리팩토링 (Refactor)

QA 사이클 (ultraqa)

# 테스트 전부 통과할 때까지 반복
/oh-my-claudecode:ultraqa

동작 방식

테스트 실행 → 실패 발견 → 수정 → 다시 테스트 → ...
(최대 5 사이클, 같은 에러 3회 반복 시 중단)

테스트 커버리지 확인

> 현재 테스트 커버리지 확인하고, 부족한 부분 테스트 추가해줘

4. 코드 리뷰 자동화

전체 리뷰

/oh-my-claudecode:code-review

OMC의 코드 리뷰는 5가지 관점에서 동시에 진행됩니다:

관점 에이전트 확인 항목
스타일 style-reviewer 네이밍, 포맷팅, 컨벤션
품질 quality-reviewer 로직 결함, 안티패턴, SOLID
API api-reviewer 계약, 호환성, 버전
보안 security-reviewer OWASP Top 10, 인증/인가
성능 performance-reviewer 복잡도, 메모리, 지연

보안 리뷰만 실행

/oh-my-claudecode:security-review

5. 빌드 에러 자동 수정

/oh-my-claudecode:build-fix

타입 에러, 빌드 실패를 최소한의 변경으로 고쳐줍니다. 아키텍처는 안 건드리고 에러만 잡아요.


6. 병렬 CLI 활용

독립 작업 병렬 처리

터미널을 여러 개 열어서 동시에 다른 일을 시킵니다.

# 터미널 1
claude
> 프론트엔드 로그인 페이지 만들어줘

# 터미널 2
claude
> 백엔드 인증 API 만들어줘

# 터미널 3
claude
> E2E 테스트 시나리오 작성해줘

비대화형 모드로 스크립트 자동화

# CI/CD 파이프라인에서 활용
claude -p "이 PR의 변경사항 리뷰해줘" --output-format json > review.json

# 일괄 처리
for file in src/**/*.ts; do
  claude -p "이 파일의 타입 안전성 검토해줘: $file"
done

CI/CD에서 사용 시 주의

비대화형 모드로 CI에 붙일 때는 API 키 관리에 주의하세요. 환경변수로 주입하되, 로그에 노출되지 않게 --output-format json의 결과만 저장하세요. 토큰 사용량 제한(--max-tokens)도 설정해두는 게 안전합니다.

OMC의 ultrawork 모드

CLI를 직접 여러 개 열 필요 없이, OMC가 알아서 병렬로 돌려줍니다.

ulw 다음 5개 작업을 동시에 처리해줘:
1. UserService 리팩토링
2. OrderService 테스트 작성
3. PaymentService 타입 수정
4. API 문서 업데이트
5. E2E 테스트 추가

7. /loop — 반복 실행 자동화

/loop은 프롬프트나 슬래시 명령을 일정 간격으로 반복 실행하는 기능이에요.

간격 구문

간격은 명령 앞에 붙이거나, 뒤에 붙이거나, 생략할 수 있어요.

# 선행: 간격을 앞에 명시
/loop 30m "빌드 상태 확인하고 실패하면 알려줘"

# 후행: 간격을 뒤에 명시
"열린 PR 목록 확인하고 리뷰 필요한 것 알려줘" every 2 hours

# 생략: 기본 10분 간격
/loop "pnpm test 실행하고 실패하면 수정해줘"

지원하는 시간 단위는 아래와 같아요.

단위 의미
s 초 (1분 미만이면 1분으로 올림)
m
h 시간
d

다른 명령에 루프 걸기

슬래시 명령에도 직접 루프를 걸 수 있어요.

# 20분마다 PR 리뷰 실행
/loop 20m /review-pr 1234

# 5분마다 커밋
/loop 5m /commit

활용 예시

# 30분마다 빌드 상태 확인
/loop 30m "빌드 상태 확인하고 실패하면 알려줘"

# 2시간마다 PR 모니터링
"열린 PR 목록 확인하고 리뷰 필요한 것 알려줘" every 2 hours

# 3분마다 테스트 실행 후 수정
/loop 3m "pnpm test 실행하고 실패하면 수정해줘"

# 1시간마다 의존성 취약점 체크
/loop 1h "npm audit 실행하고 결과 요약해줘"

/loop은 긴 작업을 시키고 다른 일을 하거나, CI 결과를 모니터링할 때 유용해요.


8. Cron — 스케줄 기반 자동화

Claude Code에 cron 스케줄링이 내장되어 있어요. 자연어로 작업을 예약하거나 cron 표현식으로 정밀하게 설정할 수 있습니다.

일회성 리마인더

자연어로 한 번만 실행할 작업을 예약해요. 실행 후 자동 삭제됩니다.

> "3시에 릴리스 브랜치 푸시 알려줘"
> "45분 후에 통합 테스트 확인해줘"

스케줄링 도구

도구 목적
CronCreate 새 작업 스케줄. 5필드 cron 표현식, 프롬프트, 반복/일회성 여부 지정
CronList 모든 스케줄된 작업 목록 조회 (ID, 스케줄, 프롬프트)
CronDelete ID로 특정 작업 취소

자연어로도 관리할 수 있어요.

> "스케줄된 작업 뭐 있어?"
> "배포 체크 작업 취소해줘"

세션 범위 스케줄링 이해

Cron 작업은 현재 실행 중인 Claude Code 프로세스에 귀속돼요. 종료하면 작업도 사라집니다.

  • 반복 작업: 생성 후 3일 만료
  • 세션당 최대 50개 작업
  • Claude가 응답 중일 때는 실행 안 됨 — 유휴 상태에서만 실행
  • 모든 시간은 로컬 타임존 기준

Jitter (실행 시간 분산)

동시 실행을 막기 위해 의도적으로 약간의 오차를 둬요.

  • 반복 작업: 기간의 최대 10% 늦게 실행 (최대 15분)
  • 일회성 작업: 최대 90초 일찍 실행
  • 작업 ID 기반으로 결정론적으로 계산됩니다

Cron 표현식 참조

# 직접 자연어로 요청
> "매일 오전 9시에 어제 올라온 PR을 리뷰하는 cron 설정해줘"
표현식 의미
*/5 * * * * 5분마다
0 * * * * 매시간 정각
0 9 * * * 매일 오전 9시
0 9 * * 1-5 평일 오전 9시

활용 시나리오

스케줄 작업 효과
매일 오전 9시 PR 리뷰 알림 리뷰 누락 방지
매시간 빌드 상태 체크 빌드 실패 조기 발견
매주 월요일 의존성 업데이트 체크 보안 취약점 대응
매일 퇴근 전 변경사항 요약 일일 회고 자동화

비활성화

CLAUDE_CODE_DISABLE_CRON=1

환경변수를 설정하면 cron 기능 전체를 끌 수 있어요.

세션 유지 팁

tmux나 screen 안에서 Claude Code를 실행하면 터미널을 닫아도 세션이 유지돼요. 반복 cron 작업을 안정적으로 운영하고 싶을 때 유용합니다.

tmux new -s claude
claude
# 이제 터미널을 닫아도 세션 유지

지속적 스케줄링이 필요할 때

세션이 종료되어도 계속 실행해야 한다면 다음 방법을 활용하세요.

  • Claude Desktop: 예약된 작업 기능
  • GitHub Actions: 워크플로우 기반 스케줄링

Cron 작업은 현재 Claude Code 세션에만 존재해요. 세션이 끊기면 작업도 함께 사라지니 주의하세요.


자동화 조합 예시

일일 개발 루틴

[아침]
> 어제 올라온 PR들 리뷰해줘
  → /oh-my-claudecode:code-review

[작업 중]
> 이 기능 TDD로 만들자
  → /oh-my-claudecode:tdd

[작업 완료]
> 커밋하고 PR 올려줘
  → /commit-push-pr

[퇴근 전]
> 오늘 변경사항 정리해줘
  → 자동 요약 생성

레거시 코드 개선

# 1단계: 현재 상태 분석
> 이 모듈 분석해줘. 의존성, 테스트 커버리지, 코드 품질.

# 2단계: 테스트 먼저 추가
> 기존 동작 보존하는 테스트부터 작성해줘

# 3단계: 리팩토링
> 테스트 통과 유지하면서 리팩토링해줘

# 4단계: 리뷰
> /oh-my-claudecode:code-review

실천 체크리스트

  • /commit 으로 커밋 메시지 자동 생성 시도
  • /oh-my-claudecode:code-review 로 코드 리뷰 실행
  • 터미널 2개 열고 병렬 작업 시도
  • /oh-my-claudecode:build-fix 로 빌드 에러 자동 수정 체험
  • 비대화형 모드 (claude -p) 한 번 실행해보기

다음 단계

자동화 방법을 익혔다면 10. MCP 생태계에서 외부 도구 연동으로 가능성을 확장하세요.


참고 자료: