Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.entire.io/llms.txt

Use this file to discover all available pages before exploring further.

Entire uses a layered configuration system that allows project-wide settings to be shared via Git while supporting personal overrides. Entire looks for configuration in the following locations (in order of precedence):
  1. Local settings (highest priority): .entire/settings.local.json
  2. Project settings: .entire/settings.json
  3. Defaults (lowest priority)

Project Settings

Project settings are stored in .entire/settings.json and should be committed to your repository. These settings apply to everyone working on the project.
{
  "enabled": true,
  "log_level": "info",
  "telemetry": true,
  "strategy_options": {}
}

Settings Reference

SettingTypeDefaultDescription
enabledbooleantrueWhether Entire is active in this repository
external_agentsbooleanfalseEnable discovery of external agent plugins from $PATH
sign_checkpoint_commitsbooleantrueSign checkpoint commits using your existing Git signing key (GPG or SSH). Best-effort — falls back to unsigned with a log entry if the signer is unavailable. See Security & Privacy → Checkpoint commit signing.
redaction.pii.enabledbooleanfalseEnable optional PII redaction (email, phone, address, plus team-defined custom patterns) on top of always-on secret redaction. See Security & Privacy → PII redaction.
log_levelstring"info"Log verbosity: debug, info, warn, error. Can be overridden by ENTIRE_LOG_LEVEL env var. Set to debug to enable performance traces.
telemetrybooleannullSend anonymous usage analytics to PostHog (command name, agent, OS, flag names — never values). null = not asked yet (will prompt), true = opted in, false = opted out. See Security & Privacy → Telemetry and analytics for what’s captured and opt-out paths.
strategy_optionsobject{}Additional configuration options (see Strategy Options below)

Strategy Options

The strategy_options object contains settings that control how Entire captures and stores session data.
SettingTypeDefaultDescription
push_sessionsbooleantrueAutomatically push entire/checkpoints/v1 branch on git push
checkpoint_remoteobjectnullPush checkpoint branches to a separate repository (see Checkpoint Remote below)
summarize.enabledbooleanfalseAuto-generate AI summaries at commit time
Example:
{
  "strategy_options": {
    "push_sessions": true,
    "checkpoint_remote": {
      "provider": "github",
      "repo": "myorg/checkpoints-private"
    }
  }
}

Checkpoint Remote

Push checkpoint data to a separate repository instead of your main code repository. See Checkpoint Remote for setup and details.

Local Settings

Local settings are stored in .entire/settings.local.json and are automatically added to .gitignore. Use these for personal preferences that shouldn’t be shared.
{
  "log_level": "debug",
  "telemetry": false
}
Local settings are merged with project settings. You only need to specify the settings you want to override.

Project and local files

The .entire/ directory can contain both project setup and local files. Use the table below to decide which files belong in Git and which should stay on your machine.
PathRecommendationUse for
.entire/settings.jsonCommit when Entire is part of the projectShared settings, redaction rules, checkpoint remote, and behavior everyone on the project should use
.entire/.gitignoreCommitKeeps local Entire files out of normal commits
.entire/settings.local.jsonKeep localPersonal overrides, debug logging, private provider choices, or machine-specific settings
.entire/logs/Keep localDiagnostic logs from your machine
.entire/tmp/Keep localTemporary runtime data
.entire/metadata/Keep localLocal metadata generated while Entire runs
.entire/current_sessionKeep localPointer to your current local session
If you’re only trying Entire for yourself, keep .entire/settings.json local until the project decides to adopt it.
Checkpoint transcripts are stored separately on the entire/checkpoints/v1 branch. If your repository is public, pushed checkpoint history is public too. See Security & Privacy.

Global Settings

Global settings apply to all repositories and are stored in ~/.config/entire/settings.json.
{
  "telemetry": true
}

Global Settings Reference

SettingTypeDefaultDescription
telemetrybooleanfalseDefault telemetry setting for new repositories

Environment Variables

Certain settings can be overridden via environment variables:
VariableDescription
ENTIRE_LOG_LEVELSet log verbosity (debug, info, warn, error). Takes precedence over the log_level setting.
ENTIRE_TELEMETRY_OPTOUTSet to any non-empty value to opt out of telemetry regardless of the telemetry setting.
ENTIRE_NO_AUTO_UPDATESet to any non-empty value to disable the interactive auto-update prompt.
# Enable debug logging for a session
ENTIRE_LOG_LEVEL=debug claude

GUI Git Clients

By default, Entire’s Git hooks use the entire command without a full path, relying on your shell’s PATH to find the binary. This works well for terminal commits, but GUI Git clients (Xcode, Tower, GitKraken, Sourcetree, etc.) often don’t source your shell profile, so they can’t find entire. To fix this, use the --absolute-git-hook-path flag:
# During initial setup
entire enable --absolute-git-hook-path

# Or if Entire is already configured
entire configure --absolute-git-hook-path
This embeds the full path to the entire binary directly in the Git hooks:
# Without --absolute-git-hook-path (default)
entire hooks git post-commit

# With --absolute-git-hook-path
'/Users/you/go/bin/entire' hooks git post-commit

Limitations

  • Not portable - If you move the entire binary, you’ll need to re-run entire enable --absolute-git-hook-path or entire configure --absolute-git-hook-path

Settings Reference

The setting is stored in your settings file:
{
  "absolute_git_hook_path": true
}

Agent Hook Configuration

Each agent stores its hook configuration in its own directory. When you run entire enable, hooks are installed in the appropriate location for each selected agent:
AgentHook LocationFormat
Claude Code.claude/settings.jsonJSON hooks config
Codex.codex/hooks.jsonJSON hooks config
Gemini CLI.gemini/settings.jsonJSON hooks config
OpenCode.opencode/plugins/entire.tsTypeScript plugin
Factory Droid.factory/settings.jsonJSON hooks config
You can enable multiple agents at the same time — each agent’s hooks are independent.

Initializing Configuration

When you run entire enable, a .entire directory is created with default settings:
.entire/
├── settings.json        # Project settings (committed)
├── settings.local.json  # Local overrides (gitignored)
└── .gitignore          # Ensures local settings aren't committed

Modifying Settings

Via CLI

# Enable telemetry
entire enable --telemetry

Manually

Edit the JSON files directly:
# Edit project settings
vim .entire/settings.json

# Edit local settings
vim .entire/settings.local.json

Configuration Precedence Example

Given these configuration files: Global (~/.config/entire/settings.json):
{
  "telemetry": true
}
Project (.entire/settings.json):
{
  "log_level": "info"
}
Local (.entire/settings.local.json):
{
  "log_level": "debug"
}
The effective configuration would be:
{
  "log_level": "debug",         // from local (overrides project)
  "telemetry": true             // from global
}

Viewing Current Configuration

To see the effective configuration:
entire status --detailed
This shows all settings and their sources.