본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 05. 20. 04:13

cli-continues: AI 코딩 도구 간 세션 전환을 위한 CLI 도구

요약

continues는 AI 코딩 도구 간의 세션 전환을 지원하는 CLI 도구로, Rate Limit 발생 시 작업 흐름을 끊김 없이 다른 도구로 넘길 수 있게 해줍니다. 대화 기록, 파일 변경 사항, 작업 상태를 구조화된 컨텍스트 문서로 추출하여 다양한 AI 에이전트 간의 원활한 핸드오프를 지원합니다.

핵심 포인트

  • Claude Code, Cursor, GitHub Copilot CLI 등 16개의 주요 AI 코딩 도구 간 세션 전환 지원
  • 도구별로 상이한 데이터 형식(JSONL, SQLite, YAML 등)을 자동으로 파싱하고 컨텍스트 추출
  • npx를 통한 설치 없는 즉시 실행 및 특정 도구의 특정 세션 지정 재개 기능 제공
  • 대상 도구의 설정 플래그(model, sandbox 등)를 자동으로 매핑하여 연속성 유지

디버깅 도중에 Rate Limit (속도 제한)에 걸렸습니다. 파일 변경 사항, 아키텍처 결정, 절반만 완료된 리팩토링 등 30개의 컨텍스트 메시지가 쌓여 있는데, 이제 몇 시간을 기다리거나 다른 도구에서 처음부터 다시 시작해야 합니다.

대화 기록, 파일 변경 사항, 작업 상태 — 이 모든 것이 함께 따라옵니다. continues

당신이 사용하던 어떤 AI 코딩 도구에서든 세션을 가져와 다른 도구로 넘겨줍니다.

npx continues

demo.mp4

16개의 AI 코딩 에이전트, 어떤 도구에서든 다른 도구로의 핸드오프 (Handoff):

Claude Code · Codex · GitHub Copilot CLI · Gemini CLI · Cursor · Amp · Cline · Roo Code · Kilo Code · Kiro · Crush · OpenCode · Factory Droid · Antigravity · Kimi CLI · Qwen Code

이는 240개의 도구 간 핸드오프 경로를 의미합니다. 어떤 소스(Source)를 선택하든, 어떤 대상(Destination)을 선택하든 작동합니다.

설치가 필요 없습니다 — 그저 npx continues를 실행하세요. 또는 전역(Globally)으로 설치할 수 있습니다:

npm install -g continues # continues와 cont 명령어를 제공합니다

Discovery (탐색) — 16개 도구 전체에 대해 세션 디렉토리를 스캔합니다.
Parsing (파싱) — 각 도구의 네이티브 형식 (JSONL, JSON, SQLite, YAML — 모두 제각각입니다)을 읽습니다.
Extraction (추출) — 최근 메시지, 파일 변경 사항, 도구 활동, AI 추론 (Reasoning)을 추출합니다.
Handoff (핸드오프) — 구조화된 컨텍스트 문서 (Context doc)를 생성하여 대상 도구에 주입합니다.

핸드오프 문서는 수신 측 에이전트가 당신이 무엇을 하고 있었는지, 어떤 파일이 수정되었는지, 어떤 명령어가 실행되었는지, 그리고 남은 작업이 무엇인지를 즉시 이해할 수 있도록 설계되었습니다.

그저 continues를 실행하세요. 모든 세션을 찾아내어 하나를 선택하게 하고, 어디서부터 계속할지 묻습니다:

┌ continues — 중단된 지점부터 다시 시작하기
│
│ 16개의 CLI 도구에서 1842개의 세션을 찾았습니다
...

프로젝트 디렉토리에서 실행하면, 해당 디렉토리의 세션이 우선순위를 갖습니다.

선택 과정을 완전히 건너뛰고 — 특정 도구의 N번째로 최근 세션에서 재개할 수도 있습니다:

continues claude # 최신 Claude 세션
continues codex 3 # 3번째로 최근 Codex 세션
continues amp # 최신 Amp 세션
...

16개 도구 모두에서 작동합니다. 이는 네이티브 재개 (Native resume) 방식을 사용합니다 — 동일한 도구에서 전체 기록을 유지하며, 별도의 컨텍스트 주입 없이 진행됩니다.

이것이 핵심입니다. 한 도구에서 시작하여 다른 도구에서 마무리하세요:

# Claude의 Rate Limit (사용량 제한)에 도달했나요? Gemini로 넘기세요:
continues resume abc123 --in gemini
# 또는 대상 도구로 플래그(flags)를 전달하세요:
...

continues

일반적인 플래그들(model, sandbox, auto-approve, extra dirs)을 대상 도구의 상응하는 설정으로 매핑합니다. 인식하지 못하는 항목은 있는 그대로 전달됩니다.

--debug-prompt

전달(handoff) 검사 및 테스트를 위한 것입니다. 평소와 같이 전달 파일을 작성한 다음, 대상 에이전트(agent)에 전달될 정확한 프롬프트를 출력하고 에이전트를 실행하지 않은 채 종료합니다.

continues list # 테이블 출력
continues list --source claude --json # JSON, 필터링됨
continues list --jsonl -n 10 # JSONL, 최근 10개
...

무엇이 파싱되고 무엇이 전달 파일에 포함되는지 정확히 확인하세요:

continues inspect abc123 # 진단 뷰 (diagnostic view)
continues inspect abc123 --preset full --write-md handoff.md # 전체 마크다운 덤프
continues inspect abc123 --truncate 50 # 압축된 한 줄 보기

백업, 분석 또는 아카이브를 위해 모든 세션을 파일로 내보내세요:

# 모든 세션을 마크다운으로 내보내기 (기본값)
continues dump all ./sessions
# 특정 도구의 세션 내보내기
...

파일명 형식: {source}_{id}.md

또는 {source}_{id}.json

모든 전달이 방대한 양의 정보를 담을 필요는 없습니다. 네 가지 프리셋(presets)이 포함되는 상세 수준을 제어합니다:

프리셋 (Preset)메시지 수도구 샘플서브에이전트 (Subagent) 상세 정보사용 시점
minimal30없음빠른 컨텍스트, 토큰 제한이 있는 대상
standard105500자기본값 — 적절한 균형
verbose20102000자디버깅, 복잡한 다중 파일 작업
full50전체모든 정보완전한 세션 캡처

continues resume abc123 --preset full

프로젝트별 기본 설정을 위해, 프로젝트 루트에

.continues.yml 파일을 생성하세요:

preset: verbose
recentMessages: 15
shell:
...

해결 순서 (Resolution order): --config <path>

→ 현재 작업 디렉토리(cwd)의 .continues.yml

~/.continues/config.yml

standard 프리셋. .continues.example.yml을 참조하세요.

전체 참조를 위해.

모든 도구는 세션을 서로 다른 형식, 서로 다른 스키마, 서로 다른 경로로 다르게 저장합니다. continues가 읽어오는 항목은 다음과 같습니다:

도구형식저장 위치
Claude CodeJSONL~/.claude/projects/
...

모든 읽기 작업은 **읽기 전용 (read-only)**입니다. continues는 사용자의 세션 파일을 절대 수정하지 않습니다. 인덱스는 ~/.continues/sessions.jsonl에 캐싱됩니다 (5분 TTL, 자동 새로고침).

인계(handoff) 문서에는 도구 활동 (Tool Activity) 섹션이 포함되어 있어, 대상 에이전트가 단순히 무엇이 '말해졌는지'뿐만 아니라 무엇이 수행되었는지를 알 수 있게 합니다:

## Tool Activity
- **Bash** (×47): `$ npm test → exit 0` · `$ git status → exit 0` · `$ npm run build → exit 1`
- **Edit** (×12): `edit src/auth.ts` · `edit src/api/routes.ts` · `edit tests/auth.test.ts`
...

이는 16개 도구 전체에 대해 작동합니다 — Bash 명령, 파일 읽기/쓰기/편집, grep/glob, MCP 도구 호출, 사고 블록 (thinking blocks), 서브 에이전트 파견 (subagent dispatches), 토큰 사용량, 모델 정보 등. 공유된 SummaryCollector는 소스에 관계없이 형식을 일관되게 유지합니다.

모든 인계에는 원본 세션의 **전체 파일 경로 (full file path)**가 포함되어 있어, 수신 도구가 필요한 경우 원시 데이터(raw data)를 추적할 수 있습니다.

명령기능
continues대화형 TUI 선택기
continues list세션 목록 표시 (--source, --json, --jsonl, -n)
continues resume <id>ID로 재개 (--in <tool>, --preset)
continues inspect <id>진단 보기 (--truncate, --write-md, --preset)
`continues dump <sourceall> <dir>`
continues scan탐색 통계 (--rebuild)
continues rebuild세션 인덱스 강제 재구축
continues <tool> [n]16개 도구 중 임의의 n번째 세션으로 빠른 재개

글로벌 플래그: --config <path>, --preset <name>, --verbose, --debug

이 프로젝트는 7개의 도구로 시작되었으나 기여자들 덕분에 빠르게 성장했습니다:

Factory Droid 지원 — #1, 첫 번째 커뮤니티 파서(parser)
Cursor AI 지원 — #4 @Evrim267 작성, 스마트 슬러그-경로(slug-to-path) 해결 기능 포함
단일 도구 오류 처리 — #3 @barisgirismen 작성, 단 하나의 CLI만 설치된 경우 명확한 오류 메시지 표시
환경 변수(Env var) 오버라이드 — #14 @yutakobayashidev 작성, CLAUDE_CONFIG_DIR, CODEX_HOME, GEMINI_CLI_HOME, XDG_DATA_HOME을 준수함

최신 배치(batch)인 Amp, Kiro, Crush, Cline, Roo Code, Kilo Code, Antigravity, Kimi CLI, Qwen Code는 mnemo의 Go 어댑터(adapters)를 역공학(reverse-engineering)하고 스키마(schemas)를 TypeScript에 맞게 조정하여 추가되었습니다. 이 과정에서 기존 Claude, Codex, Cursor, Gemini 파서의 토큰(token)/캐시(cache)/모델(model) 추출 기능도 개선되었습니다.

이번 라운드에서 수정된 버그:

  • 심볼릭 링크(Symlink) 순회 — fs.Dirent.isDirectory()가 심볼릭 링크에 대해 false를 반환하는 문제; isSymbolicLink() && statSync() 폴백(fallback)으로 수정
  • 토큰 제로(Zero-token) 표시 — 세션에 토큰 데이터가 없을 때 더 이상 "0 in / 0 out"을 표시하지 않음
  • 주요 결정(Key Decisions) 횟수 — 하드코딩된 5가 아닌, 상세 출력(verbosity) 설정을 준수함

Node.js 22.5+ (OpenCode 및 Crush를 위해 내장된 node:sqlite 사용)

  • 지원되는 16개 도구 중 최소 하나가 설치되어 있어야 함
git clone https://github.com/yigitkonur/cli-continues
cd cli-continues
pnpm install
...

새로운 도구를 추가하시나요? src/parsers/에 파서를 생성하고, src/types/tool-names.ts에 도구 이름을 추가한 뒤, src/parsers/registry.ts에 등록하세요. 레지스트리(registry)에는 컴파일 타임 완전성 검사(compile-time completeness check)가 포함되어 있어, 이름을 추가하고 파서를 누락하면 임포트(import) 시 오류가 발생합니다.

MIT © Yigit Konur

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0