The .ade/ Directory
ADE initializes a .ade/ directory at the project root on first open. It is the single source of truth for all ADE configuration, runtime artifacts, and worktree management.
worktrees/ and artifacts/ subdirectories are ADE-managed. Do not edit them directly.
Configuration Layering
ADE resolves project configuration from two files, then reads secret references separately when a service needs them.ade.yaml
local.yaml
ade.yaml for your machine only.local.secret.yaml
secretRef. AI provider keys saved from Settings live in the encrypted key store under .ade/secrets or the OS credential store, not in committed config.ade.yaml first and overlays local.yaml for that machine only. local.secret.yaml is not a third config layer; services read it only when a secretRef points at a path inside that file.
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
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
You review and approve
ADE records the approved SHA
ade.yaml is recorded in local ADE state. Commands from this version of the config are now permitted to execute.ade.yaml — Full Schema Reference
Shared team config — commit this file. Every field is optional.
ai — AI defaults
ai — AI defaults
ai.defaultModel sets the default runtime model. ai.budgets is a map keyed by ADE feature (commit_messages, pr_descriptions, terminal_summaries, etc.); each entry currently supports dailyLimit.processes — Dev server definitions
processes — Dev server definitions
id, command arrays, cwd, optional groupIds, and optional readiness checks. processGroups defines the visual groups referenced by groupIds.testSuites — Test runner config
testSuites — Test runner config
id, command arrays, cwd, optional timeoutMs, and tags. ADE uses these definitions when agents or automations need a known validation command.laneTemplates — Lane environment templates
laneTemplates — Lane environment templates
laneTemplates entries. defaultLaneTemplate names the template applied by default. Templates can copy env files, install dependencies, define mount points, copy paths, reserve a port range, and set lane env vars.automations — Event-driven automation rules
automations — Event-driven automation rules
id, triggers, an execution mode, an executor object, and optional built-in actions such as agent-session, run-tests, run-command, and ade-action. See Automations for the full automation reference.Config trust — Managed by ADE
Config trust — Managed by ADE
ade.yaml and stores the approved shared hash in local ADE state. There is no trust.approvedSha field to author in project config.local.yaml — Full Schema Reference
Personal overrides — gitignored, never shared. Uses the same parsed schema as ade.yaml and overrides shared values for your machine only.
local.secret.yaml — Full Schema Reference
Automation secret values addressed by secretRef. Always gitignored. Only main-process services read this file; the renderer 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.Best Practices
What to commit
What to commit
ade.yaml. It contains the team’s shared AI model defaults, lane templates, 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
ade.yaml.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
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[*].command. These fields define commands that will run on your machine.Using environment variables instead of file values
Using environment variables instead of file values
ANTHROPIC_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY, GOOGLE_API_KEY, and CURSOR_API_KEY. Automation secrets can also reference environment values from local.secret.yaml with ${env:NAME}.Multiple projects on the same machine
Multiple projects on the same machine
.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.