getting started

Installation

System requirements, install methods, optional extras, and first-run setup.

Updated

Requirements

  • Python 3.11, 3.12, or 3.13
  • pipx (recommended) or pip

Install with pipx (recommended)

pipx installs Docmancer in an isolated environment so it does not interfere with other Python packages:

pipx install docmancer --python python3.13

If pipx picks an unsupported interpreter, pin one explicitly with --python python3.13.

Install with pip

pip install docmancer

Optional extras

The base install is fully offline: SQLite FTS5 lexical retrieval, a vendored static embedding model, and sqlite-vec dense vectors. The extras below pull in heavier dependencies only when you need them:

ExtraAdds
docmancer[browser]Playwright for JS-heavy docs sites via docmancer add --browser
docmancer[crawl4ai]Crawl4AI fetcher for difficult docs sites
docmancer[embeddings-heavy]FastEmbed + managed Qdrant (sparse SPLADE and a vector server)
docmancer[embeddings-openai]OpenAI embeddings provider
docmancer[embeddings-voyage]Voyage embeddings provider
docmancer[embeddings-cohere]Cohere embeddings provider

With pipx, inject an extra into the existing install:

pipx inject docmancer 'docmancer[embeddings-heavy]'

Verify the installation

docmancer doctor

doctor reports config status, SQLite index health, loader availability, the active retrieval stack (by default: static embeddings via model2vec, sqlite-vec, hybrid; ready and offline), and installed agent skills.

First-run setup

Run setup to create your config, initialize local storage, index your agents' memory, and connect coding agents:

docmancer setup

Setup will:

  1. Create ~/.docmancer/docmancer.yaml with default settings.
  2. Initialize the SQLite database at ~/.docmancer/docmancer.db.
  3. Warm the vendored static embedding model and index the memory your coding agents already wrote on this machine (opt out with --no-index-memory; preview with --dry-run).
  4. Auto-detect installed coding agents (Claude Code, Cursor, Codex, Cline, Gemini, OpenCode, Claude Desktop, GitHub Copilot).
  5. Install skill or instruction files so those agents can call docmancer memory query and docmancer query.

You can also install all agent integrations non-interactively, or only specific agents:

docmancer setup --all
docmancer setup --agent claude-code --agent cursor

No large model download

The default embedding model (potion-base-8M, ~8 MB) is vendored inside the package, so embedding and querying need no network at runtime. There is no Qdrant binary or 500 MB model fetch on the default path. The first ingest or add stays offline.

You can skip vectors entirely for an FTS5-only index:

docmancer ingest ./docs --no-vectors

Or set DOCMANCER_AUTO_VECTORS=0 to keep vectors off globally.

The optional embeddings-heavy extra adds FastEmbed and a managed Qdrant server (for sparse SPLADE retrieval); only then does a larger model and the Qdrant binary download on first use.

Where things live

PathContent
~/.docmancer/docmancer.yamlGlobal config
~/.docmancer/docmancer.dbSQLite FTS5 docs index
~/.docmancer/docmancer-vec.dbsqlite-vec dense vectors (co-located with the index)
~/.docmancer/memory.dbLocal memory index (override with DOCMANCER_MEMORY_DB)
~/.docmancer/extracted/Extracted Markdown + JSON (inspectable)
~/.docmancer/qdrant/Pinned Qdrant binary + storage (only with the embeddings-heavy extra)