-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
🌍 English · Polski · Français · Deutsch · 中文
ECLI is configured via a single TOML file. Defaults are sane — most users only edit the AI provider section and theme.
| Platform | Path |
|---|---|
| Linux / FreeBSD | ~/.config/ecli/config.toml |
| macOS | ~/Library/Application Support/ecli/config.toml |
| Windows | %APPDATA%\ecli\config.toml |
You can override with --config /path/to/config.toml on the command line, or via the ECLI_CONFIG environment variable:
ECLI_CONFIG=/tmp/test-config.toml ecliWhen the same setting is defined in multiple places, ECLI applies (highest priority first):
- Command-line flags (
--theme dark) - Environment variables (
ECLI_THEME=dark) - User config (
~/.config/ecli/config.toml) - Built-in defaults
On first launch, ECLI creates a default config with inline comments explaining every key. You can re-generate it any time:
ecli --print-default-config > ~/.config/ecli/config.tomlThe config is divided into named sections:
[editor] # tab size, line endings, auto-save
[ui] # theme, panel widths, status bar
[keybindings] # custom key mappings (overrides defaults)
[ai] # AI provider selection
[ai.openai] # per-provider settings
[ai.anthropic]
[ai.ollama]
[ai.huggingface]
[git] # git integration behavior
[lsp] # language server preferences
[linters] # linter selection per language
[panels] # which panels are enabledFull reference with every key and type: docs/config/config-schema.md.
[ui]
theme = "dark" # or "light", "solarized-dark", "monokai", "nord"Themes ship with ECLI. To create a custom theme, see Themes & Customization.
[ai]
default_provider = "anthropic" # one of: openai, anthropic, ollama, huggingface, none
[ai.anthropic]
api_key = "sk-ant-..."
model = "claude-sonnet-4-5"
max_tokens = 4096Keys can also come from environment variables — see AI Setup for the full matrix.
[editor]
tab_width = 4
use_spaces = true # expand tab to spaces[editor]
line_ending = "lf" # or "crlf", "auto" (detect from file)[editor]
autosave = false[linters]
python = "ruff" # default; alternatives: pylint, flake8, noneIf you want to start from scratch:
[editor]
tab_width = 4
use_spaces = true
[ui]
theme = "dark"
[ai]
default_provider = "none"
[git]
auto_fetch = false
[lsp]
enabled = trueDrop this in your config path and ECLI will run.
When ECLI bumps the config schema (rare), it migrates automatically and backs up the old config to config.toml.bak. See config-migration-policy for migration semantics.
ECLI looks for .ecli.toml in the current working directory. Settings there override the user config for that project only.
Example .ecli.toml:
[editor]
tab_width = 2 # this project uses 2-space indent
[linters]
python = "pylint" # this project standardizes on pylintecli --check-config
# Returns exit 0 on success, prints errors otherwise.This is also run automatically on every launch — a malformed config falls back to defaults with a warning.
- AI Setup — full per-provider configuration
- Themes & Customization — visual customization
- Keybindings — customizing shortcuts
- docs/config/config-schema.md — every option documented
ecli.io · PyPI · GitHub · Apache-2.0
ECLI — The Next-Generation Terminal IDE · © 2026 Siergej Sobolewski