/install dev-factory
Builder Agent
개요
보안 도구와 DevOps 유틸리티를 자동으로 생성하는 개발 에이전트입니다. ChatDev 2.0의 7개 에이전트가 협업하여 요구사항 분석부터 배포까지 전 과정을 자동화합니다.
자가 수정 루프: 에러 발생 시 자동으로 수정 후 재시도 (최대 3회)
워크플로우
아이디어 발굴 (GitHub Trending, CVE, Security News)
↓
Notion 큐 등록 (아이디어 데이터베이스)
↓
ChatDev 2.0 개발 (7개 에이전트 협업)
├─ CEO: 요구사항 분석
├─ CPO: 제품 기획
├─ CTO: 아키텍처 설계
├─ Programmer: 코드 생성
├─ Reviewer: 코드 리뷰
├─ Tester: 테스트 생성
└─ CTO Final: 최종 검증
↓
자동 테스트 실행
↓
에러 발생? → 수정 → 재시도 (최대 3회)
↓
GitHub 저장소 생성 및 배포
주요 기능
1. 아이디어 발굴 (Discovery)
- GitHub Trending: 인기 프로젝트 분석
- CVE 데이터베이스: 최신 취약점 기반 도구
- Security News: 보안 뉴스 기반 유틸리티
- Notion 큐: 아이디어 자동 등록
2. ChatDev 2.0 개발 (Development)
7개 에이전트 협업:
| 에이전트 | 역할 | 담당 업무 |
|---|---|---|
| CEO | 최고경영자 | 요구사항 분석, 방향성 결정 |
| CPO | 최고제품책임자 | 제품 기획, 기능 정의 |
| CTO | 최고기술책임자 | 아키텍처 설계, 기술 스택 결정 |
| Programmer | 개발자 | 코드 생성, 구현 |
| Reviewer | 리뷰어 | 코드 리뷰, 품질 검증 |
| Tester | 테스터 | 테스트 코드 작성, 실행 |
| CTO Final | 최종검토자 | 최종 검증, 배포 승인 |
3. 자가 수정 루프 (Self-Correction)
테스트 실행
↓
에러 발견
↓
에러 분석 → 수정 방안 도출
↓
코드 수정
↓
재테스트
↓
성공? → 배포 / 실패? → 재시도 (최대 3회)
4. GitHub 자동 배포 (Publishing)
- 저장소 생성: 자동으로 GitHub 저장소 생성
- 코드 업로드: 완성된 코드 자동 푸시
- README 생성: 자동 문서화
- 릴리즈 생성: v1.0.0 자동 릴리즈
설치 방법
1. 저장소 클론
git clone --recursive https://github.com/rebugui/OpenClaw.git
cd OpenClaw/submodules/builder-agent
2. ChatDev 2.0 설정
cd ../chatdev-v2
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
3. 의존성 설치
cd ../builder-agent
pip install -r requirements.txt
4. 환경 변수 설정
cp .env.example .env
.env 파일 수정:
# GLM API (Zhipu AI)
GLM_API_KEY=your_glm_api_key
GLM_BASE_URL=https://api.z.ai/api/coding/paas/v4
# GitHub
GITHUB_TOKEN=your_github_token
GITHUB_USERNAME=your_username
# Notion
NOTION_API_KEY=your_notion_api_key
NOTION_DATABASE_ID=your_database_id
# ChatDev
CHATDEV_URL=http://localhost:6400
5. ChatDev 서버 시작
cd ../chatdev-v2
python server_main.py --port 6400
# API: http://localhost:6400
사용법
수동 실행
1. 아이디어 발굴
python main.py discovery
2. 개발 실행
# Notion 큐에서 아이디어 가져와서 개발
python main.py develop
# 특정 프로젝트 개발
python main.py develop --project "cve-scanner"
3. 큐 모니터링
python queue_monitor.py
스케줄러 등록
OpenClaw 스케줄러에 등록하여 자동 실행:
# config.yaml
jobs:
# 아이디어 발굴 (매일 08:00, 20:00)
- id: "builder_discovery"
name: "Builder Discovery - 매일 오전 8시/오후 8시 아이디어 발굴"
enabled: true
module: "submodules.builder-agent.main"
class: "BuilderAgentV3"
method: "run_discovery"
trigger:
type: "cron"
day_of_week: "mon-sun"
hour: "8,20"
minute: 0
# 개발 큐 처리 (6시간마다)
- id: "builder_queue_processor"
name: "Builder Queue Processor - 6시간마다 개발/개선 큐 처리"
enabled: true
module: "submodules.builder-agent.main"
class: "BuilderAgentV3"
method: "run_development_from_notion"
trigger:
type: "interval"
hours: 6
# 큐 모니터링 (6시간마다)
- id: "builder_queue_monitor"
name: "Builder Queue Monitor - 6시간마다 큐 상태 체크 및 알림"
enabled: true
module: "modules.builder.queue_monitor"
function: "main"
trigger:
type: "interval"
hours: 6
설정 파일
config.yaml
discovery:
sources:
- github_trending
- cve_database
- security_news
max_ideas: 5
keywords:
- vulnerability
- scanner
- automation
development:
max_retries: 3
test_timeout: 300
output_dir: "./projects"
chatdev:
url: "http://localhost:6400"
model: "glm-5"
timeout: 1800
github:
auto_publish: true
private: false
license: "MIT"
파일 구조
builder-agent/
├── main.py # 메인 실행 파일
├── config.yaml # 설정 파일
├── .env.example # 환경 변수 예시
├── requirements.txt # 의존성
│
├── discoverer/ # 아이디어 발굴
│ ├── github_trending.py
│ ├── cve_analyzer.py
│ └── news_monitor.py
│
├── orchestrator/ # 개발 오케스트레이션
│ ├── chatdev_client.py
│ ├── test_runner.py
│ └── github_publisher.py
│
├── improvement/ # 개선 시스템
│ └── improvement_pipeline.py
│
├── models/ # 데이터 모델
│ └── project.py
│
└── logs/ # 로그
└── builder.log
Notion 데이터베이스 설정
아이디어 데이터베이스
Title(제목)Status(선택: Idea, Developing, Testing, Completed, Failed)Priority(선택: High, Medium, Low)Source(선택: GitHub, CVE, News)Created(생성일)Repository(URL)
예시 프로젝트
생성된 프로젝트들
- secure_app - 보안 설정 자동화 도구
- cve-scanner-v2 - CVE 취약점 스캐너
- file-integrity-monitor - 파일 무결성 모니터링
프로젝트 구조
cve-scanner-v2/
├── README.md
├── requirements.txt
├── setup.py
├── src/
│ ├── __init__.py
│ ├── main.py
│ └── utils.py
└── tests/
├── __init__.py
└── test_main.py
성공/실패 기록
성공한 프로젝트 (2026-02-22 ~ 2026-02-23)
- secure_app ✅ (2026-02-22 18:08)
- cve-scanner-v2 ✅ (2026-02-23 12:17)
- cve-scanner-v6 ✅ (2026-02-23 13:41)
- cve-scanner-v7 ✅ (2026-02-23 13:46)
- cve-scanner-v8 ✅ (2026-02-23 14:10)
실패한 프로젝트
- file-integrity-monitor ❌ - 테스트 실패
- cve-scanner-v3 ❌ - 테스트 실패
- cve-scanner-v5 ❌ - 테스트 실패
공통 문제: 테스트 코드가 구현 로직과 일치하지 않음 → 프롬프트 개선 필요
문제 해결
ChatDev 연결 실패
# ChatDev 서버 상태 확인
curl http://localhost:6400/health
# 서버 재시작
cd ../chatdev-v2
python server_main.py --port 6400
테스트 실패
# 로그 확인
tail -f logs/builder.log
# 수동 테스트 실행
cd projects/cve-scanner-v2
pytest tests/
GitHub 배포 실패
# Git 권한 확인
ssh -T [email protected]
# 토큰 권한 확인
curl -H "Authorization: token {GITHUB_TOKEN}" https://api.github.com/user
의존성
- Python 3.11+
- ChatDev 2.0
- GLM-5 API
- GitHub Personal Access Token
- Notion API
라이선스
MIT License
참고
- 저장소: https://github.com/rebugui/builder-agent
- ChatDev 2.0: https://github.com/OpenBMB/ChatDev
- 메인 저장소: https://github.com/rebugui/OpenClaw
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install dev-factory - After installation, invoke the skill by name or use
/dev-factory - Provide required inputs per the skill's parameter spec and get structured output
What is Dev Factory?
Automates software development by discovering ideas from GitHub, CVEs, and news, generating code with ChatDev 2.0 agents, testing, self-correcting, and publi... It is an AI Agent Skill for Claude Code / OpenClaw, with 379 downloads so far.
How do I install Dev Factory?
Run "/install dev-factory" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Dev Factory free?
Yes, Dev Factory is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Dev Factory support?
Dev Factory is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Dev Factory?
It is built and maintained by rebugui (@rebugui); the current version is v1.1.0.