Skip to main content

Compress local documentation context for coding agents.

Project description

Local docs context for coding agents.

PyPI version License: MIT Python 3.11 | 3.12 | 3.13

Install | First run | What you get | Wiki

Local docs ingest and query demo

Docmancer turns any pile of docs into a hybrid-search index your coding agent can query through a simple CLI. Point it at a folder of Markdown / PDF / DOCX / RTF / HTML, or at a docs URL (GitBook, Mintlify, generic web, GitHub), and ask questions in natural language. Results come back as compact context packs with source attribution, sized to fit a token budget.

A fresh install ships everything you need: SQLite FTS5, a docmancer-owned local Qdrant for dense and sparse vectors, FastEmbed for embeddings (no API key), and a hybrid retriever that fuses lexical, dense, and sparse signals with Reciprocal Rank Fusion.

Install

pipx install docmancer    # Python 3.11, 3.12, or 3.13

If pipx picks an unsupported interpreter, pin one: pipx install docmancer --python python3.13.

First run

Three commands take you from a fresh install to a grounded query:

docmancer setup                                     # config + database + agent skills
docmancer ingest ./docs                             # index local files
docmancer query "How do I authenticate?" --explain  # hybrid search across the index

setup creates ~/.docmancer/ with the config and SQLite database, auto-detects installed coding agents, and installs their skill files. On the first ingest, docmancer downloads the pinned Qdrant binary (~60 MB) and the FastEmbed models (~500 MB) into ~/.docmancer/. After that, ingest stays offline.

Prefer to index a docs site instead of local files?

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

What you get

Hybrid search by default. query fans out across SQLite FTS5 (lexical, BM25-reranked), Qdrant dense vectors (FastEmbed bge-base-en-v1.5), and SPLADE sparse vectors, then fuses results with Reciprocal Rank Fusion. The token budget keeps responses small so your agent has room for actual work:

Context pack: ~900 tokens vs ~4800 raw docs tokens (81.2% less docs overhead, 5.33x agentic runway)

No API keys required. FastEmbed runs locally. The optional OpenAI / Voyage / Cohere providers exist if you want them; if the key is missing, ingest falls back to FTS5-only and warns rather than aborting.

Inspectable. Every section is written to ~/.docmancer/extracted/ as Markdown plus JSON. docmancer inspect shows index stats. docmancer query --explain shows which signal (lexical / dense / sparse) placed each result.

Agent integration built in. docmancer setup drops skill files for Claude Code, Cursor, Codex, Cline, Claude Desktop, Gemini, GitHub Copilot, and OpenCode. Your agent can call docmancer query directly from its conversation loop.

Where to next

The wiki is the authoritative reference for everything else. Pick a page based on what you need:

Page When to read it
Commands Core docs commands and advanced pack commands
Configuration All YAML keys, env vars, and the API-key reference
Architecture How ingest, retrieval, and MCP runtime actually work
Supported Sources What file formats and URL providers are covered
Install Targets Where each agent's skill file lands
MCP Packs Version-pinned API tool packs
Troubleshooting Common errors and fixes

Wiki home | Changelog | PyPI

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.5.2.tar.gz (1.6 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.5.2-py3-none-any.whl (189.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for docmancer-0.5.2.tar.gz
Algorithm Hash digest
SHA256 f3719902dbf1e2d32c86406241da7f5556d5e6ffcaffa812faa0b5be4470d249
MD5 a8b510410a5d672c1cde4514c207eeea
BLAKE2b-256 29dae5857229f5ee6e267de7d51dae48ada8038ce51de165ca646d8cb3681b39

See more details on using hashes here.

Provenance

The following attestation bundles were made for docmancer-0.5.2.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.5.2-py3-none-any.whl.

File metadata

  • Download URL: docmancer-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 189.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for docmancer-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 375022dcde57595665aee1785b7e4d5fc1774e37871e14107b2663870b855a46
MD5 b268ccd503f918a67972ce0266037973
BLAKE2b-256 ac8d6db45e674bbf1bc1e42b22bbae4c7010682e195cff5b7c21536432a7d414

See more details on using hashes here.

Provenance

The following attestation bundles were made for docmancer-0.5.2-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