Own your agent setup. ade captures the MCP servers, skills, instructions, settings, and plugins of 10 coding agents into one profile. Share the whole setup as one ADE.md file, and import any shared setup 1:1. ade plans each change and applies it with a backup.
Website · Install · Quick start · Share a setup · Harnesses · Models · Commands · Docs
| Problem | What ade does |
|---|---|
| Each agent keeps its own config format in its own folder | One profile writes the native format of each agent |
| A setup drifts between your machines | ade plan and ade status show each difference before a write |
| A shared setup is a list of manual steps | ADE.md holds the whole setup, and ade apply <owner>/<repo> copies it 1:1 |
| A config change is hard to undo | Each apply keeps backups, and ade revert restores them |
ade changes only the entries that the profile declares: one server, one key, one skill. Every other key in a config file stays as it is.
ade needs Node.js 22 or later and Git.
| Platform | Command |
|---|---|
| macOS and Linux | curl -fsSL https://raw.githubusercontent.com/woosal1337/ade/main/scripts/install.sh | sh |
| Windows (PowerShell) | irm https://raw.githubusercontent.com/woosal1337/ade/main/scripts/install.ps1 | iex |
| npm | npm install -g "$(npm pack github:woosal1337/ade | tail -1)" |
Each command builds a package file from the GitHub source, then installs it. Do not use npm install -g github:woosal1337/ade. In a global install, npm runs the build step of a Git package without its build tools, so the build fails (npm/cli#8440).
To install ade and set up a machine from a shared setup in one step, give the source to the script:
| Platform | Command |
|---|---|
| macOS and Linux | curl -fsSL https://raw.githubusercontent.com/woosal1337/ade/main/scripts/install.sh | sh -s -- <owner>/<repo> |
| Windows (PowerShell) | $env:ADE_SOURCE = "<owner>/<repo>"; irm https://raw.githubusercontent.com/woosal1337/ade/main/scripts/install.ps1 | iex |
The scripts show the plan and ask before the apply.
-
Capture the setup of this machine into a profile folder:
ade capture --out ~/agent-profile -
Show what ade would change. A plan never writes:
ade plan --profile ~/agent-profile -
Apply the profile to a machine. ade asks before it writes:
ade apply --profile ~/agent-profile -
Undo the last apply:
ade revert
Run ade inventory to see each file of each agent on your machine, and which files ade syncs.
-
Write one Markdown file with the whole setup:
ade share --profile ~/agent-profile --repo you/agents -
Read the file, then commit
ADE.mdto the repository. -
Others import it, then plan and apply it.
ade importasks for trust first:ade import you/agents ade plan ade apply
To skip the editable copy, run
ade apply you/agents. It fetches, plans, and applies in one command.
GitHub shows ADE.md 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 ade verify ADE.md fails on a hand edit. Use it in CI:
- run: npx -y github:woosal1337/ade verify ADE.mdA source can be a local folder, an ADE.md file, owner/repo[/subfolder][@ref] on GitHub, any Git URL, or an ade page such as @ege. Read the ADE.md standard and the sources guide.
Log in at ade.chele.bi/dashboard with GitHub. Then link the CLI and upload your setup:
ade login
ade pushYour page at ade.chele.bi/<name> shows only the items that you switch on in the dashboard. Others apply them with ade apply @<name>. ade.chele.bi/community lists each person with a public setup, with search, filters, and votes. Read the accounts guide.
| Harness | Instructions | MCP servers | Skills | Settings | Plugins | Also synced |
|---|---|---|---|---|---|---|
| Claude Code | ● | ● | ● | ● | ● | agents, commands, hooks, output styles, local MCP servers |
| Codex | ● | ● | ● | ● | ● | prompts, rules, agents, hooks |
| Cursor | ● | ● | ● | ● | CLI and IDE settings, hooks, agents, commands, rules | |
| Grok | ● | ● | ● | ● | ● | hooks, agents, commands, local plugins |
| Pi | ● | ● | ● | ● | ● | packages, extensions, prompts, themes, package patches |
| Gemini CLI | ● | ● | ● | ● | ● | agents, commands, policies |
| OpenCode | ● | ● | ● | ● | ◐ | agents, commands, modes, tools, themes |
| Zed | ● | ● | ● | key map, tasks, snippets, themes | ||
| Claude Desktop | ◐ | ● | ◐ | desktop extensions | ||
| Antigravity | ● | ● | ● | ● | hooks, global workflows |
● synced. ◐ partly: Claude Desktop takes only stdio MCP servers, and OpenCode and Claude Desktop plugins sync as settings or files. Cursor keeps user rules in the Cursor account, so no file exists to sync.
ade never syncs sign-ins, tokens, sessions, history, or caches. Read the harness support list for each file of each harness.
Each harness keeps its own model. ade syncs that setting with the rest of the setup. ade does not change model names and does not sync sign-ins.
| Harness | File | Key |
|---|---|---|
| Claude Code | ~/.claude/settings.json |
model |
| Codex | ~/.codex/config.toml |
model |
| Cursor | ~/.cursor/cli-config.json |
model.modelId |
| Grok | ~/.grok/config.toml |
models.default |
| Pi | ~/.pi/agent/settings.json |
defaultProvider, defaultModel |
| Gemini CLI | ~/.gemini/settings.json |
model.name |
| OpenCode | ~/.config/opencode/opencode.json |
model |
| Zed | ~/.config/zed/settings.json |
agent.default_model |
| Antigravity | ~/.gemini/antigravity-cli/settings.json |
model |
machine ──capture──▶ profile ──plan──▶ changes ──apply──▶ machine
│ │
└──share──▶ ADE.md revert ◀───┘
- A profile is a folder with
ade.json, the instructions, the skills, and the extra files. - The plan compares three states for each entry: the profile, the machine, and the last apply.
- Apply writes atomic changes with backups, and records a content hash for each entry.
- A later plan uses the hashes to find drift: a change made outside ade.
Read the architecture for the modules and the data flow.
| Command | Use |
|---|---|
ade capture, ade init |
Make a profile from this machine, or an empty profile |
ade add, ade remove, ade set, ade unset, ade list |
Edit and read the profile |
ade plan, ade apply, ade status |
Compare, apply, and show drift |
ade revert, ade history |
Undo an apply, list the apply records |
ade inventory, ade harnesses, ade doctor |
List harness files, show harness paths, check the profile |
ade share, ade verify, ade import |
Write and check ADE.md, import a shared setup into a profile |
ade use, ade trust, ade update |
Set the default source, trust a Git source or a shared file, lock Git skills |
ade remote <host> <command> |
Run plan, apply, status, revert, or capture on another machine over SSH |
ade login, ade logout, ade whoami, ade push |
Link the CLI to your ade account, and upload your setup to your page |
Every command takes --json. Run ade help <command> for its options.
- Plan first.
ade applyshows the plan and asks before it writes.--yesskips the question. - Trust. A Git source or a shared
ADE.mdfile needs your trust before ade imports or applies it. ade lists the programs it runs, the files it writes, and the secrets it reads. A change in any entry that ade writes or runs needs trust again. - Secrets. A profile holds
${secret:NAME}references, never values. ade reads the values at apply time from the environment, a file, a command, or the macOS Keychain.ade sharerefuses values that look like tokens. - Backups. Each apply keeps backups and a record. A failed apply rolls back.
ade revertrestores one apply. - Drift. ade stops when an entry changed outside ade.
--forceoverwrites it.
Read the security model for the trust gate and the secret handling. Report a security problem through SECURITY.md, not in a public issue.
ade remote devbox plan --profile ~/agent-profile
ade remote devbox apply --profile ~/agent-profileade sends its engine and the profile over SSH. The other machine needs only Node.js 22. Read the remote guide.
import { apply, createContext, plan, resolveProfile } from "@woosal1337/ade";
const ctx = createContext();
const { loaded } = await resolveProfile("you/agents", ctx);
const preview = await plan(loaded, ctx);
await apply(loaded, ctx, { expectedFingerprint: preview.fingerprint });The CLI uses the same engine. Read the SDK guide.
| Document | Content |
|---|---|
| ADE.md standard | The shared file format |
| Harness support | Each file of each harness |
| Profile reference | The ade.json format |
| Sources | Git sources, trust, and publication |
| Accounts | Your ade page, uploads, approvals, and the API |
| Remote machines | Commands over SSH |
| SDK | The TypeScript API |
| Security model | The trust gate, the secret handling, and the limits |
| Changelog | The changes in each version |
| Architecture | Modules, data flow, and storage |
| Runbook | Moves, recovery, and publication steps |
| Decisions | The design decisions and their reasons |
Version 0.1.0. ade is not on npm yet. Known limits:
- A JSON write removes the comments of the file. The plan warns before the write.
- A shared setup applies to every harness that it names, also on a machine without that harness.
- A setup has no rules for each operating system. A shell hook from macOS also goes to Windows.
npm ci
npm ci --prefix site
python3 tools/quality.py hooks-install
python3 tools/quality.py check| Path | Content |
|---|---|
src/ |
The engine, the CLI, and the SDK |
test/ |
Tests that run in scratch home folders |
site/ |
The landing page at https://ade.chele.bi: Next.js, Tailwind CSS, and motion |
scripts/ |
The install scripts |
tools/build-logo.mjs |
Writes the favicon, the README logo, and the logo strips from site/app/glyphs.ts and site/app/brands.ts |
examples/ |
A sample profile folder and a sample ADE.md |
docs/ |
Guides and decision records |
Run the landing page with npm --prefix site run dev. Read CONTRIBUTING.md and the quality gates before a change.
The license is not chosen yet.
Product names and logos belong to their owners. ade has no link to these companies. Read THIRD_PARTY.md for the logo sources, their licenses, and the font licenses.
