Skip to content

Latest commit

 

History

History
142 lines (100 loc) · 5.58 KB

File metadata and controls

142 lines (100 loc) · 5.58 KB

Patchyard

English | 한국어

Claude Code, Codex, Aider, Gemini CLI, OpenCode, 그리고 커스텀 agent command를 각각 독립된 Git worktree 안에서 실행하고 검토할 수 있게 해주는 로컬 우선 데스크톱 관제 앱이다.

Patchyard는 하나의 레포지토리에서 여러 AI 코딩 에이전트를 병렬로 굴리는 사용자를 위한 데스크톱 앱이다. 각 에이전트에 별도의 Git worktree, 터미널, 리뷰 흐름, provider 인증 구성을 붙여서 병렬 작업을 돌리면서도 레포를 엉망으로 만들지 않게 한다.

이 저장소는 완성본이 아니라 Patchyard 자체를 계속 다듬는 작업 트리다. 인터페이스와 흐름은 계속 바뀔 수 있다.

Patchyard Workspace Shell

무엇을 만드는가

Patchyard는 IDE도 아니고, 채팅창 하나에 터미널을 붙인 앱도 아니다. Tauri 기반 데스크톱 앱으로 여러 AI 코딩 에이전트를 병렬 운영할 수 있게 만들었다. 각 세션은 자체 workspace, branch, worktree, terminal, review state, provider setup을 가진다.

핵심 루프는 다음과 같다.

  • 새 workspace 세션을 만들거나 큐에 넣는다
  • 에이전트를 독립 worktree에서 실행한다
  • 로그, diff, 비용, 상태, 리뷰 압력을 확인한다
  • review-first 흐름으로 promote 또는 discard 한다
  • Tycoon HQ에서 전체 에이전트 운영 상태를 본다

화면 구성

Workspace Shell Provider Setup
Workspace Shell Provider Setup
좌측 작업 레일, 중앙 터미널 표면, 우측 리뷰 레일이 붙은 메인 운영 화면. 여러 agent provider의 API key와 CLI auth를 keychain 기반으로 관리하는 화면.
New Workspace Repository Setup
New Workspace Repository Setup
템플릿, 레포, 에이전트, 우선순위를 골라 worktree 기반 세션을 큐에 넣는 화면. 로컬 레포지토리를 등록하고 기본 base branch를 지정하는 화면.
Agent Registration Tycoon HQ
Agent Registration Tycoon HQ
내장 provider나 custom command agent를 역할, 전문성, args, 실행 모드와 함께 등록하는 화면. 픽셀풍 운영 보드에서 squad, 처리량, 포화도, 신뢰도, 리뷰 부채를 보는 화면.

핵심 제품 구조

Workspace 중심 셸

  • 좌측 레일에 workspaces, queued tasks, review queue, ports를 배치
  • 중앙 셸에 workspace tabs, provider tabs, terminal surface를 배치
  • 우측 레일에 review-first patch promotion, changed files, risk, diff summary를 배치
  • 무거운 IDE 패널이 아니라 Cursor 계열의 조용하고 밀도 높은 monochrome shell을 지향

멀티 에이전트 오케스트레이션

  • 1 session = 1 dedicated task context
  • 각 workspace는 재할당, 재시도, pause, resume, clone, promote, discard 가능
  • Claude Code, Codex, Aider, Gemini CLI, OpenCode, custom command를 provider abstraction으로 지원
  • 인증은 API key 또는 provider CLI login 흐름으로 처리

로컬 우선 안전성

  • Git worktree 중심 세션 모델
  • 무조건 auto-merge 하지 않고 review-first merge 흐름 우선
  • provider secret은 시스템 keychain에 저장
  • Electron 대신 Tauri를 써서 더 작고 조용한 데스크톱 런타임 유지

Tycoon HQ

  • bugfix, refactor, docs, test, custom task force 단위의 squad 운영
  • 픽셀 캐릭터 카드로 reliability, load, saturation, success, review debt를 표현
  • dispatch board에서 누구를 먼저 투입할지, 무엇을 먼저 리뷰할지 판단

아키텍처

데스크톱 스택

  • Tauri v2 데스크톱 셸
  • 오케스트레이션, persistence, Git, adapters, PTY 관리를 맡는 Rust 코어
  • shell layout, review surfaces, Tycoon HQ를 그리는 React 19 + Vite
  • 로컬 상태 저장용 SQLite
  • 실제 터미널 세션용 portable-pty + xterm

Rust 워크스페이스

crates/
  patchyard-adapters/
  patchyard-domain/
  patchyard-git/
  patchyard-orchestrator/
  patchyard-persistence/
src-tauri/
ui/
docs/

현재 가능한 것

  • 네이티브 타이틀바와 중복되지 않는 커스텀 통합 titlebar
  • 데스크톱 런타임에서 동작하는 실제 PTY 기반 terminal wiring
  • workspace queue, session action, review queue
  • keychain 기반 provider credential 관리
  • promote, discard 중심의 review rail
  • squad와 agent 운영을 위한 픽셀풍 Tycoon HQ
  • UI 반복 개발과 README 캡처를 위한 browser preview fallback 데이터

로컬 개발

준비물

  • Rust toolchain
  • Node.js와 npm
  • Tauri CLI: cargo install tauri-cli --version '^2'

설치

npm install
npm --prefix ui install

데스크톱 앱 실행

npm run dev

자주 쓰는 명령

npm --prefix ui run lint
npm --prefix ui run build
cargo check

참고

  • browser preview는 http://localhost:1420에서 뜬다
  • 실제 PTY terminal 동작은 데스크톱 런타임 기준이다
  • 이 README의 스크린샷은 로컬 UI 빌드 기준으로 캡처했다

상태

Patchyard는 workspace orchestration, provider setup, review-first 흐름, UI iteration 기준으로 이미 로컬 데스크톱 MVP로 사용할 수 있다. 다만 아직 만드는 중이며, 이후 단계는 packaging, 더 넓은 agent protocol 지원, 더 깊은 Git 자동화다.