doc-atlas 0.6.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. doc_atlas-0.6.1/.github/copilot-instructions.md +42 -0
  2. doc_atlas-0.6.1/.github/workflows/ci.yml +31 -0
  3. doc_atlas-0.6.1/.github/workflows/publish.yml +97 -0
  4. doc_atlas-0.6.1/.gitignore +28 -0
  5. doc_atlas-0.6.1/.idea/.gitignore +3 -0
  6. doc_atlas-0.6.1/.idea/caches/deviceStreaming.xml +1857 -0
  7. doc_atlas-0.6.1/.idea/docmancer.iml +9 -0
  8. doc_atlas-0.6.1/.idea/markdown.xml +8 -0
  9. doc_atlas-0.6.1/.idea/misc.xml +5 -0
  10. doc_atlas-0.6.1/.idea/modules.xml +8 -0
  11. doc_atlas-0.6.1/.idea/vcs.xml +6 -0
  12. doc_atlas-0.6.1/.vscode/settings.json +3 -0
  13. doc_atlas-0.6.1/AGENTS.md +42 -0
  14. doc_atlas-0.6.1/CHANGELOG.md +668 -0
  15. doc_atlas-0.6.1/CONTRIBUTING.md +65 -0
  16. doc_atlas-0.6.1/LICENSE +21 -0
  17. doc_atlas-0.6.1/PKG-INFO +536 -0
  18. doc_atlas-0.6.1/README.md +459 -0
  19. doc_atlas-0.6.1/ROADMAP_PROMPTS.md +41 -0
  20. doc_atlas-0.6.1/SKILL.md +118 -0
  21. doc_atlas-0.6.1/docmancer/__init__.py +52 -0
  22. doc_atlas-0.6.1/docmancer/__main__.py +4 -0
  23. doc_atlas-0.6.1/docmancer/_version.py +1 -0
  24. doc_atlas-0.6.1/docmancer/agent.py +522 -0
  25. doc_atlas-0.6.1/docmancer/async_agent.py +141 -0
  26. doc_atlas-0.6.1/docmancer/cli/__init__.py +0 -0
  27. doc_atlas-0.6.1/docmancer/cli/__main__.py +92 -0
  28. doc_atlas-0.6.1/docmancer/cli/commands.py +2260 -0
  29. doc_atlas-0.6.1/docmancer/cli/help.py +124 -0
  30. doc_atlas-0.6.1/docmancer/cli/mcp_commands.py +217 -0
  31. doc_atlas-0.6.1/docmancer/cli/qdrant_commands.py +135 -0
  32. doc_atlas-0.6.1/docmancer/cli/ui.py +64 -0
  33. doc_atlas-0.6.1/docmancer/client.py +96 -0
  34. doc_atlas-0.6.1/docmancer/connectors/__init__.py +0 -0
  35. doc_atlas-0.6.1/docmancer/connectors/fetchers/__init__.py +0 -0
  36. doc_atlas-0.6.1/docmancer/connectors/fetchers/base.py +8 -0
  37. doc_atlas-0.6.1/docmancer/connectors/fetchers/crawl4ai.py +216 -0
  38. doc_atlas-0.6.1/docmancer/connectors/fetchers/factory.py +71 -0
  39. doc_atlas-0.6.1/docmancer/connectors/fetchers/gitbook.py +7 -0
  40. doc_atlas-0.6.1/docmancer/connectors/fetchers/github.py +587 -0
  41. doc_atlas-0.6.1/docmancer/connectors/fetchers/llms_txt.py +151 -0
  42. doc_atlas-0.6.1/docmancer/connectors/fetchers/mintlify.py +98 -0
  43. doc_atlas-0.6.1/docmancer/connectors/fetchers/pipeline/__init__.py +1 -0
  44. doc_atlas-0.6.1/docmancer/connectors/fetchers/pipeline/browser.py +108 -0
  45. doc_atlas-0.6.1/docmancer/connectors/fetchers/pipeline/crawl4ai_extraction.py +110 -0
  46. doc_atlas-0.6.1/docmancer/connectors/fetchers/pipeline/detection.py +151 -0
  47. doc_atlas-0.6.1/docmancer/connectors/fetchers/pipeline/discovery.py +405 -0
  48. doc_atlas-0.6.1/docmancer/connectors/fetchers/pipeline/extraction.py +365 -0
  49. doc_atlas-0.6.1/docmancer/connectors/fetchers/pipeline/filtering.py +264 -0
  50. doc_atlas-0.6.1/docmancer/connectors/fetchers/pipeline/rate_limit.py +77 -0
  51. doc_atlas-0.6.1/docmancer/connectors/fetchers/pipeline/redirect.py +142 -0
  52. doc_atlas-0.6.1/docmancer/connectors/fetchers/pipeline/robots.py +131 -0
  53. doc_atlas-0.6.1/docmancer/connectors/fetchers/pipeline/sitemap.py +305 -0
  54. doc_atlas-0.6.1/docmancer/connectors/fetchers/uspto_tm/__init__.py +32 -0
  55. doc_atlas-0.6.1/docmancer/connectors/fetchers/uspto_tm/normalizer.py +113 -0
  56. doc_atlas-0.6.1/docmancer/connectors/fetchers/uspto_tm/parser.py +249 -0
  57. doc_atlas-0.6.1/docmancer/connectors/fetchers/uspto_tm/schema.py +75 -0
  58. doc_atlas-0.6.1/docmancer/connectors/fetchers/web.py +521 -0
  59. doc_atlas-0.6.1/docmancer/connectors/parsers/__init__.py +8 -0
  60. doc_atlas-0.6.1/docmancer/connectors/parsers/base.py +9 -0
  61. doc_atlas-0.6.1/docmancer/connectors/parsers/docx.py +36 -0
  62. doc_atlas-0.6.1/docmancer/connectors/parsers/html.py +18 -0
  63. doc_atlas-0.6.1/docmancer/connectors/parsers/markdown.py +27 -0
  64. doc_atlas-0.6.1/docmancer/connectors/parsers/pdf.py +67 -0
  65. doc_atlas-0.6.1/docmancer/connectors/parsers/rtf.py +22 -0
  66. doc_atlas-0.6.1/docmancer/connectors/parsers/text.py +18 -0
  67. doc_atlas-0.6.1/docmancer/context.py +133 -0
  68. doc_atlas-0.6.1/docmancer/core/__init__.py +0 -0
  69. doc_atlas-0.6.1/docmancer/core/chunking.py +458 -0
  70. doc_atlas-0.6.1/docmancer/core/config.py +261 -0
  71. doc_atlas-0.6.1/docmancer/core/html_utils.py +111 -0
  72. doc_atlas-0.6.1/docmancer/core/index_meta.py +169 -0
  73. doc_atlas-0.6.1/docmancer/core/models.py +27 -0
  74. doc_atlas-0.6.1/docmancer/core/sqlite_store.py +1157 -0
  75. doc_atlas-0.6.1/docmancer/docs/__init__.py +5 -0
  76. doc_atlas-0.6.1/docmancer/docs/application/__init__.py +5 -0
  77. doc_atlas-0.6.1/docmancer/docs/application/dependency_docs_service.py +102 -0
  78. doc_atlas-0.6.1/docmancer/docs/application/dependency_project_prefetch.py +131 -0
  79. doc_atlas-0.6.1/docmancer/docs/application/dependency_resolution.py +121 -0
  80. doc_atlas-0.6.1/docmancer/docs/application/docs_job_service.py +170 -0
  81. doc_atlas-0.6.1/docmancer/docs/application/docs_manifest_service.py +224 -0
  82. doc_atlas-0.6.1/docmancer/docs/application/docs_prefetch_service.py +424 -0
  83. doc_atlas-0.6.1/docmancer/docs/application/docs_target_service.py +177 -0
  84. doc_atlas-0.6.1/docmancer/docs/application/library_docs_service.py +690 -0
  85. doc_atlas-0.6.1/docmancer/docs/application/library_refresh_ops.py +230 -0
  86. doc_atlas-0.6.1/docmancer/docs/application/library_registry_ops.py +148 -0
  87. doc_atlas-0.6.1/docmancer/docs/application/project_context_service.py +184 -0
  88. doc_atlas-0.6.1/docmancer/docs/application/project_docs_service.py +681 -0
  89. doc_atlas-0.6.1/docmancer/docs/application/project_docs_state.py +131 -0
  90. doc_atlas-0.6.1/docmancer/docs/dartdoc.py +118 -0
  91. doc_atlas-0.6.1/docmancer/docs/domain/__init__.py +1 -0
  92. doc_atlas-0.6.1/docmancer/docs/domain/policies.py +25 -0
  93. doc_atlas-0.6.1/docmancer/docs/domain/project_state.py +99 -0
  94. doc_atlas-0.6.1/docmancer/docs/domain/source_identity.py +53 -0
  95. doc_atlas-0.6.1/docmancer/docs/domain/target_security.py +37 -0
  96. doc_atlas-0.6.1/docmancer/docs/domain/trust_contract.py +124 -0
  97. doc_atlas-0.6.1/docmancer/docs/infrastructure/__init__.py +1 -0
  98. doc_atlas-0.6.1/docmancer/docs/infrastructure/agent_index_gateway.py +45 -0
  99. doc_atlas-0.6.1/docmancer/docs/infrastructure/filesystem_locks.py +14 -0
  100. doc_atlas-0.6.1/docmancer/docs/interfaces/__init__.py +1 -0
  101. doc_atlas-0.6.1/docmancer/docs/interfaces/mcp/__init__.py +1 -0
  102. doc_atlas-0.6.1/docmancer/docs/interfaces/mcp/docs_tools.py +42 -0
  103. doc_atlas-0.6.1/docmancer/docs/interfaces/mcp/prefetch_tools.py +37 -0
  104. doc_atlas-0.6.1/docmancer/docs/interfaces/mcp/project_tools.py +38 -0
  105. doc_atlas-0.6.1/docmancer/docs/models.py +416 -0
  106. doc_atlas-0.6.1/docmancer/docs/project.py +525 -0
  107. doc_atlas-0.6.1/docmancer/docs/registry.py +448 -0
  108. doc_atlas-0.6.1/docmancer/docs/resolver.py +86 -0
  109. doc_atlas-0.6.1/docmancer/docs/service.py +285 -0
  110. doc_atlas-0.6.1/docmancer/embeddings/__init__.py +38 -0
  111. doc_atlas-0.6.1/docmancer/embeddings/base.py +144 -0
  112. doc_atlas-0.6.1/docmancer/embeddings/cohere_provider.py +38 -0
  113. doc_atlas-0.6.1/docmancer/embeddings/fastembed_provider.py +147 -0
  114. doc_atlas-0.6.1/docmancer/embeddings/openai_provider.py +136 -0
  115. doc_atlas-0.6.1/docmancer/embeddings/pipeline.py +287 -0
  116. doc_atlas-0.6.1/docmancer/embeddings/voyage_provider.py +45 -0
  117. doc_atlas-0.6.1/docmancer/eval/__init__.py +9 -0
  118. doc_atlas-0.6.1/docmancer/eval/health.py +47 -0
  119. doc_atlas-0.6.1/docmancer/eval/metrics.py +59 -0
  120. doc_atlas-0.6.1/docmancer/eval/runner.py +351 -0
  121. doc_atlas-0.6.1/docmancer/eval/schema.py +94 -0
  122. doc_atlas-0.6.1/docmancer/eval/story_corpus.py +103 -0
  123. doc_atlas-0.6.1/docmancer/eval/trace.py +105 -0
  124. doc_atlas-0.6.1/docmancer/mcp/__init__.py +11 -0
  125. doc_atlas-0.6.1/docmancer/mcp/agent_config.py +96 -0
  126. doc_atlas-0.6.1/docmancer/mcp/credentials.py +141 -0
  127. doc_atlas-0.6.1/docmancer/mcp/dispatcher.py +258 -0
  128. doc_atlas-0.6.1/docmancer/mcp/docs_server.py +382 -0
  129. doc_atlas-0.6.1/docmancer/mcp/doctor.py +101 -0
  130. doc_atlas-0.6.1/docmancer/mcp/executors/__init__.py +24 -0
  131. doc_atlas-0.6.1/docmancer/mcp/executors/base.py +28 -0
  132. doc_atlas-0.6.1/docmancer/mcp/executors/http.py +173 -0
  133. doc_atlas-0.6.1/docmancer/mcp/executors/noop.py +33 -0
  134. doc_atlas-0.6.1/docmancer/mcp/executors/python_import.py +130 -0
  135. doc_atlas-0.6.1/docmancer/mcp/idempotency.py +77 -0
  136. doc_atlas-0.6.1/docmancer/mcp/installer.py +136 -0
  137. doc_atlas-0.6.1/docmancer/mcp/logging.py +32 -0
  138. doc_atlas-0.6.1/docmancer/mcp/manifest.py +105 -0
  139. doc_atlas-0.6.1/docmancer/mcp/paths.py +100 -0
  140. doc_atlas-0.6.1/docmancer/mcp/registry.py +634 -0
  141. doc_atlas-0.6.1/docmancer/mcp/safety.py +42 -0
  142. doc_atlas-0.6.1/docmancer/mcp/search.py +81 -0
  143. doc_atlas-0.6.1/docmancer/mcp/serve.py +62 -0
  144. doc_atlas-0.6.1/docmancer/mcp/slug.py +25 -0
  145. doc_atlas-0.6.1/docmancer/retrieval/__init__.py +12 -0
  146. doc_atlas-0.6.1/docmancer/retrieval/dense.py +23 -0
  147. doc_atlas-0.6.1/docmancer/retrieval/dispatch.py +736 -0
  148. doc_atlas-0.6.1/docmancer/retrieval/fusion.py +62 -0
  149. doc_atlas-0.6.1/docmancer/retrieval/lexical.py +19 -0
  150. doc_atlas-0.6.1/docmancer/retrieval/sparse.py +28 -0
  151. doc_atlas-0.6.1/docmancer/runtime/__init__.py +0 -0
  152. doc_atlas-0.6.1/docmancer/runtime/qdrant_manager.py +481 -0
  153. doc_atlas-0.6.1/docmancer/stores/__init__.py +3 -0
  154. doc_atlas-0.6.1/docmancer/stores/base.py +114 -0
  155. doc_atlas-0.6.1/docmancer/stores/qdrant_store.py +415 -0
  156. doc_atlas-0.6.1/docmancer/stores/sqlite_vec_store.py +287 -0
  157. doc_atlas-0.6.1/docmancer/templates/__init__.py +0 -0
  158. doc_atlas-0.6.1/docmancer/templates/claude_code_skill.md +95 -0
  159. doc_atlas-0.6.1/docmancer/templates/claude_desktop_skill.md +83 -0
  160. doc_atlas-0.6.1/docmancer/templates/copilot_instructions.md +42 -0
  161. doc_atlas-0.6.1/docmancer/templates/cursor_agents_md.md +53 -0
  162. doc_atlas-0.6.1/docmancer/templates/skill.md +136 -0
  163. doc_atlas-0.6.1/docmancer.yaml +12 -0
  164. doc_atlas-0.6.1/docs/DOCMANCER_PRODUCT_BRIEF.md +1074 -0
  165. doc_atlas-0.6.1/docs/capabilities.md +1300 -0
  166. doc_atlas-0.6.1/docs/context7-docmancer-comparison.md +337 -0
  167. doc_atlas-0.6.1/docs/mcp-docs-server.md +192 -0
  168. doc_atlas-0.6.1/docs/project-docs-demo.md +70 -0
  169. doc_atlas-0.6.1/docs/project-docs-mcp-workflow.md +358 -0
  170. doc_atlas-0.6.1/eval/context7_benchmark_plan.md +409 -0
  171. doc_atlas-0.6.1/eval/fastapi_golden.yaml +44 -0
  172. doc_atlas-0.6.1/eval/project_docs_golden.yaml +44 -0
  173. doc_atlas-0.6.1/eval/results/context7_fastapi_results.json +48 -0
  174. doc_atlas-0.6.1/eval/results/context7_riverpod_results.json +64 -0
  175. doc_atlas-0.6.1/eval/results/docmancer_fastapi_results.json +627 -0
  176. doc_atlas-0.6.1/eval/results/docmancer_riverpod_results.json +1093 -0
  177. doc_atlas-0.6.1/eval/riverpod_benchmark_report.md +140 -0
  178. doc_atlas-0.6.1/eval/riverpod_golden.yaml +75 -0
  179. doc_atlas-0.6.1/prompts/01_agent_proof_mcp_docs_ux.md +121 -0
  180. doc_atlas-0.6.1/prompts/02_registry_source_identity.md +132 -0
  181. doc_atlas-0.6.1/prompts/03_product_positioning.md +123 -0
  182. doc_atlas-0.6.1/prompts/04_project_aware_version_resolution.md +112 -0
  183. doc_atlas-0.6.1/prompts/05_retrieval_quality_eval.md +120 -0
  184. doc_atlas-0.6.1/prompts/06_first_run_dx_doctor.md +107 -0
  185. doc_atlas-0.6.1/prompts/07_merged_execution_roadmap.md +93 -0
  186. doc_atlas-0.6.1/pyproject.toml +73 -0
  187. doc_atlas-0.6.1/readme-assets/api-mcp.gif +0 -0
  188. doc_atlas-0.6.1/readme-assets/demo.gif +0 -0
  189. doc_atlas-0.6.1/readme-assets/vault-demo.gif +0 -0
  190. doc_atlas-0.6.1/readme-assets/wizard-logo.png +0 -0
  191. doc_atlas-0.6.1/scripts/live_cli_integration.sh +679 -0
  192. doc_atlas-0.6.1/scripts/mcp_stdio_smoke.py +155 -0
  193. doc_atlas-0.6.1/scripts/smoke_test.sh +24 -0
  194. doc_atlas-0.6.1/tests/__init__.py +0 -0
  195. doc_atlas-0.6.1/tests/conftest.py +12 -0
  196. doc_atlas-0.6.1/tests/docs/test_agent_index_gateway.py +79 -0
  197. doc_atlas-0.6.1/tests/docs/test_dependency_docs_service.py +55 -0
  198. doc_atlas-0.6.1/tests/docs/test_docs_job_service.py +78 -0
  199. doc_atlas-0.6.1/tests/docs/test_docs_manifest_service.py +90 -0
  200. doc_atlas-0.6.1/tests/docs/test_docs_prefetch_service.py +67 -0
  201. doc_atlas-0.6.1/tests/docs/test_docs_service_characterization.py +259 -0
  202. doc_atlas-0.6.1/tests/docs/test_docs_target_service.py +103 -0
  203. doc_atlas-0.6.1/tests/docs/test_filesystem_locks.py +11 -0
  204. doc_atlas-0.6.1/tests/docs/test_library_docs_service.py +49 -0
  205. doc_atlas-0.6.1/tests/docs/test_mcp_docs_tools_registration.py +182 -0
  206. doc_atlas-0.6.1/tests/docs/test_policies.py +33 -0
  207. doc_atlas-0.6.1/tests/docs/test_project_context_service.py +100 -0
  208. doc_atlas-0.6.1/tests/docs/test_project_docs_service.py +279 -0
  209. doc_atlas-0.6.1/tests/docs/test_project_state.py +59 -0
  210. doc_atlas-0.6.1/tests/docs/test_source_identity.py +61 -0
  211. doc_atlas-0.6.1/tests/docs/test_target_security.py +26 -0
  212. doc_atlas-0.6.1/tests/docs/test_trust_contract.py +79 -0
  213. doc_atlas-0.6.1/tests/test_agent.py +201 -0
  214. doc_atlas-0.6.1/tests/test_async_agent.py +72 -0
  215. doc_atlas-0.6.1/tests/test_auto_detection.py +88 -0
  216. doc_atlas-0.6.1/tests/test_browser.py +105 -0
  217. doc_atlas-0.6.1/tests/test_chunking.py +301 -0
  218. doc_atlas-0.6.1/tests/test_cli.py +425 -0
  219. doc_atlas-0.6.1/tests/test_client.py +70 -0
  220. doc_atlas-0.6.1/tests/test_config.py +280 -0
  221. doc_atlas-0.6.1/tests/test_context.py +108 -0
  222. doc_atlas-0.6.1/tests/test_context7_snapshot_benchmark.py +95 -0
  223. doc_atlas-0.6.1/tests/test_crawl4ai_fetcher.py +42 -0
  224. doc_atlas-0.6.1/tests/test_cross_index_retrieval_mvp.py +31 -0
  225. doc_atlas-0.6.1/tests/test_detection.py +112 -0
  226. doc_atlas-0.6.1/tests/test_docs_service.py +3102 -0
  227. doc_atlas-0.6.1/tests/test_embeddings.py +52 -0
  228. doc_atlas-0.6.1/tests/test_embeddings_pipeline.py +101 -0
  229. doc_atlas-0.6.1/tests/test_eval.py +525 -0
  230. doc_atlas-0.6.1/tests/test_exact_version_benchmark_mvp.py +52 -0
  231. doc_atlas-0.6.1/tests/test_extraction.py +336 -0
  232. doc_atlas-0.6.1/tests/test_fetcher_gitbook.py +218 -0
  233. doc_atlas-0.6.1/tests/test_fetcher_github.py +241 -0
  234. doc_atlas-0.6.1/tests/test_fetcher_mintlify.py +168 -0
  235. doc_atlas-0.6.1/tests/test_filtering.py +232 -0
  236. doc_atlas-0.6.1/tests/test_html_utils.py +98 -0
  237. doc_atlas-0.6.1/tests/test_install_cmd.py +192 -0
  238. doc_atlas-0.6.1/tests/test_install_mcp_handshake.py +52 -0
  239. doc_atlas-0.6.1/tests/test_mcp_agent_config.py +42 -0
  240. doc_atlas-0.6.1/tests/test_mcp_cli.py +103 -0
  241. doc_atlas-0.6.1/tests/test_mcp_credentials.py +88 -0
  242. doc_atlas-0.6.1/tests/test_mcp_dispatcher.py +239 -0
  243. doc_atlas-0.6.1/tests/test_mcp_doctor.py +51 -0
  244. doc_atlas-0.6.1/tests/test_mcp_executor_extras.py +211 -0
  245. doc_atlas-0.6.1/tests/test_mcp_idempotency.py +49 -0
  246. doc_atlas-0.6.1/tests/test_mcp_installer.py +77 -0
  247. doc_atlas-0.6.1/tests/test_mcp_log_append.py +25 -0
  248. doc_atlas-0.6.1/tests/test_mcp_logging.py +16 -0
  249. doc_atlas-0.6.1/tests/test_mcp_paths.py +46 -0
  250. doc_atlas-0.6.1/tests/test_mcp_python_executor.py +104 -0
  251. doc_atlas-0.6.1/tests/test_mcp_registry_fallback.py +129 -0
  252. doc_atlas-0.6.1/tests/test_mcp_sha_verify.py +65 -0
  253. doc_atlas-0.6.1/tests/test_mcp_slug.py +24 -0
  254. doc_atlas-0.6.1/tests/test_models.py +17 -0
  255. doc_atlas-0.6.1/tests/test_openai_embeddings.py +92 -0
  256. doc_atlas-0.6.1/tests/test_parsers.py +59 -0
  257. doc_atlas-0.6.1/tests/test_public_docs_regression_gate.py +47 -0
  258. doc_atlas-0.6.1/tests/test_qdrant_manager.py +50 -0
  259. doc_atlas-0.6.1/tests/test_qdrant_store.py +230 -0
  260. doc_atlas-0.6.1/tests/test_qdrant_store_unit.py +65 -0
  261. doc_atlas-0.6.1/tests/test_rate_limit.py +64 -0
  262. doc_atlas-0.6.1/tests/test_redirect.py +141 -0
  263. doc_atlas-0.6.1/tests/test_retrieval_features.py +532 -0
  264. doc_atlas-0.6.1/tests/test_retrieval_fusion.py +41 -0
  265. doc_atlas-0.6.1/tests/test_robots.py +110 -0
  266. doc_atlas-0.6.1/tests/test_sitemap.py +172 -0
  267. doc_atlas-0.6.1/tests/test_sqlite_store_embedding_sections.py +40 -0
  268. doc_atlas-0.6.1/tests/test_sqlite_vec_store.py +123 -0
  269. doc_atlas-0.6.1/tests/test_uspto_tm.py +195 -0
  270. doc_atlas-0.6.1/tests/test_vector_fallback.py +60 -0
  271. doc_atlas-0.6.1/tests/test_web_fetcher.py +356 -0
  272. doc_atlas-0.6.1/uv.lock +3610 -0
  273. doc_atlas-0.6.1/wiki/Architecture.md +312 -0
  274. doc_atlas-0.6.1/wiki/Commands.md +153 -0
  275. doc_atlas-0.6.1/wiki/Configuration.md +248 -0
  276. doc_atlas-0.6.1/wiki/Home.md +31 -0
  277. doc_atlas-0.6.1/wiki/Install-Targets.md +70 -0
  278. doc_atlas-0.6.1/wiki/MCP-Packs.md +90 -0
  279. doc_atlas-0.6.1/wiki/Supported-Sources.md +86 -0
  280. doc_atlas-0.6.1/wiki/Troubleshooting.md +173 -0
@@ -0,0 +1,42 @@
1
+ <!-- docmancer:start -->
2
+ # docmancer
3
+
4
+ Docmancer compresses documentation context so coding agents spend tokens on code, not on rereading raw docs. It ingests local files, fetches public docs, indexes everything locally with SQLite FTS5, and returns compact context packs with source attribution.
5
+
6
+ Executable: `/Users/gaurangtorvekar/Documents/coding/personal/kytona_stuff/devrel/docmancer_stuff/docmancer/.venv/bin/docmancer --config /private/var/folders/fj/87wdckpn2j7fhjysk511vt3m0000gn/T/docmancer-live-cli.8UadQL/project/docmancer.yaml`
7
+
8
+ **All commands below use `docmancer` as shorthand for the full executable path above.**
9
+
10
+ Use docmancer when the user asks about library docs, API references, vendor docs, version-specific behavior, offline docs, or wants to add docs before answering a technical question.
11
+
12
+ ## Workflow
13
+
14
+ 1. Run `docmancer list` to see indexed docs.
15
+ 2. Run `docmancer query "question"` when relevant docs are present.
16
+ 3. If local docs are missing and the user approves the path, run `docmancer ingest <path>`.
17
+ 4. If URL docs are missing and the user approves the source, run `docmancer add <url>`.
18
+ 5. Use the returned sections as source-grounded context for the answer or code change.
19
+
20
+ ## Core Commands
21
+
22
+ ```bash
23
+ docmancer setup
24
+ docmancer ingest ./docs
25
+ docmancer add https://docs.example.com
26
+ docmancer update
27
+ docmancer query "how to authenticate"
28
+ docmancer query "how to authenticate" --limit 10
29
+ docmancer query "how to authenticate" --expand
30
+ docmancer query "how to authenticate" --expand page
31
+ docmancer query "how to authenticate" --format json
32
+ docmancer list
33
+ docmancer inspect
34
+ docmancer remove <source>
35
+ docmancer doctor
36
+ docmancer fetch <url> --output <dir>
37
+ ```
38
+
39
+ `query` prints estimated raw docs tokens, context-pack tokens, percent saved, and agentic runway. Prefer the compact default. Use `--expand` for adjacent sections; use `--expand page` only when the surrounding page is necessary.
40
+
41
+ When documentation context is relevant, do not rely only on model memory or latest-only hosted docs. Query docmancer first, then cite or summarize the relevant local sections in the response.
42
+ <!-- docmancer:end -->
@@ -0,0 +1,31 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ env:
10
+ FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
11
+
12
+ jobs:
13
+ test:
14
+ runs-on: ubuntu-latest
15
+ strategy:
16
+ matrix:
17
+ python-version: ["3.11", "3.12"]
18
+
19
+ steps:
20
+ - uses: actions/checkout@v5
21
+
22
+ - name: Set up Python ${{ matrix.python-version }}
23
+ uses: actions/setup-python@v6
24
+ with:
25
+ python-version: ${{ matrix.python-version }}
26
+
27
+ - name: Install dependencies
28
+ run: pip install -e ".[dev]"
29
+
30
+ - name: Run tests
31
+ run: pytest tests/ -v
@@ -0,0 +1,97 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ push:
7
+ tags:
8
+ # Glob (not regex): three-part semver tags like v0.1.1
9
+ - "v*.*.*"
10
+ - "*.*.*"
11
+
12
+ env:
13
+ FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
14
+
15
+ jobs:
16
+ smoke-test:
17
+ runs-on: ubuntu-latest
18
+ steps:
19
+ - uses: actions/checkout@v5
20
+
21
+ - name: Set up Python
22
+ uses: actions/setup-python@v6
23
+ with:
24
+ python-version: "3.11"
25
+
26
+ - name: Install package and build tools
27
+ run: pip install -e ".[dev]" build twine "hatchling<1.27"
28
+
29
+ - name: Verify tag matches package version
30
+ env:
31
+ RELEASE_TAG: ${{ github.event.release.tag_name || github.ref_name }}
32
+ run: |
33
+ TAG="${RELEASE_TAG#v}"
34
+ PKG="$(python -c "from docmancer._version import __version__; print(__version__)")"
35
+ if [[ "$TAG" != "$PKG" ]]; then
36
+ echo "::error::Git tag $RELEASE_TAG does not match docmancer._version ($PKG). Bump docmancer/_version.py before tagging."
37
+ exit 1
38
+ fi
39
+
40
+ - name: Run tests
41
+ run: pytest tests/ -v
42
+
43
+ - name: Run smoke CLI checks
44
+ run: |
45
+ doc-atlas --help
46
+ TMP_DIR="$(mktemp -d)"
47
+ doc-atlas init --dir "$TMP_DIR"
48
+ test -f "$TMP_DIR/docmancer.yaml"
49
+ doc-atlas doctor --config "$TMP_DIR/docmancer.yaml"
50
+
51
+ - name: Build artifacts
52
+ run: python -m build --no-isolation
53
+
54
+ - name: Check artifacts
55
+ run: python -m twine check dist/*
56
+
57
+ build:
58
+ needs: smoke-test
59
+ runs-on: ubuntu-latest
60
+ steps:
61
+ - uses: actions/checkout@v5
62
+
63
+ - name: Set up Python
64
+ uses: actions/setup-python@v6
65
+ with:
66
+ python-version: "3.11"
67
+
68
+ - name: Install build tools
69
+ run: pip install build twine "hatchling<1.27"
70
+
71
+ - name: Build
72
+ run: python -m build --no-isolation
73
+
74
+ - name: Check artifacts
75
+ run: python -m twine check dist/*
76
+
77
+ - name: Upload dist artifacts
78
+ uses: actions/upload-artifact@v4
79
+ with:
80
+ name: dist
81
+ path: dist/
82
+
83
+ publish-pypi:
84
+ needs: build
85
+ runs-on: ubuntu-latest
86
+ environment: release
87
+ steps:
88
+ - name: Download dist artifacts
89
+ uses: actions/download-artifact@v4
90
+ with:
91
+ name: dist
92
+ path: dist/
93
+
94
+ - name: Publish to PyPI
95
+ uses: pypa/gh-action-pypi-publish@release/v1
96
+ with:
97
+ password: ${{ secrets.PYPI_API_TOKEN }}
@@ -0,0 +1,28 @@
1
+ .claude/
2
+ __pycache__/
3
+ *.pyc
4
+ .pytest_cache/
5
+ .qdrant/
6
+ .venv/
7
+ dist/
8
+ build/
9
+ coverage/
10
+ .DS_Store
11
+ .worktrees/
12
+ .docmancer/
13
+ .docs-kit/
14
+ downloaded-docs/
15
+ /release-patch-pypi.sh
16
+ /repush-release-tag.sh
17
+ docs/
18
+ !docs/
19
+ docs/*
20
+ !docs/capabilities.md
21
+ !docs/context7-docmancer-comparison.md
22
+ !docs/DOCMANCER_PRODUCT_BRIEF.md
23
+ !docs/mcp-docs-server.md
24
+ !docs/project-docs-demo.md
25
+ !docs/project-docs-mcp-workflow.md
26
+ !docmancer/docs/
27
+ !docmancer/docs/*.py
28
+ scripts/*.log
@@ -0,0 +1,3 @@
1
+ # Default ignored files
2
+ /shelf/
3
+ /workspace.xml