open source

One private repo for all your coding agents.

dotagents is a public CLI that keeps your skills, MCP servers, hooks, and agent roles in a private ~/.agents repository, then syncs each supported surface into its harness-native format.

~/.agents
$ dotagents status

canonical config: ~/.agents (user owned)

skills        synced   native skill roots
agent roles   synced   native role formats
MCP servers   synced   targeted config entries
hooks         synced   supported lifecycle events

Supported harnesses

Managed harnesses get each surface they natively support. Compatibility harnesses get documented paths.

Claude Code
managed
Codex
managed
Factory Droid
managed
Hermes
managed
π
Pi
managed
OpenCode
managed
Amp
compat
OpenClaw
compat

Get started

Install the public CLI, then create a private canonical configuration you control.

Public CLI

Install dotagents

Use a release binary or Go. No personal configuration ships with the tool.

$ curl -fsSL https://raw.githubusercontent.com/yourconscience/dotagents/main/scripts/install.sh | sh
# or go install github.com/yourconscience/dotagents/cmd/dotagents@latest
Private config

Set up your home

Detect harnesses, import existing content by copy, offer git init, and run the first native sync. Removals are previewed per harness before anything is touched.

$ dotagents setup
$ git -C ~/.agents remote add origin <your-private-repo>

Then add a skill and sync it everywhere:

$ dotagents skill new my-skill
$ dotagents sync
synced configured surfaces to detected harnesses

What syncs

Not just skills. The full config surface that fragments across agents.

Sync surface by harness

HarnessSkillsAgent rolesMCPHooksRoot instructions
Claude CodeyesyesyesyesCLAUDE.md shim
CodexyesyesyesyesAGENTS.md
Factory DroidyesyesyesyesAGENTS link
Hermesyes--yesyesnative ctx
OpenCodeyes†yesyes--native AGENTS.md
Pi*yes--*--*----

* Vanilla pi is skills-only by design; on the OMP fork dotagents additionally manages agent roles and MCP servers. † OpenCode reads ~/.agents/skills/ natively, so skills need no mirror when the config root is ~/.agents; hooks are a JS plugin surface only.

Landscape

Project-level generators win on tool breadth. dotagents is user-level: one private repo that follows you across machines, six harnesses deep, with pinned and audited external skills.

How it compares

dotagentsrulesyncruleropenskills
Scopeuser-levelproject-levelproject-leveluser + project
Skills syncyesyesexperimentalyes
MCP syncyesyesyesno
Hooks syncyesyesnono
Agent rolesrendered nativeyesexperimentalno
Pinned + audited externalslock file + auditno pinningno pinningtracks source, no pin
Harness coverage6 deep35 broad31 broad~5
Installcurl / mise / gonpm / brewnpmnpm

Counts verified 2026-07-15 against each project's docs. Different tools for different jobs: rulesync and ruler generate per-project config for many tools; dotagents carries one personal setup deeply into the harnesses you live in.