
# Docmancer
**Your AI coding environment, restored on every machine.**
[](https://pypi.org/project/docmancer/)
[](https://pypi.org/project/docmancer/)
[](https://pypi.org/project/docmancer/)
[](https://github.com/docmancer/docmancer/blob/main/LICENSE)
[](https://github.com/docmancer/docmancer/stargazers)
[**Website**](https://docmancer.dev) · [**Documentation**](https://docmancer.dev/docs/getting-started) · [**Blog**](https://docmancer.dev/blog) · [**Changelog**](https://github.com/docmancer/docmancer/blob/main/CHANGELOG.md) · [**Discussions**](https://github.com/docmancer/docmancer/discussions)
## Your coding agents remember what happened on one machine
> Agent backup and restore are development-preview commands. Local encrypted archives are available now. Managed Cloud snapshots remain gated on migration and recovery acceptance.
Docmancer securely restores their sessions, memory, and setup, then makes the useful project context available to every agent you use.
Claude Code and Codex can search the files they already wrote on one machine. A normal dotfile tool can copy directories. Neither gives you an agent-aware, secret-stripped backup with structural verification, project mapping, conflict quarantine, and a reviewed path from raw history to shared project memory.
Start by seeing what Docmancer can protect:
```bash
docmancer backup --dry-run
```
Create a free passphrase-encrypted local archive:
```bash
docmancer backup --local --to ~/Backups/agents.dmbak
```
On a new machine, close Claude Code and Codex and preview the restore:
```bash
docmancer restore ~/Backups/agents.dmbak --dry-run
docmancer restore ~/Backups/agents.dmbak
```
Docmancer restores missing history, skips identical files, merges only safe configuration, and quarantines divergent sessions. It never copies authentication stores, `.env` files, literal MCP environment values, caches, logs, telemetry, or machine keys.
After backup or restore, local consolidation finds durable decisions and constraints in the protected histories. Every proposal links to exact transcript evidence and waits for review:
```bash
docmancer consolidate
docmancer consolidate --review PROPOSAL_ID
docmancer consolidate --approve PROPOSAL_ID
```
## Your agents already learned this. They just cannot tell each other.
Claude Code knows why you moved off Railway. Codex learned your migration convention. Cursor is still following a rule you overruled two months ago. Each agent wrote something down, none of them agree, and none of it is anywhere you can read.
That knowledge is real, and it is already on your disk. It is sitting in `CLAUDE.md` files, `AGENTS.md` files, Cursor rules, agent memory directories, and session history, in a different place and a different format for every tool you use.
Docmancer is built around two questions, in this order:
1. **I re-explain my project to every coding agent. How do I get them all working from the same context?** Docmancer arranges the durable parts as plain local Markdown you can read and edit, then delivers the relevant files to every agent you connect, so a decision you record once reaches all of them.
2. **What do my coding agents already know about me and my working style?** Docmancer indexes the memory, instructions, and rules they wrote on this machine, and keeps the contributing source attached to every claim, so you can read the answer instead of guessing at it.
Nothing leaves your machine unless you ask it to. There is no telemetry, no account, and no API key needed for the core product.
## Install
```bash
pipx install docmancer
pipx ensurepath
export PATH="$(pipx environment --value PIPX_BIN_DIR):$PATH"
docmancer setup
```
`pipx ensurepath` makes the change persistent for future terminals. The `export` line makes Docmancer available in the current terminal immediately, which matters in an existing SSH session. If `docmancer` still reports `command not found`, reconnect over SSH and try again.
If you use uv, `uv tool install docmancer` installs it the same way.
`setup` finds every supported coding agent, shows you one complete plan and privacy warning, and waits for your confirmation before it changes anything. Then it indexes what it found, builds your canonical memory, installs the agent skills, and turns on automatic recall where the agent supports it.
Ask it something:
```bash
docmancer ask "Why did we choose Railway?"
```
You get a bounded, cited answer built from your own agents' evidence. Then open the app for the current project:
```bash
cd /path/to/your-project
docmancer web
```
That is the whole first run. It takes about a minute, and `setup` does not modify the project you are standing in.
## What you get
**One memory instead of six.** Every supported agent reads from the same canonical Markdown, so a decision recorded once is available to Claude Code, Codex, Cursor, Gemini, and the rest without you copying it around.
**Answers with receipts.** Recall returns the mandatory policy, the curated memory, and the supporting agent evidence with stable citations, so you can see which agent said what and when. The optional language model turns that evidence into prose but never chooses what goes into it.
**Files you own, not a database.** Shared Memory is ordinary Markdown in ordinary directories. You can open it in your editor, commit it, grep it, or delete it. Stable `docmancer://memory/