codegraphcontext 0.4.5__tar.gz → 0.4.7__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 (162) hide show
  1. {codegraphcontext-0.4.5/src/codegraphcontext.egg-info → codegraphcontext-0.4.7}/PKG-INFO +61 -34
  2. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/README.md +57 -30
  3. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/pyproject.toml +4 -4
  4. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/cli/cli_helpers.py +38 -6
  5. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/cli/config_manager.py +72 -3
  6. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/cli/main.py +308 -37
  7. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/cli/setup_wizard.py +124 -16
  8. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/core/__init__.py +25 -3
  9. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/core/cgc_bundle.py +3 -8
  10. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/core/database.py +117 -44
  11. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/core/database_falkordb.py +64 -19
  12. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/core/database_kuzu.py +329 -27
  13. codegraphcontext-0.4.7/src/codegraphcontext/core/database_nornic.py +204 -0
  14. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/core/watcher.py +42 -0
  15. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/server.py +146 -3
  16. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tool_definitions.py +59 -0
  17. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/code_finder.py +86 -66
  18. codegraphcontext-0.4.7/src/codegraphcontext/tools/datasources/__init__.py +1 -0
  19. codegraphcontext-0.4.7/src/codegraphcontext/tools/datasources/cassandra_ingester.py +99 -0
  20. codegraphcontext-0.4.7/src/codegraphcontext/tools/datasources/mysql_ingester.py +120 -0
  21. codegraphcontext-0.4.7/src/codegraphcontext/tools/datasources/redis_ingester.py +122 -0
  22. codegraphcontext-0.4.7/src/codegraphcontext/tools/graph_builder.py +1055 -0
  23. codegraphcontext-0.4.7/src/codegraphcontext/tools/handlers/analysis_handlers.py +324 -0
  24. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/handlers/indexing_handlers.py +46 -1
  25. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/handlers/management_handlers.py +14 -3
  26. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/handlers/query_handlers.py +25 -6
  27. codegraphcontext-0.4.7/src/codegraphcontext/tools/indexing/embeddings.py +266 -0
  28. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/indexing/persistence/writer.py +531 -29
  29. codegraphcontext-0.4.7/src/codegraphcontext/tools/indexing/pipeline.py +192 -0
  30. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/indexing/pre_scan.py +12 -2
  31. codegraphcontext-0.4.7/src/codegraphcontext/tools/indexing/resolution/calls.py +323 -0
  32. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/indexing/resolution/inheritance.py +1 -0
  33. codegraphcontext-0.4.7/src/codegraphcontext/tools/indexing/resolution/post_resolution.py +205 -0
  34. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/indexing/schema.py +3 -3
  35. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/indexing/schema_contract.py +24 -0
  36. codegraphcontext-0.4.7/src/codegraphcontext/tools/indexing/vector_resolver.py +137 -0
  37. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/csharp.py +5 -0
  38. codegraphcontext-0.4.7/src/codegraphcontext/tools/languages/css.py +84 -0
  39. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/go.py +6 -5
  40. codegraphcontext-0.4.7/src/codegraphcontext/tools/languages/gradle.py +115 -0
  41. codegraphcontext-0.4.7/src/codegraphcontext/tools/languages/html.py +123 -0
  42. codegraphcontext-0.4.7/src/codegraphcontext/tools/languages/java.py +994 -0
  43. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/javascript.py +38 -0
  44. codegraphcontext-0.4.7/src/codegraphcontext/tools/languages/lua.py +410 -0
  45. codegraphcontext-0.4.7/src/codegraphcontext/tools/languages/maven.py +165 -0
  46. codegraphcontext-0.4.7/src/codegraphcontext/tools/languages/mybatis.py +185 -0
  47. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/php.py +26 -18
  48. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/swift.py +51 -4
  49. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/typescript.py +1 -1
  50. codegraphcontext-0.4.7/src/codegraphcontext/tools/query_tool_languages/java_toolkit.py +252 -0
  51. codegraphcontext-0.4.7/src/codegraphcontext/tools/report_generator.py +368 -0
  52. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/scip_indexer.py +158 -28
  53. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/system.py +6 -2
  54. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/tree_sitter_parser.py +12 -0
  55. codegraphcontext-0.4.7/src/codegraphcontext/utils/git_utils.py +25 -0
  56. codegraphcontext-0.4.7/src/codegraphcontext/utils/tool_limits.py +85 -0
  57. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/utils/tree_sitter_manager.py +3 -0
  58. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/server.py +37 -3
  59. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7/src/codegraphcontext.egg-info}/PKG-INFO +61 -34
  60. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext.egg-info/SOURCES.txt +19 -1
  61. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext.egg-info/requires.txt +3 -3
  62. codegraphcontext-0.4.7/tests/test_issue_806_fix.py +554 -0
  63. codegraphcontext-0.4.5/src/codegraphcontext/tools/graph_builder.py +0 -320
  64. codegraphcontext-0.4.5/src/codegraphcontext/tools/handlers/analysis_handlers.py +0 -114
  65. codegraphcontext-0.4.5/src/codegraphcontext/tools/indexing/pipeline.py +0 -89
  66. codegraphcontext-0.4.5/src/codegraphcontext/tools/indexing/resolution/calls.py +0 -213
  67. codegraphcontext-0.4.5/src/codegraphcontext/tools/languages/java.py +0 -471
  68. codegraphcontext-0.4.5/src/codegraphcontext/tools/query_tool_languages/java_toolkit.py +0 -5
  69. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/LICENSE +0 -0
  70. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/MANIFEST.in +0 -0
  71. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/setup.cfg +0 -0
  72. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/__init__.py +0 -0
  73. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/__main__.py +0 -0
  74. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/cli/__init__.py +0 -0
  75. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/cli/registry_commands.py +0 -0
  76. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/cli/setup_macos.py +0 -0
  77. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/cli/visualizer.py +0 -0
  78. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/core/bundle_registry.py +0 -0
  79. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/core/cgcignore.py +0 -0
  80. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/core/database_falkordb_remote.py +0 -0
  81. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/core/falkor_worker.py +0 -0
  82. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/core/jobs.py +0 -0
  83. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/prompts.py +0 -0
  84. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/__init__.py +0 -0
  85. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/advanced_language_query_tool.py +0 -0
  86. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/handlers/watcher_handlers.py +0 -0
  87. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/indexing/__init__.py +0 -0
  88. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/indexing/constants.py +0 -0
  89. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/indexing/discovery.py +0 -0
  90. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/indexing/persistence/__init__.py +0 -0
  91. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/indexing/resolution/__init__.py +0 -0
  92. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/indexing/sanitize.py +0 -0
  93. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/indexing/scip_pipeline.py +0 -0
  94. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/c.py +0 -0
  95. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/cpp.py +0 -0
  96. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/dart.py +0 -0
  97. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/elixir.py +0 -0
  98. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/haskell.py +0 -0
  99. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/kotlin.py +0 -0
  100. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/perl.py +0 -0
  101. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/python.py +0 -0
  102. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/ruby.py +0 -0
  103. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/rust.py +0 -0
  104. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/scala.py +0 -0
  105. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/languages/typescriptjsx.py +0 -0
  106. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/package_resolver.py +0 -0
  107. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/query_tool_languages/c_toolkit.py +0 -0
  108. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/query_tool_languages/cpp_toolkit.py +0 -0
  109. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/query_tool_languages/csharp_toolkit.py +0 -0
  110. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/query_tool_languages/dart_toolkit.py +0 -0
  111. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/query_tool_languages/go_toolkit.py +0 -0
  112. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/query_tool_languages/haskell_toolkit.py +0 -0
  113. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/query_tool_languages/javascript_toolkit.py +0 -0
  114. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/query_tool_languages/perl_toolkit.py +0 -0
  115. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/query_tool_languages/python_toolkit.py +0 -0
  116. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/query_tool_languages/ruby_toolkit.py +0 -0
  117. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/query_tool_languages/rust_toolkit.py +0 -0
  118. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/query_tool_languages/scala_toolkit.py +0 -0
  119. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/query_tool_languages/swift_toolkit.py +0 -0
  120. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/query_tool_languages/typescript_toolkit.py +0 -0
  121. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/tools/scip_pb2.py +0 -0
  122. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/utils/debug_log.py +0 -0
  123. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/utils/path_ignore.py +0 -0
  124. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/utils/repo_path.py +0 -0
  125. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/utils/visualize_graph.py +0 -0
  126. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/assets/__vite-browser-external-9wXp6ZBx.js +0 -0
  127. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/assets/function-calls-BtRHrqa2.png +0 -0
  128. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/assets/graph-total-D1fBAugo.png +0 -0
  129. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/assets/hero-graph-2voMJp2a.jpg +0 -0
  130. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/assets/hierarchy-DGADo0YT.png +0 -0
  131. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/assets/index-BJT3EMmQ.js +0 -0
  132. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/assets/index-DjDPHWki.css +0 -0
  133. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/assets/parser.worker-CZgm11E5.js +0 -0
  134. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/assets/tree-sitter-qKYAACSa.wasm +0 -0
  135. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/favicon.ico +0 -0
  136. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/index.html +0 -0
  137. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/placeholder.svg +0 -0
  138. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/preview-image.png +0 -0
  139. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/robots.txt +0 -0
  140. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-c.wasm +0 -0
  141. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-c_sharp.wasm +0 -0
  142. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-core.js +0 -0
  143. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-cpp.wasm +0 -0
  144. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-dart.wasm +0 -0
  145. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-go.wasm +0 -0
  146. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-java.wasm +0 -0
  147. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-javascript.wasm +0 -0
  148. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-kotlin.wasm +0 -0
  149. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-perl.wasm +0 -0
  150. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-php.wasm +0 -0
  151. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-python.wasm +0 -0
  152. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-ruby.wasm +0 -0
  153. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-rust.wasm +0 -0
  154. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-swift.wasm +0 -0
  155. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-tsx.wasm +0 -0
  156. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter-typescript.wasm +0 -0
  157. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/tree-sitter.wasm +0 -0
  158. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/web-tree-sitter.js +0 -0
  159. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext/viz/dist/wasm/web-tree-sitter.wasm +0 -0
  160. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext.egg-info/dependency_links.txt +0 -0
  161. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext.egg-info/entry_points.txt +0 -0
  162. {codegraphcontext-0.4.5 → codegraphcontext-0.4.7}/src/codegraphcontext.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codegraphcontext
3
- Version: 0.4.5
3
+ Version: 0.4.7
4
4
  Summary: An MCP server that indexes local code into a graph database to provide context to AI assistants.
5
5
  Author-email: Shashank Shekhar Singh <shashankshekharsingh1205@gmail.com>
6
6
  License: MIT License
@@ -44,7 +44,7 @@ Requires-Dist: rich>=13.7.0
44
44
  Requires-Dist: inquirerpy>=0.3.4
45
45
  Requires-Dist: python-dotenv>=1.0.0
46
46
  Requires-Dist: tree-sitter>=0.21.0; python_version != "3.13"
47
- Requires-Dist: tree-sitter-language-pack>=0.6.0; python_version != "3.13"
47
+ Requires-Dist: tree-sitter-language-pack!=1.6.3,>=0.6.0; python_version != "3.13"
48
48
  Requires-Dist: tree-sitter-c-sharp>=0.21.0; python_version != "3.13"
49
49
  Requires-Dist: pyyaml
50
50
  Requires-Dist: nbformat
@@ -54,12 +54,12 @@ Requires-Dist: falkordb>=0.1.0
54
54
  Requires-Dist: requests>=2.28.0
55
55
  Requires-Dist: protobuf<3.21,>=3.20
56
56
  Requires-Dist: falkordblite>=0.1.0; sys_platform != "win32" and python_version >= "3.12"
57
- Requires-Dist: real_ladybug; sys_platform == "win32" or (sys_platform != "win32" and python_version >= "3.10")
57
+ Requires-Dist: kuzu; sys_platform == "win32" or (sys_platform != "win32" and python_version >= "3.10")
58
58
  Requires-Dist: fastapi>=0.100.0
59
59
  Requires-Dist: uvicorn>=0.22.0
60
60
  Provides-Extra: parsing
61
61
  Requires-Dist: tree-sitter>=0.21.0; python_version != "3.13" and extra == "parsing"
62
- Requires-Dist: tree-sitter-language-pack>=0.6.0; python_version != "3.13" and extra == "parsing"
62
+ Requires-Dist: tree-sitter-language-pack!=1.6.3,>=0.6.0; python_version != "3.13" and extra == "parsing"
63
63
  Requires-Dist: tree-sitter-c-sharp>=0.21.0; python_version != "3.13" and extra == "parsing"
64
64
  Provides-Extra: dev
65
65
  Requires-Dist: pytest>=7.4.0; extra == "dev"
@@ -166,7 +166,7 @@ A powerful **MCP server** and **CLI toolkit** that indexes local code into a gra
166
166
  ---
167
167
 
168
168
  ## Project Details
169
- - **Version:** 0.4.5
169
+ - **Version:** 0.4.7
170
170
  - **Authors:** Shashank Shekhar Singh <shashankshekharsingh1205@gmail.com>
171
171
  - **License:** MIT License (See [LICENSE](LICENSE) for details)
172
172
  - **Website:** [CodeGraphContext](http://codegraphcontext.vercel.app/)
@@ -195,11 +195,12 @@ A powerful **MCP server** and **CLI toolkit** that indexes local code into a gra
195
195
  - **Code Indexing:** Analyzes code and builds a knowledge graph of its components.
196
196
  - **Relationship Analysis:** Query for callers, callees, class hierarchies, call chains and more.
197
197
  - **Pre-indexed Bundles:** Load famous repositories instantly with `.cgc` bundles - no indexing required! ([Learn more](docs/BUNDLES.md))
198
- - **Live File Watching:** Watch directories for changes and automatically update the graph in real-time (`cgc watch`).
198
+ - **Live File Watching:** Watch directories for changes and automatically update the graph in real-time (`codegraphcontext watch`).
199
199
  - **Interactive Setup:** A user-friendly command-line wizard for easy setup.
200
200
  - **Dual Mode:** Works as a standalone **CLI toolkit** for developers and as an **MCP server** for AI agents.
201
- - **Multi-Language Support:** Full support for 14 programming languages.
202
- - **Flexible Database Backend:** KùzuDB (default on Windows), FalkorDB Lite (typical embedded default on Unix when installed), FalkorDB Remote, or Neo4j (all platforms via Docker/native).
201
+ - **Multi-Language Support:** Full support for 15 programming languages.
202
+ - **Flexible Database Backend:** LadybugDB (Default), FalkorDB Lite (Typical Unix default), FalkorDB Remote, Nornic DB, or Neo4j (all platforms via Docker/native).
203
+
203
204
 
204
205
  ---
205
206
 
@@ -213,7 +214,7 @@ CodeGraphContext provides comprehensive parsing and analysis for the following l
213
214
  | ☕ | **Java** | 🏗️ | **C / C++** | #️⃣ | **C#** |
214
215
  | 🐹 | **Go** | 🦀 | **Rust** | 💎 | **Ruby** |
215
216
  | 🐘 | **PHP** | 🍎 | **Swift** | 🎨 | **Kotlin** |
216
- | 🎯 | **Dart** | 🐪 | **Perl** | | |
217
+ | 🎯 | **Dart** | 🐪 | **Perl** | 🌙 | **Lua** |
217
218
 
218
219
  Each language parser extracts functions, classes, methods, parameters, inheritance relationships, function calls, and imports to build a comprehensive code graph.
219
220
 
@@ -223,13 +224,13 @@ Each language parser extracts functions, classes, methods, parameters, inheritan
223
224
 
224
225
  CodeGraphContext supports multiple graph database backends to suit your environment:
225
226
 
226
- | Feature | KùzuDB | FalkorDB Lite | Neo4j |
227
+ | Feature | LadybugDB | FalkorDB Lite | Neo4j / Nornic DB |
227
228
  | :--- | :--- | :--- | :--- |
228
- | **Typical default** | **Windows** (embedded, when `kuzu` is installed) | **Unix** (Python 3.12+, when `falkordblite` works) | When explicitly configured |
229
+ | **Typical default** | **Standard Default** (embedded, when `real_ladybug` is installed) | **Unix** (Python 3.12+, when `falkordblite` works) | When explicitly configured |
229
230
  | **Setup** | Zero-config / Embedded | Zero-config / In-process | Docker / External |
230
231
  | **Platform** | **All (Windows Native, macOS, Linux)** | Unix-only (Linux/macOS/WSL) | All Platforms |
231
232
  | **Use Case** | Desktop, IDE, Local development | Specialized Unix development | Enterprise, Massive graphs |
232
- | **Requirement**| `pip install real_ladybug` | `pip install falkordblite` | Neo4j Server / Docker |
233
+ | **Requirement**| `pip install real_ladybug` | `pip install falkordblite` | Neo4j Server / Docker / Nornic Cloud |
233
234
  | **Speed** | ⚡ Extremely Fast | ⚡ Fast | 🚀 Scalable |
234
235
  | **Persistence**| Yes (to disk) | Yes (to disk) | Yes (to disk) |
235
236
 
@@ -274,7 +275,7 @@ _If you’re using CodeGraphContext in your project, feel free to open a PR and
274
275
  pip install codegraphcontext
275
276
  ```
276
277
 
277
- ### If 'cgc' command isn't found, run our one-line fix:
278
+ ### If 'codegraphcontext' command isn't found, run our one-line fix:
278
279
  ```
279
280
  curl -sSL https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh | bash
280
281
  ```
@@ -306,9 +307,9 @@ Use CodeGraphContext as an **MCP server** for AI assistants:
306
307
 
307
308
  1. **Install:** `pip install codegraphcontext`
308
309
  <details>
309
- <summary>⚙️ Troubleshooting: In case, command <code>cgc</code> not found</summary>
310
-
311
- If you encounter <i>"cgc: command not found"</i> after installation, run the PATH fix script:
310
+ <summary>⚙️ Troubleshooting: In case, command <code>codegraphcontext</code> not found</summary>
311
+ <br>
312
+ If you encounter <i>"codegraphcontext: command not found"</i> after installation, run the PATH fix script:
312
313
 
313
314
  **Linux/Mac:**
314
315
  ```bash
@@ -340,9 +341,9 @@ Use CodeGraphContext as an **MCP server** for AI assistants:
340
341
 
341
342
  2. **Database Setup (Automatic)**
342
343
 
343
- - **KùzuDB (default on Windows):** Runs natively on Windows, macOS, and Linux. On Windows it is the usual embedded choice; `pip install real_ladybug` if needed.
344
- - **FalkorDB Lite (typical default on Unix):** When Python 3.12+ and `falkordblite` are available on Unix/macOS/WSL, the embedded backend prefers FalkorDB Lite; otherwise KùzuDB is used.
345
- - **Neo4j (Alternative):** To use Neo4j instead, or if you prefer a server-based approach, run: `cgc neo4j setup`
344
+ - **LadybugDB (Default):** Runs natively on Windows, macOS, and Linux. It is the primary embedded choice; `pip install real_ladybug` if needed.
345
+ - **FalkorDB Lite (High Performance Unix):** When Python 3.12+ and `falkordblite` are available on Unix/macOS/WSL, the embedded backend prefers FalkorDB Lite for speed; otherwise LadybugDB is used.
346
+ - **Neo4j (Alternative):** To use Neo4j instead, or if you prefer a server-based approach, run: `codegraphcontext neo4j setup`
346
347
 
347
348
  ---
348
349
 
@@ -351,25 +352,25 @@ Use CodeGraphContext as an **MCP server** for AI assistants:
351
352
  **Start using immediately with CLI commands:**
352
353
  ```bash
353
354
  # Index your current directory
354
- cgc index .
355
+ codegraphcontext index .
355
356
 
356
357
  # List all indexed repositories
357
- cgc list
358
+ codegraphcontext list
358
359
 
359
360
  # Analyze who calls a function
360
- cgc analyze callers my_function
361
+ codegraphcontext analyze callers my_function
361
362
 
362
363
  # Find complex code
363
- cgc analyze complexity --threshold 10
364
+ codegraphcontext analyze complexity --threshold 10
364
365
 
365
366
  # Find dead code
366
- cgc analyze dead-code
367
+ codegraphcontext analyze dead-code
367
368
 
368
369
  # Watch for live changes (optional)
369
- cgc watch .
370
+ codegraphcontext watch .
370
371
 
371
372
  # See all commands
372
- cgc help
373
+ codegraphcontext help
373
374
  ```
374
375
 
375
376
  **See the full [CLI Commands Guide](docs/CLI_COMPLETE_REFERENCE.md) for all available commands and usage scenarios.**
@@ -385,13 +386,13 @@ CodeGraphContext can generate stunning, interactive knowledge graphs of your cod
385
386
 
386
387
  ```bash
387
388
  # Visualize function calls
388
- cgc analyze calls my_function --viz
389
+ codegraphcontext analyze calls my_function --viz
389
390
 
390
391
  # Explore class hierarchies
391
- cgc analyze tree MyClass --viz
392
+ codegraphcontext analyze tree MyClass --viz
392
393
 
393
394
  # Visualize search results
394
- cgc find pattern "Auth" --viz
395
+ codegraphcontext find pattern "Auth" --viz
395
396
  ```
396
397
 
397
398
 
@@ -403,7 +404,7 @@ cgc find pattern "Auth" --viz
403
404
  1. **Setup:** Run the MCP setup wizard to configure your IDE/AI assistant:
404
405
 
405
406
  ```bash
406
- cgc mcp setup
407
+ codegraphcontext mcp setup
407
408
  ```
408
409
 
409
410
  The wizard can automatically detect and configure:
@@ -418,14 +419,14 @@ cgc find pattern "Auth" --viz
418
419
  * Amazon Q Developer
419
420
  * Kiro
420
421
 
421
- Upon successful configuration, `cgc mcp setup` will generate and place the necessary configuration files:
422
+ Upon successful configuration, `codegraphcontext mcp setup` will generate and place the necessary configuration files:
422
423
  * It creates an `mcp.json` file in your current directory for reference.
423
424
  * It stores your database credentials securely in `~/.codegraphcontext/.env`.
424
425
  * It updates the settings file of your chosen IDE/CLI (e.g., `.claude.json` or VS Code's `settings.json`).
425
426
 
426
427
  2. **Start:** Launch the MCP server:
427
428
  ```bash
428
- cgc mcp start
429
+ codegraphcontext mcp start
429
430
  ```
430
431
 
431
432
  3. **Use:** Now interact with your codebase through your AI assistant using natural language! See examples below.
@@ -454,7 +455,7 @@ You can tell CodeGraphContext to ignore specific files and directories by creati
454
455
 
455
456
  ## MCP Client Configuration
456
457
 
457
- The `cgc mcp setup` command attempts to automatically configure your IDE/CLI. If you choose not to use the automatic setup, or if your tool is not supported, you can configure it manually.
458
+ The `codegraphcontext mcp setup` command attempts to automatically configure your IDE/CLI. If you choose not to use the automatic setup, or if your tool is not supported, you can configure it manually.
458
459
 
459
460
  Add the following server configuration to your client's settings file (e.g., VS Code's `settings.json` or `.claude.json`):
460
461
 
@@ -462,8 +463,34 @@ Add the following server configuration to your client's settings file (e.g., VS
462
463
  {
463
464
  "mcpServers": {
464
465
  "CodeGraphContext": {
465
- "command": "cgc",
466
+ "command": "codegraphcontext",
467
+ "args": [
468
+ "mcp",
469
+ "start"
470
+ ],
471
+ "env": {
472
+ "NEO4J_URI": "YOUR_NEO4J_URI",
473
+ "NEO4J_USERNAME": "YOUR_NEO4J_USERNAME",
474
+ "NEO4J_PASSWORD": "YOUR_NEO4J_PASSWORD"
475
+ },
476
+ "disabled": false,
477
+ "alwaysAllow": []
478
+ }
479
+ }
480
+ }
481
+ ```
482
+
483
+ #### If installed via pipx
484
+
485
+ If you installed CodeGraphContext using `pipx`, use the following configuration instead:
486
+ ```json
487
+ {
488
+ "mcpServers": {
489
+ "CodeGraphContext": {
490
+ "command": "pipx",
466
491
  "args": [
492
+ "run",
493
+ "codegraphcontext",
467
494
  "mcp",
468
495
  "start"
469
496
  ],
@@ -97,7 +97,7 @@ A powerful **MCP server** and **CLI toolkit** that indexes local code into a gra
97
97
  ---
98
98
 
99
99
  ## Project Details
100
- - **Version:** 0.4.5
100
+ - **Version:** 0.4.7
101
101
  - **Authors:** Shashank Shekhar Singh <shashankshekharsingh1205@gmail.com>
102
102
  - **License:** MIT License (See [LICENSE](LICENSE) for details)
103
103
  - **Website:** [CodeGraphContext](http://codegraphcontext.vercel.app/)
@@ -126,11 +126,12 @@ A powerful **MCP server** and **CLI toolkit** that indexes local code into a gra
126
126
  - **Code Indexing:** Analyzes code and builds a knowledge graph of its components.
127
127
  - **Relationship Analysis:** Query for callers, callees, class hierarchies, call chains and more.
128
128
  - **Pre-indexed Bundles:** Load famous repositories instantly with `.cgc` bundles - no indexing required! ([Learn more](docs/BUNDLES.md))
129
- - **Live File Watching:** Watch directories for changes and automatically update the graph in real-time (`cgc watch`).
129
+ - **Live File Watching:** Watch directories for changes and automatically update the graph in real-time (`codegraphcontext watch`).
130
130
  - **Interactive Setup:** A user-friendly command-line wizard for easy setup.
131
131
  - **Dual Mode:** Works as a standalone **CLI toolkit** for developers and as an **MCP server** for AI agents.
132
- - **Multi-Language Support:** Full support for 14 programming languages.
133
- - **Flexible Database Backend:** KùzuDB (default on Windows), FalkorDB Lite (typical embedded default on Unix when installed), FalkorDB Remote, or Neo4j (all platforms via Docker/native).
132
+ - **Multi-Language Support:** Full support for 15 programming languages.
133
+ - **Flexible Database Backend:** LadybugDB (Default), FalkorDB Lite (Typical Unix default), FalkorDB Remote, Nornic DB, or Neo4j (all platforms via Docker/native).
134
+
134
135
 
135
136
  ---
136
137
 
@@ -144,7 +145,7 @@ CodeGraphContext provides comprehensive parsing and analysis for the following l
144
145
  | ☕ | **Java** | 🏗️ | **C / C++** | #️⃣ | **C#** |
145
146
  | 🐹 | **Go** | 🦀 | **Rust** | 💎 | **Ruby** |
146
147
  | 🐘 | **PHP** | 🍎 | **Swift** | 🎨 | **Kotlin** |
147
- | 🎯 | **Dart** | 🐪 | **Perl** | | |
148
+ | 🎯 | **Dart** | 🐪 | **Perl** | 🌙 | **Lua** |
148
149
 
149
150
  Each language parser extracts functions, classes, methods, parameters, inheritance relationships, function calls, and imports to build a comprehensive code graph.
150
151
 
@@ -154,13 +155,13 @@ Each language parser extracts functions, classes, methods, parameters, inheritan
154
155
 
155
156
  CodeGraphContext supports multiple graph database backends to suit your environment:
156
157
 
157
- | Feature | KùzuDB | FalkorDB Lite | Neo4j |
158
+ | Feature | LadybugDB | FalkorDB Lite | Neo4j / Nornic DB |
158
159
  | :--- | :--- | :--- | :--- |
159
- | **Typical default** | **Windows** (embedded, when `kuzu` is installed) | **Unix** (Python 3.12+, when `falkordblite` works) | When explicitly configured |
160
+ | **Typical default** | **Standard Default** (embedded, when `real_ladybug` is installed) | **Unix** (Python 3.12+, when `falkordblite` works) | When explicitly configured |
160
161
  | **Setup** | Zero-config / Embedded | Zero-config / In-process | Docker / External |
161
162
  | **Platform** | **All (Windows Native, macOS, Linux)** | Unix-only (Linux/macOS/WSL) | All Platforms |
162
163
  | **Use Case** | Desktop, IDE, Local development | Specialized Unix development | Enterprise, Massive graphs |
163
- | **Requirement**| `pip install real_ladybug` | `pip install falkordblite` | Neo4j Server / Docker |
164
+ | **Requirement**| `pip install real_ladybug` | `pip install falkordblite` | Neo4j Server / Docker / Nornic Cloud |
164
165
  | **Speed** | ⚡ Extremely Fast | ⚡ Fast | 🚀 Scalable |
165
166
  | **Persistence**| Yes (to disk) | Yes (to disk) | Yes (to disk) |
166
167
 
@@ -205,7 +206,7 @@ _If you’re using CodeGraphContext in your project, feel free to open a PR and
205
206
  pip install codegraphcontext
206
207
  ```
207
208
 
208
- ### If 'cgc' command isn't found, run our one-line fix:
209
+ ### If 'codegraphcontext' command isn't found, run our one-line fix:
209
210
  ```
210
211
  curl -sSL https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh | bash
211
212
  ```
@@ -237,9 +238,9 @@ Use CodeGraphContext as an **MCP server** for AI assistants:
237
238
 
238
239
  1. **Install:** `pip install codegraphcontext`
239
240
  <details>
240
- <summary>⚙️ Troubleshooting: In case, command <code>cgc</code> not found</summary>
241
-
242
- If you encounter <i>"cgc: command not found"</i> after installation, run the PATH fix script:
241
+ <summary>⚙️ Troubleshooting: In case, command <code>codegraphcontext</code> not found</summary>
242
+ <br>
243
+ If you encounter <i>"codegraphcontext: command not found"</i> after installation, run the PATH fix script:
243
244
 
244
245
  **Linux/Mac:**
245
246
  ```bash
@@ -271,9 +272,9 @@ Use CodeGraphContext as an **MCP server** for AI assistants:
271
272
 
272
273
  2. **Database Setup (Automatic)**
273
274
 
274
- - **KùzuDB (default on Windows):** Runs natively on Windows, macOS, and Linux. On Windows it is the usual embedded choice; `pip install real_ladybug` if needed.
275
- - **FalkorDB Lite (typical default on Unix):** When Python 3.12+ and `falkordblite` are available on Unix/macOS/WSL, the embedded backend prefers FalkorDB Lite; otherwise KùzuDB is used.
276
- - **Neo4j (Alternative):** To use Neo4j instead, or if you prefer a server-based approach, run: `cgc neo4j setup`
275
+ - **LadybugDB (Default):** Runs natively on Windows, macOS, and Linux. It is the primary embedded choice; `pip install real_ladybug` if needed.
276
+ - **FalkorDB Lite (High Performance Unix):** When Python 3.12+ and `falkordblite` are available on Unix/macOS/WSL, the embedded backend prefers FalkorDB Lite for speed; otherwise LadybugDB is used.
277
+ - **Neo4j (Alternative):** To use Neo4j instead, or if you prefer a server-based approach, run: `codegraphcontext neo4j setup`
277
278
 
278
279
  ---
279
280
 
@@ -282,25 +283,25 @@ Use CodeGraphContext as an **MCP server** for AI assistants:
282
283
  **Start using immediately with CLI commands:**
283
284
  ```bash
284
285
  # Index your current directory
285
- cgc index .
286
+ codegraphcontext index .
286
287
 
287
288
  # List all indexed repositories
288
- cgc list
289
+ codegraphcontext list
289
290
 
290
291
  # Analyze who calls a function
291
- cgc analyze callers my_function
292
+ codegraphcontext analyze callers my_function
292
293
 
293
294
  # Find complex code
294
- cgc analyze complexity --threshold 10
295
+ codegraphcontext analyze complexity --threshold 10
295
296
 
296
297
  # Find dead code
297
- cgc analyze dead-code
298
+ codegraphcontext analyze dead-code
298
299
 
299
300
  # Watch for live changes (optional)
300
- cgc watch .
301
+ codegraphcontext watch .
301
302
 
302
303
  # See all commands
303
- cgc help
304
+ codegraphcontext help
304
305
  ```
305
306
 
306
307
  **See the full [CLI Commands Guide](docs/CLI_COMPLETE_REFERENCE.md) for all available commands and usage scenarios.**
@@ -316,13 +317,13 @@ CodeGraphContext can generate stunning, interactive knowledge graphs of your cod
316
317
 
317
318
  ```bash
318
319
  # Visualize function calls
319
- cgc analyze calls my_function --viz
320
+ codegraphcontext analyze calls my_function --viz
320
321
 
321
322
  # Explore class hierarchies
322
- cgc analyze tree MyClass --viz
323
+ codegraphcontext analyze tree MyClass --viz
323
324
 
324
325
  # Visualize search results
325
- cgc find pattern "Auth" --viz
326
+ codegraphcontext find pattern "Auth" --viz
326
327
  ```
327
328
 
328
329
 
@@ -334,7 +335,7 @@ cgc find pattern "Auth" --viz
334
335
  1. **Setup:** Run the MCP setup wizard to configure your IDE/AI assistant:
335
336
 
336
337
  ```bash
337
- cgc mcp setup
338
+ codegraphcontext mcp setup
338
339
  ```
339
340
 
340
341
  The wizard can automatically detect and configure:
@@ -349,14 +350,14 @@ cgc find pattern "Auth" --viz
349
350
  * Amazon Q Developer
350
351
  * Kiro
351
352
 
352
- Upon successful configuration, `cgc mcp setup` will generate and place the necessary configuration files:
353
+ Upon successful configuration, `codegraphcontext mcp setup` will generate and place the necessary configuration files:
353
354
  * It creates an `mcp.json` file in your current directory for reference.
354
355
  * It stores your database credentials securely in `~/.codegraphcontext/.env`.
355
356
  * It updates the settings file of your chosen IDE/CLI (e.g., `.claude.json` or VS Code's `settings.json`).
356
357
 
357
358
  2. **Start:** Launch the MCP server:
358
359
  ```bash
359
- cgc mcp start
360
+ codegraphcontext mcp start
360
361
  ```
361
362
 
362
363
  3. **Use:** Now interact with your codebase through your AI assistant using natural language! See examples below.
@@ -385,7 +386,7 @@ You can tell CodeGraphContext to ignore specific files and directories by creati
385
386
 
386
387
  ## MCP Client Configuration
387
388
 
388
- The `cgc mcp setup` command attempts to automatically configure your IDE/CLI. If you choose not to use the automatic setup, or if your tool is not supported, you can configure it manually.
389
+ The `codegraphcontext mcp setup` command attempts to automatically configure your IDE/CLI. If you choose not to use the automatic setup, or if your tool is not supported, you can configure it manually.
389
390
 
390
391
  Add the following server configuration to your client's settings file (e.g., VS Code's `settings.json` or `.claude.json`):
391
392
 
@@ -393,8 +394,34 @@ Add the following server configuration to your client's settings file (e.g., VS
393
394
  {
394
395
  "mcpServers": {
395
396
  "CodeGraphContext": {
396
- "command": "cgc",
397
+ "command": "codegraphcontext",
398
+ "args": [
399
+ "mcp",
400
+ "start"
401
+ ],
402
+ "env": {
403
+ "NEO4J_URI": "YOUR_NEO4J_URI",
404
+ "NEO4J_USERNAME": "YOUR_NEO4J_USERNAME",
405
+ "NEO4J_PASSWORD": "YOUR_NEO4J_PASSWORD"
406
+ },
407
+ "disabled": false,
408
+ "alwaysAllow": []
409
+ }
410
+ }
411
+ }
412
+ ```
413
+
414
+ #### If installed via pipx
415
+
416
+ If you installed CodeGraphContext using `pipx`, use the following configuration instead:
417
+ ```json
418
+ {
419
+ "mcpServers": {
420
+ "CodeGraphContext": {
421
+ "command": "pipx",
397
422
  "args": [
423
+ "run",
424
+ "codegraphcontext",
398
425
  "mcp",
399
426
  "start"
400
427
  ],
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "codegraphcontext"
3
- version = "0.4.5"
3
+ version = "0.4.7"
4
4
  description = "An MCP server that indexes local code into a graph database to provide context to AI assistants."
5
5
  authors = [{ name = "Shashank Shekhar Singh", email = "shashankshekharsingh1205@gmail.com" }]
6
6
  readme = "README.md"
@@ -23,7 +23,7 @@ dependencies = [
23
23
  "inquirerpy>=0.3.4",
24
24
  "python-dotenv>=1.0.0",
25
25
  "tree-sitter>=0.21.0; python_version != '3.13'",
26
- "tree-sitter-language-pack>=0.6.0; python_version != '3.13'",
26
+ "tree-sitter-language-pack>=0.6.0,!=1.6.3; python_version != '3.13'",
27
27
  "tree-sitter-c-sharp>=0.21.0; python_version != '3.13'",
28
28
  "pyyaml",
29
29
  "nbformat",
@@ -33,7 +33,7 @@ dependencies = [
33
33
  "requests>=2.28.0",
34
34
  "protobuf>=3.20,<3.21",
35
35
  "falkordblite>=0.1.0; sys_platform != 'win32' and python_version >= '3.12'",
36
- "real_ladybug; sys_platform == 'win32' or (sys_platform != 'win32' and python_version >= '3.10')",
36
+ "kuzu; sys_platform == 'win32' or (sys_platform != 'win32' and python_version >= '3.10')",
37
37
  "fastapi>=0.100.0",
38
38
  "uvicorn>=0.22.0"
39
39
  ]
@@ -41,7 +41,7 @@ dependencies = [
41
41
  [project.optional-dependencies]
42
42
  parsing = [
43
43
  "tree-sitter>=0.21.0; python_version != '3.13'",
44
- "tree-sitter-language-pack>=0.6.0; python_version != '3.13'",
44
+ "tree-sitter-language-pack>=0.6.0,!=1.6.3; python_version != '3.13'",
45
45
  "tree-sitter-c-sharp>=0.21.0; python_version != '3.13'",
46
46
  ]
47
47
  dev = [
@@ -24,6 +24,7 @@ from ..tools.code_finder import CodeFinder
24
24
  from ..tools.graph_builder import GraphBuilder
25
25
  from ..tools.package_resolver import get_local_package_path
26
26
  from ..utils.debug_log import info_logger, warning_logger
27
+ from ..core.database import Neo4jConnectionError
27
28
  from ..utils.repo_path import any_repo_matches_path
28
29
  from .config_manager import resolve_context, ResolvedContext, register_repo_in_context, ensure_first_run_bootstrap
29
30
 
@@ -50,9 +51,14 @@ def _initialize_services(cli_context_flag: Optional[str] = None) -> tuple[Any, A
50
51
 
51
52
  console.print("[dim]Initializing services and database connection...[/dim]")
52
53
  try:
53
- # Override the database backend with the context's specific choice
54
- if ctx.database:
55
- os.environ['CGC_RUNTIME_DB_TYPE'] = ctx.database
54
+ # Respect runtime/backend overrides. Context DB is only a default when
55
+ # neither runtime override nor DEFAULT_DATABASE is already set.
56
+ if (
57
+ ctx.database
58
+ and not os.getenv("CGC_RUNTIME_DB_TYPE")
59
+ and not os.getenv("DEFAULT_DATABASE")
60
+ ):
61
+ os.environ["DEFAULT_DATABASE"] = ctx.database
56
62
 
57
63
  # Pass the exact DB path resolved from the context
58
64
  db_manager = get_database_manager(db_path=ctx.db_path)
@@ -85,9 +91,35 @@ def _initialize_services(cli_context_flag: Optional[str] = None) -> tuple[Any, A
85
91
  console.print(f"[bold red]Critical Error:[/bold red] Both FalkorDB and KùzuDB failed: {kuzu_e}")
86
92
  return None, None, None, ctx
87
93
  else:
88
- console.print(f"[bold red]Database Connection Error:[/bold red] {e}")
89
- console.print("Please ensure your database is configured correctly or run 'cgc doctor'.")
90
- return None, None, None, ctx
94
+ selected_db = (
95
+ os.environ.get("CGC_RUNTIME_DB_TYPE")
96
+ or os.environ.get("DATABASE_TYPE")
97
+ or os.environ.get("DEFAULT_DATABASE")
98
+ or ""
99
+ ).lower()
100
+
101
+ if isinstance(e, Neo4jConnectionError):
102
+ console.print(f"[bold red]{e}[/bold red]")
103
+ allow_fallback = os.environ.get("CGC_ALLOW_NEO4J_FALLBACK", "false").lower() in {"1", "true", "yes", "on"}
104
+
105
+ if selected_db == "neo4j" and allow_fallback:
106
+ console.print("[cyan]Neo4j failed and CGC_ALLOW_NEO4J_FALLBACK=true. Falling back to KuzuDB...[/cyan]")
107
+ try:
108
+ from ..core.database_kuzu import KuzuDBManager
109
+ db_manager = KuzuDBManager()
110
+ db_manager.get_driver()
111
+ console.print("[green]✓[/green] Successfully switched to KuzuDB fallback")
112
+ except Exception as kuzu_e:
113
+ console.print(f"[bold red]Critical Error:[/bold red] Neo4j failed and KuzuDB fallback failed: {kuzu_e}")
114
+ return None, None, None, ctx
115
+ else:
116
+ if selected_db == "neo4j":
117
+ console.print("[yellow]Tip:[/yellow] To continue without Neo4j, rerun with --db kuzudb")
118
+ return None, None, None, ctx
119
+ else:
120
+ console.print(f"[bold red]Database Connection Error:[/bold red] {e}")
121
+ console.print("Please ensure your database is configured correctly or run 'cgc doctor'.")
122
+ return None, None, None, ctx
91
123
 
92
124
  # The GraphBuilder requires an event loop, even for synchronous-style execution
93
125
  try:
@@ -19,7 +19,10 @@ CONFIG_DIR = Path.home() / ".codegraphcontext"
19
19
  CONFIG_FILE = CONFIG_DIR / ".env"
20
20
 
21
21
  # Database credential keys (stored in same .env file but not managed as config)
22
- DATABASE_CREDENTIAL_KEYS = {"NEO4J_URI", "NEO4J_USERNAME", "NEO4J_PASSWORD", "NEO4J_DATABASE"}
22
+ DATABASE_CREDENTIAL_KEYS = {
23
+ "NEO4J_URI", "NEO4J_USERNAME", "NEO4J_PASSWORD", "NEO4J_DATABASE",
24
+ "NORNIC_URI", "NORNIC_USERNAME", "NORNIC_PASSWORD", "NORNIC_DATABASE"
25
+ }
23
26
 
24
27
  # Default configuration values
25
28
  DEFAULT_CONFIG = {
@@ -47,11 +50,21 @@ DEFAULT_CONFIG = {
47
50
  "SCIP_INDEXER": "false",
48
51
  "SCIP_LANGUAGES": "python,typescript,go,rust,java",
49
52
  "SKIP_EXTERNAL_RESOLUTION": "false",
53
+ # 0 = unlimited; any positive integer caps MCP tool response size.
54
+ "MAX_TOOL_RESPONSE_TOKENS": "0",
55
+ # JSON object mapping tool names to integer result-count limits.
56
+ # Example: {"find_code": 20, "analyze_code_relationships": 10, "find_dead_code": 30}
57
+ "TOOL_RESULT_LIMITS": "{}",
58
+ # Post-indexing resolution phases (default off)
59
+ "ENABLE_INHERIT_RESOLVE": "false",
60
+ "ENABLE_VECTOR_RESOLVE": "false",
61
+ "CGC_EMBEDDING_MODEL": "local",
62
+ "CGC_EMBEDDING_BATCH_SIZE": "256",
50
63
  }
51
64
 
52
65
  # Configuration key descriptions
53
66
  CONFIG_DESCRIPTIONS = {
54
- "DEFAULT_DATABASE": "Default database backend (neo4j|falkordb|kuzudb)",
67
+ "DEFAULT_DATABASE": "Default database backend (neo4j|falkordb|kuzudb|nornic)",
55
68
  "FALKORDB_PATH": "Path to FalkorDB database file",
56
69
  "FALKORDB_SOCKET_PATH": "Path to FalkorDB Unix socket",
57
70
  "INDEX_VARIABLES": "Index variable nodes in the graph (lighter graph if false)",
@@ -74,11 +87,44 @@ CONFIG_DESCRIPTIONS = {
74
87
  "SCIP_INDEXER": "Use SCIP-based indexing for higher accuracy call/inheritance resolution (requires scip-<lang> tools installed)",
75
88
  "SCIP_LANGUAGES": "Comma-separated languages to index via SCIP when SCIP_INDEXER=true (python,typescript,go,rust,java)",
76
89
  "SKIP_EXTERNAL_RESOLUTION": "Skip resolution attempts for external library method calls (recommended for enterprise large Java/Spring codebases)",
90
+ "MAX_TOOL_RESPONSE_TOKENS": "Maximum tokens per MCP tool response (0 = unlimited). Truncates oversized payloads and appends a notice.",
91
+ "TOOL_RESULT_LIMITS": "JSON object mapping tool names to max result counts, e.g. {\"find_code\": 20, \"analyze_code_relationships\": 10}. Missing keys use built-in defaults.",
92
+ # Post-indexing resolution phases
93
+ "ENABLE_INHERIT_RESOLVE": (
94
+ "[Phase 5] Re-resolve ambiguous same-file CALLS edges using the inheritance graph (INHERITS relationships). "
95
+ "When enabled, methods called on an interface or abstract class are re-pointed to the correct concrete "
96
+ "implementation based on the class hierarchy, reducing tier-7 fallback edges. "
97
+ "WHEN TO ENABLE: any Java/Kotlin/C# codebase that uses inheritance or interface-based DI (e.g. Spring, OSGi). "
98
+ "PREREQUISITES: run 'cgc index' first so INHERITS edges exist in the graph. No extra tools needed. "
99
+ "COST: adds ~1-5 min per 50K functions at the end of each 'cgc index' run. Safe to toggle on/off — only adds new edges, never removes existing ones."
100
+ ),
101
+ "ENABLE_VECTOR_RESOLVE": (
102
+ "[Phase 4 + Phase 5 tiebreaker] Generate semantic embeddings for all Function nodes and use vector "
103
+ "similarity as a tiebreaker when inheritance resolution alone cannot distinguish between multiple candidates. "
104
+ "Phase 4 writes a 384-dim embedding to every Function node; Phase 5 queries those embeddings during re-resolution. "
105
+ "WHEN TO ENABLE: large codebases (>10K functions) where inheritance alone leaves many ambiguous calls "
106
+ "(tier-7 fallbacks still high after ENABLE_INHERIT_RESOLVE). Also useful for cross-language repos. "
107
+ "PREREQUISITES: (1) fastembed must be installed — run 'pip install fastembed'. "
108
+ "(2) Neo4j must be the active database (vector index not supported on FalkorDB/KuzuDB). "
109
+ "(3) ENABLE_INHERIT_RESOLVE should also be true — vector is a tiebreaker for Phase 5, not a replacement. "
110
+ "COST: Phase 4 takes ~15 min per 50K functions on CPU (first run only; incremental updates are fast). "
111
+ "Embedding model (~40 MB) is downloaded automatically on first use from HuggingFace."
112
+ ),
113
+ "CGC_EMBEDDING_MODEL": (
114
+ "Embedding backend for ENABLE_VECTOR_RESOLVE. "
115
+ "'local' uses fastembed (BAAI/bge-small-en-v1.5, 384-dim, runs on CPU, no GPU or API key needed). "
116
+ "'openai' uses OpenAI text-embedding-3-small (requires OPENAI_API_KEY env var, costs money per token). "
117
+ "Default: local"
118
+ ),
119
+ "CGC_EMBEDDING_BATCH_SIZE": (
120
+ "Number of function texts to embed per batch when ENABLE_VECTOR_RESOLVE=true. "
121
+ "Larger values are faster but use more RAM. Default: 256. Reduce to 64 if you hit memory errors."
122
+ ),
77
123
  }
78
124
 
79
125
  # Valid values for each config key
80
126
  CONFIG_VALIDATORS = {
81
- "DEFAULT_DATABASE": ["neo4j", "falkordb", "falkordb-remote", "kuzudb"],
127
+ "DEFAULT_DATABASE": ["neo4j", "falkordb", "falkordb-remote", "kuzudb", "nornic"],
82
128
  "INDEX_VARIABLES": ["true", "false"],
83
129
  "ALLOW_DB_DELETION": ["true", "false"],
84
130
  "DEBUG_LOGS": ["true", "false"],
@@ -91,6 +137,9 @@ CONFIG_VALIDATORS = {
91
137
  "INDEX_SOURCE": ["true", "false"],
92
138
  "SCIP_INDEXER": ["true", "false"],
93
139
  "SKIP_EXTERNAL_RESOLUTION": ["true", "false"],
140
+ "ENABLE_INHERIT_RESOLVE": ["true", "false"],
141
+ "ENABLE_VECTOR_RESOLVE": ["true", "false"],
142
+ "CGC_EMBEDDING_MODEL": ["local", "openai"],
94
143
  }
95
144
  DEFAULT_CGCIGNORE_PATTERNS = """\
96
145
  # Default .cgcignore patterns
@@ -342,6 +391,26 @@ def validate_config_value(key: str, value: str) -> tuple[bool, Optional[str]]:
342
391
  return False, "PARALLEL_WORKERS must be between 1 and 32"
343
392
  except ValueError:
344
393
  return False, "PARALLEL_WORKERS must be a number"
394
+
395
+ if key == "MAX_TOOL_RESPONSE_TOKENS":
396
+ try:
397
+ limit = int(value)
398
+ if limit < 0:
399
+ return False, "MAX_TOOL_RESPONSE_TOKENS must be 0 (unlimited) or a positive integer"
400
+ except ValueError:
401
+ return False, "MAX_TOOL_RESPONSE_TOKENS must be an integer (0 = unlimited)"
402
+
403
+ if key == "TOOL_RESULT_LIMITS":
404
+ import json as _json
405
+ try:
406
+ parsed = _json.loads(value)
407
+ if not isinstance(parsed, dict):
408
+ return False, "TOOL_RESULT_LIMITS must be a JSON object, e.g. {\"find_code\": 20}"
409
+ for k, v in parsed.items():
410
+ if not isinstance(v, int) or v < 1:
411
+ return False, f"TOOL_RESULT_LIMITS: value for '{k}' must be a positive integer"
412
+ except _json.JSONDecodeError:
413
+ return False, "TOOL_RESULT_LIMITS must be valid JSON, e.g. {\"find_code\": 20, \"find_dead_code\": 30}"
345
414
 
346
415
  if key == "MAX_DEPTH":
347
416
  if value.lower() != "unlimited":