vibe-kanban
은 BloopAI에서 개발한 오픈소스 툴로, AI 코딩 에이전트(예: Claude Code, Gemini CLI, Codex 등)를 Kanban 보드 형태로 관리할 수 있게 해줍니다. 즉, 여러 AI 에이전트에 개발 업무를 맡기고, 이를 기획→실행→코드 리뷰→PR 생성 등으로 흐름을 시각적으로 관리할 수 있는 도구입니다.
주요 기능
- 에이전트 전환: Claude, Gemini, Codex 등의 에이전트를 손쉽게 전환하며 사용
- 병렬 및 순차 실행: 여러 에이전트를 동시에 또는 순차적으로 운영 가능
- 실시간 리뷰 & Dev 서버 실행: 작업 결과 즉시 리뷰하고 실행 서버를 띄워볼 수 있음
- 작업 상태 추적: 각 Task 진행 상태 (To Do → In Progress → Done 등)를 직관적으로 추적
- MCP 구성 집중 관리: Agent의 구성 정보를 중앙에서 관리 가능
실제 구축 및 실행 방법
1. 시스템 요구사항
- Rust (최신 stable)
- Node.js ≥ 18.x
- pnpm ≥ 8.x
2. 클론 및 의존성 설치
git clone https://github.com/BloopAI/vibe-kanban.git
cd vibe-kanban
pnpm i
3. 개발 모드로 실행
pnpm run dev
- 프론트엔드 + 백엔드 with live-reload 동시 실행
dev_assets_seed
의 테스트 DB가 초기 데이터로 자동 복제됩니다.
4. npx CLI로 배포용 실행
개발 없이 바로 활용하려면 (사전 조건: Claude 등 AI 에이전트 로그인 인증)
npx vibe-kanban
배포 모드도 직접 빌드하고 싶다면
./build-npm-package.sh
cd npx-cli
npm pack
npx ./vibe-kanban-<version>.tgz
5. 브라우저 접속
위 실행 후 자동으로 로컬 브라우저가 열리며 Kanban 인터페이스에 접속됩니다. 모바일 UI도 지원됩니다.
내부 운영 가이드
- GitHub OAuth 인증 필수: Agent의 리포지터리 읽기/쓰기 권한을 최소화하여 안전하게 연동 (v0.0.41부터 구현됨)
- 데이터 수집 옵트인 구조: 설치 시 로그/이메일 등의 분석 데이터 수집은 기본적으로 OFF, 사용자 크래시 리포트에 한해 선택적으로 수집됨
- 중요 권한 검토 필수: Bot이 처리할 PR 생성, 브랜치 권한 등은 사내 정책에 맞게 GitHub App 권한 범위를 적절히 제한해야 합니다.
- 동시 PR 간 의존성 관리: Kanban 상 다수 PR이 동시에 생성될 수 있으므로, 순서 의존성이 있는 경우 직접 명시하거나 내부 프로세스 수립 필요
- 리소스 고려: Rust 백엔드와 npx CLI는 CPU와 메모리를 소비하므로, 최대 4개 에이전트 병렬 실행 시 MacBook 환경에서는 성능 저하 가능 .
내부 사용자 안내
- 사전 권한 교육
- GitHub OAuth가 무엇이고, 왜 Agent에게 토큰을 제공해야 하는지 설명
- 권한 수준 검토 및 정책 공유
- 운영 프로세스 세팅
- PR 의존성이 존재할 경우, 우선 생성 순서 및 Label/Assignee로 명확히 관리
- Kanban 칼럼 정의(ex: Needs Review 등)과 QA/Release Pipeline 연동
- 체크리스트 예시
점검 항목 내용 OAuth 설정 없으면 CLI 불가 MCP 설정 각 Agent 설정 (temperature 등) 중앙 관리 Dev 서버 실행 “Open in IDE/Server” 버튼 정상 작동 여부 PR 권한 Bot이 PR 열 권한 갖도록 설정 리소스 모니터링 실행중 리소스 지표 감시 - 보안 권고
- 분석용 무작위 데이터 수집 금지
- 내부 리포지터리에만 성능 허용
- 외부 배포 시에는 프록시/클라우드 사용 고려
활용 사례
- AI 병렬 에이전트 협업: Claude Code + Gemini CLI를 동시에 실행하여 기능 개발 후 비교 리뷰
- 코드 리팩토링 흐름 정리: 리팩토링 Task는 Kanban 컬럼 이동으로 체계적 관리
- 다중 PR 스택핑: PR 간 의존성 큐 설정 후 배포 순서 제어
추천 단계
- Rust/Node.js 환경 준비 →
git clone
→pnpm i
pnpm run dev
로 테스트 후 내부 QA 진행- GitHub OAuth, 권한, PR 플로우 체크
- 사내 정책에 맞춰 역할 교육 및 활용 가이드 작성
- 실제 프로젝트 피드백 반영 + 필요 시 오픈 이슈 통한 커스터마이징 요청
- 사내 GitHub App 배포 모드 검토 또는 Cloud 호스팅 고려
이렇게 하면 AI 에이전트 기반 개발 워크플로우를 체계적으로 관리할 수 있어, 보안과 효율성 모두를 확보한 AI 협업 환경을 구축할 수 있습니다.
vibe-kanban
은 AI 코드 에이전트(Claude, Gemini 등)를 활용하여 코드 작업을 자동화하고 시각적으로 관리할 수 있는 Kanban 인터페이스 기반 도구로, 아래는 무엇을 할 수 있는지, 어떻게 작동하는지, 그리고 구체적인 사용 흐름입니다.
무엇을 할 수 있나요?
1. AI에게 실제 코딩 업무를 시킬 수 있습니다
- 예: “로그인 기능을 구현해줘” → Claude에게 전달 → 코드 생성 → PR 자동 생성
2. Kanban 방식으로 작업 흐름을 관리할 수 있습니다
- 작업 상태를
To Do
,In Progress
,Done
등으로 시각적으로 관리 - 각 작업(Task)은 실제 코딩과 연동되어 진행
3. 다양한 AI 모델을 동시에 사용
- Claude, Gemini, OpenAI Codex 등을 하나의 보드에서 전환/병렬 실행 가능
4. 리포지터리와 연동된 실제 개발 작업 수행
- PR 생성, 브랜치 분기, 파일 수정 등을 AI가 직접 수행함
- GitHub OAuth를 통해 코드 수정, 커밋, PR까지 자동화
5. Dev 서버 실행 및 결과 미리보기
- 로컬 개발 서버를 띄워 결과 UI/기능을 확인 가능
- 버튼 클릭만으로 VS Code, Browser Preview 연동
어떤 구조로 작동하나요?
[사용자] ⟶ [Kanban 인터페이스] ⟶ [AI Agent] ⟶ [코드 작업 수행 + Git 연동]
⬑ ⬍
[Task 관리] [작업 결과 PR로 정리]
- 각 Task는 AI에게 전달되며, Claude나 Gemini가 작업을 수행
- 완료되면 코드가 생성되고 PR(Pull Request)이 생성됨
- Task 상태는 자동으로 업데이트되고 보드에서 실시간 확인 가능
어떻게 사용할 수 있나요? (실제 흐름)
1단계: 프로젝트 준비
git clone https://github.com/BloopAI/vibe-kanban.git
cd vibe-kanban
pnpm i
2단계: 실행 (개발 환경)
pnpm run dev
- 브라우저에서 Kanban UI가 자동 실행됨 (
localhost:3000
예상) - 테스트용 리포지터리/에이전트 예제 포함됨
3단계: GitHub 계정 연결
- 로그인 시 GitHub OAuth 연동 창이 뜸
- 해당 계정의 Repository 권한을 부여
✅ 내부 GitHub만 쓰는 경우, GitHub Enterprise도 연동 가능
4단계: AI Agent 선택
- Claude, Gemini CLI, OpenAI 등에서 선택 가능
- 각 Agent 별로 역할 설정 (ex. 리뷰 전담, 테스트 작성 전담 등)
5단계: Task 등록
- 예시
- “로그인 폼 구현”
- “클라이언트-서버 간 API 인증 추가”
- “코드 리팩토링 수행”
→ 이 Task는 AI에게 자동 전달됨
6단계: 작업 진행
- AI가 작업을 수행
- 작업 결과로 브랜치/커밋/PR 생성됨
- Pull Request에 요약 설명 자동 삽입
7단계: 결과 확인 및 병합
- PR을 리뷰하고 병합
- 필요시 수동 리뷰도 가능
- 작업 상태 자동 업데이트됨 (
In Review
→Done
)
보안 및 운영 팁
항목 | 설명 |
---|---|
GitHub OAuth | 회사 계정 또는 테스트 계정으로 연동 |
PR 권한 | Bot 계정에 PR 생성 권한 부여 필수 |
MCP Agent 설정 | temperature, max_tokens 등 세부 설정 지원 |
작업 추적 | 각 작업 별 커밋/PR URL 자동 기록 |
로그 저장 | 각 Agent 응답, 오류 메시지 등 자동 저장됨 |
비공개 Repo | vibe-kanban 자체는 로컬에서 실행되므로 사내망 사용 가능 |
사용 예시
상황 | 활용 방식 |
---|---|
기능 개발 | Kanban에 “로그인 페이지 구현” 입력 → Claude가 코드 생성 + PR |
리팩토링 | “중복된 유틸 정리해줘” 입력 → AI가 리팩토링 후 PR |
테스트 코드 작성 | “unit test 작성해줘” Task 생성 → AI가 테스트 작성 |
동시 병렬 작업 | 여러 Agent에게 각각 Task 부여 → 각자 코드 작업 수행 |
고급 활용 팁
vibe-kanban/agent/mcp/*.json
에서 Agent의 성격 정의 가능temperature
,model
,context_limit
,role
등을 미세 조정 가능- 프론트엔드는 Next.js 기반으로 커스터마이징 쉬움
npx vibe-kanban
명령으로 무설치 실행도 가능 (공식 배포 버전)
항목 | 요약 |
---|---|
목표 | AI 에이전트를 통해 코드 업무 자동화 및 시각적 관리 |
도입 방식 | GitHub 연동 + CLI 또는 개발 서버 실행 |
구성 | Kanban UI + MCP Agent + PR 자동화 |
지원 모델 | Claude, Gemini, OpenAI 등 다수 |
활용 분야 | 기능 구현, 테스트, 리팩토링, PR 생성 자동화 등 |
아래는 vibe-kanban을 Slack과 연동하는 방법, 사내망에서 안전하게 운영하는 구조, 그리고 에이전트 고급 설정 파일 예시입니다.
Slack 연동 방법 (Notification + 명령 실행)
- PR 생성, 코드 작업 완료, 에이전트 오류 등의 이벤트를 Slack 알림으로 전달
- 필요 시 Slack에서 직접 Task를 생성하는 기능도 확장 가능
방법 1: Slack Webhook 사용 (단방향 알림)
- Slack에서 앱 생성 → Incoming Webhook 활성화
- 알림 채널을 설정하고 Webhook URL을 복사
.env
또는config/slack.ts
에 등록SLACK_WEBHOOK_URL=https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
- 코드에 Webhook 호출 함수 삽입 (예:
utils/notify.ts
)import axios from 'axios'; export const sendSlackMessage = async (message: string) => { if (!process.env.SLACK_WEBHOOK_URL) return; await axios.post(process.env.SLACK_WEBHOOK_URL, { text: message, }); };
- 사용 예시 (PR 생성 완료 시)
await sendSlackMessage(`✅ [${task.title}] 작업 완료! PR: ${prUrl}`);
방법 2: Slack Slash Command 연동 (양방향)
예: /ai-task 로그인 기능 만들어줘 → Task 자동 등록
- Slack 앱에서 Slash Command 생성
/ai-task
로 예시- Request URL:
https://your-vibe-server.com/api/slack/command
api/slack/command.ts
생성export default async function handler(req, res) { const { text, user_name } = req.body; // vibe-kanban 내부 Task로 등록 await createAITask({ title: text, createdBy: user_name }); res.send(`📌 작업 등록 완료: ${text}`); }
- 인증은 Slack
signing secret
으로 검증 처리 가능
사내망 호스팅 구성
- 외부 인터넷 없이 안전하게 운영
- 사내 GitHub Enterprise, 내부 AI API (예: Claude API Proxy) 사용
- 내부 사용자 인증 및 접근 제한
구성 예시
┌────────────────────────┐
│ 내부 사용자 │
│ (개발자, 보안팀 등) │
└──────────┬─────────────┘
│
🔐 HTTPS 접근
│
┌──────────▼────────────┐
│ vibe-kanban 서버 │ (Next.js + Rust + MCP)
│ - 사내 GitHub 연결 │
│ - 내부 LLM API 호출 │
│ - Slack Webhook 연동 │
└──────────┬────────────┘
│
📦 GitHub Enterprise
+ Claude Proxy
호스팅 방법
- Dockerize (직접 지원은 없으나 아래와 같이 작성 가능)
# Dockerfile FROM node:18 WORKDIR /app COPY . . RUN npm install -g pnpm && pnpm i && pnpm build EXPOSE 3000 CMD ["pnpm", "start"]
- 역방향 프록시로 외부 접근 차단
# nginx.conf server { listen 443 ssl; server_name vibe.mycompany.local; location / { proxy_pass http://localhost:3000; include proxy_params; } }
- GitHub OAuth → 사내 인증서버로 교체 (선택사항)
- GitHub 로그인 대신 SSO 또는 SAML 연동도 가능합니다 (커스터마이징 필요)
에이전트 고급 설정 예시 (MCP 기반)
/agent/mcp/*.json
파일로 Agent의 동작을 세부 조정할 수 있습니다.
예시: Claude Code 설정
{
"name": "claude-code",
"model": "claude-3-opus",
"provider": "Anthropic",
"temperature": 0.3,
"max_tokens": 4096,
"system_prompt": "You are a helpful senior software engineer. Write clean and maintainable code.",
"use_context_from_codebase": true,
"roles": ["developer", "reviewer"],
"reply_format": "markdown"
}
예시: Gemini + Lint 전담 Agent
{
"name": "gemini-lint",
"model": "gemini-1.5-flash",
"provider": "Google",
"temperature": 0.0,
"system_prompt": "You are an expert in code linting and formatting. You only respond with linter fixes.",
"context_filter": "code_quality_issues_only",
"roles": ["formatter", "linter"]
}
설정 팁
항목 | 설명 |
---|---|
temperature |
창의성 조정 (0.0 = 보수적, 1.0 = 창의적) |
system_prompt |
역할 정의, 업무 스타일 설정 |
reply_format |
markdown , json , diff 등 선택 |
use_context_from_codebase |
기존 코드 참조 여부 (true 권장) |
roles |
이 Agent의 목적 (developer , reviewer , test_writer 등) |
정리
구성 요소 | 주요 내용 |
---|---|
Slack 연동 | Webhook으로 PR 결과 전송, Slash 명령으로 Task 생성 가능 |
사내망 호스팅 | GitHub Enterprise + 내부 API로 안전하게 구성 가능 |
에이전트 설정 | 역할, 모델, prompt, context 옵션 등을 MCP 파일로 조절 |
댓글