왜 만들었나
kainos.kr을 운영하면서 가장 힘든 부분은 콘텐츠를 꾸준히 채우는 것이었습니다. 화가, 음악가, 과학자 프로필 페이지를 하나씩 만들다 보면 하루가 금방 지나가고, 정작 새로운 기능을 추가하거나 사이트를 개선할 시간이 없었습니다.
Claude Max를 구독하고 있다는 사실을 깨달았습니다. 매달 $200을 내고 있는데, 저는 하루에 몇 시간만 쓰고 있었습니다. 나머지 시간에 Claude가 혼자 일하게 하면 어떨까?
그래서 만든 것이 이 파이프라인입니다. 매일 새벽에 Claude CLI가 자동으로 실행되어 인물 프로필 페이지를 생성하고, GitHub PR을 올립니다. 아침에 일어나면 Slack에 알림이 와 있고, PR을 검토해서 머지하면 Cloudflare가 자동으로 배포합니다.
전체 구조
준비물
| ✅ Mac (항상 켜져 있는 Mac Mini 권장) | - |
| ✅ Claude Max 구독 | $200/월 |
| ✅ Claude Code CLI 설치 | 무료 |
| ✅ GitHub 계정 + gh CLI | 무료 |
| ✅ Slack 워크스페이스 (선택) | 무료 |
⚠️ Claude CLI는 Claude Max 플랜에서만 안정적으로 동작합니다. API 키를 쓰면 별도 요금이 발생하지만, Max 구독의 OAuth 토큰을 쓰면 추가 비용이 없습니다.
1단계: Claude CLI 설정
Claude Code CLI가 설치되어 있고 로그인된 상태여야 합니다. 비대화형 모드(-p 플래그)로 스크립트에서 호출합니다.
자동화 스크립트에서는 --dangerously-skip-permissions 플래그가 필요합니다. 대화형 승인 없이 파일을 쓸 수 있게 해줍니다.
2단계: 자동화 스크립트
스크립트는 세 가지 역할을 합니다: Claude CLI 호출 → Git 브랜치 & PR 생성 → Slack 알림. 프로젝트 루트에 scripts/ 디렉토리를 만들고 아래 파일을 작성합니다.
3단계: Slack 알림
PR이 생성되면 Slack으로 알림을 보냅니다. Incoming Webhook URL만 있으면 됩니다.
4단계: macOS launchd 스케줄
macOS의 launchd는 cron보다 안정적인 스케줄러입니다. Mac이 절전 모드에서 깨어날 때도 실행 예약이 유지됩니다.
주의: PATH 환경변수를 반드시 명시해야 합니다. launchd는 기본 셸 환경을 상속받지 않아서 node, gh, claude 등의 명령어를 찾지 못합니다. which node로 실제 경로를 확인해서 추가하세요.
비용 분석
이 파이프라인의 핵심은 이미 구독 중인 Claude Max를 더 활용한다는 것입니다.
운영 팁
문제 해결
참고: 이 파이프라인은 kainos.kr에서 실제로 운영 중입니다. Claude Max 구독의 개인 사용 범위 내에서 자동화하는 방식이며, 생성된 콘텐츠는 반드시 PR 리뷰를 거쳐 배포합니다.