New: share and import a whole agent setup as one ADE.md file

The agent environment manager

Own your agent setup

ade captures the MCP servers, skills, instructions, settings, and plugins of 10 coding agents. Share the whole setup as one ADE.md file. Import any shared setup 1:1, see the plan, and apply it with a backup.

curl -fsSL https://raw.githubusercontent.com/woosal1337/ade/main/scripts/install.sh | sh
ade apply acme/agents
$ ade apply acme/agents
Source acme/agents @ 9c54b4369133 (not trusted)
acme/agents @ 9c54b4369133 does these things on this machine:
! mcp github runs: npx -y @modelcontextprotocol/server-github
mcp docs connects to https://docs.example.com/mcp
skill instructions for agents: review, write-commit
Trust acme/agents @ 9c54b4369133? Type yes to continue: yes
shared
+ instructions AGENTS.md file, 317 bytes
+ skill write-commit copy of ~/.cache/ade/trees/…
claude
+ mcp docs {"type":"http","url":"https://docs…"}
pi
+ mcp docs {"url":"https://docs.example.com/mcp"}
Plan: 7 to create, 0 to update, 0 to delete. 0 already match.
Applied 7 changes with 7 writes. Record: 20261012-090000-000-a1b2.

Loop. Capture a setup, share it, and import it on any machine. Then plan and apply each change.

Fig. 1
  1. 01 Capture
  2. 02 Share
  3. 03 Import
  4. 04 Plan
  5. 05 Apply

ade capture Captured the setup of ~ into ~/.config/ade.

Fig. 2
~/.claude.json
{
"numStartups": 41, yours
"projects": { … }, yours
"mcpServers": {
"docs": { "type": "http", … } ade
"local": { … } yours
}
}

One profile folder holds the setup. ade owns entries, not files: one server, one key, one skill. Every other key stays where it is.

  • 2.1 A content hash for each entry finds drift
  • 2.2 A plan fingerprint stops a stale apply
  • 2.3 Each apply writes a record for ade revert
Fig. 3
claude
synced ~/.claude/settings.json
synced ~/.claude/hooks/
extra ~/.claude/statusline.sh
private ~/.claude/.credentials.json
runtime ~/.claude/sessions/
42 synced, 5 extra, 0 unknown, 11 private.

01Capture

Read the agent setup of this machine into one profile folder.

  • 1.1Ten harnesses in one pass
  • 1.2Tokens become ${secret:NAME} references
  • 1.3ade inventory shows each file and its status
ade capture
Fig. 4
---
ade: 1
files: 74
digest: "sha256:23aadac4…"
---
$ ade verify ADE.md
The ADE.md is valid: 74 files.

02Share

Put the whole setup in one ADE.md, in any repository.

  • 2.1A SHA-256 hash for each file
  • 2.2A trust summary for each person who imports it
  • 2.3ade verify checks the file in CI
ade share --repo you/agents
Fig. 5
$ ade import acme/agents
! mcp github runs: npx -y …
skill instructions for agents: review
Trust acme/agents @ 9c54b4369133? yes
Imported the profile into ~/.config/ade.
Next: run `ade plan` to see the changes, …

03Import

Copy any shared setup into the profile folder on this machine.

  • 3.1Reads ADE.md from a repository, a folder, or a file
  • 3.2Shows what the setup runs and writes, then asks for trust
  • 3.3Edit the copy before you apply it
ade import acme/agents
Fig. 6
codex
+ mcp github {"command":"npx",…}
~ setting model "gpt-5.5" -> "gpt-5.6"
! setting theme changed outside ade
Plan: 1 to create, 1 to update, 0 to delete.

04Plan

See every change before ade writes a file. A plan never writes.

  • 4.1One entry at a time: a server, a key, a file
  • 4.2Drift shows edits made outside ade
  • 4.3JSON output for scripts and CI
ade plan
Fig. 7
$ ade history
20261012-091500-120-c3d4 apply 12 writes
20261012-090000-000-a1b2 apply 7 writes
$ ade revert
Reverted the record 20261012-091500-120-c3d4.

05Apply

Make the machine match the profile. Each apply keeps a backup.

  • 5.1ade revert undoes one apply
  • 5.2A failed apply rolls back its writes
  • 5.3ade remote applies over SSH
ade apply

Ten harnesses. One profile writes the native format of each agent, on macOS, Linux, and Windows.

HarnessInstructionsMCPSkillsSettingsPlugins
Claude CodeYesYesYesYesYes
CodexYesYesYesYesYes
CursorNoYesYesYesYes
GrokYesYesYesYesYes
PiYesYesYesYesYes
Gemini CLIYesYesYesYesYes
OpenCodeYesYesYesYesPartly
ZedNoYesNoYesYes
Claude DesktopNoPartlyNoYesPartly
AntigravityYesYesYesYesNo

● Synced   ◐ Partly   — Not available. ade never syncs sign-ins, tokens, sessions, history, or caches. Read the full support list.

Models. Each harness keeps its own model. ade syncs that setting with the rest of the setup.

Fig. 8

The model is one more key. A profile can set it for each harness. ade does not change model names and does not sync sign-ins.

HarnessFileKeyExample
Claude Codesettings.jsonmodel"opus"
Codexconfig.tomlmodel"gpt-6.1-sol"
Cursorcli-config.jsonmodel.modelId"grok-4.7"
Grokconfig.tomlmodels.default"grok-4.5"
Pisettings.jsondefaultModel"claude-opus-5-5"
Gemini CLIsettings.jsonmodel.name"gemini-3.1-pro-preview"
OpenCodeopencode.jsonmodel"anthropic/claude-opus-5-5"
Zedsettings.jsonagent.default_model{ "provider": … }
Antigravitysettings.jsonmodel"Gemini 3.8 Flash (High)"

ADE.md. One Markdown file holds the whole setup.

GitHub shows it as a normal page: the install steps, what the setup runs and writes, the secret names, and every file. Each file has a SHA-256 hash, so a hand edit fails the check.

  1. 1Write one file from your profile

    ade share --repo you/agents
  2. 2Check it, then commit it

    ade verify ADE.md
  3. 3Others import it 1:1

    ade import you/agents
  4. 4Then they plan and apply it

    ade apply
Read the ADE.md standard
ADE.md
Fig. 9
1---
2ade: 1
3name: "team"
4harnesses: ["claude", "codex", "pi"]
5secrets: ["GITHUB_TOKEN"]
6files: 5
7digest: "sha256:4f1c9e…"
8---
9
10# team
11
12## Use this setup
13ade apply acme/agents
14
15## What this setup does
16| | Area | Item |
17|---|---|---|
18| ! | mcp | github runs: npx -y @modelcontextprotocol/server-github |
19| | skill | instructions for agents: review |
20
21## Files
22
23```markdown ade-file path="skills/review/SKILL.md" sha256="9b1e…"
24---
25name: review
26description: Review a change before a merge.
27---
28```

Safe by default. ade shows each change before it writes, and keeps a way back.

Trust
! mcp github runs: npx -y …
! file writes ~/.npmrc
skill instructions: review
Trust acme/agents? yes

A Git source or a shared ADE.md needs your trust before ade imports or applies it. ade lists what it runs, writes, and reads. A change in any entry needs trust again.

Secrets
"Authorization":
"Bearer ${secret:GITHUB_TOKEN}"
"GITHUB_TOKEN":
{ "from": "env" }

A profile names secrets and never holds their values. ade reads them at apply time from the environment, a file, a command, or the Keychain.

Revert
$ ade status
! setting model changed outside ade
$ ade revert
Reverted the record 2026…a1b2.

Every apply keeps backups and a record. A failed apply rolls back. ade revert restores the entries of one apply and leaves the rest.

Install. Node.js 22 or later and Git. Nothing else.

curl -fsSL https://raw.githubusercontent.com/woosal1337/ade/main/scripts/install.sh | sh

Needs Node.js 22 or later and Git. Add -s -- <owner>/<repo> to plan and apply a setup in the same step.

ade runs on macOS, Linux, and Windows. On Windows, ade copies files instead of making links. To set up another machine over SSH, run ade remote <host> apply. The other machine needs only Node.js.

Quick start

Fig. 10
  1. 1Capture this machine

    ade capture
  2. 2Write ADE.md, then push it to you/agents

    ade share --repo you/agents
  3. 3Import it on another machine

    ade import you/agents
  4. 4Show the plan

    ade plan
  5. 5Apply it

    ade apply

Commands. Every command takes --json for scripts. Run ade help <command> for its options.

Profile

ade capture
Read this machine into a profile
ade init
Make an empty profile
ade add, remove, set
Edit the profile
ade list
Show the profile entries

Machine

ade plan
Show the changes, write nothing
ade apply
Write the changes with a backup
ade status
Show drift
ade revert
Undo an apply
ade inventory
List each harness file
ade doctor
Check secrets, skills, and files

Share

ade share
Write ADE.md
ade verify
Check an ADE.md
ade import
Copy a shared setup into a profile
ade trust
Trust a Git source
ade use
Set the default source
ade remote
Run a command over SSH