Configuration
Configuration
Generated by atelier --emit-docs from the merged, redacted effective configuration — this reference is derived from the binary and cannot drift from the source of truth. Secrets are never emitted: API keys appear only as the name of the environment variable that supplies them, and prompt bodies are reduced to a prompt_source label. [presets.*] is documented separately because it is materialized only by the --init-config starter template, not by the merged config.
Effective configuration
The complete redacted config, byte-identical to atelier --print-config:
schema_version = 1
approval_mode = "yolo"
[workspace]
extra_read_roots = []
extra_write_roots = []
allow_unrestricted_reads = false
[features]
parallel_step_groups = false
governance_early_abort = false
execution_graph = false
mcp_enabled = false
[grading]
enabled = false
max_attempts = 2
[approval]
floor = "warn"
[ui]
hide_banner = false
prompt_history_enabled = true
prompt_history_max = 200
[limits]
max_agent_steps = 12
max_step_actions = 20
max_wall_clock_minutes = 30
max_step_minutes = 10
max_command_minutes = 10
max_review_fix_cycles = 2
max_parallel_agent_steps = 2
[council]
default_preset = "default"
timeout_seconds = 900
execution_mode = "serial"
[council.presets.default.architect]
runtime = "http_api"
model = "glm-5.1"
effort = "high"
thinking = true
prompt_source = "inline_redacted"
[council.presets.default.reviewer]
runtime = "http_api"
model = "glm-5.1"
effort = "medium"
thinking = true
prompt_source = "inline_redacted"
[council.presets.default.security]
runtime = "http_api"
model = "glm-5.1"
effort = "high"
thinking = true
prompt_source = "inline_redacted"
[runtimes.claude]
type = "claude"
command = "claude"
prompt_mode = "stdin"
[runtimes.codex]
type = "codex"
command = "codex"
prompt_mode = "stdin"
[runtimes.cursor]
type = "cursor"
command = "cursor-agent"
prompt_mode = "stdin"
[runtimes.http_api]
type = "http_api"
base_url = "https://api.z.ai/api/paas/v4"
api_key_env = "ZAI_API_KEY"
[agents.consul]
display_name = "Consul"
runtime = "http_api"
model = "glm-5.1"
effort = "high"
thinking = true
capabilities = [
"read",
"challenge",
]
prompt_source = "inline_redacted"
enabled = true
[agents.designer]
display_name = "Designer"
runtime = "codex"
model = "default"
effort = "high"
thinking = false
capabilities = [
"read",
"edit",
"verify",
]
prompt_source = "inline_redacted"
enabled = false
[agents.explorer]
display_name = "Explorer"
runtime = "codex"
model = "default"
effort = "medium"
thinking = false
capabilities = ["read"]
prompt_source = "inline_redacted"
enabled = true
[agents.fixer]
display_name = "Fixer"
runtime = "codex"
model = "default"
effort = "high"
thinking = false
capabilities = [
"read",
"edit",
"command",
"verify",
]
prompt_source = "inline_redacted"
enabled = true
[agents.librarian]
display_name = "Librarian"
runtime = "http_api"
model = "glm-5.1"
effort = "medium"
thinking = true
capabilities = [
"read",
"answer",
]
prompt_source = "inline_redacted"
enabled = false
[agents.oracle]
display_name = "Oracle"
runtime = "http_api"
model = "glm-5.1"
effort = "medium"
thinking = true
capabilities = [
"read",
"answer",
]
prompt_source = "inline_redacted"
enabled = true
[agents.orchestrator]
display_name = "Orchestrator"
runtime = "http_api"
model = "glm-5.1"
effort = "high"
thinking = true
capabilities = ["plan"]
prompt_source = "inline_redacted"
enabled = true
[agents.reviewer]
display_name = "Reviewer"
runtime = "codex"
model = "default"
effort = "high"
thinking = false
capabilities = [
"read",
"command",
"verify",
"review",
]
prompt_source = "inline_redacted"
enabled = true
[keybindings.normal]
input-kill-to-end = "ctrl+k"
input-kill-to-start = "ctrl+u"
input-kill-word-back = "ctrl+w"
input-line-end = "ctrl+e"
input-line-start = "ctrl+a"
scroll-bottom = "end"
scroll-page-down = "pagedown"
scroll-page-up = "pageup"
scroll-top = "home"
toggle-roster = "ctrl+l"
Sections
Workspace — [workspace]
Read/write roots and workspace policy that bound every filesystem action.
Features — [features]
Opt-in feature flags (for example, parallel_step_groups, governance_early_abort).
Approval — [approval]
Approval-system posture — the gray-area floor (warn / enforce) that governs in-between actions.
UI — [ui]
Terminal UI preferences (for example, hide_banner).
Keybindings — [keybindings]
The effective key map, shown as [keybindings.<context>] → action = "key". Honored only from user-scope config (home or --config); a project-local config’s [keybindings] is ignored. Set an action to false to unbind it.
Limits — [limits]
Run guardrails such as the maximum number of parallel agent steps.
Council — [council]
The serial review workflow: default preset, timeout, execution mode, and the review-member presets.
Runtimes — [runtimes]
Runtime definitions (codex, claude, cursor, http_api, fake), each keyed as [runtimes.<name>] in the block above.
Agents — [agents]
Agent profiles — runtime, model and fallback chain, effort, capabilities, tools, and prompt source — each keyed as [agents.<name>] in the block above.
Presets — [presets.*]
Presets are named bundles of agent overrides that you can switch between with a
single top-level key. Unlike the sections above, [presets.*] does not appear in the
generated reference: presets are only ever materialized into the merged configuration
when one is selected, so atelier --print-config shows the resulting [agents.*] values,
never the preset definitions themselves. This section is therefore hand-written and lives
alongside the generated reference.
Selecting a preset
Set the top-level preset key to the name of the preset you want active:
preset = "fast"
A preset is applied before your local [agents.*] overrides, so a value you set
directly on an agent always wins over the same value coming from the preset. The
precedence, lowest to highest, is: built-in defaults → home config → active preset →
local [agents.*] → CLI flags.
Defining a preset
Each preset is a table under [presets.<name>.agents.<agent>]. Inside it you may override
any field of an agent profile — runtime, model, model_fallbacks, effort,
thinking, capabilities, tools, the prompt-source fields (instructions,
instructions_file, instructions_append_file), orchestrator_description, and
enabled:
# A "fast" preset that swaps the fixer onto a lighter model with a minimal
# reasoning effort, leaving every other agent at its default.
[presets.fast.agents.fixer]
model = "default"
model_fallbacks = ["glm-5.1"]
effort = "minimal"
# Presets may touch any number of agents.
[presets.fast.agents.reviewer]
effort = "medium"
You can define multiple presets in the same file and switch between them by changing the
single preset key — only the selected preset’s overrides are applied; the others are
inert. Selecting a different preset never leaks fields from a previously defined preset.
Council review presets are a separate mechanism: they live under
[council.presets.*](documented in the Council section above) and configure the serial review workflow, not the main agent roster.