reference

Project Config

Global vs project-local config, shared indexes, vector store scope, and ordinary file-based collaboration.

Updated

Global vs project-local config

Docmancer supports two config scopes:

ScopeFileWhen to use
Global~/.docmancer/docmancer.yamlPersonal docs index shared across all projects
Project./docmancer.yamlProject-specific docs with a separate index

The global config is created automatically on first use. A project config is created explicitly by writing a docmancer.yaml in the project directory.

How config resolution works

When you run any docmancer command, it checks for config in this order:

  1. --config <path> flag (explicit, highest priority)
  2. ./docmancer.yaml in the current working directory
  3. ~/.docmancer/docmancer.yaml (global fallback)

This means if you create a docmancer.yaml in a project directory, all commands run from that directory will use it automatically, including a separate SQLite database.

Create a project config

In the project directory, create a docmancer.yaml with settings pointing to a local .docmancer/ directory:

index:
  db_path: .docmancer/docmancer.db
  extracted_dir: .docmancer/extracted/

The default local docs backend is sqlite-vec with the vendored model. A project can override paths and collection names if needed:

index:
  db_path: .docmancer/docmancer.db
  extracted_dir: .docmancer/extracted/

vector_store:
  provider: sqlite-vec
  collection: docmancer-myproject
  options:
    db_path: .docmancer/sqlite-vec.db

Qdrant remains an optional heavy backend only when explicitly configured.

When to use project config

Use a project-local config when:

  • You want project-specific docs that do not mix with your global index
  • Multiple team members share the same project and you want a consistent docs setup
  • You want to commit the config (but not the database) to version control

Shared index across agents

All agents on the same machine share the same SQLite index. If you add docs using Claude Code, Cursor can query them, and vice versa. This works because all agents call the same docmancer binary and read the same config file.

When using a project-local config, the shared index only applies to agents running from that project directory. Agents running from other directories will use the global config and its separate index.

Memory scope is independent from the docs config path. docmancer ask "question" --project "$PWD" and recall hooks use canonical repository paths to include this project's memory plus machine-wide memory, while excluding unrelated projects.

Curated project memory lives under .docmancer/tree/ as ordinary Markdown and is normally committed. The databases, vector files, inbox, trash, and caches should not be committed.

Project-local skill installation

Some agents support project-level skill installation. This installs the skill file inside the project directory instead of globally:

docmancer agent install claude-code --project
docmancer agent install gemini --project
docmancer agent install cline --project

Project-level skills are useful when you want the docmancer skill to be available only within a specific project, or when you want to commit the skill file to version control so team members get it automatically.

Currently supported for: Claude Code, Gemini, Cline, and GitHub Copilot.

Version control

Add to your .gitignore:

.docmancer/docmancer.db
.docmancer/extracted/
.docmancer/sqlite-vec.db
.docmancer/embeddings-cache/
.docmancer/inbox/
.docmancer/trash/
.docmancer/state/

Do not ignore .docmancer/tree/. It contains ordinary curated project Markdown that you may review and share through your existing file or Git workflow.

Commit docmancer.yaml so team members share the same config. Each person runs docmancer docs add <url-or-path> to build their own local index.