프로젝트 소개
# VibeCoder
**휴대폰에서 GitHub 이슈를 생성하면 PR(Pull Request)이 자동으로 생성되고, 리뷰하고 엄지척으로 수정을 요청하세요.**
VibeCoder는 코딩 에이전트 CLI로 구동되는 자동화된 GitHub 이슈 워커입니다. 저장소를 모니터링하고, 이슈를 선택하고, 코드를 작성하고, 품질 검사를 실행하고, 풀 리퀘스트를 엽니다 — 키보드를 전혀 건드리지 않고도 말이죠.
이것은 **제공자에 구애받지 않습니다**: `claude`([Claude Code](https://docs.anthropic.com/en/docs/claude-code))가 기본이며, `codex`(OpenAI Codex CLI), `gemini`(Gemini CLI), `deepseek`(Claude Code CLI를 통해 제공되는 DeepSeek)가 내장되어 있고 구성으로 선택됩니다.
## 작동 방식
1. GitHub에서 이슈를 생성합니다(예: 휴대폰에서).
2. VibeCoder Worker가 이슈를 감지하고 스스로 할당합니다.
3. 워커가 기능 브랜치를 생성하고 구성된 Coding Agent에 작업을 위임합니다.
4. 에이전트가 코드 변경을 작성합니다.
5. 워커가 품질 검사(린팅, 테스트, 포매팅)를 실행합니다.
6. 검사가 통과하면 워커가 GitHub에 Pull Request를 엽니다.
7. PR을 리뷰하고, 댓글을 남기거나, 엄지척을 눌러 수정을 트리거합니다.
8. 워커가 피드백을 적용하고 업데이트를 푸시합니다.
9. PR을 승인하고 병합합니다.
## 코딩 에이전트 선택
코딩 에이전트는 분리 가능한 계층입니다. 네 가지 제공자가 내장되어 있습니다:
| 제공자 id | 에이전트 | 자격 증명 파일 |
| --- | --- | --- |
| `claude` (기본) | Claude Code | `claude/provider.env` |
| `codex` | Codex CLI | `codex/provider.env` |
| `gemini` | Gemini CLI | `gemini/provider.env` |
| `deepseek` | DeepSeek (Claude Code CLI 경유) | `deepseek/provider.env` |
`.config.json`의 `agent_provider` 키로 하나를 선택합니다. 혼합 호스트는 할당량 인식 선택을 선택적으로 사용할 수 있습니다.
## 주요 기능
- **이슈-투-PR 파이프라인**: 이슈를 작성하면 PR을 받습니다. 워커가 브랜칭, 코딩, 테스트, PR 생성을 처리합니다.
- **리뷰 피드백 루프**: PR에 댓글을 남기고, 엄지척으로 수정을 트리거합니다.
- **명확화 및 개선**: 이슈가 불명확하면 워커가 시작 전에 질문합니다.
- **계획 모드**: `planning` 레이블을 추가하면 직접 구현 대신 작업 분류와 하위 이슈를 받습니다.
- **질문 답변**: `question` 레이블을 추가하면 구현 없이 코드베이스에 대한 답변을 받습니다.
- **맞춤법 자동 수정**: PR의 실패한 맞춤법 검사가 자동으로 수정됩니다.
- **CI 실패 자동 수정**: 열린 PR의 실패한 CI 검사가 자동으로 진단되고 수정됩니다.
- **유휴 작업 프레임워크**: 청구 가능한 작업이 없을 때 워커가 낮은 우선순위의 유휴 작업(보안, 모범 사례 등)을 제출합니다.
- **보안 스캔**: 유휴 실행이 모니터링되는 저장소에 대해 보안 스캔을 수행합니다.
- **우선순위 기반 작업 큐**: PR 피드백, 맞춤법 수정, CI 교정 등을 우선순위로 처리합니다.
- **비용 최적화**: 단계 기반 모델 선택, 프롬프트 캐싱, 토큰 사용 추적.
- **실행 후 콜백**: 성공/실패 실행 후 선택적 실행 파일이 실행됩니다.
- **저장소별 구성**: 저장소별로 워커 동작을 사용자 정의합니다.
- **마일스톤 개선**: 진행 알림, 멈춘 브랜치의 자동 롤백.
- **자가 복구**: 섀도 복사 실행, 자동 저장소 재설정, 디스크 정리, 충돌 복원력.
- **기본적으로 안전**: 구성된 레이블이 있는 허용된 작성자의 이슈만 처리합니다.
- **확장 가능**: Deno/TypeScript 명령을 통해 새 기능을 추가합니다.
## 품질과 제어
리뷰 없이는 기본 브랜치(프로덕션)에 아무것도 가지 않습니다. 모든 변경은 PR로 도착하며, 병합 전에 리뷰하고, 수정을 요청하고, 승인합니다. 워커는 TDD, KISS, DRY를 따르고 전체 품질 게이트(`deno test`, `deno lint`, `deno check`, `deno fmt --check`, semgrep)를 실행합니다.
## 빠른 시작
### macOS / Linux
```bash
# 저장소 복제
gh repo clone <your-org>/VibeCoder
cd VibeCoder
# 환경 변수로 구성
VIBE_ALLOWED_AUTHOR=myusername \
VIBE_REPOS="myorg/repo1,myorg/repo2" \
./setup.sh
# 워커 시작
./run.sh
```
### Windows (PowerShell)
```powershell
# 저장소 복제
gh repo clone <your-org>/VibeCoder
cd VibeCoder
# 구성
$env:VIBE_ALLOWED_AUTHOR = "myusername"
$env:VIBE_REPOS = "myorg/repo1,myorg/repo2"
.\setup.ps1
# 워커 시작
.\run.ps1
```
## 아키텍처
워커는 얇은 런처 + Deno TypeScript 아키텍처를 사용합니다. 진입점은 모든 비즈니스 로직을 Deno에 위임하는 최소한의 셸/PowerShell 스크립트입니다. 크로스 플랫폼: macOS, Linux, Windows.
워커는 최소 권한 컨테이너 내에서 실행됩니다. 격리는 필수입니다. GitHub가 유일한 정상 원격 제어 플레인입니다.
## 요구 사항
- 지원되는 컨테이너 런타임: macOS의 Apple `container`, Linux 및 Windows의 Docker 또는 Podman.
- [Deno](https://deno.com/) 2+ — 런처의 유일한 호스트 도구.
- 런처를 실행할 `bash`(macOS/Linux) 또는 PowerShell(Windows).
- 설정 전용: Git 및 인증된 GitHub CLI.
## 문서
- [개요](docs/OVERVIEW.md): 단일 페이지 안내.
- [레이블 흐름](docs/workflows/label-flows.md): 언제 어떤 레이블을.
- [사용 가이드](docs/USAGE.md): 이슈 생성, PR 워크플로.
- [워크플로 개요](docs/workflows/README.md): 저장소 소유자를 위한 사용자 매뉴얼.
- [쿼럼](docs/QUORUM.md): 여러 제공자를 동시에 실행.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.