cortexcode 0.8.1__tar.gz → 0.9.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.
- {cortexcode-0.8.1 → cortexcode-0.9.1}/PKG-INFO +38 -44
- {cortexcode-0.8.1 → cortexcode-0.9.1}/README.md +35 -42
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/ai_docs/doc_generator.py +5 -5
- cortexcode-0.9.1/cortexcode/cli/cli_index.py +609 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_servers.py +100 -37
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/context/context_query.py +35 -7
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexer.py +45 -1
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/main.py +5 -1
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/mcp/mcp_registry.py +1 -1
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode.egg-info/PKG-INFO +38 -44
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode.egg-info/requires.txt +1 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/pyproject.toml +3 -3
- cortexcode-0.8.1/cortexcode/cli/cli_index.py +0 -110
- {cortexcode-0.8.1 → cortexcode-0.9.1}/LICENSE +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/advanced_analysis/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/advanced_analysis/advanced_analysis.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/advanced_analysis/advanced_analysis_cycles.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/advanced_analysis/advanced_analysis_docs.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/advanced_analysis/advanced_analysis_duplicates.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/advanced_analysis/advanced_analysis_endpoints.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/advanced_analysis/advanced_analysis_search.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/advanced_analysis/advanced_analysis_security.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/advanced_analysis.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/ai_docs/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/ai_docs/config.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/ai_docs/doc_cache.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/ai_docs/doc_lookup.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/ai_docs/doc_models.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/ai_docs/explainer.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/ai_docs/llm_client.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/ai_docs/page_generator.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/ai_docs/prompts.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/ai_docs/report_runner.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/analysis/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/analysis/analysis_complexity.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/analysis/analysis_dead_code.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/analysis/analysis_impact.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/analysis.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_ai_docs.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_bundle.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_complexity.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_config.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_context.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_dashboard.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_dead_code.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_diagrams.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_diff.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_docs.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_explain.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_find.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_githook.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_impact.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_jobs.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_package.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_report.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_scan.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_search.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_shell.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_stats.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_support.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_trace.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_watch.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_wiki.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/cli/cli_workspace.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/config.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/context/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/context/context_format.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/context/context_tokens.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/context.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/dashboard.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/diagrams/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/diagrams/architecture.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/diagrams/call_graph.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/diagrams/class_diagram.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/diagrams/dependencies.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/diagrams/directory_tree.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/diagrams/entities.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/diagrams/file_tree.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/diagrams/imports.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/diagrams/save.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/diagrams/sequence.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/diagrams/state.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/diagrams/utils.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/docs/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/docs/diagrams.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/docs/generator.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/docs/html_generators.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/docs/javascript.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/docs/javascript_sections.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/docs/templates.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/docs.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/git_diff.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/build.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/calls.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/config.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/defaults.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/dispatch.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/entities.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/extensions.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/extractor_mixin.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/extractors/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/extractors/csharp.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/extractors/dart.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/extractors/generic.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/extractors/java.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/extractors/javascript.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/extractors/kotlin.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/extractors/swift.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/filtering.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/frameworks.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/gitignore.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/imports_exports.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/incremental.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/languages.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/metadata.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/nodes.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/output.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/params.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/parsers.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/pipeline.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/profile.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/resolution.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/routes.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/session.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/storage.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/indexing/walk.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/knowledge/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/knowledge/build.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/knowledge/citations.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/knowledge/concepts.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/knowledge/models.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/knowledge/snippets.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/knowledge/usage.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/lsp_server.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/mcp/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/mcp/mcp_protocol.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/mcp/mcp_server.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/mcp/mcp_tool_handlers.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/mcp/mcp_transport.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/performance/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/performance/performance_config.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/performance/performance_index_storage.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/performance/performance_preview.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/performance.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/plugins.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/reports/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/reports/html/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/reports/html/dashboard.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/reports/html/dashboard_fragments.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/reports/html/view_model.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/reports/markdown/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/reports/markdown/api.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/reports/markdown/flows.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/reports/markdown/insights.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/reports/markdown/readme.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/reports/markdown/structure.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/reports/markdown/tech.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/reports/site/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/reports/site/generator.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/reports/site/viz.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/semantic_search.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/terminal/__init__.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/terminal/analysis.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/terminal/completion.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/terminal/headers.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/terminal/prompts.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/terminal/reports.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/terminal/stats.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/vuln_scan.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/watcher.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode/workspace.py +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode.egg-info/SOURCES.txt +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode.egg-info/dependency_links.txt +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode.egg-info/entry_points.txt +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/cortexcode.egg-info/top_level.txt +0 -0
- {cortexcode-0.8.1 → cortexcode-0.9.1}/setup.cfg +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cortexcode
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: Lightweight code indexing for AI assistants —
|
|
3
|
+
Version: 0.9.1
|
|
4
|
+
Summary: Lightweight code indexing for AI assistants — build a searchable codegraph and grounded context
|
|
5
5
|
Author-email: Naveen <naveen_joshi07@outlook.com>
|
|
6
6
|
License: MIT
|
|
7
7
|
Project-URL: Homepage, https://github.com/naveen-joshi/cortexcode
|
|
@@ -32,6 +32,7 @@ Requires-Dist: tree-sitter-rust>=0.23.0
|
|
|
32
32
|
Requires-Dist: tree-sitter-java>=0.23.0
|
|
33
33
|
Requires-Dist: tree-sitter-c-sharp>=0.23.0
|
|
34
34
|
Requires-Dist: click>=8.1.0
|
|
35
|
+
Requires-Dist: questionary>=2.0.1
|
|
35
36
|
Requires-Dist: watchdog>=4.0.0
|
|
36
37
|
Requires-Dist: rich>=13.0.0
|
|
37
38
|
Requires-Dist: pyyaml>=6.0.0
|
|
@@ -54,44 +55,36 @@ Dynamic: license-file
|
|
|
54
55
|
<h1 align="center">CortexCode</h1>
|
|
55
56
|
<p align="center">
|
|
56
57
|
<strong>Lightweight code indexing for AI assistants</strong><br>
|
|
57
|
-
|
|
58
|
+
Build a searchable codegraph, generate documentation, and give AI assistants grounded context.
|
|
58
59
|
</p>
|
|
59
60
|
</p>
|
|
60
61
|
|
|
61
|
-
<p align="center">
|
|
62
|
-
<a href="https://pypi.org/project/cortexcode/"><img src="https://img.shields.io/pypi/v/cortexcode?style=flat-square&color=blue" alt="PyPI"></a>
|
|
63
|
-
<a href="https://pypi.org/project/cortexcode/"><img src="https://img.shields.io/pypi/pyversions/cortexcode?style=flat-square" alt="Python"></a>
|
|
64
|
-
<a href="https://github.com/naveen-joshi/cortexcode/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" alt="License"></a>
|
|
65
|
-
<a href="https://github.com/naveen-joshi/cortexcode"><img src="https://img.shields.io/github/stars/naveen-joshi/cortexcode?style=flat-square" alt="Stars"></a>
|
|
66
|
-
<a href="https://marketplace.visualstudio.com/items?itemName=cortexcode.cortexcode-vscode"><img src="https://img.shields.io/visual-studio-marketplace/v/cortexcode.cortexcode-vscode?style=flat-square" alt="VS Code"></a>
|
|
67
|
-
</p>
|
|
68
|
-
|
|
69
62
|
---
|
|
70
63
|
|
|
71
64
|
## The Problem
|
|
72
65
|
|
|
73
66
|
AI coding assistants (Copilot, Cursor, Windsurf, etc.) need to understand your codebase. The current approach: **dump entire source files into the context window**. This is:
|
|
74
67
|
|
|
75
|
-
- **
|
|
76
|
-
- **
|
|
77
|
-
- **
|
|
68
|
+
- **Noisy** — Important signals are buried inside large files
|
|
69
|
+
- **Fragile** — Assistants miss architecture, relationships, and runtime surface area
|
|
70
|
+
- **Hard to reuse** — Raw file dumps do not become a durable project map
|
|
78
71
|
|
|
79
72
|
## The Solution
|
|
80
73
|
|
|
81
|
-
CortexCode indexes your codebase using **AST parsing** (tree-sitter) and
|
|
74
|
+
CortexCode indexes your codebase using **AST parsing** (tree-sitter) and builds a structured, searchable codegraph. You can explore symbols, trace flows, generate docs and diagrams, produce CodeWiki pages, and connect AI tools through MCP.
|
|
82
75
|
|
|
83
76
|
```
|
|
84
77
|
┌─────────────────────────────────────────────────┐
|
|
85
78
|
│ Without CortexCode With CortexCode │
|
|
86
79
|
│ │
|
|
87
|
-
│
|
|
88
|
-
│
|
|
89
|
-
│
|
|
90
|
-
│ No
|
|
80
|
+
│ Raw files only → Searchable codegraph │
|
|
81
|
+
│ Manual digging → Linked symbols │
|
|
82
|
+
│ Ad-hoc prompts → Reusable context │
|
|
83
|
+
│ No project map → Docs + diagrams │
|
|
91
84
|
└─────────────────────────────────────────────────┘
|
|
92
85
|
```
|
|
93
86
|
|
|
94
|
-
Run `cortexcode
|
|
87
|
+
Run `cortexcode index` on your project to generate the codegraph and start exploring.
|
|
95
88
|
|
|
96
89
|
## Quick Start
|
|
97
90
|
|
|
@@ -107,9 +100,6 @@ cd cortexcode && pip install -e .
|
|
|
107
100
|
cd your-project
|
|
108
101
|
cortexcode index
|
|
109
102
|
|
|
110
|
-
# See token savings
|
|
111
|
-
cortexcode stats
|
|
112
|
-
|
|
113
103
|
# Get context for AI
|
|
114
104
|
cortexcode context "handleAuth"
|
|
115
105
|
|
|
@@ -117,6 +107,22 @@ cortexcode context "handleAuth"
|
|
|
117
107
|
cortexcode docs --open
|
|
118
108
|
```
|
|
119
109
|
|
|
110
|
+
### Post-Index Wizard
|
|
111
|
+
|
|
112
|
+
After running `cortexcode index`, an interactive wizard can guide you through generating outputs:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
cortexcode index # Run index, then wizard prompts
|
|
116
|
+
cortexcode index --force-wizard # Force wizard in non-TTY mode
|
|
117
|
+
cortexcode index --no-post-index-wizard # Skip wizard
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Wizard features:**
|
|
121
|
+
- Multi-select checkbox for docs, diagrams, AI docs, CodeWiki, reports, visualization, dashboard, MCP setup
|
|
122
|
+
- Smart recommendations based on detected project shape
|
|
123
|
+
- Follow-up prompts for diagram types, AI doc types, wiki options
|
|
124
|
+
- Preference persistence — saves your choices for future runs
|
|
125
|
+
|
|
120
126
|
## Features
|
|
121
127
|
|
|
122
128
|
### Multi-Language AST Indexing
|
|
@@ -142,24 +148,14 @@ Parses source code into structured symbols using tree-sitter grammars.
|
|
|
142
148
|
- **Entities** — Database models and ORM definitions
|
|
143
149
|
- **Framework Detection** — React components, Angular services, etc.
|
|
144
150
|
|
|
145
|
-
###
|
|
151
|
+
### Project Exploration & Context
|
|
146
152
|
|
|
147
|
-
CortexCode
|
|
153
|
+
Use CortexCode to inspect structure and answer practical questions about a codebase:
|
|
148
154
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
│ Source files 154 files │
|
|
154
|
-
│ Raw project tokens 203,847 │
|
|
155
|
-
│ Full index tokens 45,291 │
|
|
156
|
-
│ Context query tokens 487 │
|
|
157
|
-
│ │
|
|
158
|
-
│ Tokens saved 203,360 │
|
|
159
|
-
│ Savings 99.8% │
|
|
160
|
-
│ Compression ratio 418.6x │
|
|
161
|
-
╰─────────────────────────────────────────╯
|
|
162
|
-
```
|
|
155
|
+
- **Context lookup** — Pull relevant symbols and files for a query
|
|
156
|
+
- **Call graph tracing** — Follow how behavior moves across modules
|
|
157
|
+
- **Architecture visibility** — Inspect routes, entities, dependencies, and layers
|
|
158
|
+
- **Reusable index** — Keep a structured project map that tools can build on
|
|
163
159
|
|
|
164
160
|
### Interactive HTML Documentation
|
|
165
161
|
|
|
@@ -194,7 +190,6 @@ cortexcode wiki --no-modules # Skip per-module pages (faster)
|
|
|
194
190
|
- **Mermaid diagrams** — Auto-generated flow diagrams
|
|
195
191
|
- **Concept mapping** — Maps technical concepts to symbols and files
|
|
196
192
|
- **Concept search** — Ask "how does authentication work?" and get grounded answers
|
|
197
|
-
- **Token tracking** — See exactly how many tokens each page used
|
|
198
193
|
|
|
199
194
|
**Output:** `.cortexcode/wiki/index.html` — Open directly or serve locally.
|
|
200
195
|
|
|
@@ -245,12 +240,12 @@ CortexCode supports both a short form (`cc`) and full form (`cortexcode`). Comma
|
|
|
245
240
|
| Command | Description |
|
|
246
241
|
|---------|-------------|
|
|
247
242
|
| `cc analyze context [query]` | Get relevant context for AI |
|
|
248
|
-
| `cc analyze context [query] --tokens` | Show
|
|
243
|
+
| `cc analyze context [query] --tokens` | Show context size estimates for a query |
|
|
249
244
|
| `cc analyze search [query]` | Grep-like symbol search with type/file filters |
|
|
250
245
|
| `cc analyze find [query]` | Semantic search by meaning ("auth handler") |
|
|
251
246
|
| `cc analyze diff` | Show changed symbols since last commit |
|
|
252
247
|
| `cc analyze diff --ref HEAD~3` | Compare against any git ref |
|
|
253
|
-
| `cc analyze stats` | Show project
|
|
248
|
+
| `cc analyze stats` | Show project index and analysis stats |
|
|
254
249
|
| `cc analyze scan` | Scan dependencies for security warnings |
|
|
255
250
|
| `cc analyze trace <symbol>` | Trace code flow through call graph |
|
|
256
251
|
| `cc analyze flow <concept>` | Analyze code flow grouped by file |
|
|
@@ -355,7 +350,7 @@ Add to `~/.windsurf/config.json`:
|
|
|
355
350
|
|
|
356
351
|
```bash
|
|
357
352
|
# Paste this output into your AI chat
|
|
358
|
-
cortexcode context "useAuth"
|
|
353
|
+
cortexcode context "useAuth"
|
|
359
354
|
```
|
|
360
355
|
|
|
361
356
|
### 2. JSON Index (programmatic)
|
|
@@ -552,7 +547,6 @@ CortexCode respects `.gitignore` files (including nested ones) and has built-in
|
|
|
552
547
|
## Roadmap
|
|
553
548
|
|
|
554
549
|
- [x] MCP server for direct AI agent integration
|
|
555
|
-
- [x] Tiktoken-based accurate token counting
|
|
556
550
|
- [x] Semantic search over symbols (TF-IDF + synonym expansion)
|
|
557
551
|
- [x] Cross-file type inference
|
|
558
552
|
- [x] Git diff-aware context (show only changed symbols)
|
|
@@ -2,44 +2,36 @@
|
|
|
2
2
|
<h1 align="center">CortexCode</h1>
|
|
3
3
|
<p align="center">
|
|
4
4
|
<strong>Lightweight code indexing for AI assistants</strong><br>
|
|
5
|
-
|
|
5
|
+
Build a searchable codegraph, generate documentation, and give AI assistants grounded context.
|
|
6
6
|
</p>
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
|
-
<p align="center">
|
|
10
|
-
<a href="https://pypi.org/project/cortexcode/"><img src="https://img.shields.io/pypi/v/cortexcode?style=flat-square&color=blue" alt="PyPI"></a>
|
|
11
|
-
<a href="https://pypi.org/project/cortexcode/"><img src="https://img.shields.io/pypi/pyversions/cortexcode?style=flat-square" alt="Python"></a>
|
|
12
|
-
<a href="https://github.com/naveen-joshi/cortexcode/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" alt="License"></a>
|
|
13
|
-
<a href="https://github.com/naveen-joshi/cortexcode"><img src="https://img.shields.io/github/stars/naveen-joshi/cortexcode?style=flat-square" alt="Stars"></a>
|
|
14
|
-
<a href="https://marketplace.visualstudio.com/items?itemName=cortexcode.cortexcode-vscode"><img src="https://img.shields.io/visual-studio-marketplace/v/cortexcode.cortexcode-vscode?style=flat-square" alt="VS Code"></a>
|
|
15
|
-
</p>
|
|
16
|
-
|
|
17
9
|
---
|
|
18
10
|
|
|
19
11
|
## The Problem
|
|
20
12
|
|
|
21
13
|
AI coding assistants (Copilot, Cursor, Windsurf, etc.) need to understand your codebase. The current approach: **dump entire source files into the context window**. This is:
|
|
22
14
|
|
|
23
|
-
- **
|
|
24
|
-
- **
|
|
25
|
-
- **
|
|
15
|
+
- **Noisy** — Important signals are buried inside large files
|
|
16
|
+
- **Fragile** — Assistants miss architecture, relationships, and runtime surface area
|
|
17
|
+
- **Hard to reuse** — Raw file dumps do not become a durable project map
|
|
26
18
|
|
|
27
19
|
## The Solution
|
|
28
20
|
|
|
29
|
-
CortexCode indexes your codebase using **AST parsing** (tree-sitter) and
|
|
21
|
+
CortexCode indexes your codebase using **AST parsing** (tree-sitter) and builds a structured, searchable codegraph. You can explore symbols, trace flows, generate docs and diagrams, produce CodeWiki pages, and connect AI tools through MCP.
|
|
30
22
|
|
|
31
23
|
```
|
|
32
24
|
┌─────────────────────────────────────────────────┐
|
|
33
25
|
│ Without CortexCode With CortexCode │
|
|
34
26
|
│ │
|
|
35
|
-
│
|
|
36
|
-
│
|
|
37
|
-
│
|
|
38
|
-
│ No
|
|
27
|
+
│ Raw files only → Searchable codegraph │
|
|
28
|
+
│ Manual digging → Linked symbols │
|
|
29
|
+
│ Ad-hoc prompts → Reusable context │
|
|
30
|
+
│ No project map → Docs + diagrams │
|
|
39
31
|
└─────────────────────────────────────────────────┘
|
|
40
32
|
```
|
|
41
33
|
|
|
42
|
-
Run `cortexcode
|
|
34
|
+
Run `cortexcode index` on your project to generate the codegraph and start exploring.
|
|
43
35
|
|
|
44
36
|
## Quick Start
|
|
45
37
|
|
|
@@ -55,9 +47,6 @@ cd cortexcode && pip install -e .
|
|
|
55
47
|
cd your-project
|
|
56
48
|
cortexcode index
|
|
57
49
|
|
|
58
|
-
# See token savings
|
|
59
|
-
cortexcode stats
|
|
60
|
-
|
|
61
50
|
# Get context for AI
|
|
62
51
|
cortexcode context "handleAuth"
|
|
63
52
|
|
|
@@ -65,6 +54,22 @@ cortexcode context "handleAuth"
|
|
|
65
54
|
cortexcode docs --open
|
|
66
55
|
```
|
|
67
56
|
|
|
57
|
+
### Post-Index Wizard
|
|
58
|
+
|
|
59
|
+
After running `cortexcode index`, an interactive wizard can guide you through generating outputs:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
cortexcode index # Run index, then wizard prompts
|
|
63
|
+
cortexcode index --force-wizard # Force wizard in non-TTY mode
|
|
64
|
+
cortexcode index --no-post-index-wizard # Skip wizard
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Wizard features:**
|
|
68
|
+
- Multi-select checkbox for docs, diagrams, AI docs, CodeWiki, reports, visualization, dashboard, MCP setup
|
|
69
|
+
- Smart recommendations based on detected project shape
|
|
70
|
+
- Follow-up prompts for diagram types, AI doc types, wiki options
|
|
71
|
+
- Preference persistence — saves your choices for future runs
|
|
72
|
+
|
|
68
73
|
## Features
|
|
69
74
|
|
|
70
75
|
### Multi-Language AST Indexing
|
|
@@ -90,24 +95,14 @@ Parses source code into structured symbols using tree-sitter grammars.
|
|
|
90
95
|
- **Entities** — Database models and ORM definitions
|
|
91
96
|
- **Framework Detection** — React components, Angular services, etc.
|
|
92
97
|
|
|
93
|
-
###
|
|
98
|
+
### Project Exploration & Context
|
|
94
99
|
|
|
95
|
-
CortexCode
|
|
100
|
+
Use CortexCode to inspect structure and answer practical questions about a codebase:
|
|
96
101
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
│ Source files 154 files │
|
|
102
|
-
│ Raw project tokens 203,847 │
|
|
103
|
-
│ Full index tokens 45,291 │
|
|
104
|
-
│ Context query tokens 487 │
|
|
105
|
-
│ │
|
|
106
|
-
│ Tokens saved 203,360 │
|
|
107
|
-
│ Savings 99.8% │
|
|
108
|
-
│ Compression ratio 418.6x │
|
|
109
|
-
╰─────────────────────────────────────────╯
|
|
110
|
-
```
|
|
102
|
+
- **Context lookup** — Pull relevant symbols and files for a query
|
|
103
|
+
- **Call graph tracing** — Follow how behavior moves across modules
|
|
104
|
+
- **Architecture visibility** — Inspect routes, entities, dependencies, and layers
|
|
105
|
+
- **Reusable index** — Keep a structured project map that tools can build on
|
|
111
106
|
|
|
112
107
|
### Interactive HTML Documentation
|
|
113
108
|
|
|
@@ -142,7 +137,6 @@ cortexcode wiki --no-modules # Skip per-module pages (faster)
|
|
|
142
137
|
- **Mermaid diagrams** — Auto-generated flow diagrams
|
|
143
138
|
- **Concept mapping** — Maps technical concepts to symbols and files
|
|
144
139
|
- **Concept search** — Ask "how does authentication work?" and get grounded answers
|
|
145
|
-
- **Token tracking** — See exactly how many tokens each page used
|
|
146
140
|
|
|
147
141
|
**Output:** `.cortexcode/wiki/index.html` — Open directly or serve locally.
|
|
148
142
|
|
|
@@ -193,12 +187,12 @@ CortexCode supports both a short form (`cc`) and full form (`cortexcode`). Comma
|
|
|
193
187
|
| Command | Description |
|
|
194
188
|
|---------|-------------|
|
|
195
189
|
| `cc analyze context [query]` | Get relevant context for AI |
|
|
196
|
-
| `cc analyze context [query] --tokens` | Show
|
|
190
|
+
| `cc analyze context [query] --tokens` | Show context size estimates for a query |
|
|
197
191
|
| `cc analyze search [query]` | Grep-like symbol search with type/file filters |
|
|
198
192
|
| `cc analyze find [query]` | Semantic search by meaning ("auth handler") |
|
|
199
193
|
| `cc analyze diff` | Show changed symbols since last commit |
|
|
200
194
|
| `cc analyze diff --ref HEAD~3` | Compare against any git ref |
|
|
201
|
-
| `cc analyze stats` | Show project
|
|
195
|
+
| `cc analyze stats` | Show project index and analysis stats |
|
|
202
196
|
| `cc analyze scan` | Scan dependencies for security warnings |
|
|
203
197
|
| `cc analyze trace <symbol>` | Trace code flow through call graph |
|
|
204
198
|
| `cc analyze flow <concept>` | Analyze code flow grouped by file |
|
|
@@ -303,7 +297,7 @@ Add to `~/.windsurf/config.json`:
|
|
|
303
297
|
|
|
304
298
|
```bash
|
|
305
299
|
# Paste this output into your AI chat
|
|
306
|
-
cortexcode context "useAuth"
|
|
300
|
+
cortexcode context "useAuth"
|
|
307
301
|
```
|
|
308
302
|
|
|
309
303
|
### 2. JSON Index (programmatic)
|
|
@@ -500,7 +494,6 @@ CortexCode respects `.gitignore` files (including nested ones) and has built-in
|
|
|
500
494
|
## Roadmap
|
|
501
495
|
|
|
502
496
|
- [x] MCP server for direct AI agent integration
|
|
503
|
-
- [x] Tiktoken-based accurate token counting
|
|
504
497
|
- [x] Semantic search over symbols (TF-IDF + synonym expansion)
|
|
505
498
|
- [x] Cross-file type inference
|
|
506
499
|
- [x] Git diff-aware context (show only changed symbols)
|
|
@@ -60,7 +60,7 @@ class AIDocGenerator:
|
|
|
60
60
|
messages = prompts.generate_project_overview_prompt(index_data)
|
|
61
61
|
output.overview = self._generate(messages, "overview")
|
|
62
62
|
if output.overview:
|
|
63
|
-
(output_dir / "AI_OVERVIEW.md").write_text(output.overview)
|
|
63
|
+
(output_dir / "AI_OVERVIEW.md").write_text(output.overview, encoding="utf-8")
|
|
64
64
|
print(" -> AI_OVERVIEW.md")
|
|
65
65
|
|
|
66
66
|
if "api" in docs:
|
|
@@ -68,7 +68,7 @@ class AIDocGenerator:
|
|
|
68
68
|
messages = prompts.generate_api_docs_prompt(index_data)
|
|
69
69
|
output.api_docs = self._generate(messages, "api")
|
|
70
70
|
if output.api_docs:
|
|
71
|
-
(output_dir / "AI_API.md").write_text(output.api_docs)
|
|
71
|
+
(output_dir / "AI_API.md").write_text(output.api_docs, encoding="utf-8")
|
|
72
72
|
print(" -> AI_API.md")
|
|
73
73
|
|
|
74
74
|
if "architecture" in docs:
|
|
@@ -76,7 +76,7 @@ class AIDocGenerator:
|
|
|
76
76
|
messages = prompts.generate_architecture_prompt(index_data)
|
|
77
77
|
output.architecture = self._generate(messages, "architecture")
|
|
78
78
|
if output.architecture:
|
|
79
|
-
(output_dir / "AI_ARCHITECTURE.md").write_text(output.architecture)
|
|
79
|
+
(output_dir / "AI_ARCHITECTURE.md").write_text(output.architecture, encoding="utf-8")
|
|
80
80
|
print(" -> AI_ARCHITECTURE.md")
|
|
81
81
|
|
|
82
82
|
if "flows" in docs:
|
|
@@ -84,7 +84,7 @@ class AIDocGenerator:
|
|
|
84
84
|
messages = prompts.generate_flow_docs_prompt(index_data)
|
|
85
85
|
output.flows = self._generate(messages, "flows")
|
|
86
86
|
if output.flows:
|
|
87
|
-
(output_dir / "AI_FLOWS.md").write_text(output.flows)
|
|
87
|
+
(output_dir / "AI_FLOWS.md").write_text(output.flows, encoding="utf-8")
|
|
88
88
|
print(" -> AI_FLOWS.md")
|
|
89
89
|
|
|
90
90
|
return output
|
|
@@ -107,7 +107,7 @@ class AIDocGenerator:
|
|
|
107
107
|
result = self._generate(messages, f"module_{module_name}")
|
|
108
108
|
|
|
109
109
|
if output_path and result:
|
|
110
|
-
Path(output_path).write_text(result)
|
|
110
|
+
Path(output_path).write_text(result, encoding="utf-8")
|
|
111
111
|
|
|
112
112
|
return result
|
|
113
113
|
|