Skip to main content

Compress local documentation context for coding agents.

Project description

Docmancer

Find out what your coding agents know, then carry the useful parts to every agent.

PyPI version License: MIT Python 3.11 | 3.12 | 3.13

Docmancer local app showing agent memory, Shared Memory files, and the Library

Coding agents remember useful things, but each one keeps a different version. Claude Code may know why a deployment changed, Codex may know a project convention, and Cursor may still carry an old instruction. The evidence is spread across memory files, rules, instructions, and session history.

Docmancer helps answer two questions:

  1. What do my coding agents already know?
  2. How do I carry the useful parts to every agent?

It discovers existing agent memory, keeps its sources attached, arranges the durable parts as local Markdown, and gives every connected agent the relevant files.

The complete single-machine product is free and local. The browser app is for people. The CLI, skills, hooks, and MCP are how agents use the same memory.

Start here

pipx install docmancer
docmancer setup
cd /path/to/your-project
docmancer web

setup finds every supported coding agent on the machine, shows one complete preflight plan and privacy warning, and asks for confirmation before changing anything. Once confirmed, it indexes existing memory and instructions, builds one laptop-wide canonical memory under ~/.docmancer/tree, installs or updates every detected user-level Docmancer skill, and enables automatic recall and session capture wherever the agent supports them. It does not modify the project in your current directory.

The canonical memory keeps the main things that should follow you between agents in a predictable scaffold:

~/.docmancer/tree/
├── README.md
├── profile/
│   ├── about.md
│   └── preferences.md
├── principles/
│   └── working-style.md
├── projects/
│   └── active.md
└── shared/

<project>/.docmancer/tree/
├── overview.md
├── decisions/
├── constraints/
├── workflows/
└── lessons/

Setup, explicit memory sync, and supported lifecycle capture reconcile changed evidence. Ask and web startup only read the latest committed index, so the browser shell appears immediately and memory loading continues in the background. If a configured AI provider is ready, Docmancer can merge and compress redacted evidence during reconciliation. If no provider is ready, or the provider fails, deterministic local rules produce the same stable files without blocking memory.

web opens a loopback-only app for the current project. Its main pages each have one purpose:

  • Home lets you ask Docmancer what your agents know, customise the Docmancer agent, and connect coding agents.
  • Shared Memory shows every canonical file, how it is arranged, and the exact bounded projection prepared for each connected agent.
  • Library keeps curated memory, attributable agent evidence, and technical documentation easy to inspect without mixing them together.
  • Settings chooses the optional provider and model used for grounded answers and maintenance.

Claude Desktop requires a manual skill upload. Other supported integrations can be installed from the web app or CLI. Detection and installation are shown as separate states so an installed application is never mistaken for a connected agent.

Ask what your agents know

docmancer ask "Why did we choose Railway?"

Docmancer reads the current index and returns a bounded result with relevant project policy, curated memory, supporting agent evidence, and citations. When a generation provider is configured, Ask calls it by default to turn that evidence into grounded prose. Use --no-answer for evidence only, or --fresh when the question must wait for changed agent files to be indexed first.

docmancer ask "What changed in our release process?" --no-answer

Choose the retrieval profile

The default local profile needs no daemon or large model download:

docmancer setup --profile local

It uses SQLite FTS5, sqlite-vec, and the bundled Model2Vec model. For sustained ingestion and filtered vector search across roughly 50,000 to 100,000 documents, install the heavy extra, run Qdrant, and select the scale profile:

pipx install "docmancer[embeddings-heavy]"
docmancer qdrant start
docmancer setup --profile scale

The scale profile uses Qdrant, FastEmbed dense embeddings, sparse SPLADE retrieval, lexical search, and reciprocal-rank fusion. It also keeps extracted content in SQLite instead of creating two inspectable files per source. Qdrant helps with vector filtering, concurrent writes, and operational headroom. It does not fix poor source coverage, unstable retrieval units, or weak evaluation, which are handled separately by versioned sources, stable token-aware units, and retrieval benchmarks.

Browse Shared Memory

Open docmancer web, then choose Shared Memory. The left side is the real machine and project file tree, the centre reads the selected Markdown file with its provenance and stable address, and the right side shows connected agents. Select an agent to inspect the exact bounded projection it receives.

The scaffold is opinionated, but the files are yours. You can edit them directly or use docmancer write, read, edit, and move. Stable docmancer://memory/<id> addresses survive file moves.

Connect coding agents

docmancer setup installs all detected integrations and automatic recall and capture hooks during onboarding. Use --yes only when you have already reviewed the same plan and need a non-interactive run. You can manage one integration explicitly when needed:

docmancer agent install codex --hooks
docmancer agent install claude-code --hooks

Installed skills teach agents when to ask Docmancer for prior decisions and how to write deliberate project memory when you explicitly request it. Recall hooks provide a bounded view of the shared laptop memory and relevant project evidence automatically. Supported lifecycle hooks capture durable session conclusions and reconcile them without creating a per-item approval queue.

Keep a decision deliberately

docmancer write $'# Deployment\n\nDeploy the API on Railway.' \
  --path decisions/deployment.md \
  --scope project

Read it later:

docmancer read decisions/deployment.md

Existing-file edits and moves require the current content hash returned by read. This prevents one agent from silently overwriting a newer decision.

Import existing notes

docmancer import ./notes

Import copies Markdown into the project inbox. Docmancer never rewrites or moves the source files, and you review the complete file before turning it into curated memory.

Everyday commands

Command Purpose
docmancer setup Discover agent memory and connect supported coding agents.
docmancer web Open the local human interface for the current project.
docmancer ask "..." Recall curated memory and supporting agent evidence.
docmancer common Show knowledge recorded independently by several agents.
docmancer delivery Show installed integrations, recall state, and recent use.
docmancer timeline Show how curated memory changed.
docmancer write ... --path file.md Write one deliberate Markdown memory file.
docmancer read <address-or-path> Read one memory file and its provenance.
docmancer edit ... --expected-hash <hash> Safely edit a memory file.
docmancer move ... --expected-hash <hash> Safely rename or move a memory file.
docmancer import ./notes Copy arbitrary Markdown into the project inbox.
docmancer status Show local memory, source, security, integration, and Cloud health.
docmancer doctor Diagnose installation and configuration problems.
docmancer cloud sync Sync optional client-encrypted revisions.

Run docmancer --help or docmancer <command> --help for exact arguments.

Documentation is a separate Library

Your memory and third-party documentation answer different questions, so Docmancer keeps them separate:

docmancer docs add https://docs.pytest.org
docmancer docs query "How do I parametrize a fixture?"

Use ask for your decisions, preferences, rules, and agent evidence. Use docs query for libraries, APIs, and vendor documentation.

Local privacy and optional Cloud

Your memory, credentials, indexes, and local web app stay on your machine. Docmancer has no telemetry. Network access occurs only when you explicitly fetch online documentation, use an external model, check package registries, or enable Cloud.

Paid Personal Sync adds encrypted continuity across approved devices, managed history, and recovery. Team adds locally approved shared files and encrypted coordination. The hosted service receives ciphertext and cannot read your plaintext memory or execute local actions.

docmancer cloud connect
docmancer cloud sync

Local storage

Location Contents
<project>/.docmancer/tree/ Curated project memory under decisions/, constraints/, workflows/, and lessons/.
<project>/.docmancer/context/ Compatibility storage for revisioned generated artifacts. It is not part of the primary Shared Memory workflow.
<project>/.docmancer/inbox/ Markdown explicitly imported for optional whole-file curation. Automatic session capture is processed as a transient spool.
<project>/.docmancer/trash/ Recoverable deleted memory files.
<project>/.docmancer/state/decision-journal.jsonl Append-only curated-file history.
<project>/.docmancer/state/delivery.json Recent successful memory delivery receipts.
~/.docmancer/memory.db Rebuildable machine-wide agent-memory index.
~/.docmancer/embeddings-cache/embeddings.sqlite3 Content-addressed embedding cache. Older per-vector files remain readable.
~/.docmancer/tree/ Automatically reconciled laptop-wide Markdown under profile/, principles/, projects/, and shared/.
~/.docmancer/state/laptop-memory/ Reconciliation manifest and revision history.
~/.docmancer/docmancer.yaml Local configuration.

Requirements

Docmancer supports Python 3.11, 3.12, and 3.13. If pipx selects Python 3.14, choose a supported interpreter:

pipx install docmancer --python python3.13
docmancer doctor

For detailed commands, architecture, supported sources, Cloud boundaries, and troubleshooting, see the wiki.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docmancer-0.9.4.tar.gz (33.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

docmancer-0.9.4-py3-none-any.whl (29.7 MB view details)

Uploaded Python 3

File details

Details for the file docmancer-0.9.4.tar.gz.

File metadata

  • Download URL: docmancer-0.9.4.tar.gz
  • Upload date:
  • Size: 33.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for docmancer-0.9.4.tar.gz
Algorithm Hash digest
SHA256 07402161605a72832ce5591d07ecdf103219c70ecd97e1143985576d2d2b68d1
MD5 33d77636d4d0176262c45ea067caf49f
BLAKE2b-256 2d5147ae03c4613bc9887624e562dc3a0b54b3c8d8e802cf2b681b22c823f0dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for docmancer-0.9.4.tar.gz:

Publisher: publish.yml on docmancer/docmancer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file docmancer-0.9.4-py3-none-any.whl.

File metadata

  • Download URL: docmancer-0.9.4-py3-none-any.whl
  • Upload date:
  • Size: 29.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for docmancer-0.9.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6a3e06781fecc524ecb348139923eaef44d2b43e735b5adb9cf78fdcfae4305b
MD5 b12c0daa29956e438d5187d4076a1939
BLAKE2b-256 e374727ceba3bc2c706193a21e2084af49742dcebb088abfc6cf7eb63ba7fabb

See more details on using hashes here.

Provenance

The following attestation bundles were made for docmancer-0.9.4-py3-none-any.whl:

Publisher: publish.yml on docmancer/docmancer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page