Claude Agent SDK를 사용한 무중단 자율 코딩 에이전트입니다.
Rate limit 자동 처리, 세션 자동 이어하기를 통해 사람의 개입 없이 프롬프트 기반으로 프로젝트를 끝까지 생성합니다.
이 프로젝트는 Claude Code CLI가 필요합니다.
claude --version버전이 출력되면 설치되어 있는 것입니다. 설치되어 있지 않다면 Claude Code 설치 가이드를 참고하세요.
claude위 명령어 실행 후 정상적으로 대화가 시작되면 인증이 완료된 것입니다. 로그인이 안 되어 있다면 자동으로 로그인 프로세스가 시작됩니다.
# 저장소 클론
git clone <repository-url>
cd autonomous-coding
# 의존성 설치
pip install -e .python src/cmd/autonomous_coding.py \
--project-dir ./generations/my_project \
--prompts-dir ./prompts| 옵션 | 설명 |
|---|---|
--project-dir |
프로젝트가 생성될 디렉토리 (필수) |
--prompts-dir |
프롬프트 템플릿이 있는 디렉토리 (필수) |
--max-iterations |
최대 반복 횟수 (기본값: 무제한) |
# 반복 횟수 제한
python src/cmd/autonomous_coding.py \
--project-dir ./generations/my_project \
--prompts-dir ./prompts \
--max-iterations 5이 섹션이 핵심입니다. 자율 코딩 에이전트는 3개의 프롬프트 파일을 기반으로 동작합니다.
prompts/
├── app_spec.txt # 무엇을 만들 것인가
├── initializer_prompt.md # 첫 번째 에이전트의 행동 지침
└── coding_prompt.md # 이후 에이전트들의 행동 지침
역할: 만들고자 하는 애플리케이션의 완전한 설계 문서
포함해야 할 내용:
- 프로젝트 개요 및 목표
- 기술 스택 (프론트엔드, 백엔드, DB 등)
- 핵심 기능 목록 및 상세 설명
- 데이터베이스 스키마
- API 엔드포인트 정의
- UI/UX 레이아웃 및 디자인 시스템
- 구현 단계별 계획
- 성공 기준
커스터마이징 팁:
<project_specification>
<project_name>나의 프로젝트</project_name>
<overview>프로젝트에 대한 상세 설명...</overview>
<technology_stack>...</technology_stack>
<core_features>...</core_features>
<!-- 더 상세할수록 에이전트가 정확하게 구현합니다 -->
</project_specification>이 파일이 상세할수록 에이전트의 결과물 품질이 높아집니다. 모호한 요구사항은 모호한 결과를 만듭니다.
역할: 프로젝트의 첫 번째 에이전트가 수행할 작업 정의
기본 동작:
app_spec.txt읽고 이해feature_list.json생성 (200개의 테스트 케이스)init.sh생성 (환경 설정 스크립트)- Git 저장소 초기화
- 프로젝트 기본 구조 생성
커스터마이징 포인트:
- 테스트 케이스 개수 조정 (기본 200개)
- 초기 설정 스크립트 요구사항 변경
- 프로젝트 구조 커스터마이징
주의: 이 프롬프트는 "한 번만" 실행됩니다. 프로젝트의 뼈대를 잡는 역할이므로 신중하게 작성하세요.
역할: 초기화 이후 반복 실행되는 에이전트의 행동 지침
기본 동작 (매 세션마다):
- 현재 상태 파악 (파일 구조, 진행 상황 확인)
- 서버 실행 (
init.sh) - 기존 기능 검증 테스트 (회귀 방지)
feature_list.json에서 미완료 기능 선택- 기능 구현 및 브라우저 테스트
- 테스트 통과 시
passes: true로 업데이트 - Git 커밋 및 진행 상황 기록
핵심 원칙:
- 한 세션에 하나의 기능에 집중
- 브라우저 자동화로 실제 UI 테스트 필수
feature_list.json은passes필드만 수정 가능 (기능 삭제/수정 금지)- 세션 종료 전 반드시 clean state 유지
커스터마이징 포인트:
- 테스트 방법론 변경 (puppeteer 외 다른 도구)
- 커밋 메시지 형식
- 진행 상황 기록 방식
- app_spec.txt 작성: 가장 중요합니다. 원하는 앱을 최대한 상세하게 기술하세요.
- initializer_prompt.md: 대부분 그대로 사용 가능. 테스트 케이스 수만 조정하세요.
- coding_prompt.md: 대부분 그대로 사용 가능. 테스트 도구가 다르면 수정하세요.
# 새 프로젝트 시작
mkdir -p prompts/my_app
cp prompts/initializer_prompt.md prompts/my_app/
cp prompts/coding_prompt.md prompts/my_app/
# app_spec.txt만 새로 작성
vim prompts/my_app/app_spec.txt
# 실행
python src/cmd/autonomous_coding.py \
--project-dir ./generations/my_app \
--prompts-dir ./prompts/my_appCtrl+C로 중단할 수 있으며, 동일한 명령어로 다시 실행하면 이어서 진행됩니다.