Dev Factory
by @rebugui
Automates software development by discovering ideas from GitHub, CVEs, and news, generating code with ChatDev 2.0 agents, testing, self-correcting, and publi...
clawhub install dev-factoryπ About This Skill
name: dev-factory version: 1.1.0 description: Automated software development agent using ChatDev 2.0 and GLM-5. Discovers topics from GitHub Trending, CVE databases, and security news β generates code with 7-agent ChatDev team β tests automatically β publishes to GitHub. Self-correction loop (error β fix β retry, max 3 times). Use when you want to automate development, create security tools, or generate DevOps utilities. Triggers: "μλ κ°λ°", "λꡬ μμ±", "builder agent", "chatdev".
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)
2. ChatDev 2.0 κ°λ° (Development)
7κ° μμ΄μ νΈ νμ :| μμ΄μ νΈ | μν | λ΄λΉ μ 무 | |---------|------|----------| | CEO | μ΅κ³ κ²½μμ | μꡬμ¬ν λΆμ, λ°©ν₯μ± κ²°μ | | CPO | μ΅κ³ μ νμ± μμ | μ ν κΈ°ν, κΈ°λ₯ μ μ | | CTO | μ΅κ³ κΈ°μ μ± μμ | μν€ν μ² μ€κ³, κΈ°μ μ€ν κ²°μ | | Programmer | κ°λ°μ | μ½λ μμ±, ꡬν | | Reviewer | λ¦¬λ·°μ΄ | μ½λ 리뷰, νμ§ κ²μ¦ | | Tester | ν μ€ν° | ν μ€νΈ μ½λ μμ±, μ€ν | | CTO Final | μ΅μ’ κ²ν μ | μ΅μ’ κ²μ¦, λ°°ν¬ μΉμΈ |
3. μκ° μμ 루ν (Self-Correction)
ν
μ€νΈ μ€ν
β
μλ¬ λ°κ²¬
β
μλ¬ λΆμ β μμ λ°©μ λμΆ
β
μ½λ μμ
β
μ¬ν
μ€νΈ
β
μ±κ³΅? β λ°°ν¬ / μ€ν¨? β μ¬μλ (μ΅λ 3ν)
4. GitHub μλ λ°°ν¬ (Publishing)
μ€μΉ λ°©λ²
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/v4GitHub
GITHUB_TOKEN=your_github_token
GITHUB_USERNAME=your_usernameNotion
NOTION_API_KEY=your_notion_api_key
NOTION_DATABASE_ID=your_database_idChatDev
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
- automationdevelopment:
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)μμ νλ‘μ νΈ
μμ±λ νλ‘μ νΈλ€
1. secure_app - 보μ μ€μ μλν λꡬ 2. cve-scanner-v2 - CVE μ·¨μ½μ μ€μΊλ 3. 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)
1. secure_app β (2026-02-22 18:08) 2. cve-scanner-v2 β (2026-02-23 12:17) 3. cve-scanner-v6 β (2026-02-23 13:41) 4. cve-scanner-v7 β (2026-02-23 13:46) 5. cve-scanner-v8 β (2026-02-23 14:10)μ€ν¨ν νλ‘μ νΈ
1. file-integrity-monitor β - ν μ€νΈ μ€ν¨ 2. cve-scanner-v3 β - ν μ€νΈ μ€ν¨ 3. 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 git@github.comν ν° κΆν νμΈ
curl -H "Authorization: token {GITHUB_TOKEN}" https://api.github.com/user
μμ‘΄μ±
λΌμ΄μ μ€
MIT License