Screenshot: The .ade/ directory expanded in a file tree showing ade.yaml, local.yaml, local.secret.yaml, and subdirectories.
The .ade/ Directory
When you open a repository in ADE for the first time, ADE initializes a .ade/ directory at the project root. This directory is the single source of truth for all ADE configuration, runtime artifacts, and worktree management for that project.
worktrees/ and artifacts/ subdirectories are fully managed by ADE. Do not edit files inside them directly — use ADE’s UI or MCP tools instead.
Configuration Layering
ADE resolves configuration through three layers applied in order. Lower layers override higher ones.ade.yaml
Shared team config. Committed to git. Contains project defaults, AI model settings, lane profiles, automation definitions, and trust rules. Every team member reads this file.
local.yaml
Personal preferences. Gitignored. Overrides any value in
ade.yaml for your machine only. Contains preferred model, theme, editor settings, and notification preferences.local.secret.yaml
Secrets. Always gitignored. Contains API keys, OAuth tokens, and MCP server credentials. Only the main process reads this file — the renderer UI never has access to its contents.
local.secret.yaml first, then local.yaml, then ade.yaml. If a value exists in local.yaml, it shadows the same key in ade.yaml for that machine.
The layering order means a developer can override the team’s default AI model (set in
ade.yaml) by specifying ai.preferredModel in their own local.yaml — without touching the shared config.The Trust Model (SHA-Based Approval)
ade.yaml can contain command definitions (process startup commands, automation executors, test suite runners). Because this file is committed to git, a malicious change in a PR could introduce arbitrary commands that run on your machine. ADE prevents this with a SHA-based approval gate.
ADE detects a change
Whenever
ade.yaml changes — from a git pull, a teammate’s commit landing via fetch, or a direct edit — ADE immediately detects the difference.ADE shows a diff and pauses
ADE presents a structured diff of the changed fields and suspends execution of any commands defined in the new version. No new processes start, no automations trigger, no agents run commands from the updated config.
You review and approve
Review the diff in the approval dialog (Settings → Config → Pending Approval, or the banner that appears automatically). If the changes are expected and safe, click Approve.
Screenshot: The config approval dialog showing a diff view of ade.yaml changes with Approve and Reject buttons.
ade.yaml — Full Schema Reference
This file is shared with your team. Commit it. Every field is optional except name.
ai — AI defaults
ai — AI defaults
All
ai.* values are defaults. They can be overridden per-mission, per-worker, or per-automation at creation time. The monthlyBudgetCap is a hard ceiling — once reached, all agent activity pauses until the next billing period or you manually raise the cap in Settings → Budget.processes — Dev server definitions
processes — Dev server definitions
Process definitions describe how to start development servers. ADE uses these to populate the lane startup commands and to generate the process panel in the Lanes view. The
group field organizes processes visually in the UI.testSuites — Test runner config
testSuites — Test runner config
ADE uses the
run command in agent contexts when a worker needs to execute tests. The watch command is used in lane terminal sessions for continuous testing. The ci command is used during Mission validation phases and automation triggers.lanes.profiles — Lane environment templates
lanes.profiles — Lane environment templates
Lane profiles are templates applied when creating new lanes. A profile sets the base port offset, environment variables, and startup commands. When you create a lane and select a profile, all profile values are applied as the lane’s initial configuration.
automations — Event-driven automation rules
automations — Event-driven automation rules
Automation definitions are shared team-wide. Each automation specifies a trigger event, the executor agent identity, a prompt, the tool palette the agent is allowed to use, and a per-run budget cap. See Automations for the full automation reference.
trust.approvedSha — Do not edit
trust.approvedSha — Do not edit
ADE manages the
trust.approvedSha field automatically as part of the approval workflow. Editing it manually will cause ADE to treat the config as unapproved and pause all commands until you complete the approval flow again.local.yaml — Full Schema Reference
This file is yours alone. It is gitignored and never shared. Use it to override team defaults for your own machine.
local.secret.yaml — Full Schema Reference
This file holds your API keys and MCP credentials. It is always gitignored. Only the Electron main process reads it — the renderer (React UI) never has access to its raw contents.
Hot-Reload Behavior
ADE watches all three config files using filesystem events (debounced 500ms). Changes take effect without restarting ADE.| File | What happens on change |
|---|---|
ade.yaml | ADE detects the change, diffs against the approved SHA, and suspends commands until you approve the new version |
local.yaml | Applied immediately; UI reflects changes (theme, font, notification preferences) within one render cycle |
local.secret.yaml | API key changes take effect on the next agent call; MCP server credential changes trigger reconnection of the affected server |
Best Practices
What to commit
What to commit
Commit
ade.yaml. It contains the team’s shared AI model defaults, lane profiles, automation definitions, test suite config, and process definitions. Committing it ensures all team members use the same baseline configuration.Do not commit local.yaml or local.secret.yaml. ADE’s .gitignore entries cover these, but double-check when initializing new repositories.Rotating API keys
Rotating API keys
To rotate an API key: update the value in
local.secret.yaml and save. ADE hot-reloads the file and uses the new key on the next API call. The old key is never cached — once the file is saved, the old value is gone from memory.Never commit the old or new key values to git during rotation. If a key was accidentally committed, revoke it at the provider immediately regardless of whether you have since removed it from the file.Reviewing ade.yaml changes from teammates
Reviewing ade.yaml changes from teammates
When you
git pull and ade.yaml has changed, ADE shows the approval dialog before resuming any command execution. Read the diff carefully — pay particular attention to changes in automations[*].executor, processes[*].command, and testSuites[*].ci. These fields define commands that will run on your machine.Using environment variables instead of file values
Using environment variables instead of file values
For CI environments or machines where you cannot write files, ADE supports supplying API keys via environment variables. Set
ADE_ANTHROPIC_API_KEY, ADE_OPENAI_API_KEY, etc. in the process environment before launching ADE. Environment variable values take precedence over local.secret.yaml.Multiple projects on the same machine
Multiple projects on the same machine
Each project has its own
.ade/ directory with its own local.yaml and local.secret.yaml. You can use different API keys or different preferred models for different projects. Settings in one project’s .ade/ never affect another project.Screenshot: The Settings panel showing the three config files, the Approved SHA display, and the Re-approve button.
What’s Next
AI Providers
Configure Anthropic, OpenAI, OpenRouter, and local models. Set budgets and context preferences.
MCP Servers
Connect external MCP servers like GitHub, Slack, and Ghost OS to give agents additional tools.
Settings
Full reference for every setting in ADE’s Settings page.
Permissions
Understand ADE’s trust boundary model and configure agent permissions.