## Prerequisites

- Git installed and configured
- An AI coding agent installed, such as Claude Code, Codex, Copilot CLI, Cursor, Factory, Gemini CLI, OpenCode, or Pi
- macOS, Linux, or Windows
- Optional: GitHub CLI (`gh`) installed and authenticated, if you want Entire to create and push a private GitHub repository during setup

## 1. Install Entire

Entire ships two release channels:

- `stable`: recommended for most users.
- `nightly`: prerelease builds with newer changes.

Nightly is available through Homebrew and the Linux install script. Scoop currently supports stable only.

- macOS (Homebrew)

- Linux

- Windows (Scoop)

- From Source

```
    # One-time setup: tap and trust
    brew tap entireio/tap
    brew trust entireio/tap

# Stable
    brew install --cask entire

# Nightly
    brew install --cask entire@nightly
    ```

```
    # Stable
    curl -fsSL https://entire.io/install.sh | bash

# Nightly
    curl -fsSL https://entire.io/install.sh | bash -s -- --channel nightly
    ```

```
    scoop bucket add entire https://github.com/entireio/scoop-bucket.git
    scoop install entire/cli
    ```

```
    go install github.com/entireio/cli/cmd/entire@latest
    ```

Verify the installation:

```
    entire version
    ```

## 2. Create a Demo Project

```
    mkdir entire-demo
    cd entire-demo
    ```

Already in a Git repository? Skip this step and run the remaining commands from the repository root.

## 3. Enable Entire

Choose the agent you already use, then run its setup command.

Claude Code

```
    entire enable -y --agent claude-code
    ```

Codex

```
    entire enable -y --agent codex
    ```

Copilot CLI

```
    entire enable -y --agent copilot-cli
    ```

Cursor

```
    entire enable -y --agent cursor
    ```

Factory

```
    entire enable -y --agent factoryai-droid
    ```

Gemini CLI

```
    entire enable -y --agent gemini
    ```

OpenCode

```
    entire enable -y --agent opencode
    ```

Pi

```
    entire enable -y --agent pi
    ```

This installs Git hooks that capture checkpoints when you commit and installs hook configuration for your selected agent. It also creates a `.entire/` directory for project and local settings. For shared projects, commit `.entire/settings.json` and `.entire/.gitignore`. Keep `.entire/settings.local.json` local for personal overrides.

Because this starts in a new folder, `entire enable -y` initializes Git and creates an initial commit. If `gh` is installed and authenticated, Entire can also create a private GitHub repository and push the initial commit.

## 4. Start an Agent Session

Start the same agent you enabled:

Claude Code

```
    claude
    ```

Codex

```
    codex
    ```

Copilot CLI

```
    copilot
    ```

Cursor

```
    cursor
    ```

Factory

```
    droid
    ```

Gemini CLI

```
    gemini
    ```

OpenCode

```
    opencode
    ```

Pi

```
    pi
    ```

Prompt it to make a small change:

```
    Create a file named hello-entire.md with a short note explaining that this repo is my first Entire checkpoint demo.
    ```

When the agent finishes, exit the agent session if needed.

## 5. Commit the Change

Check what changed:

```
    git status
    ```

Then commit it:

```
    git add hello-entire.md
    git commit -m "Add first Entire demo file"
    ```

Because Entire detected recent agent work, it may ask whether to link this commit to the session context. The agent name will match the integration you enabled:

```
    Entire: Active <agent> session detected
    Last prompt: Create a file named hello-entire.md with a short note...

Link this commit to session context?
      [Y]es / [n]o / [a]lways (remember my choice):
    ```

Press `Enter` or type `y` to link the commit. After the commit succeeds, you have created your first checkpoint.

If you choose `always`, Entire remembers that preference and links future matching commits automatically.

## 6. View Your First Checkpoint

```
    entire checkpoint list
    ```

You should see the checkpoint linked to your commit. Entire stores permanent checkpoint data on a Git branch named:

```
    entire/checkpoints/v1
    ```

Your working branch stays clean. Entire does not add extra commits to it.

## 7. Optional: Push Your Code and Checkpoint

If your repository has a remote, push your code:

```
    git push
    ```

Entire’s pre-push hook also syncs checkpoint data to `entire/checkpoints/v1`.

Checkpoint data can include session context. If your repository is public, pushed checkpoint history is public too.
