Skip to content

Delegate to AI KR

osgood edited this page Jun 10, 2026 · 2 revisions

🤖 AI에게 위임

여러 AI 코딩 에이전트(Claude Code · Codex · Gemini CLI)에게 작업을 넘겨 병렬로 실행하세요 — 각각 독립된 git 워크트리에서.

🌐 English · 한국어


병렬 워크트리 실행

각 TODO는 자동으로 자기만의 git 워크트리를 갖습니다. Claude / Gemini / Codex CLI가 동시에 병렬 실행됩니다.

  • 의존성 체인으로 선행 작업이 끝나면 후속 작업과 브랜치 머지를 자동 트리거할 수 있습니다.
  • 프로젝트별 워크트리 토글 + TODO별 3-상태 오버라이드(상속 / 워크트리 강제 / 메인 강제)로 세밀하게 제어합니다.
  • 메인 브랜치 작업은 .git 충돌을 막기 위해 자동으로 직렬화됩니다.
  • 드래그-드롭 재정렬과 iOS 스타일 스택 모드로 긴 목록도 관리하기 쉽습니다.

워크트리 격리 on/off

모드 동작
워크트리 사용 (기본) TODO마다 독립 워크트리. 병렬 실행 + 브랜치 머지.
메인에서 실행 메인 브랜치에서 직접 작업. 충돌 방지를 위해 동시 실행이 1로 강제되고, CLI가 직접 커밋하며 머지 버튼은 표시되지 않음.

워크트리 생성 시 npm install (opt-in)

기본값 OFF — CLITrigger는 언어 불문 오케스트레이터이므로 package.json이 있다는 이유만으로 설치를 돌리지 않습니다. 에이전트가 곧바로 테스트/빌드를 돌려야 하는 npm 프로젝트에서만 켜세요.

Continue (후속 라운드)

완료된 TODO에 추가 지시를 보내 동일 워크트리에서 새 라운드를 실행합니다(CLI 네이티브 --continue). 여러 번 Continue 가능하며 라운드별 로그가 구분됩니다. 워크트리가 정리된 경우 Retry로 처음부터 재시작합니다.


인터랙티브 세션

장시간 상호작용 CLI 세션을 1급 엔티티로 다룹니다 — Claude / Gemini / Codex 세션을 플로팅 드래그 창으로 띄웁니다. TODO가 지시를 받아 자동 실행된다면, 세션은 CLI와 직접 수동으로 대화하는 용도입니다.

VS Code 스타일 윈도우 그룹화 / 도킹

  • 탭을 다른 창으로 드래그하면 5-zone 다이아몬드(top/bottom/left/right/center) — 사이드 드롭은 리사이즈 가능한 pane으로 분할, center는 탭으로 합침
  • Aero 스타일 엣지 스냅, sticky 윈도우 간 스냅, dock tray 최소화
  • Splitter 바로 pane 크기 조정, 모든 탭이 mount 유지되어 PTY 출력이 끊기지 않음
  • 탭을 그룹 밖으로 12px 이상 끌면 플로팅 창으로 detach(eager tab tearing)
  • 팝아웃(별도 OS 창) 안에서도 도킹 — 탭을 pane(자기 스택의 가장자리 포함)에 드롭하면 분할, center는 탭 합치기
  • OS 창 사이 탭 드래그: 팝아웃의 탭을 다른 팝아웃이나 메인 앱의 플로팅 창 위에 드롭하면 그 창으로 이동. 창이 겹치면 가장 최근에 포커스된 창이 받고, 수신 창이 확인한 뒤에만 탭이 원래 창에서 제거되어 도중에 유실되지 않음

멀티 윈도우 (별도 OS 창)

창을 별도 OS 창으로 빼낼 수 있습니다. 세션 목록에 배지가 뜨고 원클릭 "중앙으로 불러오기" 복귀가 제공되며, 팝아웃 창은 하단 dock tray에도 칩으로 표시됩니다. 팝아웃 무응답 시 1.5s 후 강제 회수합니다. 다른 프로젝트를 보는 중에 Re-dock하면 지금 보고 있는 워크스페이스로 들어오므로, 서로 다른 프로젝트의 터미널을 한 그룹으로 묶을 수도 있습니다.

터미널 렌더링 & 입력

  • xterm.js가 ANSI 컬러·커서 제어·TUI 박스 그리기를 실제 터미널과 동일하게 표시
  • PTY가 정확한 viewport 크기로 spawn; per-session 폰트 크기는 A−/A+ 버튼, Ctrl/Cmd ±, Ctrl/Cmd + 휠로 조정(8–28px)
  • 그룹 내 탭 사이클(Ctrl+Tab / Ctrl+Shift+Tab); 새 raw-shell 탭+ / Ctrl/Cmd+T
  • 복사/붙여넣기는 우클릭 컨텍스트 메뉴; Ctrl/Cmd+C는 항상 PTY로 전달(^C = SIGINT)
  • 이미지 페이스트는 호스트 클립보드에 비트맵을 push하고 CLI에 [Image #N]을 렌더 — 프로젝트 트리에 디스크 파일 안 생김. 붙여넣는 순간 터미널 좌하단에 썸네일 미리보기가 몇 초간 표시되어 무엇이 첨부됐는지 확인 가능
  • 8개 브랜드 터미널 테마 + 커스텀 5색 피커(per-session, localStorage 영속)

위키 주입 + Send/Skip pre-flight

세션에 위키 주입이나 description이 있으면 초기 프롬프트가 자동 전송되지 않고 보류됩니다. "Initial prompt ready · N chars" 배너와 함께 Preview / Send / Skip으로 모델에 전송 전 검토합니다. 인라인 편집은 실행 중이 아닌 세션을 제자리에서 수정합니다.

모바일

iOS Safari 한글 IME는 클라이언트 사이드 두벌식 composer로 합성됩니다. 윈도우 geometry, 그룹 트리, 탭 배열이 영속되어 탭 이동 후에도 유지되며, 작은 화면은 fullscreen으로 전환됩니다.


멀티 에이전트 토론

서로 다른 역할의 AI 에이전트 — 아키텍트, 개발자, 리뷰어 — 가 구현 전에 라운드 기반으로 토론합니다. 그 결과 설계는 단일 AI가 혼자 작업할 때보다 훨씬 견고합니다.

워크플로우

  1. 에이전트 생성 — 페르소나 정의(이름, 역할, 시스템 프롬프트, CLI 도구)
  2. 토론 생성 — 2개 이상 에이전트 선택, 주제와 최대 라운드 수 지정
  3. 실행 — 각 라운드에서 에이전트가 순서대로 발언, 이전 발언 참고
  4. 개입 — 메시지 주입, 턴 건너뛰기, 일시 중지/재개
  5. 구현 — 지정된 에이전트가 합의 내용으로 코드 작성
  6. 머지 — 구현된 브랜치를 기본 브랜치에 병합

주요 기능

  • Implementer(can_implement)는 일반 턴에서도 코드 커밋 가능(프롬프트가 "최소 프로토타입"으로 완화); 최종 구현 라운드가 나머지를 채움. 목록에 망치 배지로 표시.
  • **자동 구현(Auto-implement)**은 합의 시 코드 작성 라운드를 자동 트리거.
  • Send to Planner는 완료된 트랜스크립트를 1회성 LLM 추출로 큐레이션된 플래너 아이템으로 변환 — 저장 전 검토·편집(각 항목은 source_discussion_id로 역참조).
  • 워크트리 격리, 실시간 WebSocket 스트리밍, 메시지 접기/펼치기, 프롬프트 인젝션 방어(<user_task> 격리).

토론은 프로젝트의 max_concurrent 한도를 TODO와 공유합니다.


스케줄 실행

rate limit을 피하기 위해 비피크 시간대에 작업을 예약합니다. 지원:

  • 반복 cron 스케줄 — 예: 0 9 * * *(매일 9시), 30 18 * * 1-5(평일 18:30)
  • 1회성 예약 실행
  • rate limit 이벤트 시 자동 복구 스케줄 — CLI가 토큰 쿼터에 걸리면 정확한 리셋 시각에 재시도를 예약

스케줄 탭에서 관리: 활성화/비활성화 토글, 수동 트리거, 실행 이력(triggered / skipped / failed), Skip if running 옵션.


멀티 CLI & 샌드박스 모드

프로젝트별, TODO별, 토론 에이전트별로 Claude / Gemini / Codex를 선택합니다. 모든 실행은 각 CLI의 기본(default) 모델을 사용합니다 — 계속 바뀌는 모델 라인업을 따라가야 하는 모델 선택 UI를 의도적으로 두지 않았습니다. fallback chain으로 컨텍스트 윈도우나 쿼터 소진 시 다음 CLI로 자동 재시도할 수 있습니다.

샌드박스 모드

strict 샌드박스 모드는 각 CLI의 네이티브 샌드박싱을 활용해 파일 접근을 워크트리 디렉토리로 제한합니다:

CLI strict 모드 동작
Claude .claude/settings.json 자동 생성(dontAsk + 디렉토리 스코프 권한)
Codex --full-auto + --add-dir .git(워크스페이스 샌드박스 + git 메타데이터 접근)
Gemini 프롬프트 수준 경로 제한(네이티브 샌드박싱 미지원)

특별한 이유가 없다면 strict 모드를 유지하세요 — permissive 모드는 CLI가 시스템 전체 파일에 접근할 수 있습니다. permissive로 전환 시 경고 다이얼로그가 표시됩니다.

하네스 — CLI 설정을 앱 안에서 편집

프로젝트 설정 → 하네스 탭에서 CLITrigger를 벗어나지 않고 각 CLI의 프로젝트 설정을 편집합니다: 지시 파일을 실제 파일명(CLAUDE.md / GEMINI.md / AGENTS.md) 그대로, 확대 가능한 전체 높이 에디터로 다룹니다. settings·MCP 서버 편집도 포함. Claude는 추가로:

  • CLAUDE.local.md — CLAUDE.md 아래에서 함께 편집, 없으면 첫 저장 시 생성
  • Hooks.claude/settings.json의 hooks 블록을 이벤트별 매처·커맨드 목록으로 표시, raw JSON으로 수정
  • Skills.claude/skills/*/SKILL.md를 description과 함께 목록으로 표시, 인라인 수정

Clone this wiki locally