codexa 0.4.2__tar.gz → 0.5.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.
Files changed (206) hide show
  1. {codexa-0.4.2/codexa.egg-info → codexa-0.5.0}/PKG-INFO +70 -12
  2. codexa-0.4.2/PKG-INFO → codexa-0.5.0/README.md +59 -61
  3. codexa-0.4.2/README.md → codexa-0.5.0/codexa.egg-info/PKG-INFO +119 -11
  4. {codexa-0.4.2 → codexa-0.5.0}/codexa.egg-info/SOURCES.txt +8 -0
  5. {codexa-0.4.2 → codexa-0.5.0}/codexa.egg-info/requires.txt +10 -0
  6. {codexa-0.4.2 → codexa-0.5.0}/pyproject.toml +11 -1
  7. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/analysis/ai_features.py +3 -17
  8. codexa-0.5.0/semantic_code_intelligence/analysis/codegen.py +143 -0
  9. codexa-0.5.0/semantic_code_intelligence/analysis/cross_language.py +270 -0
  10. codexa-0.5.0/semantic_code_intelligence/analysis/semantic_diff.py +222 -0
  11. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/bridge/protocol.py +2 -7
  12. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/bridge/server.py +60 -0
  13. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/bridge/vscode.py +2 -2
  14. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/ci/impact.py +4 -14
  15. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/ci/metrics.py +3 -15
  16. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/ci/pr.py +4 -20
  17. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/ci/quality.py +4 -23
  18. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/ci/trace.py +3 -12
  19. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/ask_cmd.py +8 -1
  20. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/chat_cmd.py +8 -1
  21. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/grep_cmd.py +61 -1
  22. codexa-0.5.0/semantic_code_intelligence/cli/commands/index_cmd.py +291 -0
  23. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/init_cmd.py +39 -1
  24. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/mcp_cmd.py +15 -1
  25. codexa-0.5.0/semantic_code_intelligence/cli/commands/models_cmd.py +361 -0
  26. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/search_cmd.py +95 -1
  27. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/suggest_cmd.py +8 -1
  28. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/main.py +15 -1
  29. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/config/settings.py +16 -0
  30. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/context/engine.py +3 -12
  31. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/context/memory.py +2 -8
  32. codexa-0.5.0/semantic_code_intelligence/embeddings/generator.py +288 -0
  33. codexa-0.5.0/semantic_code_intelligence/embeddings/model_registry.py +223 -0
  34. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/evolution/task_selector.py +2 -7
  35. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/indexing/scanner.py +3 -0
  36. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/llm/__init__.py +10 -0
  37. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/llm/cross_refactor.py +2 -10
  38. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/llm/investigation.py +30 -14
  39. codexa-0.5.0/semantic_code_intelligence/llm/rag.py +564 -0
  40. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/llm/rate_limiter.py +2 -8
  41. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/llm/reasoning.py +48 -37
  42. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/llm/safety.py +2 -7
  43. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/llm/streaming.py +2 -2
  44. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/mcp/__init__.py +39 -8
  45. codexa-0.5.0/semantic_code_intelligence/mcp/claude_config.py +32 -0
  46. codexa-0.5.0/semantic_code_intelligence/rust_backend.py +142 -0
  47. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/search/formatter.py +9 -2
  48. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/search/hybrid_search.py +17 -0
  49. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/search/keyword_search.py +42 -1
  50. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/services/indexing_service.py +15 -0
  51. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/services/search_service.py +3 -2
  52. codexa-0.5.0/semantic_code_intelligence/sessions/__init__.py +157 -0
  53. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/storage/vector_store.py +105 -0
  54. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_cli.py +2 -1
  55. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_config.py +1 -0
  56. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase13.py +3 -2
  57. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase14.py +2 -1
  58. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase15.py +2 -1
  59. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase16.py +2 -1
  60. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase17.py +2 -1
  61. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase18.py +3 -2
  62. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase19.py +3 -2
  63. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase22.py +2 -1
  64. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase23.py +2 -1
  65. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase24.py +2 -1
  66. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase25.py +2 -1
  67. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase26.py +2 -1
  68. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase27.py +2 -1
  69. codexa-0.5.0/semantic_code_intelligence/tests/test_phase38_42.py +558 -0
  70. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_scanner.py +10 -0
  71. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tools/protocol.py +3 -13
  72. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/version.py +1 -1
  73. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/web/api.py +7 -1
  74. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/web/server.py +7 -1
  75. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/workspace/__init__.py +2 -8
  76. codexa-0.4.2/semantic_code_intelligence/cli/commands/index_cmd.py +0 -138
  77. codexa-0.4.2/semantic_code_intelligence/cli/commands/models_cmd.py +0 -157
  78. codexa-0.4.2/semantic_code_intelligence/embeddings/generator.py +0 -155
  79. codexa-0.4.2/semantic_code_intelligence/embeddings/model_registry.py +0 -100
  80. {codexa-0.4.2 → codexa-0.5.0}/LICENSE +0 -0
  81. {codexa-0.4.2 → codexa-0.5.0}/codexa.egg-info/dependency_links.txt +0 -0
  82. {codexa-0.4.2 → codexa-0.5.0}/codexa.egg-info/entry_points.txt +0 -0
  83. {codexa-0.4.2 → codexa-0.5.0}/codexa.egg-info/top_level.txt +0 -0
  84. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/__init__.py +0 -0
  85. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/analysis/__init__.py +0 -0
  86. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/bridge/__init__.py +0 -0
  87. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/bridge/context_provider.py +0 -0
  88. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/ci/__init__.py +0 -0
  89. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/ci/hooks.py +0 -0
  90. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/ci/hotspots.py +0 -0
  91. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/ci/templates.py +0 -0
  92. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/__init__.py +0 -0
  93. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/__init__.py +0 -0
  94. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/benchmark_cmd.py +0 -0
  95. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/ci_gen_cmd.py +0 -0
  96. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/context_cmd.py +0 -0
  97. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/cross_refactor_cmd.py +0 -0
  98. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/deps_cmd.py +0 -0
  99. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/docs_cmd.py +0 -0
  100. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/doctor_cmd.py +0 -0
  101. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/evolve_cmd.py +0 -0
  102. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/explain_cmd.py +0 -0
  103. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/gate_cmd.py +0 -0
  104. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/hotspots_cmd.py +0 -0
  105. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/impact_cmd.py +0 -0
  106. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/investigate_cmd.py +0 -0
  107. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/languages_cmd.py +0 -0
  108. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/lsp_cmd.py +0 -0
  109. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/metrics_cmd.py +0 -0
  110. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/plugin_cmd.py +0 -0
  111. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/pr_summary_cmd.py +0 -0
  112. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/quality_cmd.py +0 -0
  113. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/refactor_cmd.py +0 -0
  114. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/review_cmd.py +0 -0
  115. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/serve_cmd.py +0 -0
  116. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/summary_cmd.py +0 -0
  117. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/tool_cmd.py +0 -0
  118. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/trace_cmd.py +0 -0
  119. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/tui_cmd.py +0 -0
  120. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/viz_cmd.py +0 -0
  121. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/watch_cmd.py +0 -0
  122. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/web_cmd.py +0 -0
  123. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/commands/workspace_cmd.py +0 -0
  124. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/cli/router.py +0 -0
  125. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/config/__init__.py +0 -0
  126. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/context/__init__.py +0 -0
  127. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/daemon/__init__.py +0 -0
  128. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/daemon/watcher.py +0 -0
  129. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/docs/__init__.py +0 -0
  130. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/embeddings/__init__.py +0 -0
  131. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/embeddings/enhanced.py +0 -0
  132. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/evolution/__init__.py +0 -0
  133. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/evolution/budget_guard.py +0 -0
  134. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/evolution/commit_manager.py +0 -0
  135. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/evolution/context_builder.py +0 -0
  136. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/evolution/engine.py +0 -0
  137. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/evolution/patch_generator.py +0 -0
  138. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/evolution/test_runner.py +0 -0
  139. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/indexing/__init__.py +0 -0
  140. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/indexing/chunker.py +0 -0
  141. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/indexing/parallel.py +0 -0
  142. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/indexing/semantic_chunker.py +0 -0
  143. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/llm/cache.py +0 -0
  144. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/llm/cached_provider.py +0 -0
  145. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/llm/conversation.py +0 -0
  146. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/llm/mock_provider.py +0 -0
  147. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/llm/ollama_provider.py +0 -0
  148. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/llm/openai_provider.py +0 -0
  149. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/llm/provider.py +0 -0
  150. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/lsp/__init__.py +0 -0
  151. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/parsing/__init__.py +0 -0
  152. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/parsing/parser.py +0 -0
  153. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/plugins/__init__.py +0 -0
  154. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/plugins/examples/__init__.py +0 -0
  155. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/plugins/examples/code_quality.py +0 -0
  156. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/plugins/examples/search_annotator.py +0 -0
  157. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/scalability/__init__.py +0 -0
  158. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/search/__init__.py +0 -0
  159. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/search/grep.py +0 -0
  160. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/search/section_expander.py +0 -0
  161. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/services/__init__.py +0 -0
  162. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/storage/__init__.py +0 -0
  163. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/storage/chunk_hash_store.py +0 -0
  164. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/storage/hash_store.py +0 -0
  165. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/storage/index_manifest.py +0 -0
  166. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/storage/index_stats.py +0 -0
  167. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/storage/query_history.py +0 -0
  168. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/storage/symbol_registry.py +0 -0
  169. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/__init__.py +0 -0
  170. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_ai_features.py +0 -0
  171. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_chunker.py +0 -0
  172. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_context.py +0 -0
  173. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_embeddings.py +0 -0
  174. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_endtoend.py +0 -0
  175. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_enhanced_embeddings.py +0 -0
  176. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_hash_store.py +0 -0
  177. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_logging.py +0 -0
  178. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_new_cli.py +0 -0
  179. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_parser.py +0 -0
  180. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase10.py +0 -0
  181. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase11.py +0 -0
  182. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase12.py +0 -0
  183. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase20.py +0 -0
  184. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase20b.py +0 -0
  185. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase20c.py +0 -0
  186. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase21.py +0 -0
  187. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase8.py +0 -0
  188. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_phase9.py +0 -0
  189. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_plugins.py +0 -0
  190. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_priority_features.py +0 -0
  191. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_router.py +0 -0
  192. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_scalability.py +0 -0
  193. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_search.py +0 -0
  194. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_semantic_chunker.py +0 -0
  195. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_tools.py +0 -0
  196. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_vector_store.py +0 -0
  197. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tests/test_watcher.py +0 -0
  198. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tools/__init__.py +0 -0
  199. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tools/executor.py +0 -0
  200. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/tui/__init__.py +0 -0
  201. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/utils/__init__.py +0 -0
  202. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/utils/logging.py +0 -0
  203. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/web/__init__.py +0 -0
  204. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/web/ui.py +0 -0
  205. {codexa-0.4.2 → codexa-0.5.0}/semantic_code_intelligence/web/visualize.py +0 -0
  206. {codexa-0.4.2 → codexa-0.5.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codexa
3
- Version: 0.4.2
3
+ Version: 0.5.0
4
4
  Summary: Developer intelligence CLI — semantic code search, AI-assisted understanding, and agent tooling for codebases
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://codex-a.dev
@@ -30,6 +30,16 @@ Requires-Dist: pydantic>=2.0.0
30
30
  Requires-Dist: rich>=13.0.0
31
31
  Requires-Dist: numpy>=1.24.0
32
32
  Requires-Dist: tree-sitter>=0.21.0
33
+ Requires-Dist: tree-sitter-python>=0.21.0
34
+ Requires-Dist: tree-sitter-javascript>=0.21.0
35
+ Requires-Dist: tree-sitter-typescript>=0.21.0
36
+ Requires-Dist: tree-sitter-java>=0.21.0
37
+ Requires-Dist: tree-sitter-go>=0.21.0
38
+ Requires-Dist: tree-sitter-rust>=0.21.0
39
+ Requires-Dist: tree-sitter-cpp>=0.21.0
40
+ Requires-Dist: tree-sitter-c-sharp>=0.21.0
41
+ Requires-Dist: tree-sitter-ruby>=0.21.0
42
+ Requires-Dist: tree-sitter-php>=0.22.0
33
43
  Requires-Dist: radon>=6.0.0
34
44
  Requires-Dist: bandit>=1.7.0
35
45
  Requires-Dist: mcp>=1.0.0
@@ -55,9 +65,11 @@ Dynamic: license-file
55
65
 
56
66
  <p align="center">
57
67
  <a href="https://github.com/M9nx/CodexA/actions"><img src="https://github.com/M9nx/CodexA/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
68
+ <a href="https://pypi.org/project/codexa/"><img src="https://img.shields.io/pypi/v/codexa?color=blue&label=PyPI" alt="PyPI"></a>
69
+ <a href="https://pepy.tech/project/codexa"><img src="https://img.shields.io/pepy/dt/codexa?color=blue&label=Downloads" alt="Downloads"></a>
58
70
  <img src="https://img.shields.io/badge/python-3.11%2B-blue" alt="Python 3.11+">
59
- <img src="https://img.shields.io/badge/version-0.4.0-green" alt="Version">
60
- <img src="https://img.shields.io/badge/tests-2595-brightgreen" alt="Tests">
71
+ <img src="https://img.shields.io/badge/version-0.5.0-green" alt="Version">
72
+ <img src="https://img.shields.io/badge/tests-2657-brightgreen" alt="Tests">
61
73
  <img src="https://img.shields.io/badge/coverage-79%25-brightgreen" alt="Coverage">
62
74
  <img src="https://img.shields.io/badge/mypy-strict-blue" alt="mypy strict">
63
75
  <img src="https://img.shields.io/badge/license-MIT-blue" alt="License">
@@ -74,17 +86,22 @@ structured tool protocol that any AI agent can call over HTTP or CLI.
74
86
 
75
87
  | Area | What you get |
76
88
  |------|-------------|
77
- | **Code Indexing** | Scan repos, extract functions/classes, generate vector embeddings (sentence-transformers + FAISS), ONNX runtime option, parallel indexing, `--watch` live re-indexing, `.codexaignore` support |
78
- | **Multi-Mode Search** | Semantic, keyword (BM25), regex, hybrid (RRF), and raw filesystem grep (ripgrep backend) with full `-A/-B/-C/-w/-v/-c` flags |
89
+ | **Code Indexing** | Scan repos, extract functions/classes, generate vector embeddings (sentence-transformers + FAISS), ONNX runtime option, parallel indexing, `--watch` live re-indexing, `.codexaignore` support, `--add`/`--inspect` per-file control, model-consistency guard, Ctrl+C partial-save |
90
+ | **Rust Search Engine** | Native `codexa-core` Rust crate via PyO3 — HNSW approximate nearest-neighbour search, BM25 keyword index, tree-sitter AST chunker (10 languages), memory-mapped vector persistence, parallel file scanner, optional ONNX embedding inference, optional Tantivy full-text search |
91
+ | **Multi-Mode Search** | Semantic, keyword (BM25), regex, hybrid (RRF), and raw filesystem grep (ripgrep backend) with full `-A/-B/-C/-w/-v/-c/-l/-L/--exclude/--no-ignore` flags, `--hybrid`/`--sem` shorthands, `--scores`, `--snippet-length`, `--no-snippet`, JSONL streaming |
92
+ | **RAG Pipeline** | 4-stage Retrieval-Augmented Generation — Retrieve → Deduplicate → Re-rank → Assemble with token budget, cross-encoder re-ranking, source citations |
79
93
  | **Code Context** | Rich context windows — imports, dependencies, AST-based call graphs, surrounding code |
80
94
  | **Repository Analysis** | Language breakdown (`codexa languages`), module summaries, component detection |
81
- | **AI Agent Protocol** | 13 built-in tools exposed via HTTP bridge, MCP server (13 tools), MCP-over-SSE (`--mcp`), or CLI for any AI agent to invoke |
95
+ | **AI Agent Protocol** | 13 built-in tools exposed via HTTP bridge, MCP server (13 tools with pagination/cursors), MCP-over-SSE (`--mcp`), `codexa --serve` shorthand, Claude Desktop auto-config (`--claude-config`), or CLI for any AI agent to invoke |
82
96
  | **Quality & Metrics** | Complexity analysis, maintainability scoring, quality gates for CI |
83
97
  | **Multi-Repo Workspaces** | Link multiple repos under one workspace for cross-repo search & refactoring |
84
98
  | **Interactive TUI** | Terminal REPL with mode switching for interactive exploration |
85
99
  | **Streaming Responses** | Token-by-token streaming for chat and investigation commands |
86
100
  | **Plugin System** | 22 hooks for extending every layer — from indexing to tool invocation |
87
101
  | **VS Code Extension** | 4-panel sidebar (Search, Symbols, Quality, Tools), 8 commands, CodeLens, context menus, status bar |
102
+ | **Editor Plugins** | Zed, JetBrains (IntelliJ/PyCharm), Neovim (telescope.nvim), Vim, Sublime Text, Emacs, Helix, Eclipse -- all sharing the same MCP/bridge protocol |
103
+ | **Cross-Language Intelligence** | FFI pattern detection, polyglot dependency graphs, language-aware search boosting, universal multi-language call graph |
104
+ | **Multi-Agent Sessions** | Concurrent AI agent sessions with shared discovery, semantic diff (rename/move/signature/body detection), RAG code generation |
88
105
 
89
106
  ---
90
107
 
@@ -96,6 +113,12 @@ structured tool protocol that any AI agent can call over HTTP or CLI.
96
113
  pip install codexa
97
114
  ```
98
115
 
116
+ For semantic indexing and vector search, install the ML extras:
117
+
118
+ ```bash
119
+ pip install "codexa[ml]"
120
+ ```
121
+
99
122
  Or install from source:
100
123
 
101
124
  ```bash
@@ -124,6 +147,15 @@ cd /path/to/your-project
124
147
  codexa init
125
148
  ```
126
149
 
150
+ CodexA auto-detects your available RAM and picks the best embedding model.
151
+ Or choose a model profile explicitly:
152
+
153
+ ```bash
154
+ codexa init --profile fast # mxbai-embed-xsmall — low RAM (<1 GB)
155
+ codexa init --profile balanced # MiniLM — good balance (~2 GB)
156
+ codexa init --profile precise # jina-code — best quality (~4 GB)
157
+ ```
158
+
127
159
  This creates a `.codexa/` directory with configuration, index storage, and session data.
128
160
 
129
161
  ### 3. Index the Codebase
@@ -134,6 +166,23 @@ codexa index .
134
166
 
135
167
  This parses all source files (Python, JS/TS, Java, Go, Rust, C#, Ruby, C++),
136
168
  extracts symbols, generates embeddings, and stores them in a local FAISS index.
169
+ Semantic indexing requires `codexa[ml]`.
170
+
171
+ If you need to keep secrets, generated files, or local config files out of the
172
+ index, add patterns to `.codexaignore` at the project root or configure
173
+ `index.exclude_files` in `.codexa/config.json`.
174
+
175
+ Typical `.codexaignore` example:
176
+
177
+ ```text
178
+ .env*
179
+ secrets/*.json
180
+ config/local-*.yml
181
+ vendor/*
182
+ ```
183
+
184
+ The default embedding model is small, but the PyTorch backend still needs about
185
+ 2 GB of available RAM. On lower-memory machines, prefer the ONNX backend.
137
186
 
138
187
  ### 4. Semantic Search
139
188
 
@@ -251,7 +300,7 @@ cd CodexA
251
300
  pip install -e ".[dev]"
252
301
 
253
302
  # Verify
254
- codexa --version # → codexa, version 0.4.0
303
+ codexa --version # → codexa, version 0.5.0
255
304
  ```
256
305
 
257
306
  ### Step 2 — Initialize your target project
@@ -493,7 +542,7 @@ CodexA provides **39 commands** (plus subcommands) organized by capability:
493
542
  | `codexa plugin list\|scaffold\|discover` | Plugin management |
494
543
  | `codexa tui` | Interactive terminal REPL |
495
544
  | `codexa mcp` | Start MCP (Model Context Protocol) server |
496
- | `codexa models list\|info\|download\|switch` | Manage embedding models |
545
+ | `codexa models list\|info\|download\|switch\|profiles\|benchmark` | Manage and benchmark embedding models |
497
546
 
498
547
  ### VS Code Extension
499
548
 
@@ -550,8 +599,13 @@ Additional tools can be registered via the plugin system using the
550
599
  │ /tools/invoke · /tools/list · /request · SSE stream │
551
600
  ├──────────────┬──────────────┬───────────────────────┤
552
601
  │ Parsing │ Embedding │ Search │
553
- │ tree-sitter │ sent-trans │ FAISS
602
+ │ tree-sitter │ sent-trans │ FAISS / Rust HNSW
554
603
  ├──────────────┼──────────────┴───────────────────────┤
604
+ │ Rust Engine │ codexa-core (PyO3) │
605
+ │ (optional) │ HNSW · BM25 · AST chunk · mmap · RRF│
606
+ ├──────────────┼──────────────────────────────────────┤
607
+ │ RAG Pipeline │ Retrieve → Dedup → Re-rank → Assemble│
608
+ ├──────────────┼──────────────────────────────────────┤
555
609
  │ Evolution │ Self-improving dev loop │
556
610
  │ engine │ budget · task · patch · test · commit│
557
611
  ├──────────────┴──────────────────────────────────────┤
@@ -592,6 +646,9 @@ After `codexa init`, your project has `.codexa/config.json`:
592
646
  }
593
647
  ```
594
648
 
649
+ > **Tip:** Instead of editing `model_name` manually, use `codexa init --profile fast|balanced|precise`
650
+ > or run `codexa models profiles` to see recommended models for your hardware.
651
+
595
652
  ---
596
653
 
597
654
  ## Documentation
@@ -622,7 +679,7 @@ Browse the docs at **http://localhost:5173** after running `npm run docs:dev`.
622
679
  # Install dev dependencies
623
680
  pip install -e ".[dev]"
624
681
 
625
- # Run all 2595 tests
682
+ # Run all 2657 tests
626
683
  pytest
627
684
 
628
685
  # Run with coverage (gate: 70% minimum)
@@ -641,10 +698,11 @@ codexa --verbose search "query"
641
698
  ## Tech Stack
642
699
 
643
700
  - **Python 3.11+** — No heavy frameworks, stdlib-first design
701
+ - **Rust (codexa-core)** — Native search engine via PyO3 — HNSW (instant-distance), BM25, tree-sitter AST chunking, mmap persistence, parallel scanning (rayon)
644
702
  - **click** — CLI framework
645
703
  - **sentence-transformers** — Embedding generation (`all-MiniLM-L6-v2`)
646
- - **faiss-cpu** — Vector similarity search (O(1) file-level index, batch reconstruction)
647
- - **tree-sitter** — Multi-language code parsing
704
+ - **faiss-cpu** — Vector similarity search (with Rust HNSW acceleration)
705
+ - **tree-sitter** — Multi-language code parsing (Python + Rust)
648
706
  - **watchfiles** — Rust-backed native file watching (inotify/FSEvents/ReadDirectoryChanges)
649
707
  - **pydantic** — Configuration & data models
650
708
  - **rich** — Terminal UI and formatting
@@ -1,53 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: codexa
3
- Version: 0.4.2
4
- Summary: Developer intelligence CLI — semantic code search, AI-assisted understanding, and agent tooling for codebases
5
- License: MIT
6
- Project-URL: Homepage, https://codex-a.dev
7
- Project-URL: Documentation, https://codex-a.dev
8
- Project-URL: Repository, https://github.com/M9nx/CodexA
9
- Project-URL: Issues, https://github.com/M9nx/CodexA/issues
10
- Project-URL: Changelog, https://github.com/M9nx/CodexA/blob/main/CHANGELOG.md
11
- Keywords: code-search,semantic-search,developer-tools,code-intelligence,ai-assistant,cli,tree-sitter,faiss,embeddings,mcp
12
- Classifier: Development Status :: 4 - Beta
13
- Classifier: Environment :: Console
14
- Classifier: Intended Audience :: Developers
15
- Classifier: License :: OSI Approved :: MIT License
16
- Classifier: Operating System :: OS Independent
17
- Classifier: Programming Language :: Python :: 3
18
- Classifier: Programming Language :: Python :: 3.11
19
- Classifier: Programming Language :: Python :: 3.12
20
- Classifier: Programming Language :: Python :: 3.13
21
- Classifier: Topic :: Software Development :: Libraries
22
- Classifier: Topic :: Software Development :: Quality Assurance
23
- Classifier: Topic :: Text Processing :: Indexing
24
- Classifier: Typing :: Typed
25
- Requires-Python: >=3.11
26
- Description-Content-Type: text/markdown
27
- License-File: LICENSE
28
- Requires-Dist: click>=8.1.0
29
- Requires-Dist: pydantic>=2.0.0
30
- Requires-Dist: rich>=13.0.0
31
- Requires-Dist: numpy>=1.24.0
32
- Requires-Dist: tree-sitter>=0.21.0
33
- Requires-Dist: radon>=6.0.0
34
- Requires-Dist: bandit>=1.7.0
35
- Requires-Dist: mcp>=1.0.0
36
- Requires-Dist: watchfiles>=1.0.0
37
- Provides-Extra: ml
38
- Requires-Dist: sentence-transformers>=2.2.0; extra == "ml"
39
- Requires-Dist: faiss-cpu>=1.7.4; extra == "ml"
40
- Provides-Extra: dev
41
- Requires-Dist: pytest>=7.4.0; extra == "dev"
42
- Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
43
- Requires-Dist: sentence-transformers>=2.2.0; extra == "dev"
44
- Requires-Dist: faiss-cpu>=1.7.4; extra == "dev"
45
- Provides-Extra: tui
46
- Requires-Dist: textual>=0.40.0; extra == "tui"
47
- Provides-Extra: build
48
- Requires-Dist: pyinstaller>=6.0.0; extra == "build"
49
- Dynamic: license-file
50
-
51
1
  <p align="center">
52
2
  <strong>CodexA — Developer Intelligence Engine</strong><br>
53
3
  <em>Semantic code search · AI-assisted understanding · Agent tooling protocol</em>
@@ -55,9 +5,11 @@ Dynamic: license-file
55
5
 
56
6
  <p align="center">
57
7
  <a href="https://github.com/M9nx/CodexA/actions"><img src="https://github.com/M9nx/CodexA/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
8
+ <a href="https://pypi.org/project/codexa/"><img src="https://img.shields.io/pypi/v/codexa?color=blue&label=PyPI" alt="PyPI"></a>
9
+ <a href="https://pepy.tech/project/codexa"><img src="https://img.shields.io/pepy/dt/codexa?color=blue&label=Downloads" alt="Downloads"></a>
58
10
  <img src="https://img.shields.io/badge/python-3.11%2B-blue" alt="Python 3.11+">
59
- <img src="https://img.shields.io/badge/version-0.4.0-green" alt="Version">
60
- <img src="https://img.shields.io/badge/tests-2595-brightgreen" alt="Tests">
11
+ <img src="https://img.shields.io/badge/version-0.5.0-green" alt="Version">
12
+ <img src="https://img.shields.io/badge/tests-2657-brightgreen" alt="Tests">
61
13
  <img src="https://img.shields.io/badge/coverage-79%25-brightgreen" alt="Coverage">
62
14
  <img src="https://img.shields.io/badge/mypy-strict-blue" alt="mypy strict">
63
15
  <img src="https://img.shields.io/badge/license-MIT-blue" alt="License">
@@ -74,17 +26,22 @@ structured tool protocol that any AI agent can call over HTTP or CLI.
74
26
 
75
27
  | Area | What you get |
76
28
  |------|-------------|
77
- | **Code Indexing** | Scan repos, extract functions/classes, generate vector embeddings (sentence-transformers + FAISS), ONNX runtime option, parallel indexing, `--watch` live re-indexing, `.codexaignore` support |
78
- | **Multi-Mode Search** | Semantic, keyword (BM25), regex, hybrid (RRF), and raw filesystem grep (ripgrep backend) with full `-A/-B/-C/-w/-v/-c` flags |
29
+ | **Code Indexing** | Scan repos, extract functions/classes, generate vector embeddings (sentence-transformers + FAISS), ONNX runtime option, parallel indexing, `--watch` live re-indexing, `.codexaignore` support, `--add`/`--inspect` per-file control, model-consistency guard, Ctrl+C partial-save |
30
+ | **Rust Search Engine** | Native `codexa-core` Rust crate via PyO3 — HNSW approximate nearest-neighbour search, BM25 keyword index, tree-sitter AST chunker (10 languages), memory-mapped vector persistence, parallel file scanner, optional ONNX embedding inference, optional Tantivy full-text search |
31
+ | **Multi-Mode Search** | Semantic, keyword (BM25), regex, hybrid (RRF), and raw filesystem grep (ripgrep backend) with full `-A/-B/-C/-w/-v/-c/-l/-L/--exclude/--no-ignore` flags, `--hybrid`/`--sem` shorthands, `--scores`, `--snippet-length`, `--no-snippet`, JSONL streaming |
32
+ | **RAG Pipeline** | 4-stage Retrieval-Augmented Generation — Retrieve → Deduplicate → Re-rank → Assemble with token budget, cross-encoder re-ranking, source citations |
79
33
  | **Code Context** | Rich context windows — imports, dependencies, AST-based call graphs, surrounding code |
80
34
  | **Repository Analysis** | Language breakdown (`codexa languages`), module summaries, component detection |
81
- | **AI Agent Protocol** | 13 built-in tools exposed via HTTP bridge, MCP server (13 tools), MCP-over-SSE (`--mcp`), or CLI for any AI agent to invoke |
35
+ | **AI Agent Protocol** | 13 built-in tools exposed via HTTP bridge, MCP server (13 tools with pagination/cursors), MCP-over-SSE (`--mcp`), `codexa --serve` shorthand, Claude Desktop auto-config (`--claude-config`), or CLI for any AI agent to invoke |
82
36
  | **Quality & Metrics** | Complexity analysis, maintainability scoring, quality gates for CI |
83
37
  | **Multi-Repo Workspaces** | Link multiple repos under one workspace for cross-repo search & refactoring |
84
38
  | **Interactive TUI** | Terminal REPL with mode switching for interactive exploration |
85
39
  | **Streaming Responses** | Token-by-token streaming for chat and investigation commands |
86
40
  | **Plugin System** | 22 hooks for extending every layer — from indexing to tool invocation |
87
41
  | **VS Code Extension** | 4-panel sidebar (Search, Symbols, Quality, Tools), 8 commands, CodeLens, context menus, status bar |
42
+ | **Editor Plugins** | Zed, JetBrains (IntelliJ/PyCharm), Neovim (telescope.nvim), Vim, Sublime Text, Emacs, Helix, Eclipse -- all sharing the same MCP/bridge protocol |
43
+ | **Cross-Language Intelligence** | FFI pattern detection, polyglot dependency graphs, language-aware search boosting, universal multi-language call graph |
44
+ | **Multi-Agent Sessions** | Concurrent AI agent sessions with shared discovery, semantic diff (rename/move/signature/body detection), RAG code generation |
88
45
 
89
46
  ---
90
47
 
@@ -96,6 +53,12 @@ structured tool protocol that any AI agent can call over HTTP or CLI.
96
53
  pip install codexa
97
54
  ```
98
55
 
56
+ For semantic indexing and vector search, install the ML extras:
57
+
58
+ ```bash
59
+ pip install "codexa[ml]"
60
+ ```
61
+
99
62
  Or install from source:
100
63
 
101
64
  ```bash
@@ -124,6 +87,15 @@ cd /path/to/your-project
124
87
  codexa init
125
88
  ```
126
89
 
90
+ CodexA auto-detects your available RAM and picks the best embedding model.
91
+ Or choose a model profile explicitly:
92
+
93
+ ```bash
94
+ codexa init --profile fast # mxbai-embed-xsmall — low RAM (<1 GB)
95
+ codexa init --profile balanced # MiniLM — good balance (~2 GB)
96
+ codexa init --profile precise # jina-code — best quality (~4 GB)
97
+ ```
98
+
127
99
  This creates a `.codexa/` directory with configuration, index storage, and session data.
128
100
 
129
101
  ### 3. Index the Codebase
@@ -134,6 +106,23 @@ codexa index .
134
106
 
135
107
  This parses all source files (Python, JS/TS, Java, Go, Rust, C#, Ruby, C++),
136
108
  extracts symbols, generates embeddings, and stores them in a local FAISS index.
109
+ Semantic indexing requires `codexa[ml]`.
110
+
111
+ If you need to keep secrets, generated files, or local config files out of the
112
+ index, add patterns to `.codexaignore` at the project root or configure
113
+ `index.exclude_files` in `.codexa/config.json`.
114
+
115
+ Typical `.codexaignore` example:
116
+
117
+ ```text
118
+ .env*
119
+ secrets/*.json
120
+ config/local-*.yml
121
+ vendor/*
122
+ ```
123
+
124
+ The default embedding model is small, but the PyTorch backend still needs about
125
+ 2 GB of available RAM. On lower-memory machines, prefer the ONNX backend.
137
126
 
138
127
  ### 4. Semantic Search
139
128
 
@@ -251,7 +240,7 @@ cd CodexA
251
240
  pip install -e ".[dev]"
252
241
 
253
242
  # Verify
254
- codexa --version # → codexa, version 0.4.0
243
+ codexa --version # → codexa, version 0.5.0
255
244
  ```
256
245
 
257
246
  ### Step 2 — Initialize your target project
@@ -493,7 +482,7 @@ CodexA provides **39 commands** (plus subcommands) organized by capability:
493
482
  | `codexa plugin list\|scaffold\|discover` | Plugin management |
494
483
  | `codexa tui` | Interactive terminal REPL |
495
484
  | `codexa mcp` | Start MCP (Model Context Protocol) server |
496
- | `codexa models list\|info\|download\|switch` | Manage embedding models |
485
+ | `codexa models list\|info\|download\|switch\|profiles\|benchmark` | Manage and benchmark embedding models |
497
486
 
498
487
  ### VS Code Extension
499
488
 
@@ -550,8 +539,13 @@ Additional tools can be registered via the plugin system using the
550
539
  │ /tools/invoke · /tools/list · /request · SSE stream │
551
540
  ├──────────────┬──────────────┬───────────────────────┤
552
541
  │ Parsing │ Embedding │ Search │
553
- │ tree-sitter │ sent-trans │ FAISS
542
+ │ tree-sitter │ sent-trans │ FAISS / Rust HNSW
554
543
  ├──────────────┼──────────────┴───────────────────────┤
544
+ │ Rust Engine │ codexa-core (PyO3) │
545
+ │ (optional) │ HNSW · BM25 · AST chunk · mmap · RRF│
546
+ ├──────────────┼──────────────────────────────────────┤
547
+ │ RAG Pipeline │ Retrieve → Dedup → Re-rank → Assemble│
548
+ ├──────────────┼──────────────────────────────────────┤
555
549
  │ Evolution │ Self-improving dev loop │
556
550
  │ engine │ budget · task · patch · test · commit│
557
551
  ├──────────────┴──────────────────────────────────────┤
@@ -592,6 +586,9 @@ After `codexa init`, your project has `.codexa/config.json`:
592
586
  }
593
587
  ```
594
588
 
589
+ > **Tip:** Instead of editing `model_name` manually, use `codexa init --profile fast|balanced|precise`
590
+ > or run `codexa models profiles` to see recommended models for your hardware.
591
+
595
592
  ---
596
593
 
597
594
  ## Documentation
@@ -622,7 +619,7 @@ Browse the docs at **http://localhost:5173** after running `npm run docs:dev`.
622
619
  # Install dev dependencies
623
620
  pip install -e ".[dev]"
624
621
 
625
- # Run all 2595 tests
622
+ # Run all 2657 tests
626
623
  pytest
627
624
 
628
625
  # Run with coverage (gate: 70% minimum)
@@ -641,10 +638,11 @@ codexa --verbose search "query"
641
638
  ## Tech Stack
642
639
 
643
640
  - **Python 3.11+** — No heavy frameworks, stdlib-first design
641
+ - **Rust (codexa-core)** — Native search engine via PyO3 — HNSW (instant-distance), BM25, tree-sitter AST chunking, mmap persistence, parallel scanning (rayon)
644
642
  - **click** — CLI framework
645
643
  - **sentence-transformers** — Embedding generation (`all-MiniLM-L6-v2`)
646
- - **faiss-cpu** — Vector similarity search (O(1) file-level index, batch reconstruction)
647
- - **tree-sitter** — Multi-language code parsing
644
+ - **faiss-cpu** — Vector similarity search (with Rust HNSW acceleration)
645
+ - **tree-sitter** — Multi-language code parsing (Python + Rust)
648
646
  - **watchfiles** — Rust-backed native file watching (inotify/FSEvents/ReadDirectoryChanges)
649
647
  - **pydantic** — Configuration & data models
650
648
  - **rich** — Terminal UI and formatting
@@ -1,3 +1,63 @@
1
+ Metadata-Version: 2.4
2
+ Name: codexa
3
+ Version: 0.5.0
4
+ Summary: Developer intelligence CLI — semantic code search, AI-assisted understanding, and agent tooling for codebases
5
+ License: MIT
6
+ Project-URL: Homepage, https://codex-a.dev
7
+ Project-URL: Documentation, https://codex-a.dev
8
+ Project-URL: Repository, https://github.com/M9nx/CodexA
9
+ Project-URL: Issues, https://github.com/M9nx/CodexA/issues
10
+ Project-URL: Changelog, https://github.com/M9nx/CodexA/blob/main/CHANGELOG.md
11
+ Keywords: code-search,semantic-search,developer-tools,code-intelligence,ai-assistant,cli,tree-sitter,faiss,embeddings,mcp
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Topic :: Software Development :: Libraries
22
+ Classifier: Topic :: Software Development :: Quality Assurance
23
+ Classifier: Topic :: Text Processing :: Indexing
24
+ Classifier: Typing :: Typed
25
+ Requires-Python: >=3.11
26
+ Description-Content-Type: text/markdown
27
+ License-File: LICENSE
28
+ Requires-Dist: click>=8.1.0
29
+ Requires-Dist: pydantic>=2.0.0
30
+ Requires-Dist: rich>=13.0.0
31
+ Requires-Dist: numpy>=1.24.0
32
+ Requires-Dist: tree-sitter>=0.21.0
33
+ Requires-Dist: tree-sitter-python>=0.21.0
34
+ Requires-Dist: tree-sitter-javascript>=0.21.0
35
+ Requires-Dist: tree-sitter-typescript>=0.21.0
36
+ Requires-Dist: tree-sitter-java>=0.21.0
37
+ Requires-Dist: tree-sitter-go>=0.21.0
38
+ Requires-Dist: tree-sitter-rust>=0.21.0
39
+ Requires-Dist: tree-sitter-cpp>=0.21.0
40
+ Requires-Dist: tree-sitter-c-sharp>=0.21.0
41
+ Requires-Dist: tree-sitter-ruby>=0.21.0
42
+ Requires-Dist: tree-sitter-php>=0.22.0
43
+ Requires-Dist: radon>=6.0.0
44
+ Requires-Dist: bandit>=1.7.0
45
+ Requires-Dist: mcp>=1.0.0
46
+ Requires-Dist: watchfiles>=1.0.0
47
+ Provides-Extra: ml
48
+ Requires-Dist: sentence-transformers>=2.2.0; extra == "ml"
49
+ Requires-Dist: faiss-cpu>=1.7.4; extra == "ml"
50
+ Provides-Extra: dev
51
+ Requires-Dist: pytest>=7.4.0; extra == "dev"
52
+ Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
53
+ Requires-Dist: sentence-transformers>=2.2.0; extra == "dev"
54
+ Requires-Dist: faiss-cpu>=1.7.4; extra == "dev"
55
+ Provides-Extra: tui
56
+ Requires-Dist: textual>=0.40.0; extra == "tui"
57
+ Provides-Extra: build
58
+ Requires-Dist: pyinstaller>=6.0.0; extra == "build"
59
+ Dynamic: license-file
60
+
1
61
  <p align="center">
2
62
  <strong>CodexA — Developer Intelligence Engine</strong><br>
3
63
  <em>Semantic code search · AI-assisted understanding · Agent tooling protocol</em>
@@ -5,9 +65,11 @@
5
65
 
6
66
  <p align="center">
7
67
  <a href="https://github.com/M9nx/CodexA/actions"><img src="https://github.com/M9nx/CodexA/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
68
+ <a href="https://pypi.org/project/codexa/"><img src="https://img.shields.io/pypi/v/codexa?color=blue&label=PyPI" alt="PyPI"></a>
69
+ <a href="https://pepy.tech/project/codexa"><img src="https://img.shields.io/pepy/dt/codexa?color=blue&label=Downloads" alt="Downloads"></a>
8
70
  <img src="https://img.shields.io/badge/python-3.11%2B-blue" alt="Python 3.11+">
9
- <img src="https://img.shields.io/badge/version-0.4.0-green" alt="Version">
10
- <img src="https://img.shields.io/badge/tests-2595-brightgreen" alt="Tests">
71
+ <img src="https://img.shields.io/badge/version-0.5.0-green" alt="Version">
72
+ <img src="https://img.shields.io/badge/tests-2657-brightgreen" alt="Tests">
11
73
  <img src="https://img.shields.io/badge/coverage-79%25-brightgreen" alt="Coverage">
12
74
  <img src="https://img.shields.io/badge/mypy-strict-blue" alt="mypy strict">
13
75
  <img src="https://img.shields.io/badge/license-MIT-blue" alt="License">
@@ -24,17 +86,22 @@ structured tool protocol that any AI agent can call over HTTP or CLI.
24
86
 
25
87
  | Area | What you get |
26
88
  |------|-------------|
27
- | **Code Indexing** | Scan repos, extract functions/classes, generate vector embeddings (sentence-transformers + FAISS), ONNX runtime option, parallel indexing, `--watch` live re-indexing, `.codexaignore` support |
28
- | **Multi-Mode Search** | Semantic, keyword (BM25), regex, hybrid (RRF), and raw filesystem grep (ripgrep backend) with full `-A/-B/-C/-w/-v/-c` flags |
89
+ | **Code Indexing** | Scan repos, extract functions/classes, generate vector embeddings (sentence-transformers + FAISS), ONNX runtime option, parallel indexing, `--watch` live re-indexing, `.codexaignore` support, `--add`/`--inspect` per-file control, model-consistency guard, Ctrl+C partial-save |
90
+ | **Rust Search Engine** | Native `codexa-core` Rust crate via PyO3 — HNSW approximate nearest-neighbour search, BM25 keyword index, tree-sitter AST chunker (10 languages), memory-mapped vector persistence, parallel file scanner, optional ONNX embedding inference, optional Tantivy full-text search |
91
+ | **Multi-Mode Search** | Semantic, keyword (BM25), regex, hybrid (RRF), and raw filesystem grep (ripgrep backend) with full `-A/-B/-C/-w/-v/-c/-l/-L/--exclude/--no-ignore` flags, `--hybrid`/`--sem` shorthands, `--scores`, `--snippet-length`, `--no-snippet`, JSONL streaming |
92
+ | **RAG Pipeline** | 4-stage Retrieval-Augmented Generation — Retrieve → Deduplicate → Re-rank → Assemble with token budget, cross-encoder re-ranking, source citations |
29
93
  | **Code Context** | Rich context windows — imports, dependencies, AST-based call graphs, surrounding code |
30
94
  | **Repository Analysis** | Language breakdown (`codexa languages`), module summaries, component detection |
31
- | **AI Agent Protocol** | 13 built-in tools exposed via HTTP bridge, MCP server (13 tools), MCP-over-SSE (`--mcp`), or CLI for any AI agent to invoke |
95
+ | **AI Agent Protocol** | 13 built-in tools exposed via HTTP bridge, MCP server (13 tools with pagination/cursors), MCP-over-SSE (`--mcp`), `codexa --serve` shorthand, Claude Desktop auto-config (`--claude-config`), or CLI for any AI agent to invoke |
32
96
  | **Quality & Metrics** | Complexity analysis, maintainability scoring, quality gates for CI |
33
97
  | **Multi-Repo Workspaces** | Link multiple repos under one workspace for cross-repo search & refactoring |
34
98
  | **Interactive TUI** | Terminal REPL with mode switching for interactive exploration |
35
99
  | **Streaming Responses** | Token-by-token streaming for chat and investigation commands |
36
100
  | **Plugin System** | 22 hooks for extending every layer — from indexing to tool invocation |
37
101
  | **VS Code Extension** | 4-panel sidebar (Search, Symbols, Quality, Tools), 8 commands, CodeLens, context menus, status bar |
102
+ | **Editor Plugins** | Zed, JetBrains (IntelliJ/PyCharm), Neovim (telescope.nvim), Vim, Sublime Text, Emacs, Helix, Eclipse -- all sharing the same MCP/bridge protocol |
103
+ | **Cross-Language Intelligence** | FFI pattern detection, polyglot dependency graphs, language-aware search boosting, universal multi-language call graph |
104
+ | **Multi-Agent Sessions** | Concurrent AI agent sessions with shared discovery, semantic diff (rename/move/signature/body detection), RAG code generation |
38
105
 
39
106
  ---
40
107
 
@@ -46,6 +113,12 @@ structured tool protocol that any AI agent can call over HTTP or CLI.
46
113
  pip install codexa
47
114
  ```
48
115
 
116
+ For semantic indexing and vector search, install the ML extras:
117
+
118
+ ```bash
119
+ pip install "codexa[ml]"
120
+ ```
121
+
49
122
  Or install from source:
50
123
 
51
124
  ```bash
@@ -74,6 +147,15 @@ cd /path/to/your-project
74
147
  codexa init
75
148
  ```
76
149
 
150
+ CodexA auto-detects your available RAM and picks the best embedding model.
151
+ Or choose a model profile explicitly:
152
+
153
+ ```bash
154
+ codexa init --profile fast # mxbai-embed-xsmall — low RAM (<1 GB)
155
+ codexa init --profile balanced # MiniLM — good balance (~2 GB)
156
+ codexa init --profile precise # jina-code — best quality (~4 GB)
157
+ ```
158
+
77
159
  This creates a `.codexa/` directory with configuration, index storage, and session data.
78
160
 
79
161
  ### 3. Index the Codebase
@@ -84,6 +166,23 @@ codexa index .
84
166
 
85
167
  This parses all source files (Python, JS/TS, Java, Go, Rust, C#, Ruby, C++),
86
168
  extracts symbols, generates embeddings, and stores them in a local FAISS index.
169
+ Semantic indexing requires `codexa[ml]`.
170
+
171
+ If you need to keep secrets, generated files, or local config files out of the
172
+ index, add patterns to `.codexaignore` at the project root or configure
173
+ `index.exclude_files` in `.codexa/config.json`.
174
+
175
+ Typical `.codexaignore` example:
176
+
177
+ ```text
178
+ .env*
179
+ secrets/*.json
180
+ config/local-*.yml
181
+ vendor/*
182
+ ```
183
+
184
+ The default embedding model is small, but the PyTorch backend still needs about
185
+ 2 GB of available RAM. On lower-memory machines, prefer the ONNX backend.
87
186
 
88
187
  ### 4. Semantic Search
89
188
 
@@ -201,7 +300,7 @@ cd CodexA
201
300
  pip install -e ".[dev]"
202
301
 
203
302
  # Verify
204
- codexa --version # → codexa, version 0.4.0
303
+ codexa --version # → codexa, version 0.5.0
205
304
  ```
206
305
 
207
306
  ### Step 2 — Initialize your target project
@@ -443,7 +542,7 @@ CodexA provides **39 commands** (plus subcommands) organized by capability:
443
542
  | `codexa plugin list\|scaffold\|discover` | Plugin management |
444
543
  | `codexa tui` | Interactive terminal REPL |
445
544
  | `codexa mcp` | Start MCP (Model Context Protocol) server |
446
- | `codexa models list\|info\|download\|switch` | Manage embedding models |
545
+ | `codexa models list\|info\|download\|switch\|profiles\|benchmark` | Manage and benchmark embedding models |
447
546
 
448
547
  ### VS Code Extension
449
548
 
@@ -500,8 +599,13 @@ Additional tools can be registered via the plugin system using the
500
599
  │ /tools/invoke · /tools/list · /request · SSE stream │
501
600
  ├──────────────┬──────────────┬───────────────────────┤
502
601
  │ Parsing │ Embedding │ Search │
503
- │ tree-sitter │ sent-trans │ FAISS
602
+ │ tree-sitter │ sent-trans │ FAISS / Rust HNSW
504
603
  ├──────────────┼──────────────┴───────────────────────┤
604
+ │ Rust Engine │ codexa-core (PyO3) │
605
+ │ (optional) │ HNSW · BM25 · AST chunk · mmap · RRF│
606
+ ├──────────────┼──────────────────────────────────────┤
607
+ │ RAG Pipeline │ Retrieve → Dedup → Re-rank → Assemble│
608
+ ├──────────────┼──────────────────────────────────────┤
505
609
  │ Evolution │ Self-improving dev loop │
506
610
  │ engine │ budget · task · patch · test · commit│
507
611
  ├──────────────┴──────────────────────────────────────┤
@@ -542,6 +646,9 @@ After `codexa init`, your project has `.codexa/config.json`:
542
646
  }
543
647
  ```
544
648
 
649
+ > **Tip:** Instead of editing `model_name` manually, use `codexa init --profile fast|balanced|precise`
650
+ > or run `codexa models profiles` to see recommended models for your hardware.
651
+
545
652
  ---
546
653
 
547
654
  ## Documentation
@@ -572,7 +679,7 @@ Browse the docs at **http://localhost:5173** after running `npm run docs:dev`.
572
679
  # Install dev dependencies
573
680
  pip install -e ".[dev]"
574
681
 
575
- # Run all 2595 tests
682
+ # Run all 2657 tests
576
683
  pytest
577
684
 
578
685
  # Run with coverage (gate: 70% minimum)
@@ -591,10 +698,11 @@ codexa --verbose search "query"
591
698
  ## Tech Stack
592
699
 
593
700
  - **Python 3.11+** — No heavy frameworks, stdlib-first design
701
+ - **Rust (codexa-core)** — Native search engine via PyO3 — HNSW (instant-distance), BM25, tree-sitter AST chunking, mmap persistence, parallel scanning (rayon)
594
702
  - **click** — CLI framework
595
703
  - **sentence-transformers** — Embedding generation (`all-MiniLM-L6-v2`)
596
- - **faiss-cpu** — Vector similarity search (O(1) file-level index, batch reconstruction)
597
- - **tree-sitter** — Multi-language code parsing
704
+ - **faiss-cpu** — Vector similarity search (with Rust HNSW acceleration)
705
+ - **tree-sitter** — Multi-language code parsing (Python + Rust)
598
706
  - **watchfiles** — Rust-backed native file watching (inotify/FSEvents/ReadDirectoryChanges)
599
707
  - **pydantic** — Configuration & data models
600
708
  - **rich** — Terminal UI and formatting
@@ -8,9 +8,13 @@ codexa.egg-info/entry_points.txt
8
8
  codexa.egg-info/requires.txt
9
9
  codexa.egg-info/top_level.txt
10
10
  semantic_code_intelligence/__init__.py
11
+ semantic_code_intelligence/rust_backend.py
11
12
  semantic_code_intelligence/version.py
12
13
  semantic_code_intelligence/analysis/__init__.py
13
14
  semantic_code_intelligence/analysis/ai_features.py
15
+ semantic_code_intelligence/analysis/codegen.py
16
+ semantic_code_intelligence/analysis/cross_language.py
17
+ semantic_code_intelligence/analysis/semantic_diff.py
14
18
  semantic_code_intelligence/bridge/__init__.py
15
19
  semantic_code_intelligence/bridge/context_provider.py
16
20
  semantic_code_intelligence/bridge/protocol.py
@@ -103,12 +107,14 @@ semantic_code_intelligence/llm/mock_provider.py
103
107
  semantic_code_intelligence/llm/ollama_provider.py
104
108
  semantic_code_intelligence/llm/openai_provider.py
105
109
  semantic_code_intelligence/llm/provider.py
110
+ semantic_code_intelligence/llm/rag.py
106
111
  semantic_code_intelligence/llm/rate_limiter.py
107
112
  semantic_code_intelligence/llm/reasoning.py
108
113
  semantic_code_intelligence/llm/safety.py
109
114
  semantic_code_intelligence/llm/streaming.py
110
115
  semantic_code_intelligence/lsp/__init__.py
111
116
  semantic_code_intelligence/mcp/__init__.py
117
+ semantic_code_intelligence/mcp/claude_config.py
112
118
  semantic_code_intelligence/parsing/__init__.py
113
119
  semantic_code_intelligence/parsing/parser.py
114
120
  semantic_code_intelligence/plugins/__init__.py
@@ -125,6 +131,7 @@ semantic_code_intelligence/search/section_expander.py
125
131
  semantic_code_intelligence/services/__init__.py
126
132
  semantic_code_intelligence/services/indexing_service.py
127
133
  semantic_code_intelligence/services/search_service.py
134
+ semantic_code_intelligence/sessions/__init__.py
128
135
  semantic_code_intelligence/storage/__init__.py
129
136
  semantic_code_intelligence/storage/chunk_hash_store.py
130
137
  semantic_code_intelligence/storage/hash_store.py
@@ -166,6 +173,7 @@ semantic_code_intelligence/tests/test_phase24.py
166
173
  semantic_code_intelligence/tests/test_phase25.py
167
174
  semantic_code_intelligence/tests/test_phase26.py
168
175
  semantic_code_intelligence/tests/test_phase27.py
176
+ semantic_code_intelligence/tests/test_phase38_42.py
169
177
  semantic_code_intelligence/tests/test_phase8.py
170
178
  semantic_code_intelligence/tests/test_phase9.py
171
179
  semantic_code_intelligence/tests/test_plugins.py