codewiki-plus 5.2.2__tar.gz → 5.4.0__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.
- {codewiki_plus-5.2.2/codewiki_plus.egg-info → codewiki_plus-5.4.0}/PKG-INFO +171 -21
- codewiki_plus-5.2.2/PKG-INFO → codewiki_plus-5.4.0/README.md +1099 -1016
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/__init__.py +1 -1
- codewiki_plus-5.4.0/codewiki/agents/distill-worker.md +30 -0
- codewiki_plus-5.4.0/codewiki/cli/commands/__init__.py +6 -0
- codewiki_plus-5.4.0/codewiki/cli/commands/install_hooks.py +107 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/main.py +2 -0
- codewiki_plus-5.4.0/codewiki/cli/utils/ide_config.py +254 -0
- codewiki_plus-5.4.0/codewiki/hooks/__init__.py +12 -0
- codewiki_plus-5.4.0/codewiki/hooks/task_session_start.py +340 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/_ide_hook.py +16 -1
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/cache.py +353 -22
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/prompts.py +375 -64
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/registry.py +2433 -1822
- codewiki_plus-5.4.0/codewiki/mcp/tools/adoption.py +196 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/agents_md.py +31 -4
- codewiki_plus-5.4.0/codewiki/mcp/tools/aggregation_state.py +222 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/analysis.py +9 -3
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/capture_conversation.py +217 -20
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/close_session.py +50 -2
- codewiki_plus-5.4.0/codewiki/mcp/tools/distill_conversation.py +1620 -0
- codewiki_plus-5.4.0/codewiki/mcp/tools/doc_description.py +135 -0
- codewiki_plus-5.4.0/codewiki/mcp/tools/doc_update_notify.py +139 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/doc_writer.py +104 -32
- codewiki_plus-5.4.0/codewiki/mcp/tools/doctrine.py +360 -0
- codewiki_plus-5.4.0/codewiki/mcp/tools/friction.py +176 -0
- codewiki_plus-5.4.0/codewiki/mcp/tools/index_freshness.py +260 -0
- codewiki_plus-5.4.0/codewiki/mcp/tools/injection_budget.py +134 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/knowledge_loop.py +993 -178
- codewiki_plus-5.4.0/codewiki/mcp/tools/note_consolidation.py +543 -0
- codewiki_plus-5.4.0/codewiki/mcp/tools/note_merge.py +172 -0
- codewiki_plus-5.4.0/codewiki/mcp/tools/note_types.py +194 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/prompt_server.py +1246 -1246
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/reading_guide.py +11 -1
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/schema_generator.py +32 -1
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/source_ingest.py +14 -18
- codewiki_plus-5.4.0/codewiki/mcp/tools/task_manager.py +798 -0
- codewiki_plus-5.4.0/codewiki/mcp/tools/telemetry.py +299 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/wiki_index.py +32 -2
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/wiki_lint.py +490 -87
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/wiki_search.py +158 -18
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/config.py +87 -4
- codewiki_plus-5.4.0/codewiki/src/frontmatter.py +181 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/templates/ontology.yaml +1 -3
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/templates/schema.yaml +216 -169
- codewiki_plus-5.2.2/README.md → codewiki_plus-5.4.0/codewiki_plus.egg-info/PKG-INFO +237 -20
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki_plus.egg-info/SOURCES.txt +38 -1
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/pyproject.toml +2 -2
- codewiki_plus-5.4.0/tests/test_adoption.py +276 -0
- codewiki_plus-5.4.0/tests/test_authority_p0.py +137 -0
- codewiki_plus-5.4.0/tests/test_consolidation_p2.py +318 -0
- codewiki_plus-5.4.0/tests/test_distill_cleanup.py +228 -0
- codewiki_plus-5.4.0/tests/test_distill_p1.py +356 -0
- codewiki_plus-5.4.0/tests/test_doctrine_p3.py +223 -0
- codewiki_plus-5.4.0/tests/test_freshness.py +332 -0
- codewiki_plus-5.4.0/tests/test_friction.py +469 -0
- codewiki_plus-5.4.0/tests/test_index_freshness.py +208 -0
- codewiki_plus-5.4.0/tests/test_install_hooks.py +265 -0
- codewiki_plus-5.4.0/tests/test_l0_archive.py +230 -0
- codewiki_plus-5.4.0/tests/test_low_adoption.py +228 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/tests/test_ontology_graph.py +13 -1
- codewiki_plus-5.4.0/tests/test_openviking_borrowings.py +314 -0
- codewiki_plus-5.4.0/tests/test_promotion.py +358 -0
- codewiki_plus-5.4.0/tests/test_query_transparency.py +233 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/tests/test_strip_system_injection.py +25 -0
- codewiki_plus-5.4.0/tests/test_task_manager.py +484 -0
- codewiki_plus-5.4.0/tests/test_task_session_start.py +130 -0
- codewiki_plus-5.4.0/tests/test_team_telemetry.py +195 -0
- codewiki_plus-5.4.0/tests/test_transcript_filters.py +106 -0
- codewiki_plus-5.4.0/tests/test_usage_ranking.py +452 -0
- codewiki_plus-5.2.2/codewiki/cli/commands/__init__.py +0 -4
- codewiki_plus-5.2.2/codewiki/hooks/__init__.py +0 -8
- codewiki_plus-5.2.2/codewiki/mcp/tools/distill_conversation.py +0 -900
- codewiki_plus-5.2.2/tests/test_distill_cleanup.py +0 -101
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/__main__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/__init__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/adapters/__init__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/adapters/doc_generator.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/commands/config.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/commands/generate.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/config_manager.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/git_manager.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/html_generator.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/models/__init__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/models/config.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/models/job.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/__init__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/api_errors.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/errors.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/fs.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/instructions.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/logging.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/progress.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/repo_validator.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/validation.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/hooks/capture_session_end.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/__init__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/cbm_client.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/resources.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/server.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/session.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/__init__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/batch_ingest.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/cbm_integration.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/code_reader.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/component_list.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/cross_service.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/crosslink.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/file_param.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/file_viewer.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/html_export.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/impact.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/init_wiki.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/issue_tracker.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/legacy_tools.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/module_tree.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/page_router.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/workspace_analyzer.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/workspace_result.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/workspace.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/py.typed +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/run_web_app.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/__init__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/__init__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/agent_tools/__init__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/agent_tools/deps.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/agent_tools/generate_sub_module_documentations.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/agent_tools/read_code_components.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/agent_tools/str_replace_editor.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/backend.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/caw_backend.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/caw_toolkit.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/cluster_modules.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/__init__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/__init__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/analysis_service.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/call_graph_analyzer.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/cloning.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/cross_service_matcher.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/infra_scanner.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/repo_analyzer.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/service_detector.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/topology_visualizer.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/__init__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/c.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/cpp.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/csharp.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/go.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/java.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/javascript.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/kotlin.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/php.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/python.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/route_extractors/__init__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/route_extractors/go_routes.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/route_extractors/java_routes.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/route_extractors/js_routes.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/route_extractors/mq_patterns.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/route_extractors/python_routes.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/typescript.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/ast_parser.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/dependency_graphs_builder.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/models/__init__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/models/analysis.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/models/core.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/models/cross_service.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/topo_sort.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/utils/__init__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/utils/external_symbols.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/utils/logging_config.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/utils/path_canonicalizer.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/utils/patterns.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/utils/security.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/documentation_generator.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/llm_services.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/main.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/prompt_template.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/pydantic_ai_backend.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/utils.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/__init__.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/background_worker.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/cache_manager.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/config.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/github_processor.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/models.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/routes.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/template_utils.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/templates.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/visualise_docs.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/web_app.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/utils.py +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/templates/github_pages/viewer_template.html +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki_plus.egg-info/dependency_links.txt +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki_plus.egg-info/entry_points.txt +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki_plus.egg-info/requires.txt +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki_plus.egg-info/top_level.txt +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/setup.cfg +0 -0
- {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/tests/test_ide_hook_capture.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codewiki-plus
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.4.0
|
|
4
4
|
Summary: Transform codebases into comprehensive documentation using AI-powered analysis
|
|
5
5
|
Author: CodeWiki Contributors
|
|
6
6
|
License: MIT
|
|
@@ -93,6 +93,15 @@ Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
|
93
93
|
|
|
94
94
|
## 中文
|
|
95
95
|
|
|
96
|
+
### 专栏文章
|
|
97
|
+
|
|
98
|
+
「迎风追日 / WanderingBug」公众号发布的本项目系列技术专栏,欢迎阅读:
|
|
99
|
+
|
|
100
|
+
- [专栏开篇词:从代码文档到 AI 知识引擎](https://mp.weixin.qq.com/s/WpjiDAs62_81mytBWUsDQw)(2026-07-26)
|
|
101
|
+
- [第 2 篇:双层 Prompt 架构同时服务人和模型](https://mp.weixin.qq.com/s/1lNjR_SsrU5Fw2NKnkxnMA)(2026-08-01)
|
|
102
|
+
- [第 3 篇:零依赖检索设计](https://mp.weixin.qq.com/s/T7r-ojyWC-YOpM_U5BNbEw)(2026-08-06)
|
|
103
|
+
- [第 4 篇:知识写入方式全景](https://mp.weixin.qq.com/s/V90mghqB5wttKd25eXA-Pw)(2026-08-09)
|
|
104
|
+
|
|
96
105
|
### 这个项目是什么?
|
|
97
106
|
|
|
98
107
|
CodeWiki-Plus 是 [FSoft-AI4Code/CodeWiki](https://github.com/FSoft-AI4Code/CodeWiki) 的增强分支,核心改动是**让 CodeWiki 无需配置任何大模型 API,直接由 AI IDE(CodeBuddy、Cursor、Claude Desktop 等)自身的模型驱动 Wiki 文档生成**,并在此基础上构建了完整的知识管理引擎。
|
|
@@ -103,7 +112,7 @@ CodeWiki-Plus 是 [FSoft-AI4Code/CodeWiki](https://github.com/FSoft-AI4Code/Code
|
|
|
103
112
|
|
|
104
113
|
实际上,CodeWiki 的核心工具链——AST 解析、依赖图、Mermaid 校验——完全不需要 LLM。真正需要 LLM 智能的 4 个环节(模块聚类、文档撰写、子模块递归、总览合成),恰好是 AI IDE 的 Agent 最擅长做的事情。
|
|
105
114
|
|
|
106
|
-
因此,我们将 CodeWiki 的 MCP Server 从"黑盒式一键生成"拆分为**
|
|
115
|
+
因此,我们将 CodeWiki 的 MCP Server 从"黑盒式一键生成"拆分为**40 个细粒度工具**,让它退化为纯工具链服务器。AI IDE 的 Agent 通过 MCP 协议调用这些工具,用自己的推理能力完成全部文档生成工作:
|
|
107
116
|
|
|
108
117
|
```
|
|
109
118
|
改造前:
|
|
@@ -119,15 +128,16 @@ CodeWiki-Plus 是 [FSoft-AI4Code/CodeWiki](https://github.com/FSoft-AI4Code/Code
|
|
|
119
128
|
| 能力维度 | 原版 CodeWiki | CodeWiki-Plus |
|
|
120
129
|
|----------|--------------|---------------|
|
|
121
130
|
| LLM 配置 | 必须自行配置 API Key | 零配置,IDE 自身模型驱动 |
|
|
122
|
-
| 生成模式 | 黑盒一键生成 |
|
|
131
|
+
| 生成模式 | 黑盒一键生成 | 40 个细粒度工具,Agent 全程可控 |
|
|
123
132
|
| 文档质量 | 通用描述 | Evidence-Based 断言(代码引用 + 置信度) |
|
|
124
133
|
| 生成效率 | 所有组件同等处理 | 代码路由分类,boilerplate 仅保留签名 |
|
|
125
134
|
| 上下文精度 | 模块内组件 | BFS 1-hop 调用图扩展 + 约束索引表 |
|
|
126
135
|
| 增量更新 | 文件级 Git diff | 方法级 content_hash 精确检测 |
|
|
127
136
|
| 知识管理 | 无 | 结构化 Wiki + 笔记飞轮 + 外部文档管理 |
|
|
137
|
+
| 任务记忆 | 无 | 跨会话任务上下文 + 任务记忆暂存确认 |
|
|
128
138
|
| 搜索能力 | 无 | BM25 + wikilink 图谱多跳 + 渐进式阅读 |
|
|
129
139
|
| 跨服务分析 | 无 | Monorepo 子服务检测 + 跨服务调用追踪 |
|
|
130
|
-
| 质量保障 | 无 |
|
|
140
|
+
| 质量保障 | 无 | 18 项 lint 检查 + health score + 问题追踪 |
|
|
131
141
|
|
|
132
142
|
### 前置条件
|
|
133
143
|
|
|
@@ -175,7 +185,7 @@ codewiki --version
|
|
|
175
185
|
}
|
|
176
186
|
```
|
|
177
187
|
|
|
178
|
-
配置完成后,CodeBuddy 的 MCP 工具列表中应出现 `codewiki` 相关的
|
|
188
|
+
配置完成后,CodeBuddy 的 MCP 工具列表中应出现 `codewiki` 相关的 40 个工具。
|
|
179
189
|
|
|
180
190
|
**第 3 步:在 Agent 模式中输入提示词**
|
|
181
191
|
|
|
@@ -230,6 +240,9 @@ repowiki/
|
|
|
230
240
|
│ ├── pitfall-xxx.md # 踩坑记录
|
|
231
241
|
│ ├── workaround-xxx.md # 临时方案
|
|
232
242
|
│ └── ...
|
|
243
|
+
├── tasks/ # 任务记忆(跨会话长线工作上下文)
|
|
244
|
+
│ ├── .index.json # 任务索引
|
|
245
|
+
│ └── <task_id>/ # task.md + memories.md + pending-memories.json
|
|
233
246
|
├── .meta/
|
|
234
247
|
│ ├── project.json # 项目映射(repo_path/output_dir/cache_db 路径)
|
|
235
248
|
│ ├── symbol_map.json # 符号→源文件映射(SQLite 主存储的 JSON 兼容副本)
|
|
@@ -244,7 +257,7 @@ repowiki/
|
|
|
244
257
|
|
|
245
258
|
### MCP 工具速查
|
|
246
259
|
|
|
247
|
-
所有工具均不需要 LLM 配置,由 IDE Agent 通过 MCP 协议调用。MCP Server 内置 **instructions**(能力概览与工作流指南)、**
|
|
260
|
+
所有工具均不需要 LLM 配置,由 IDE Agent 通过 MCP 协议调用。MCP Server 内置 **instructions**(能力概览与工作流指南)、**19 个工作流 Prompt**(覆盖初始化、生成、增量、搜索、质检、跨服务、团队记忆融合、任务记忆等全流程)和 **6 个 Resource**(wiki-catalog / module-tree / index-status 等)。
|
|
248
261
|
|
|
249
262
|
**代码分析(6 个):**
|
|
250
263
|
|
|
@@ -268,7 +281,7 @@ repowiki/
|
|
|
268
281
|
| `get_prompt` | 获取各阶段的提示词模板(含 16 种 prompt_type) |
|
|
269
282
|
| `close_session` | 关闭会话释放资源,构建 BM25 索引 + wikilink 图谱,写入生成元数据 |
|
|
270
283
|
|
|
271
|
-
**知识管理(
|
|
284
|
+
**知识管理(10 个):**
|
|
272
285
|
|
|
273
286
|
| 工具 | 用途 |
|
|
274
287
|
|------|------|
|
|
@@ -276,15 +289,18 @@ repowiki/
|
|
|
276
289
|
| `ingest_note` | 将开发笔记归档到 notes/,支持 8 种类型 + aliases + source_ref;默认写入为 candidate 状态 |
|
|
277
290
|
| `confirm_note` | 将 candidate 笔记升级为 confirmed(正式领域知识) |
|
|
278
291
|
| `reject_note` | 否决 candidate 笔记,后续 query_wiki 不再返回 |
|
|
292
|
+
| `batch_set_status` | 批量流转笔记状态(确认/否决多条笔记一次完成) |
|
|
279
293
|
| `ingest_source` | 导入第三方文档到 `raw/sources/`,注册到 `source_registry.json` |
|
|
280
294
|
| `retract_source` | 撤回已导入的外部文档(flag_stale / remove_refs 两种模式) |
|
|
281
295
|
| `batch_ingest` | 批量导入:一次调用处理多个笔记/文档 |
|
|
296
|
+
| `init_wiki` | 初始化 Wiki 工作区目录结构与项目级 schema.yaml |
|
|
297
|
+
| `wiki_stats` | Wiki 知识库统计(页面数、笔记状态分布、覆盖率概览) |
|
|
282
298
|
|
|
283
299
|
**质量保障(2 个):**
|
|
284
300
|
|
|
285
301
|
| 工具 | 用途 |
|
|
286
302
|
|------|------|
|
|
287
|
-
| `lint_wiki` | 文档-代码一致性检查:**
|
|
303
|
+
| `lint_wiki` | 文档-代码一致性检查:**18 项检查**(含 unsupported_claims 无证据断言检测、low_adoption 低采纳检测) |
|
|
288
304
|
| `flag_issue` | 标记 Wiki 质量问题,驱动 health score 计算 |
|
|
289
305
|
|
|
290
306
|
**跨服务分析(1 个):**
|
|
@@ -300,6 +316,23 @@ repowiki/
|
|
|
300
316
|
| `capture_conversation` | 采集对话转录到 repowiki/raw/,仅落盘不蒸馏,支持 session 覆盖去重 |
|
|
301
317
|
| `distill_conversation` | 蒸馏 raw 对话为 Wiki 笔记:Mode C prepare → Agent 提取 → submit 入库(status=draft),需 confirm_note 确认 |
|
|
302
318
|
|
|
319
|
+
**任务管理(12 个):**
|
|
320
|
+
|
|
321
|
+
| 工具 | 用途 |
|
|
322
|
+
|------|------|
|
|
323
|
+
| `create_task` | 创建长线任务(task_id 由标题 slugify 生成,不可变、不允许重名) |
|
|
324
|
+
| `list_tasks` | 列出任务,支持 status 过滤(active / completed) |
|
|
325
|
+
| `get_task` | 查看单个任务详情 |
|
|
326
|
+
| `get_task_context` | 拉取任务描述 + 记忆 + 关联笔记,作为继续工作的上下文;返回 pending_raw_count 提示补蒸馏 |
|
|
327
|
+
| `set_session_task` | 将当前会话绑定到任务,后续采集/蒸馏自动携带 task_id |
|
|
328
|
+
| `add_task_memory` | 手动向任务追加进度记忆 |
|
|
329
|
+
| `stage_task_memories` | 暂存候选任务记忆(待确认) |
|
|
330
|
+
| `list_pending_memories` | 列出待确认的任务记忆 |
|
|
331
|
+
| `confirm_task_memories` | 确认暂存记忆,落盘到任务 memories.md |
|
|
332
|
+
| `reject_task_memories` | 否决暂存记忆 |
|
|
333
|
+
| `complete_task` | 完成任务 |
|
|
334
|
+
| `delete_task` | 删除任务(级联删除任务目录与绑定,但不删已打 task_id 标签的笔记) |
|
|
335
|
+
|
|
303
336
|
> 另有 2 个遗留工具(`generate_docs`、`get_module_tree`)保留向后兼容,需先通过 `codewiki config set` 配置 LLM API。
|
|
304
337
|
|
|
305
338
|
### 文档生成质量增强
|
|
@@ -417,6 +450,49 @@ LLM 发现跨功能约束
|
|
|
417
450
|
- 自动采集 Hook 只落 raw,永不自动蒸馏;蒸馏须显式调用 `distill_conversation`。
|
|
418
451
|
- `repowiki/raw/` 是暂存区,不进 `query_wiki` 检索;蒸馏完成后由工具自动清理(除非 `keep_raw`)。
|
|
419
452
|
- 触发形态为 **both**:手动命令(主)+ IDE Hook(可选)。
|
|
453
|
+
- 自动采集/任务引导 Hook 接线支持 **CodeBuddy(`.codebuddy/`)、Qoder(`.qoder/`)、Claude Code(`.claude/`)**,启用时运行 `codewiki install-hooks --repo-path <repo>` 自动检测项目根目录存在哪些 IDE 配置目录,检测到哪些就为哪些接线(拷贝 hook 脚本与 distill-worker subagent、幂等合并 settings.json、写入 AGENTS.md 引导段);采集脚本对事件载荷做了通用化处理。
|
|
454
|
+
|
|
455
|
+
**隐私语义(T2 团队遥测):** `query_wiki` 的检索命中与 `capture_conversation` 的采纳记录会以 `user_id`(优先 `CODEWIKI_USER` 环境变量,回退 `git config user.name` / 系统登录名)署名写入 `repowiki/.meta/telemetry/<user_id>.jsonl` 并随仓库共享——此前这是 gitignore 的本机私有数据。`user_id` 不做鉴权(信任模型与 confirm 闸门一致:能提交即团队可信成员),仅作命名空间;不愿以 git 真名署名的成员可用 `CODEWIKI_USER` 设置花名,或在 `schema.yaml` 中设 `conventions.telemetry.enabled: false` 退回纯本机模式(写入 `repowiki/.meta/telemetry-local/`,已 gitignore,聚合逻辑不变)。
|
|
456
|
+
|
|
457
|
+
### 任务记忆(Task Memory)
|
|
458
|
+
|
|
459
|
+
任务记忆解决"长线工作跨会话断片"的问题:一个任务往往持续数天、横跨多个会话,Agent 每次重启都要从零了解"上次做到哪了"。任务记忆与 Wiki 笔记互补——**Wiki 笔记沉淀跨任务的通用经验,任务记忆保存任务范围内的进度知识**(本次做了什么、下一步、待办)。
|
|
460
|
+
|
|
461
|
+
**工作流:**
|
|
462
|
+
|
|
463
|
+
```
|
|
464
|
+
会话开始:
|
|
465
|
+
list_tasks(status="active") → 选择关联已有任务或新建
|
|
466
|
+
→ set_session_task 绑定会话(后续采集自动携带 task_id)
|
|
467
|
+
→ get_task_context 拉取任务描述 + 记忆 + 关联笔记
|
|
468
|
+
→ 若 pending_raw_count > 0:委托「蒸馏 worker」subagent 后台补蒸馏,不阻塞开始工作
|
|
469
|
+
|
|
470
|
+
会话过程中:
|
|
471
|
+
distill_conversation 双轨产出:
|
|
472
|
+
notes → 通用知识笔记(走 confirm_note 评审)
|
|
473
|
+
memories → 任务进度记忆(先暂存 pending)
|
|
474
|
+
→ confirm_task_memories 确认后落盘 memories.md
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
**存储结构:**
|
|
478
|
+
|
|
479
|
+
```
|
|
480
|
+
repowiki/
|
|
481
|
+
├── tasks/
|
|
482
|
+
│ ├── .index.json # 任务索引
|
|
483
|
+
│ └── <task_id>/
|
|
484
|
+
│ ├── task.md # 任务描述
|
|
485
|
+
│ ├── memories.md # 已确认的任务记忆(追加式原子写)
|
|
486
|
+
│ └── pending-memories.json # 待确认记忆暂存
|
|
487
|
+
└── .meta/
|
|
488
|
+
└── task_bindings/ # 会话 ↔ 任务绑定
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
**关键约束:**
|
|
492
|
+
|
|
493
|
+
- task_id 由标题 slugify 生成且不可变;同名任务被拒绝;无重命名(删除后重建)。
|
|
494
|
+
- 任务记忆先暂存、经 `confirm_task_memories` 确认后才落盘,与笔记评审闸门对齐。
|
|
495
|
+
- 可选的 IDE SessionStart Hook(默认关闭)在会话开始时自动提示关联任务。
|
|
420
496
|
|
|
421
497
|
### 渐进式阅读协议
|
|
422
498
|
|
|
@@ -510,7 +586,7 @@ CodeWiki-Plus 采用 **SQLite 主存储 + JSON 兼容副本** 的双层架构:
|
|
|
510
586
|
|
|
511
587
|
#### 文档健康检查
|
|
512
588
|
|
|
513
|
-
`lint_wiki` 提供 **
|
|
589
|
+
`lint_wiki` 提供 **18 项检查**,覆盖结构完整性和内容质量:
|
|
514
590
|
|
|
515
591
|
| 检查项 | 说明 |
|
|
516
592
|
|--------|------|
|
|
@@ -529,7 +605,10 @@ CodeWiki-Plus 采用 **SQLite 主存储 + JSON 兼容副本** 的双层架构:
|
|
|
529
605
|
| `isolated_components` | 零依赖零被依赖的孤立组件 |
|
|
530
606
|
| `stale_notes` | 超过 90 天且 60 天内未被检索的已确认笔记 |
|
|
531
607
|
| `note_clusters` | 同模块同类型笔记 ≥3 条,建议合并 |
|
|
608
|
+
| `low_adoption` | 高频召回(≥5 次)但零采纳的 stable 笔记——内容相关但不够 actionable,建议按「步骤/命令/预期结果」重写 |
|
|
532
609
|
| `okf_conformance` | OKF v0.2 合规审计:缺失 type/frontmatter、旧版状态词、verified 格式错误、stale_after 过期、缺 okf_version |
|
|
610
|
+
| `scenario_capacity` | L2 场景块数量达到/超过容量上限(error/warning 分级),需先 MERGE 腾位再新增 |
|
|
611
|
+
| `scenario_orphan` | 无来源标注(metadata.source_notes)且长期未被检索的孤儿场景块,可能冗余或过时 |
|
|
533
612
|
|
|
534
613
|
`lint_wiki` 返回 **health_score**(0-100),计算方式为 `100 - Σ(error×10 + warning×3 + info×1)`。
|
|
535
614
|
|
|
@@ -579,7 +658,7 @@ CodeWiki-Plus 采用 **SQLite 主存储 + JSON 兼容副本** 的双层架构:
|
|
|
579
658
|
|
|
580
659
|
#### 工作流 Prompt
|
|
581
660
|
|
|
582
|
-
MCP Server 内置 **
|
|
661
|
+
MCP Server 内置 **19 个工作流 Prompt**,在 AI IDE 中通过 Prompt 面板直接触发,Agent 自动编排多工具调用:
|
|
583
662
|
|
|
584
663
|
| Prompt 名称 | 面向场景 | 核心步骤 |
|
|
585
664
|
|-------------|----------|----------|
|
|
@@ -593,10 +672,11 @@ MCP Server 内置 **14 个工作流 Prompt**,在 AI IDE 中通过 Prompt 面
|
|
|
593
672
|
| `architecture-review` | 架构审查与热点分析 | 依赖图分析 → 核心层/服务层/应用层识别 → Top 5 热点 → 耦合风险 → 入口点 |
|
|
594
673
|
| `extract-knowledge` | 外部文档知识提取 | ingest_source 导入 → extraction_scan 候选提取 → 实体/概念页面生成 → wikilink 图谱 |
|
|
595
674
|
| `search-wiki` | 知识库搜索策略指引 | query_wiki(BM25)→ 图谱多跳扩展 → 渐进式阅读(overview → directory → detail) |
|
|
596
|
-
| `quality-check` | Wiki 质量全面检查 | lint_wiki(
|
|
675
|
+
| `quality-check` | Wiki 质量全面检查 | lint_wiki(18 项检查)→ health_score → flag_issue 标记 → 修复建议 |
|
|
597
676
|
| `ingest-note` | 经验知识归档 | ingest_note(8 种类型)→ candidate 状态 → confirm/reject 流转 → BM25 索引 |
|
|
598
677
|
| `team-memory-hook` | 对话自动采集管理 | 检查状态 → 启用(注册 SessionEnd 事件)/ 关闭 → 验证 |
|
|
599
678
|
| `distill-conversations` | 对话蒸馏提取经验 | prepare 取 transcript → Agent 提取知识 → submit 去重入库 → confirm/reject 评审 |
|
|
679
|
+
| `task-workflow` | 任务记忆完整工作流 | 会话开始关联任务 → 补蒸馏 → get_task_context → 工作中沉淀 memories → confirm 落盘 |
|
|
600
680
|
|
|
601
681
|
### 使用场景示例
|
|
602
682
|
|
|
@@ -650,7 +730,7 @@ Agent 调用 `confirm_note(note_file="pitfall-redis-connection-pool.md")`,升
|
|
|
650
730
|
检查一下 Wiki 文档的健康状况。
|
|
651
731
|
```
|
|
652
732
|
|
|
653
|
-
Agent 调用 `lint_wiki`,返回
|
|
733
|
+
Agent 调用 `lint_wiki`,返回 18 项诊断报告和 health_score。
|
|
654
734
|
|
|
655
735
|
**场景 8:跨服务调用分析**
|
|
656
736
|
|
|
@@ -660,6 +740,14 @@ Agent 调用 `lint_wiki`,返回 16 项诊断报告和 health_score。
|
|
|
660
740
|
|
|
661
741
|
Agent 调用 `analyze_repo`(自动检测子服务)→ `query_cross_service(filter_type="all")`。
|
|
662
742
|
|
|
743
|
+
**场景 9:跨会话延续长线任务**
|
|
744
|
+
|
|
745
|
+
```
|
|
746
|
+
继续上次的"支付重构"任务。
|
|
747
|
+
```
|
|
748
|
+
|
|
749
|
+
Agent 调用 `list_tasks` 找到任务 → `set_session_task` 绑定会话 → `get_task_context` 恢复上下文(做了什么、下一步),若有未蒸馏对话委托「蒸馏 worker」subagent 后台补蒸馏(不阻塞),然后无缝继续工作。
|
|
750
|
+
|
|
663
751
|
### 支持的其他 AI IDE
|
|
664
752
|
|
|
665
753
|
除 CodeBuddy 外,任何支持 MCP stdio 协议的 AI IDE 均可使用:
|
|
@@ -700,7 +788,7 @@ Python、Java、JavaScript、TypeScript、C、C++、C#、Kotlin、Go、PHP
|
|
|
700
788
|
- [Tencent/WeKnora](https://github.com/Tencent/WeKnora) — 外部文档管理、文档健康检查、自适应分块思路
|
|
701
789
|
- [CodingHub](https://github.com/mambo-wang/CodingHub) — MCP Server 最佳实践(instructions / prompts / resources)
|
|
702
790
|
|
|
703
|
-
我们在上游基础上将 MCP Server 从黑盒模式拆分为 **
|
|
791
|
+
我们在上游基础上将 MCP Server 从黑盒模式拆分为 **40 个细粒度工具**,并新增结构化 Wiki、Evidence-Based 断言、代码路由分类、知识飞轮、渐进式阅读、方法级增量检测、monorepo 跨服务分析、团队记忆融合、任务记忆等能力。
|
|
704
792
|
|
|
705
793
|
上游论文:[CodeWiki: Evaluating AI's Ability to Generate Holistic Documentation for Large-Scale Codebases](https://arxiv.org/abs/2510.24428)
|
|
706
794
|
|
|
@@ -732,7 +820,7 @@ The original CodeWiki is an excellent repository-level documentation framework.
|
|
|
732
820
|
|
|
733
821
|
In practice, CodeWiki's core toolchain—Tree-sitter AST parsing, dependency graph construction, topological sorting, and Mermaid validation—does not need an LLM at all. The 4 stages that do require LLM intelligence (module clustering, document writing, sub-module recursion, and overview synthesis) are exactly what AI IDE Agents excel at.
|
|
734
822
|
|
|
735
|
-
We refactored CodeWiki's MCP Server from a "one-click black box" into **
|
|
823
|
+
We refactored CodeWiki's MCP Server from a "one-click black box" into **40 fine-grained tools**, turning it into a pure toolchain server. The AI IDE's Agent calls these tools via MCP and uses its own reasoning to complete all documentation work:
|
|
736
824
|
|
|
737
825
|
```
|
|
738
826
|
Before:
|
|
@@ -748,15 +836,16 @@ After:
|
|
|
748
836
|
| Dimension | Upstream CodeWiki | CodeWiki-Plus |
|
|
749
837
|
|-----------|------------------|---------------|
|
|
750
838
|
| LLM config | Must configure API key | Zero-config, IDE model driven |
|
|
751
|
-
| Generation mode | Black-box one-click |
|
|
839
|
+
| Generation mode | Black-box one-click | 40 fine-grained tools, full Agent control |
|
|
752
840
|
| Doc quality | Generic descriptions | Evidence-Based assertions (code quotes + confidence) |
|
|
753
841
|
| Generation efficiency | All components equal | Code routing: boilerplate gets signature-only |
|
|
754
842
|
| Context precision | Intra-module components | BFS 1-hop call graph + constraint index table |
|
|
755
843
|
| Incremental update | File-level Git diff | Method-level content_hash detection |
|
|
756
844
|
| Knowledge management | None | Structured Wiki + note flywheel + external docs |
|
|
845
|
+
| Task memory | None | Cross-session task context + pending-confirm task memories |
|
|
757
846
|
| Search | None | BM25 + wikilink graph multi-hop + progressive reading |
|
|
758
847
|
| Cross-service | None | Monorepo sub-service detection + call tracing |
|
|
759
|
-
| Quality assurance | None |
|
|
848
|
+
| Quality assurance | None | 17 lint checks + health score + issue tracking |
|
|
760
849
|
|
|
761
850
|
### Prerequisites
|
|
762
851
|
|
|
@@ -827,7 +916,7 @@ Stage 5: Call close_session to free resources, build search index
|
|
|
827
916
|
|
|
828
917
|
### MCP Tools
|
|
829
918
|
|
|
830
|
-
All tools require zero LLM config. The IDE Agent invokes them via MCP. The server includes built-in **instructions**, **
|
|
919
|
+
All tools require zero LLM config. The IDE Agent invokes them via MCP. The server includes built-in **instructions**, **19 Workflow Prompts** (covering init, generation, incremental update, search, quality check, cross-service analysis, team memory fusion, task memory), and **6 Resources**.
|
|
831
920
|
|
|
832
921
|
**Code Analysis (6):**
|
|
833
922
|
|
|
@@ -851,7 +940,7 @@ All tools require zero LLM config. The IDE Agent invokes them via MCP. The serve
|
|
|
851
940
|
| `get_prompt` | Retrieve prompt templates (23 prompt_types) |
|
|
852
941
|
| `close_session` | Close session, build BM25 index + wikilink graph, write metadata |
|
|
853
942
|
|
|
854
|
-
**Knowledge Management (
|
|
943
|
+
**Knowledge Management (10):**
|
|
855
944
|
|
|
856
945
|
| Tool | Purpose |
|
|
857
946
|
|------|---------|
|
|
@@ -859,15 +948,18 @@ All tools require zero LLM config. The IDE Agent invokes them via MCP. The serve
|
|
|
859
948
|
| `ingest_note` | File structured notes (8 types) with aliases + source_ref; default candidate status |
|
|
860
949
|
| `confirm_note` | Promote candidate note to confirmed knowledge |
|
|
861
950
|
| `reject_note` | Reject candidate note, exclude from future searches |
|
|
951
|
+
| `batch_set_status` | Batch transition note statuses (confirm/reject multiple at once) |
|
|
862
952
|
| `ingest_source` | Import third-party docs into `raw/sources/` |
|
|
863
953
|
| `retract_source` | Retract imported docs (flag_stale / remove_refs) |
|
|
864
954
|
| `batch_ingest` | Batch import multiple notes/sources in one call |
|
|
955
|
+
| `init_wiki` | Initialize Wiki workspace directories and project-level schema.yaml |
|
|
956
|
+
| `wiki_stats` | Wiki statistics (page counts, note status distribution, coverage overview) |
|
|
865
957
|
|
|
866
958
|
**Quality Assurance (2):**
|
|
867
959
|
|
|
868
960
|
| Tool | Purpose |
|
|
869
961
|
|------|---------|
|
|
870
|
-
| `lint_wiki` | Doc-code consistency: **
|
|
962
|
+
| `lint_wiki` | Doc-code consistency: **18 checks** (incl. unsupported_claims evidence detection, low_adoption utility check, and L2 scenario hygiene) |
|
|
871
963
|
| `flag_issue` | Flag quality issues, drives health score |
|
|
872
964
|
|
|
873
965
|
**Cross-Service Analysis (1):**
|
|
@@ -883,6 +975,23 @@ All tools require zero LLM config. The IDE Agent invokes them via MCP. The serve
|
|
|
883
975
|
| `capture_conversation` | Capture conversation transcripts to repowiki/raw/ (persistence only, no distillation); session-level supersede dedup |
|
|
884
976
|
| `distill_conversation` | Distill raw conversations into Wiki notes: Mode C prepare → Agent extracts → submit (status=draft); requires confirm_note |
|
|
885
977
|
|
|
978
|
+
**Task Management (12):**
|
|
979
|
+
|
|
980
|
+
| Tool | Purpose |
|
|
981
|
+
|------|---------|
|
|
982
|
+
| `create_task` | Create a long-running task (task_id slugified from title, immutable, no duplicates) |
|
|
983
|
+
| `list_tasks` | List tasks with status filtering (active / completed) |
|
|
984
|
+
| `get_task` | Inspect a single task |
|
|
985
|
+
| `get_task_context` | Fetch task description + memories + related notes as working context; reports pending_raw_count for catch-up distillation |
|
|
986
|
+
| `set_session_task` | Bind the current session to a task; subsequent captures/distillations carry task_id automatically |
|
|
987
|
+
| `add_task_memory` | Manually append a progress memory to a task |
|
|
988
|
+
| `stage_task_memories` | Stage candidate task memories (pending confirmation) |
|
|
989
|
+
| `list_pending_memories` | List pending task memories |
|
|
990
|
+
| `confirm_task_memories` | Confirm staged memories, persist to the task's memories.md |
|
|
991
|
+
| `reject_task_memories` | Reject staged memories |
|
|
992
|
+
| `complete_task` | Mark a task complete |
|
|
993
|
+
| `delete_task` | Delete a task (cascades task dir and bindings, but keeps tagged notes) |
|
|
994
|
+
|
|
886
995
|
> 2 legacy tools (`generate_docs`, `get_module_tree`) retained for backward compatibility.
|
|
887
996
|
|
|
888
997
|
### Documentation Quality Enhancements
|
|
@@ -955,6 +1064,46 @@ Inspired by Team-Agent-Memory's "extract retrievable experience from conversatio
|
|
|
955
1064
|
- The automatic capture hook only writes raw; it never distills. Distillation must be invoked explicitly via `distill_conversation`.
|
|
956
1065
|
- `repowiki/raw/` is a staging area excluded from `query_wiki`; it is cleaned up after distillation automatically (unless `keep_raw`).
|
|
957
1066
|
- Trigger form is **both**: manual command (primary) + IDE hook (optional).
|
|
1067
|
+
- The capture / task-guidance hooks are wired for **CodeBuddy (`.codebuddy/`), Qoder (`.qoder/`) and Claude Code (`.claude/`)**. To enable, run `codewiki install-hooks --repo-path <repo>`: it auto-detects which IDE config dirs exist in the project root and wires each one found (copies the hook scripts and the distill-worker subagent, idempotently merges `settings.json` hook registrations, and upserts the AGENTS.md task-guidance section). The capture script parses generic event payloads.
|
|
1068
|
+
|
|
1069
|
+
**Privacy semantics (T2 team telemetry):** `query_wiki` retrieval hits and `capture_conversation` adoption records are written to `repowiki/.meta/telemetry/<user_id>.jsonl` (committed to the repo) under a `user_id` resolved from the `CODEWIKI_USER` env var, falling back to `git config user.name` / the OS login name — this data used to be a gitignored local file. The `user_id` is not an auth mechanism (trust model equals the confirm gate: anyone who can commit is a trusted teammate), it is a namespace only. Members who prefer not to sign telemetry with their git name can set a pseudonym via `CODEWIKI_USER`, or set `conventions.telemetry.enabled: false` in `schema.yaml` to fall back to local-only mode (written to `repowiki/.meta/telemetry-local/`, gitignored; aggregation is unchanged).
|
|
1070
|
+
|
|
1071
|
+
### Task Memory
|
|
1072
|
+
|
|
1073
|
+
Task Memory solves the "cross-session amnesia" problem for long-running work: a task often spans days and multiple sessions, and the Agent normally restarts from zero. Task Memory complements Wiki notes — **Wiki notes capture cross-task general knowledge, while task memories hold task-scoped progress** (what was done, what's next, todos).
|
|
1074
|
+
|
|
1075
|
+
**Workflow:**
|
|
1076
|
+
|
|
1077
|
+
```
|
|
1078
|
+
Session start:
|
|
1079
|
+
list_tasks(status="active") → pick an existing task or create one
|
|
1080
|
+
→ set_session_task binds the session (captures carry task_id automatically)
|
|
1081
|
+
→ get_task_context restores description + memories + related notes
|
|
1082
|
+
→ if pending_raw_count > 0: catch-up distillation before working
|
|
1083
|
+
|
|
1084
|
+
During the session:
|
|
1085
|
+
distill_conversation produces two tracks:
|
|
1086
|
+
notes → general knowledge notes (confirm_note review)
|
|
1087
|
+
memories → task progress memories (staged as pending first)
|
|
1088
|
+
→ confirm_task_memories persists them to memories.md
|
|
1089
|
+
```
|
|
1090
|
+
|
|
1091
|
+
**Storage layout:**
|
|
1092
|
+
|
|
1093
|
+
```
|
|
1094
|
+
repowiki/
|
|
1095
|
+
├── tasks/
|
|
1096
|
+
│ ├── .index.json # task index
|
|
1097
|
+
│ └── <task_id>/ # task.md + memories.md + pending-memories.json
|
|
1098
|
+
└── .meta/
|
|
1099
|
+
└── task_bindings/ # session ↔ task bindings
|
|
1100
|
+
```
|
|
1101
|
+
|
|
1102
|
+
**Key constraints:**
|
|
1103
|
+
|
|
1104
|
+
- task_id is slugified from the title and immutable; duplicate titles are rejected; no rename (delete and recreate).
|
|
1105
|
+
- Task memories are staged first and only persisted after `confirm_task_memories`, aligned with the note review gate.
|
|
1106
|
+
- An optional IDE SessionStart hook (off by default) can prompt task association at session start.
|
|
958
1107
|
|
|
959
1108
|
### Progressive Reading Protocol
|
|
960
1109
|
|
|
@@ -969,7 +1118,7 @@ Inspired by Team-Agent-Memory's "extract retrievable experience from conversatio
|
|
|
969
1118
|
|
|
970
1119
|
### Workflow Prompts
|
|
971
1120
|
|
|
972
|
-
The MCP server includes **
|
|
1121
|
+
The MCP server includes **19 built-in workflow prompts** that can be triggered from the AI IDE's prompt panel. The Agent automatically orchestrates multi-tool calls:
|
|
973
1122
|
|
|
974
1123
|
| Prompt | Scenario | Core Steps |
|
|
975
1124
|
|--------|----------|------------|
|
|
@@ -983,10 +1132,11 @@ The MCP server includes **14 built-in workflow prompts** that can be triggered f
|
|
|
983
1132
|
| `architecture-review` | Architecture review & hotspot analysis | Dependency graph → layer identification → Top 5 hotspots → coupling risks → entry points |
|
|
984
1133
|
| `extract-knowledge` | External document knowledge extraction | ingest_source → extraction_scan → entity/concept pages → wikilink graph |
|
|
985
1134
|
| `search-wiki` | Knowledge base search strategy | query_wiki (BM25) → graph multi-hop expansion → progressive reading |
|
|
986
|
-
| `quality-check` | Comprehensive Wiki quality check | lint_wiki (
|
|
1135
|
+
| `quality-check` | Comprehensive Wiki quality check | lint_wiki (18 checks) → health_score → flag_issue → fix suggestions |
|
|
987
1136
|
| `ingest-note` | Experience knowledge archiving | ingest_note (8 types) → candidate status → confirm/reject → BM25 index |
|
|
988
1137
|
| `team-memory-hook` | Conversation capture hook management | Check status → enable (register SessionEnd event) / disable → verify |
|
|
989
1138
|
| `distill-conversations` | Conversation distillation | prepare fetch transcripts → Agent extracts → submit ingest → confirm/reject review |
|
|
1139
|
+
| `task-workflow` | Full task memory workflow | Associate task at session start → catch-up distillation → get_task_context → accumulate memories → confirm |
|
|
990
1140
|
|
|
991
1141
|
### Supported Languages
|
|
992
1142
|
|