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):
- Local settings (highest priority):
.entire/settings.local.json
- Project settings:
.entire/settings.json
- 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
| Setting | Type | Default | Description |
|---|
enabled | boolean | true | Whether Entire is active in this repository |
external_agents | boolean | false | Enable discovery of external agent plugins from $PATH |
sign_checkpoint_commits | boolean | true | Sign 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.enabled | boolean | false | Enable optional PII redaction (email, phone, address, plus team-defined custom patterns) on top of always-on secret redaction. See Security & Privacy → PII redaction. |
log_level | string | "info" | Log verbosity: debug, info, warn, error. Can be overridden by ENTIRE_LOG_LEVEL env var. Set to debug to enable performance traces. |
telemetry | boolean | null | Send 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_options | object | {} | Additional configuration options (see Strategy Options below) |
Strategy Options
The strategy_options object contains settings that control how Entire captures and stores session data.
| Setting | Type | Default | Description |
|---|
push_sessions | boolean | true | Automatically push entire/checkpoints/v1 branch on git push |
checkpoint_remote | object | null | Push checkpoint branches to a separate repository (see Checkpoint Remote below) |
summarize.enabled | boolean | false | Auto-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.
| Path | Recommendation | Use for |
|---|
.entire/settings.json | Commit when Entire is part of the project | Shared settings, redaction rules, checkpoint remote, and behavior everyone on the project should use |
.entire/.gitignore | Commit | Keeps local Entire files out of normal commits |
.entire/settings.local.json | Keep local | Personal overrides, debug logging, private provider choices, or machine-specific settings |
.entire/logs/ | Keep local | Diagnostic logs from your machine |
.entire/tmp/ | Keep local | Temporary runtime data |
.entire/metadata/ | Keep local | Local metadata generated while Entire runs |
.entire/current_session | Keep local | Pointer 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.
Global Settings Reference
| Setting | Type | Default | Description |
|---|
telemetry | boolean | false | Default telemetry setting for new repositories |
Environment Variables
Certain settings can be overridden via environment variables:
| Variable | Description |
|---|
ENTIRE_LOG_LEVEL | Set log verbosity (debug, info, warn, error). Takes precedence over the log_level setting. |
ENTIRE_TELEMETRY_OPTOUT | Set to any non-empty value to opt out of telemetry regardless of the telemetry setting. |
ENTIRE_NO_AUTO_UPDATE | Set 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:
| Agent | Hook Location | Format |
|---|
| Claude Code | .claude/settings.json | JSON hooks config |
| Codex | .codex/hooks.json | JSON hooks config |
| Gemini CLI | .gemini/settings.json | JSON hooks config |
| OpenCode | .opencode/plugins/entire.ts | TypeScript plugin |
| Factory Droid | .factory/settings.json | JSON 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):
Project (.entire/settings.json):
Local (.entire/settings.local.json):
The effective configuration would be:
{
"log_level": "debug", // from local (overrides project)
"telemetry": true // from global
}
Viewing Current Configuration
To see the effective configuration:
This shows all settings and their sources.