baro
저장소에 목표를 입력하세요. 자리를 비우세요. 그리고 검증된 풀 리퀘스트(pull request)로 돌아오세요.
npm version
npm downloads
baro는 자율 소프트웨어 공장(autonomous software factory)입니다. 사용자의 목표를 기계가 검사 가능한 계약(machine-checkable contract)으로 컴파일하고, 이를 스토리(story)의 DAG로 분할하며, 격리된 git 작업 트리(isolated git worktrees) 전반에 걸쳐 병렬로 빌드합니다. 또한, 선언된 테스트, 빌드, 증거 비평가(evidence critic), 쓰기 표면 소유권(write-surface ownership)이라는 'fail-closed gates' 뒤에서 모든 머지(merge)를 차단합니다. 사용자는 이미 이 게이트들을 통과한 PR을 검토하게 됩니다.
한 번의 프롬프트(prompt) → 33개 스토리 계획 → 808개의 통과 테스트 → 71분 만에 PR이 완성됩니다.
실제 실행 사례 보기.
설치 (Install)
Node 20+, git, 그리고 최소한 하나의 백엔드(backend)가 필요합니다. 기본값은 claude CLI이며, codex, 또는 모든 OpenAI와 호환되는 엔드포인트를 사용할 수 있습니다. baro --doctor 명령어로 설정을 확인할 수 있습니다.
사용법 (Use)
cd your-repo
baro "역할 기반 접근 제어(role-based access control)를 포함한 JWT 인증 추가"
이 명령어를 실행하면 TUI가 열립니다: intake은 중요한 것만 질문하고, 사용자가 계획을 확인하면 플릿(fleet)이 작동합니다.
자동화를 위해 분리하여 어디서든 추적할 수 있습니다:
baro --headless --detach --goal-file goal.txt
baro watch <run-id>
baro logs <run-id> --follow
...
명령어 (Commands)
| 명령어 | 기능 |
|---|
baro "<목표>" | 현재 저장소에서 목표를 실행합니다 (TUI) |
| ... | |
중요한 플래그들 (The flags that matter)
--llm claude|codex|openai|opencode|pi|devin|hybrid|jigjoy
-m opus|sonnet|haiku
--effort low..max
...
단계별 오버라이드(--architect-llm, --story-model 등), .barorc, 그리고 기타 모든 내용은 docs.baro.rs를 참조하세요.
작동 방식 (How it works)
baro architecture — a Rust TUI host, a TypeScript orchestrator whose bounded contexts meet on the mozaik event bus, and machine gates in front of every merge
- 계약 우선(Contract first). 아키텍트는 코드를 작성하기 전에 목표를 기계가 검사할 수 있는 불변 조건(invariants)과 의무 사항(obligations)으로 변환합니다.
- 조정자가 아닌 집단(collective)입니다. 스토리 에이전트(Story agents)는 이벤트 버스(event bus) 상의 동료들입니다. 자신에게 관련된 이벤트를 보고, 메모를 교환하며, 서로의 작업에 대해 일시 중지/재개합니다. 모든 것이 통과해야 하는 단일 컨텍스트 창은 없습니다.
- 느낌이 아닌 게이트(Gates)입니다. 선언된 테스트(Declared tests), 커밋 전 빌드(build-before-commit), 캡처된 명령어 출력을 판단하는 증거 비평가(evidence critic), 그리고 쓰기 표면 소유권(write-surface ownership)을 갖추고 있습니다. 이는 실패 시 폐쇄(fail-closed)되어 모든 병합(merge)을 차단합니다. 인간은 게이트가 이미 승인한 PR을 검토합니다.
- 실시간 계획(live plan)입니다. 이 계획은 실행 과정에서 협상하는 유향 비순환 그래프(DAG)입니다. 런타임 재계획(runtime replanning)은 실행 중간에 스토리를 추가하고 다시 연결하며, 실패한 게이트는 자체적인 복구 스토리(remediation story)를 생성할 수 있습니다.
Claude Code로 구동하기
baro는 운전석에 코딩 에이전트(coding agent)와 잘 어울립니다. 다음 내용을 리포지토리 내부의 Claude Code에 붙여넣으세요:
Install baro (npm install -g baro-ai) and run `baro --doctor` to verify the setup.
Then drive it for me:
...
클라우드
머신이 없거나, Claude/Codex 구독이 없나요? app.baro.jigjoy.ai에서 동일한 플릿(fleet)을 실행하세요 — 설치할 것이 없고, 격리된 샌드박스, 그리고 우리의 키가 있습니다. 또는 자체 하드웨어로 풀에 유지할 수 있습니다: baro login 후, baro connect --install-service를 사용합니다.
문서(Docs): docs.baro.rs · 이슈(Issues): github.com/jigjoy-ai/baro/issues · 트위터(Twitter): @lotus_sbc