Entire 는 Git 워크플로우에 hooks 를 적용하여 작업 중 AI 에이전트 세션을 캡처합니다. 세션은 커밋과 함께 인덱싱되며, 코드 작성 과정의 검색 가능한 기록을 생성합니다.
Entire 를 사용하면 다음이 가능합니다:
코드 변경 이유 이해— 전체 프롬프트/응답 전사 및 수정된 파일을 볼 수 있습니다.즉시 복구— 에이전트가 이상한 방향으로 진행될 때 알려진 좋은 체크포인트로 되돌아갈 수 있으며 원활하게 재개할 수 있습니다.Git 히스토리 유지— 별도의 브랜치에 에이전트 컨텍스트를 보존합니다.더 빠른 온보딩— 프롬프트 → 변경 → 커밋의 경로를 보여줍니다.추적성 유지— 필요시 감사 및 준수 요구사항을 지원합니다.
코드 변경 이유 이해, 아닌 것만— 전사, 프롬프트, 수정된 파일, 토큰 사용량, 도구 호출 등 모든 커밋과 함께 캡처됩니다.어떤 체크포인트에서든 되돌아갈 수 있고 재개할 수 있습니다— 이전 에이전트 세션으로 돌아갈 수 있으며 자신이나 동료의 작업에서 정확히 어디에서 시작할지 선택할 수 있습니다.완전한 컨텍스트 보존 및 검색 가능— Git 히스토리와 연결된 모든 AI 상호작용에 대한 버전 기록이 있으며 아무것도 손실되지 않습니다.컨텍스트 전환 제로— Git 네이티브, 2 단계 설정, Claude Code, Codex, Gemini 등 지원.
# Install stable via Homebrew
brew tap entireio/tap
brew install --cask entire
...
초기 설정 후 entire agent 를 사용하여 에이전트를 추가하거나 제거하고, entire configure 를 사용하여 에이전트와 관련된 설정을 업데이트하며, entire enable / entire disable 을 사용하여 Entire 를 켜거나 끕니다.
Entire 는 현재 두 개의 릴리스 채널을 제공합니다:
stable
: 대부분의 사용자에 권장. 안정적 릴리스는 덜 자주 변경되며 Homebrew, Scoop, 및 install.sh 의 기본값입니다.
.nightly
: 최신 변경 사항을 더 일찍 원하는 사용자를 위한 프리릴리스 빌드. Nightlies 는 더 빈번하게 게시되며 stable 보다 새로운, 덜 검증된 변경 사항을 포함할 수 있습니다.
각 채널을 사용하는 방법:
install.sh
stable:curl -fsSL https://entire.io/install.sh | bash
install.sh
nightly:curl -fsSL https://entire.io/install.sh | bash -s -- --channel nightly
- Scoop: 현재는
stable 만 지원하며 scoop install entire/cli 를 통해.
아직 활성화되지 않은 저장소 (repo) 에서 entire enable 를 실행하면:
초기 활성화 흐름을 실행합니다: Entire 설정을 생성하고, git hooks 를 설치하며, 어떤 에이전트 hooks 를 설치할지 선택하도록 안내합니다. 특정 에이전트를 비대화적으로 활성화하려면 entire enable --agent <name> 을 사용하세요.
(예를 들어, entire enable --agent cursor)
설치 후:
- 저장소가 현재 비활성화되어 있다면
entire enable 를 사용하여 Entire 을 다시 켭니다.
entire agent 를 사용하여 에이전트를 추가하거나 제거합니다.
entire configure 를 사용하여 에이전트와 무관한 설정 (telemetry, hooks, checkpoint remote, summary provider) 을 업데이트합니다.
hooks 는 작업 중 세션 데이터를 캡처합니다. Checkpoints 는 사용자가 또는 에이전트가 git commit 을 만들 때 생성됩니다. 코드 커밋은 깨끗하게 유지되며, Entire 은 활성 브랜치에 커밋을 생성하지 않습니다. 모든 세션 메타데이터는 별도의 entire/checkpoints/v1 브랜치에 저장됩니다.
이전에 사용하던 AI 에이전트를 그대로 사용할 수 있습니다. Entire 은 백그라운드에서 실행되어 세션을 추적합니다:
entire status # 언제든지 현재 세션 상태를 확인
변화를 되돌리고 이전 체크포인트로 돌아가고 싶다면:
이 명령은 현재 세션의 모든 이용 가능한 체크포인트를 표시합니다. 하나를 선택하여 코드를 해당 정확한 상태로 복원합니다.
브랜치에 대한 최신 체크포인트된 세션 메타데이터를 복원하려면:
entire session resume <branch>
Entire 는 브랜치를 체크아웃하고, 최신 체크포인트된 세션 메타데이터 (하나 이상의 세션) 를 복원하며, 계속 진행할 명령어를 출력합니다.
git hooks 을 제거합니다. 코드와 커밋 기록은 변하지 않습니다.
세션 (session) 은 AI 에이전트와의 완전한 상호작용을 의미하며, 시작부터 끝까지를 포함합니다. 각 세션은 모든 프롬프트, 응답, 수정된 파일 및 타임스탬프를 캡처합니다.
세션 ID 형식: YYYY-MM-DD-<UUID>
(예: 2026-01-08-abc123de-f456-7890-abcd-ef1234567890)
세션은 코드 커밋과 별도로 entire/checkpoints/v1 브랜치에 저장됩니다.
체크포인트 (checkpoint) 는 되돌릴 수 있는 세션 내의 스냅샷으로, 작업의 "저장점" 입니다.
Checkpoints 는 사용자가 또는 에이전트가 git commit 을 만들 때 생성됩니다. 체크포인트 ID 는 12 자 문자열입니다 (예: a3b2c4d5e6f7).
Your Branch entire/checkpoints/v1
│ │
▼ │
...
체크포인트는 작업 중 저장됩니다. 커밋을 할 때, 세션 메타데이터는 영구적으로 entire/checkpoints/v1 브랜치에 저장되며 사용자의 커밋과 연결됩니다.
Entire 는 git 기록을 깨끗하게 유지하기 위해 수동 커밋 전략을 사용합니다:
No commits on your branch— 분기에는 커밋을 생성하지 않습니다
Safe on any branch— main, master, feature 브랜치 모두 지원
Non-destructive rewind— 커밋 히스토리를 변경하지 않고 체크포인트에서 파일을 복원합니다
Metadata stored separately— 세션 데이터는 entire/checkpoints/v1에 저장됩니다
Entire 는 git worktrees 와 원활하게 작동합니다. 각 worktree 는 독립적인 세션 추적 기능을 가지므로, 충돌 없이 다른 worktree 에서 여러 AI 세션을 실행할 수 있습니다.
동일한 커밋에서 여러 AI 세션을 실행할 수 있습니다. 다른 세션이 미완료 작업을 진행 중일 때 두 번째 세션을 시작하면 Entire 는 경고하고 각각을 별도로 추적합니다. 두 세션의 체크포인트는 모두 보존되어 독립적으로 복원할 수 있습니다.
CLI device auth flow 로 로컬 entire.io
checkout 에서 작업 중이라면:
# 앱 리포지토리에서
cd ../entire.io-1
mise run dev
...
개발 중에 유용한 명령어:
# 로컬 서버에 로그인 플로우 실행 (브라우저 열기 전에 Enter 를 누름을 요청)
go run ./cmd/entire login --insecure-http-auth
# 로그인에 대한 집중된 통합 테스트 커버리지 실행
...
| 명령어 | 설명 |
|---|
entire clean | |
세션 데이터와 유실된 Entire 데이터를 정리합니다 (--all 을 사용하여 리포지토리 전체 정리) | |
entire agent | |
| 현재 리포지토리를 위한 에이전트 통합을 추가, 제거 또는 나열합니다 | |
entire configure | |
| 에이전트가 아닌 설정 (telemetry, git hook, 전략 옵션, 요약 제공자) 을 업데이트합니다 | |
entire disable | |
| 리포지토리에서 Entire hooks 를 제거합니다 | |
entire doctor | |
| 고장 난 세션 정리 또는 복원합니다 | |
entire enable | |
| 리포지토리에 Entire 를 활성화합니다 | |
entire checkpoint | |
| 체크포인트 나열, 설명, 복원, 검색합니다 | |
entire checkpoint explain | |
| 세션, 커밋 또는 체크포인트를 설명합니다 | |
entire checkpoint rewind | |
| 이전 체크포인트로 복원합니다 | |
entire login | |
| CLI 를 Entire device auth 로 인증합니다 | |
entire session | |
| Toke by Entire 를 추적하는 에이전트 세션 보기 및 관리 | |
entire session resume | |
| 브랜치 전환, 최신 체크포인트된 세션 메타데이터 복원, 명령어 표시 | |
entire session attach | |
| 이전에 분리된 세션에 연결합니다 | |
entire status | |
| 현재 세션 정보 표시 | |
entire doctor trace | |
| hook 성능 추적 표시 | |
entire version | |
| Entire CLI 버전 표시 | |
| Flag | Description |
|---|
--agent <name> | |
AI agent to install hooks for: claude-code, codex, gemini, opencode, cursor, factoryai-droid, or copilot-cli | |
--force, -f | |
| Force reinstall hooks (removes existing Entire hooks first) | |
--local | |
Write settings to settings.local.json instead of settings.json | |
--project | |
Write settings to settings.json even if it already exists | |
--skip-push-sessions | |
| Disable automatic pushing of session logs on git push | |
--checkpoint-remote <provider:owner/repo> | |
Push checkpoint branches to a separate repo (e.g., github:org/checkpoints-repo) | |
--telemetry=false | |
| Disable anonymous usage analytics | |
Examples:
# First-time setup with a specific agent
entire enable --agent claude-code
# Re-enable a disabled repo
...
entire enable
is primarily for turning Entire on. On an unconfigured repo it will also bootstrap setup. Use entire agent
for adding or removing agents, and entire configure
for non-agent settings.
Use entire configure
to update non-agent settings on a repo that's already set up. Agent installation lives under entire agent
.
Typical uses:
- Toggle telemetry
- Reinstall the Entire git hook (
--force, --absolute-git-hook-path) - Update strategy options such as --checkpoint-remote or --skip-push-sessions
- Pick a summary provider for
entire explain --generate
Examples:
# Show help and the hint pointing to 'entire agent'
entire configure
# Opt out of telemetry
...
Entire uses two configuration files in the .entire/ directory:
Shared across the team, typically committed to git:
Personal overrides, gitignored by default:
{
"enabled": false,
"log_level": "debug"
...
| Option | Values | Description |
|---|---|
enabled |
true, false |
Enable/disable Entire |
log_level |
debug, info, warn, error |
Logging verbosity |
strategy_options.push_sessions |
true, false |
Auto-push entire/checkpoints/v1 branch on git push |
strategy_options.checkpoint_remote |
{"provider": "github", "repo": "org/repo"} |
Push checkpoint branches to a separate repo (see below) |
strategy_options.summarize.enabled |
true, false |
Auto-generate AI summaries at commit time |
telemetry |
true, false |
Send anonymous usage statistics to Posthog |
Each agent stores its hook configuration in its own directory. When you run entire enable
각 선택된 에이전트마다 적절한 위치에 hooks 가 설치됩니다:
| Agent | Hook Location | Format |
|---|
| Claude Code | .claude/settings.json | JSON hooks config |
| Codex | .codex/hooks.json | JSON hooks config |
| Copilot CLI | .github/hooks/entire.json | JSON hooks config |
| Cursor | .cursor/hooks.json | JSON hooks config |
| Factory AI Droid | .factory/settings.json | JSON hooks config |
| Gemini CLI | .gemini/settings.json | JSON hooks config |
| OpenCode | .opencode/plugins/entire.ts | TypeScript plugin |
동시에 여러 에이전트를 활성화할 수 있습니다. 각 에이전트의 hooks 는 독립적입니다. Entire 는 settings.json 의 설정을 확인하는 것이 아니라 설치된 hooks 를 검색하여 어떤 에이전트가 활성화되었는지 감지합니다.
기본적으로 Entire 는 코드와 같은 원격 저장소에 entire/checkpoints/v1 을 푸시합니다. 체크포인트 데이터를 별도의 저장소 (예: 공개 프로젝트용 프라이빗 저장소) 로 푸시하고 싶다면, 구조화된 제공자와 저장소를 사용하여 checkpoint_remote 를 구성하세요:
{
"strategy_options": {
"checkpoint_remote": {
...
}
}
또는 CLI 를 통해:
entire enable --checkpoint-remote github:myorg/checkpoints-private
Entire 는 푸시 원격 저장소와 동일한 프로토콜 (SSH 또는 HTTPS) 을 사용하여 git URL 을 자동으로 유도합니다. 다음 작업을 수행합니다:
- 원격에 있지만 로컬에는 없는 체크포인트 브랜치를 로컬에서 가져옵니다 (일회성)
entire/checkpoints/v1 을 체크포인트 저장소에 푸시하고, 기본 푸시 원격 저장소 대신 푸시합니다 - 포크가 감지되면 푸시를スキップ합니다 (푸시 원격 저장소 소유자와 체크포인트 저장소 소유자가 다름)
- 원격에 도달할 수 없는 경우 경고 후 메인 푸시를 차단하지 않고 계속 진행
ENTIRE_CHECKPOINT_TOKEN 환경 변수를 설정하면 주 저장소에 대한 자격 증명 없이도 체크포인트 저장소 운영을 위한 전용 토큰을 제공할 수 있습니다.
이 환경 변수가 설정되면 Entire 는 다음과 같이 동작합니다:
- 체크포인트 가져오기와 푸시용 HTTPS Git 작업에 토큰을 주입합니다
checkpoint_remote 가 구성되었을 경우:- 토큰이 있으면 저장소의 origin 이 SSH 를 사용하더라도 체크포인트 원격 저장소에 HTTPS URL 을 선호합니다
checkpoint_remote 가 구성되었을 경우:- 토큰이 있으면 저장소의 - checkpoint_remote 가 구성되지 않은 경우:- 기본 origin 원격 저장소를 사용합니다
checkpoint_remote 구성을 로드할 수 없는 경우:- 기본 origin 을 사용합니다
origin