Show HN: FleetCode – 여러 코딩 에이전트를 실행하기 위한 오픈 소스 UI
요약
FleetCode는 여러 CLI 코딩 에이전트를 동시에 실행할 수 있는 오픈 소스 데스크톱 터미널 애플리케이션입니다. 각 세션은 Git Worktree를 통해 격리되어 실행되며, 앱 재시작 후에도 세션이 유지되는 지속성을 제공합니다.
핵심 포인트
- Git Worktree를 활용하여 각 코딩 에이전트 세션을 독립된 환경에서 격리 실행
- Claude 및 Codex와 같은 다양한 코딩 에이전트를 병렬로 지원
- Model Context Protocol (MCP) 서버를 통한 에이전트 기능 확장 가능
- 세션 지속성 기능을 통해 앱 종료 후에도 작업 상태 자동 재개
- 다양한 터미널 테마 및 사용자 정의 설정 지원
FleetCode
각각 격리된 git worktree 내에서 여러 CLI 코딩 에이전트를 동시에 실행할 수 있는 데스크톱 터미널 애플리케이션입니다.
주요 기능 (Features)
- 다중 세션 (Multiple Sessions): 여러 코딩 에이전트 세션 (Claude, Codex)을 병렬로 실행
- Git Worktree 격리 (Git Worktree Isolation): 각 세션은 고유한 git worktree에서 실행되어 작업이 격리됨
- 지속성 있는 세션 (Persistent Sessions): 앱 재시작 후에도 세션이 유지되며 자동으로 재개됨
- 터미널 테마 (Terminal Theming): 프리셋 테마 선택 가능 (macOS Light/Dark, Solarized Dark, Dracula, One Dark, GitHub Dark)
- 설정 명령 (Setup Commands): 코딩 에이전트 시작 전 실행할 셸 명령어를 구성
- MCP 서버 관리 (MCP Server Management): Model Context Protocol (MCP) 서버를 추가하고 구성
- 세션 관리 (Session Management): 세션 이름 변경, 종료 및 자동 worktree 정리를 통한 세션 삭제
사전 요구 사항 (Prerequisites)
- Node.js 16 이상
- Git
- Claude CLI (
npm install -g @anthropic-ai/claude-cli) 또는 Codex
설치 (Installation)
npm install
사용법 (Usage)
개발 (Development)
npm run dev
프로덕션 빌드 (Production Build)
npm run build
npm start
작동 원리 (How It Works)
세션 생성 (Session Creation)
- 프로젝트 디렉토리 선택 (git 저장소여야 함)
- worktree를 위한 부모 브랜치(parent branch) 선택
- 사용할 코딩 에이전트 선택 (Claude 또는 Codex)
- 선택 사항으로 설정 명령어 추가 (예: 환경 변수, 소스 파일)
- FleetCode가 새로운 git worktree를 생성하고 터미널 세션을 실행
세션 관리 (Session Management)
- 새 세션 (New Sessions): 처음 실행하는 Claude 세션의 경우
--session-id <uuid>사용 - 재개된 세션 (Reopened Sessions):
--resume <uuid>를 통해 자동으로 재개 - Worktrees: 각 세션은 고유하고 격리된 git worktree를 가짐
- 지속성 (Persistence): 세션은 저장되며 앱을 종료한 후에도 다시 열 수 있음
터미널 설정 (Terminal Settings)
사이드바의 톱니바퀴 아이콘 (⚙️)을 통해 설정에 접근할 수 있습니다:
- 글꼴 종류 (Font Family): 일반적인 고정폭 글꼴(monospace fonts) 중에서 선택
- 글꼴 크기 (Font Size): 터미널 텍스트 크기 조절
- 테마 (Theme): 프리셋 컬러 테마 중에서 선택
- 커서 깜빡임 (Cursor Blink): 커서 깜빡임 여부 토글
MCP 서버 (MCP Servers)
에이전트의 기능을 강화하기 위해 Model Context Protocol (MCP) 서버를 설정하세요:
- stdio: 직접적인 프로세스 통신 (Direct process communication)
- SSE: HTTP를 통한 서버 전송 이벤트 (Server-sent events)
문제 해결 (Troubleshooting)
macOS: "App can't be opened because it is from an unidentified developer"
macOS에서 앱을 열려고 할 때 격리(quarantine) 경고가 발생하는 경우, 다음 명령어를 실행하세요:
xattr -cr /path/to/FleetCode.app
이 명령은 앱의 실행을 방해하는 격리 속성(quarantine attribute)을 제거합니다.
Claude Code: 작업 디렉토리 (Working Directory) 문제
Claude Code를 사용 중인데, 워크트리 (worktree) 대신 잘못된 디렉토리에서 파일을 읽거나 쓰고 있다면, Claude Code 설정에서 "IDE에 자동 연결 (Auto connect to IDE)" 기능을 비활성화하세요:
claude config
autoConnectToIde를 false로 설정하세요. 이렇게 하면 Claude Code가 올바른 워크트리 디렉토리 내에서 작동하도록 보장할 수 있습니다.
라이선스 (License)
ISC
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Show HN (AI)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기