deepdoc 0.5.2__tar.gz → 0.5.4__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.
- {deepdoc-0.5.2 → deepdoc-0.5.4}/PKG-INFO +16 -14
- {deepdoc-0.5.2 → deepdoc-0.5.4}/README.md +15 -13
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/__init__.py +1 -1
- deepdoc-0.5.4/deepdoc/call_graph.py +1410 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/chunker.py +1 -1
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/cli.py +17 -7
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/config.py +6 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/generator/evidence.py +5 -3
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/llm/token_budget.py +79 -20
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/common.py +28 -8
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/fastapi.py +10 -2
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/laravel.py +21 -14
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/repo_resolver.py +111 -1
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/persistence_v2.py +1 -1
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/pipeline_v2.py +167 -881
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/bucket_refinement.py +4 -6
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/common.py +4 -7
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/engine.py +514 -63
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/heuristics.py +38 -1
- deepdoc-0.5.4/deepdoc/planner/merge.py +281 -0
- deepdoc-0.5.4/deepdoc/planner/partitioning.py +643 -0
- deepdoc-0.5.4/deepdoc/planner/unit_boundaries.py +424 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/clustering.py +32 -10
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/integrations.py +31 -11
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/runtime.py +99 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/source_metadata.py +27 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/v2_models.py +2 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc.egg-info/PKG-INFO +16 -14
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc.egg-info/SOURCES.txt +16 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/pyproject.toml +1 -1
- deepdoc-0.5.4/tests/test_call_graph.py +713 -0
- deepdoc-0.5.4/tests/test_coverage_report.py +70 -0
- deepdoc-0.5.4/tests/test_empty_repo_guard.py +43 -0
- deepdoc-0.5.4/tests/test_endpoint_priority_dedupe.py +53 -0
- deepdoc-0.5.4/tests/test_fastapi_phantom_endpoints.py +26 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_framework_support.py +42 -0
- deepdoc-0.5.4/tests/test_hosted_upload.py +133 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_phase1_perf.py +0 -29
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_planner_assignment_partition.py +35 -2
- deepdoc-0.5.4/tests/test_planner_merge.py +246 -0
- deepdoc-0.5.4/tests/test_planner_partitioning.py +729 -0
- deepdoc-0.5.4/tests/test_planner_unit_boundaries.py +881 -0
- deepdoc-0.5.4/tests/test_planner_unit_orchestration.py +911 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_rate_limit.py +14 -3
- deepdoc-0.5.4/tests/test_route_composition.py +99 -0
- deepdoc-0.5.4/tests/test_scan_guards.py +46 -0
- deepdoc-0.5.4/tests/test_scanner_llm_bounds.py +210 -0
- deepdoc-0.5.4/tests/test_slug_dedup.py +43 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_smart_update.py +13 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_state.py +1 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_token_budget.py +68 -3
- deepdoc-0.5.2/deepdoc/call_graph.py +0 -811
- deepdoc-0.5.2/tests/test_call_graph.py +0 -233
- {deepdoc-0.5.2 → deepdoc-0.5.4}/LICENSE +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/__main__.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/benchmark_v2.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/changelog_writer.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/__init__.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/answer_mixin.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/constants.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/deep_research.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/docs_summary.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/embedding_capabilities.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/embeddings.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/indexer.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/linking.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/live_fallback_mixin.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/persistence.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/providers.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/retrieval_mixin.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/routes.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/scaffold.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/service.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/settings.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/source_archive.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/symbol_index.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/types.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/generator/__init__.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/generator/consistency.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/generator/generation.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/generator/post_processors.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/generator/validation.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/llm/__init__.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/llm/client.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/llm/json_utils.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/llm/litellm_compat.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/llm/rate_limit.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/llm/retry.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/manifest.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/openapi.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/__init__.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/api_detector.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/base.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/go_parser.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/js_ts_parser.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/php_parser.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/python_parser.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/registry.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/__init__.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/base.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/detector.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/django.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/express.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/falcon.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/fastify.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/go.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/js_shared.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/nestjs.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/python_shared.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/registry.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/vue_parser.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/plan_contract.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/__init__.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/bucket_injection.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/endpoint_refs.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/flow_candidates.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/nav_shaping.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/specializations.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/topology.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/utils.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/prompts/__init__.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/prompts/bucket_types.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/prompts/page_types.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/prompts/selectors.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/prompts/system.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/prompts/update.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/py.typed +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/__init__.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/artifacts.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/common.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/database.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/endpoints.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/utils.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/__init__.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/__init__.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/common.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/mdx_utils.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_builder.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/.gitignore +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/app/(main)/[[...slug]]/page.tsx +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/app/(main)/layout.tsx +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/app/ask/layout.tsx +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/app/ask/page.tsx +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/app/components/mermaid-runner.tsx +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/app/globals.css +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/app/layout.tsx +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/components/chatbot.tsx +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/deepdoc.config.json +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/lib/config.ts +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/lib/docs.ts +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/lib/nav.ts +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/next.config.mjs +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/package.json +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/postcss.config.mjs +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/tsconfig.json +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/vendor/highlight.min.js +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/vendor/hljs-theme.css +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/vendor/markdown-it.min.js +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/smart_update_v2.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/telemetry.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/updater_v2.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc.egg-info/dependency_links.txt +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc.egg-info/entry_points.txt +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc.egg-info/requires.txt +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc.egg-info/top_level.txt +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/setup.cfg +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_benchmark_scorecard.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_changelog.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_config.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_embeddings.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_eval.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_index.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_persistence.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_providers.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_query.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_relationship.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_scaffold.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_source_archive.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_classify.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_cli_generate.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_cli_serve.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_cli_update.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_consistency_pass.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_embedding_capabilities.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_flow_candidates.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_framework_fixtures.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_generation_evidence.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_internal_docs_metadata.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_litellm_compat.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_llm_json_utils.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_llm_retry.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_manifest_performance.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_next_builder.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_parallel_pipeline.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_parallel_scan.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_parser_ranges.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_plan_contract.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_planner_consolidation.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_planner_granularity.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_route_registry.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_runtime_scan.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_scan_telemetry.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_stale.py +0 -0
- {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_telemetry.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deepdoc
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.4
|
|
4
4
|
Summary: Auto-generate beautiful docs from any codebase
|
|
5
5
|
Author: Pranav Kumar
|
|
6
6
|
License: MIT
|
|
@@ -37,11 +37,18 @@ Requires-Dist: httpx>=0.27; extra == "chatbot"
|
|
|
37
37
|
Requires-Dist: fastembed>=0.3.0; extra == "chatbot"
|
|
38
38
|
Dynamic: license-file
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
<div align="center">
|
|
41
|
+
<img src="./web/public/favicon.svg" alt="DeepDoc Logo" width="120" height="120" />
|
|
42
|
+
<h1>DeepDoc</h1>
|
|
43
|
+
<p><b>Auto-generate deep engineering documentation from real codebases using AI.</b></p>
|
|
44
|
+
<p>DeepDoc scans your repo, builds a bucket-based documentation plan, generates rich Markdown pages with Mermaid diagrams, and builds a local-first Next.js + Fumadocs site with built-in search.</p>
|
|
41
45
|
|
|
42
|
-
[](https://pypi.org/project/deepdoc/)
|
|
43
|
-
[](https://pypi.org/project/deepdoc/)
|
|
44
|
-
[](./LICENSE)
|
|
46
|
+
[](https://pypi.org/project/deepdoc/)
|
|
47
|
+
[](https://pypi.org/project/deepdoc/)
|
|
48
|
+
[](./LICENSE)
|
|
49
|
+
</div>
|
|
50
|
+
|
|
51
|
+
<br/>
|
|
45
52
|
|
|
46
53
|
## Repository Layout
|
|
47
54
|
|
|
@@ -53,12 +60,6 @@ Dynamic: license-file
|
|
|
53
60
|
| [`tests/`](./tests/) | pytest test suite for the Python package. | Run `python3 -m pytest -q` from repo root. |
|
|
54
61
|
| [`scripts/`](./scripts/) | One-off release and maintenance scripts. | — |
|
|
55
62
|
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
Auto-generate deep engineering documentation from real codebases using AI.
|
|
59
|
-
|
|
60
|
-
DeepDoc scans your repo, builds a bucket-based documentation plan, generates rich Markdown pages with Mermaid diagrams, and builds a local-first Next.js + Fumadocs site with built-in search.
|
|
61
|
-
|
|
62
63
|
## Contents
|
|
63
64
|
|
|
64
65
|
- [Quick Start](#quick-start)
|
|
@@ -351,8 +352,8 @@ deepdoc generate --exclude "tests/**"
|
|
|
351
352
|
|
|
352
353
|
**What happens under the hood (5-phase pipeline):**
|
|
353
354
|
|
|
354
|
-
1. **Phase 1: Scan** — Walk the repo, parse supported languages, detect endpoints, config/setup artifacts, runtime surfaces, integration signals, and OpenAPI specs.
|
|
355
|
-
2. **Phase 2: Plan** — Run the multi-step bucket planner. It classifies the repo, proposes bucket candidates, and assigns files/symbols/artifacts to the final doc structure.
|
|
355
|
+
1. **Phase 1: Scan** — Walk the repo, parse supported languages, detect endpoints, config/setup artifacts, runtime surfaces, integration signals, and OpenAPI specs. Prints a scan summary table and, if any known-but-unsupported-language files (e.g. `.java`, `.rs`, `.cs`) are present, a warning naming them and how many were found.
|
|
356
|
+
2. **Phase 2: Plan** — Run the multi-step bucket planner. It classifies the repo, proposes bucket candidates, and assigns files/symbols/artifacts to the final doc structure. Prints a coverage panel — source files scanned vs. documented vs. orphaned/skipped, and a coverage % — so a partially-invisible repo is surfaced instead of silently shipped.
|
|
356
357
|
3. **Phase 3: Generate** — Generate bucket pages in batches with parallel workers. High-level buckets are AI-planned; scanned endpoints enrich grouped API-reference pages instead of creating one page per route. Each page passes through Python-side Markdown repair, grounding validation, and bounded quality retries before being written to disk.
|
|
357
358
|
4. **Phase 4: API Ref** — Stage OpenAPI specs and render them on a single interactive Swagger UI page when a spec exists.
|
|
358
359
|
5. **Phase 5: Build** — Write the Next.js + Fumadocs site scaffold (`site/`), nav config, and brand stylesheet from the generated plan.
|
|
@@ -740,8 +741,9 @@ site:
|
|
|
740
741
|
| `max_parallel_workers` | `6` | Generation executor size; actual hosted request concurrency is also bounded by `llm.rate_limits.max_concurrency` |
|
|
741
742
|
| `batch_size` | `10` | Submission-throttle cadence retained for compatibility; generation uses one rolling executor, not batch barriers |
|
|
742
743
|
| `scan.max_workers` | `8` | Bounded local workers for source reads, parsing, and per-file endpoint detection (`1` forces serial scanning) |
|
|
744
|
+
| `scan.max_source_bytes` | `1000000` | Source files above this size are skipped (not read/parsed/clustered) and counted in the coverage skip report |
|
|
743
745
|
| **File filters** | | |
|
|
744
|
-
| `languages` | `[python, javascript, typescript, go, php, vue]` |
|
|
746
|
+
| `languages` | `[python, javascript, typescript, go, php, vue]` | Descriptive only — fills a sentence in generation prompts. Does not gate or broaden scanning; the scanner's supported languages are fixed |
|
|
745
747
|
| `include` | `[]` | Glob patterns to include (empty = everything) |
|
|
746
748
|
| `exclude` | *(see config)* | Glob patterns to exclude (node_modules, .git, dist, etc.) |
|
|
747
749
|
| **GitHub Pages** | | |
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="./web/public/favicon.svg" alt="DeepDoc Logo" width="120" height="120" />
|
|
3
|
+
<h1>DeepDoc</h1>
|
|
4
|
+
<p><b>Auto-generate deep engineering documentation from real codebases using AI.</b></p>
|
|
5
|
+
<p>DeepDoc scans your repo, builds a bucket-based documentation plan, generates rich Markdown pages with Mermaid diagrams, and builds a local-first Next.js + Fumadocs site with built-in search.</p>
|
|
2
6
|
|
|
3
|
-
[](https://pypi.org/project/deepdoc/)
|
|
4
|
-
[](https://pypi.org/project/deepdoc/)
|
|
5
|
-
[](./LICENSE)
|
|
7
|
+
[](https://pypi.org/project/deepdoc/)
|
|
8
|
+
[](https://pypi.org/project/deepdoc/)
|
|
9
|
+
[](./LICENSE)
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
<br/>
|
|
6
13
|
|
|
7
14
|
## Repository Layout
|
|
8
15
|
|
|
@@ -14,12 +21,6 @@
|
|
|
14
21
|
| [`tests/`](./tests/) | pytest test suite for the Python package. | Run `python3 -m pytest -q` from repo root. |
|
|
15
22
|
| [`scripts/`](./scripts/) | One-off release and maintenance scripts. | — |
|
|
16
23
|
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
Auto-generate deep engineering documentation from real codebases using AI.
|
|
20
|
-
|
|
21
|
-
DeepDoc scans your repo, builds a bucket-based documentation plan, generates rich Markdown pages with Mermaid diagrams, and builds a local-first Next.js + Fumadocs site with built-in search.
|
|
22
|
-
|
|
23
24
|
## Contents
|
|
24
25
|
|
|
25
26
|
- [Quick Start](#quick-start)
|
|
@@ -312,8 +313,8 @@ deepdoc generate --exclude "tests/**"
|
|
|
312
313
|
|
|
313
314
|
**What happens under the hood (5-phase pipeline):**
|
|
314
315
|
|
|
315
|
-
1. **Phase 1: Scan** — Walk the repo, parse supported languages, detect endpoints, config/setup artifacts, runtime surfaces, integration signals, and OpenAPI specs.
|
|
316
|
-
2. **Phase 2: Plan** — Run the multi-step bucket planner. It classifies the repo, proposes bucket candidates, and assigns files/symbols/artifacts to the final doc structure.
|
|
316
|
+
1. **Phase 1: Scan** — Walk the repo, parse supported languages, detect endpoints, config/setup artifacts, runtime surfaces, integration signals, and OpenAPI specs. Prints a scan summary table and, if any known-but-unsupported-language files (e.g. `.java`, `.rs`, `.cs`) are present, a warning naming them and how many were found.
|
|
317
|
+
2. **Phase 2: Plan** — Run the multi-step bucket planner. It classifies the repo, proposes bucket candidates, and assigns files/symbols/artifacts to the final doc structure. Prints a coverage panel — source files scanned vs. documented vs. orphaned/skipped, and a coverage % — so a partially-invisible repo is surfaced instead of silently shipped.
|
|
317
318
|
3. **Phase 3: Generate** — Generate bucket pages in batches with parallel workers. High-level buckets are AI-planned; scanned endpoints enrich grouped API-reference pages instead of creating one page per route. Each page passes through Python-side Markdown repair, grounding validation, and bounded quality retries before being written to disk.
|
|
318
319
|
4. **Phase 4: API Ref** — Stage OpenAPI specs and render them on a single interactive Swagger UI page when a spec exists.
|
|
319
320
|
5. **Phase 5: Build** — Write the Next.js + Fumadocs site scaffold (`site/`), nav config, and brand stylesheet from the generated plan.
|
|
@@ -701,8 +702,9 @@ site:
|
|
|
701
702
|
| `max_parallel_workers` | `6` | Generation executor size; actual hosted request concurrency is also bounded by `llm.rate_limits.max_concurrency` |
|
|
702
703
|
| `batch_size` | `10` | Submission-throttle cadence retained for compatibility; generation uses one rolling executor, not batch barriers |
|
|
703
704
|
| `scan.max_workers` | `8` | Bounded local workers for source reads, parsing, and per-file endpoint detection (`1` forces serial scanning) |
|
|
705
|
+
| `scan.max_source_bytes` | `1000000` | Source files above this size are skipped (not read/parsed/clustered) and counted in the coverage skip report |
|
|
704
706
|
| **File filters** | | |
|
|
705
|
-
| `languages` | `[python, javascript, typescript, go, php, vue]` |
|
|
707
|
+
| `languages` | `[python, javascript, typescript, go, php, vue]` | Descriptive only — fills a sentence in generation prompts. Does not gate or broaden scanning; the scanner's supported languages are fixed |
|
|
706
708
|
| `include` | `[]` | Glob patterns to include (empty = everything) |
|
|
707
709
|
| `exclude` | *(see config)* | Glob patterns to exclude (node_modules, .git, dist, etc.) |
|
|
708
710
|
| **GitHub Pages** | | |
|