## Local settings file

Local settings are stored in `.entire/settings.local.json` and are automatically ignored by Git. Local settings are merged with project settings. You only need to specify the settings you want to override:

```json
{
  "log_level": "debug",
  "telemetry": false
}
```

## Local settings reference

Use these settings locally when the behavior should not affect teammates.

| Setting path                                   | Type      | Use for                                                        | Learn more                                                                 |
|------------------------------------------------|-----------|----------------------------------------------------------------|-----------------------------------------------------------------------------|
| `commit_linking`                              | string    | Personal commit-linking behavior during `git commit`           | [Capture Checkpoints](https://docs.entire.io/guides/checkpoints/capture-checkpoints#link-future-commits-automatically) |
| `strategy_options.push_sessions`              | boolean   | Checkpoint push behavior only on your machine                  | [Checkpoint Storage](https://docs.entire.io/guides/configuration/checkpoint-storage#keep-checkpoints-local) |
| `strategy_options.checkpoint_remote`          | object    | Personal checkpoint remote while testing storage behavior       | [Checkpoint Storage](https://docs.entire.io/guides/configuration/checkpoint-storage#checkpoint-remote) |
| `redaction.pii.enabled`                        | boolean   | Optional PII redaction for your own captured sessions           | [Privacy and Redaction](https://docs.entire.io/guides/configuration/privacy-and-redaction#pii-redaction) |
| `redaction.custom_redactions`                 | object    | Private regex redaction rules that should not be committed     | [Privacy and Redaction](https://docs.entire.io/guides/configuration/privacy-and-redaction#user-defined-redaction) |
| `telemetry`                                   | boolean/null | Personal analytics preference in this repository               | [Privacy and Redaction](https://docs.entire.io/guides/configuration/privacy-and-redaction#telemetry) |
| `sign_checkpoint_commits`                     | boolean   | Personal checkpoint commit signing preference                  | [Privacy and Redaction](https://docs.entire.io/guides/configuration/privacy-and-redaction#checkpoint-commit-signing) |
| `log_level`                                   | string    | Temporary debug logging without changing team settings         | [Logging and Diagnostics](https://docs.entire.io/guides/configuration/logging-and-diagnostics#log-level) |
| `external_agents`                              | boolean   | External agent plugin discovery only on your machine           | [Agent Hooks](https://docs.entire.io/guides/configuration/agent-hooks#external-agent-plugins) |
| `absolute_git_hook_path`                      | boolean   | Full `entire` binary path in Git hooks for GUI Git clients     | [Git Hooks](https://docs.entire.io/guides/configuration/git-hooks#gui-git-clients) |

## Project settings file

Project settings are stored in `.entire/settings.json`. When Entire creates project settings, the file starts with:

```json
{
  "enabled": true
}
```

Most projects can start here. Add settings only when the repository should share that behavior.

## Project settings reference

Use these settings in `.entire/settings.json` when the behavior should apply to the whole project.

| Setting path                                   | Type      | Default | Description                                                   | Learn more                                                                 |
|------------------------------------------------|-----------|---------|---------------------------------------------------------------|-----------------------------------------------------------------------------|
| `enabled`                                      | boolean   | `true`  | Whether Entire is active in this repository                  | [Local, Project, and Global Settings](https://docs.entire.io/guides/configuration/settings-layers#project-settings-file) |
| `commit_linking`                              | string    | `"prompt"`| Controls whether Entire prompts before linking a Git commit | [Capture Checkpoints](https://docs.entire.io/guides/checkpoints/capture-checkpoints#link-future-commits-automatically) |
| `strategy_options.push_sessions`              | boolean   | `true`  | Automatically push checkpoint data when someone runs `git push` | [Checkpoint Storage](https://docs.entire.io/guides/configuration/checkpoint-storage#store-checkpoints-with-your-code) |
| `strategy_options.checkpoint_remote`          | object    | `null`  | Push checkpoint data to a separate repository                | [Checkpoint Storage](https://docs.entire.io/guides/configuration/checkpoint-storage#checkpoint-remote) |
| `strategy_options.summarize.enabled`         | boolean   | `false` | Auto-generate checkpoint summaries at commit time            | [Checkpoint Storage](https://docs.entire.io/guides/configuration/checkpoint-storage#auto-generate-checkpoint-summaries) |
| `redaction.pii.enabled`                        | boolean   | `false` | Enable optional PII redaction on top of always-on secret redaction | [Privacy and Redaction](https://docs.entire.io/guides/configuration/privacy-and-redaction#pii-redaction) |
| `redaction.custom_redactions`                 | object    | `{}`    | Add shared regex rules that replace matches with `REDACTED` | [Privacy and Redaction](https://docs.entire.io/guides/configuration/privacy-and-redaction#user-defined-redaction) |
| `telemetry`                                   | boolean/null | `null` | Send anonymous usage analytics for this repository            | [Privacy and Redaction](https://docs.entire.io/guides/configuration/privacy-and-redaction#telemetry) |
| `sign_checkpoint_commits`                     | boolean   | `true`  | Sign checkpoint commits using your existing Git signing key  | [Privacy and Redaction](https://docs.entire.io/guides/configuration/privacy-and-redaction#checkpoint-commit-signing) |
| `log_level`                                   | string    | `"info"`| Log verbosity: `debug`, `info`, `warn`, `error`             | [Logging and Diagnostics](https://docs.entire.io/guides/configuration/logging-and-diagnostics#log-level) |
| `external_agents`                              | boolean   | `false` | Enable discovery of external agent plugins from `$PATH`     | [Agent Hooks](https://docs.entire.io/guides/configuration/agent-hooks#external-agent-plugins) |
| `absolute_git_hook_path`                      | boolean   | `false` | Embed the full `entire` binary path in Git hooks for GUI Git clients | [Git Hooks](https://docs.entire.io/guides/configuration/git-hooks#gui-git-clients) |

## Global settings file

Global settings are stored in `~/.config/entire/settings.json`. Use global settings for personal defaults that should apply across repositories. Example:

```json
{
  "telemetry": false
}
```

## Global settings reference

Use global settings for personal defaults that should apply unless a project or local setting overrides them.

| Setting path                                   | Type      | Default | Description                                                   |
|------------------------------------------------|-----------|---------|---------------------------------------------------------------|
| `telemetry`                                    | boolean   | `false` | Default telemetry setting for new repositories               |

## Modify global settings

`entire configure` updates repository settings. There is no global flag for `entire configure`, so edit `~/.config/entire/settings.json` directly.
