Skip to main content

Local, version-aware documentation runtime for coding agents.

Project description

DocAtlas

Local, offline-first context packs for coding agents — from your own repository docs.

License: MIT Python 3.11 | 3.12 | 3.13

Quickstart | Project docs | Commands


DocAtlas compresses documentation context so coding agents spend tokens on code, not rereading raw docs. It ingests local repository files, fetches public docs, indexes everything offline with SQLite FTS5, and returns compact context packs with source attribution.

Naming and compatibility

The product name is DocAtlas.

The PyPI package and CLI command are:

pipx install doc-atlas
doc-atlas --help

Some internal Python modules, storage paths, and older documentation may still use the legacy name docmancer, for example docmancer/ or ~/.docmancer/. Treat those as compatibility/internal names unless this README explicitly says otherwise.

Use doc-atlas ... for user-facing commands in new documentation. Configuration files may still be named docmancer.yaml for compatibility.

Quickstart

doc-atlas list                        # see indexed docs
doc-atlas ingest ./docs               # index local files
doc-atlas add https://docs.example.com
doc-atlas query "how to authenticate"

query prints estimated raw docs tokens, context-pack tokens, percent saved, and agentic runway:

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

Prefer the compact default. Use --expand for adjacent sections and --expand page only when the whole page is necessary.

Core commands

doc-atlas setup
doc-atlas ingest ./docs
doc-atlas add https://docs.example.com
doc-atlas update
doc-atlas query "how to authenticate"
doc-atlas query "how to authenticate" --limit 10
doc-atlas query "how to authenticate" --expand
doc-atlas query "how to authenticate" --expand page
doc-atlas query "how to authenticate" --format json
doc-atlas list
doc-atlas inspect
doc-atlas remove <source>
doc-atlas doctor
doc-atlas fetch <url> --output <dir>

Project-docs MCP server

DocAtlas exposes its documentation runtime through a Context7-style MCP server:

doc-atlas mcp docs-serve

Project-docs tools let agents work with the reviewable documentation files that belong to a repository:

Tool Purpose
sync_project_docs Canonical lifecycle action. Discovers, reconciles, prunes orphaned/stale, and indexes project docs in one call. Prefer over ingest_project_docs.
inspect_project_docs Read-only discovery: reports discovered candidates, indexed docs, stale/ignored/orphaned sources, reason_code, and next_action.
ingest_project_docs Legacy low-level index operation. Does not reconcile — use sync_project_docs.
bootstrap_project_docs Safe high-level onboarding: inspect, sync if needed, inspect again. Stops before repo writes or network fetches.
get_project_docs Query indexed project docs for repo-specific architecture, conventions, README, ADRs, runbooks, or module docs.
get_project_context Compact repo-grounded context pack combining project docs with optional dependency-doc evidence and a Trust Contract.

Recommended workflow

sync_project_docs(project_path, with_vectors=true)     # discover + reconcile + index
get_project_context(project_path, question)             # compact grounded context

For safe high-level onboarding:

bootstrap_project_docs(project_path, question?)
get_project_context(project_path, question)

sync_project_docs replaces the old two-step inspect → ingest loop. It:

  1. discovers current candidates from the filesystem;
  2. prunes orphaned indexed sources (deleted files);
  3. removes stale indexed sections (changed files);
  4. indexes new and changed candidates;
  5. returns current_count, new_count, changed_count, orphaned_removed, and indexed_sources.

Compact MCP responses

All project-docs lifecycle tools return compact responses by default:

{
  "tool": "sync_project_docs",
  "status": "success",
  "current_count": 3,
  "new_count": 1,
  "changed_count": 0,
  "orphaned_removed": 1
}

Pass "details": true for the full structured response.

When to use each tool

Situation Tool
First time in a repo sync_project_docs or bootstrap_project_docs
Check what docs exist inspect_project_docs (read-only)
Reconcile after file changes sync_project_docs
Old low-level index (no reconcile) ingest_project_docs
Answer "how does this repo work?" get_project_context or get_project_docs

Project-aware Flutter/Dart docs

DocAtlas can inspect a local Flutter/Dart project. It reads .fvmrc for Flutter channel/version hints and pubspec.lock for pub package versions. This enables exact-version documentation for the dependencies your project actually uses.

License

MIT

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

doc_atlas-1.0.0.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

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

doc_atlas-1.0.0-py3-none-any.whl (299.5 kB view details)

Uploaded Python 3

File details

Details for the file doc_atlas-1.0.0.tar.gz.

File metadata

  • Download URL: doc_atlas-1.0.0.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for doc_atlas-1.0.0.tar.gz
Algorithm Hash digest
SHA256 85a4274a8792805a4f025bff98adbb9878781a009c6bc342c8354eb8f4a09c9c
MD5 f94bca538fb19688a8c0ca6a0389fc92
BLAKE2b-256 a9fd7714de235b35a55a9b66d88ae490b456995dd57b98cdc973dcb09ce2f112

See more details on using hashes here.

File details

Details for the file doc_atlas-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: doc_atlas-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 299.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for doc_atlas-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6fd1bc7ca5add562de6d7ccd3dfc715a07f61be4a6153a60d5475125bf0b106
MD5 c777ab4ed7ae97727e1c42d3837e49e5
BLAKE2b-256 a50157660adf3044f7ae2b6995bb029c827d753b4d2eebe615af02c6303c2866

See more details on using hashes here.

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