mcp-vector-search 0.6.1__tar.gz → 0.7.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.

Potentially problematic release.


This version of mcp-vector-search might be problematic. Click here for more details.

Files changed (223) hide show
  1. mcp_vector_search-0.7.0/.claude/agents/.dependency_cache +34 -0
  2. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/.mpm_deployment_state +2 -2
  3. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/CLAUDE.md +89 -67
  4. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/PKG-INFO +1 -1
  5. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/__init__.py +2 -2
  6. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/commands/config.py +30 -0
  7. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/commands/index.py +82 -0
  8. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/commands/search.py +129 -6
  9. mcp_vector_search-0.7.0/src/mcp_vector_search/cli/main.py +445 -0
  10. mcp_vector_search-0.6.1/.claude/agents/.dependency_cache +0 -18
  11. mcp_vector_search-0.6.1/src/mcp_vector_search/cli/main.py +0 -490
  12. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/agent-manager.md +0 -0
  13. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/agentic-coder-optimizer.md +0 -0
  14. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/agentic_coder_optimizer.md +0 -0
  15. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/api_qa.md +0 -0
  16. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/clerk-ops.md +0 -0
  17. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/code_analyzer.md +0 -0
  18. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/dart_engineer.md +0 -0
  19. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/data_engineer.md +0 -0
  20. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/documentation.md +0 -0
  21. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/engineer.md +0 -0
  22. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/gcp_ops_agent.md +0 -0
  23. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/imagemagick.md +0 -0
  24. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/local_ops_agent.md +0 -0
  25. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/memory_manager.md +0 -0
  26. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/nextjs_engineer.md +0 -0
  27. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/ops.md +0 -0
  28. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/php-engineer.md +0 -0
  29. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/project_organizer.md +0 -0
  30. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/prompt-engineer.md +0 -0
  31. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/python_engineer.md +0 -0
  32. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/qa.md +0 -0
  33. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/react_engineer.md +0 -0
  34. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/refactoring_engineer.md +0 -0
  35. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/research.md +0 -0
  36. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/ruby-engineer.md +0 -0
  37. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/security.md +0 -0
  38. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/ticketing.md +0 -0
  39. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/typescript_engineer.md +0 -0
  40. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/vercel_ops_agent.md +0 -0
  41. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/version_control.md +0 -0
  42. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/web_qa.md +0 -0
  43. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/agents/web_ui.md +0 -0
  44. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude/settings.local.json +0 -0
  45. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude-mpm/.gitignore +0 -0
  46. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude-mpm/config/project.json +0 -0
  47. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude-mpm/memories/README.md +0 -0
  48. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude-mpm/memories/agentic_coder_optimizer_memories.md +0 -0
  49. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude-mpm/memories/documentation_memories.md +0 -0
  50. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude-mpm/memories/engineer_memories.md +0 -0
  51. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude-mpm/memories/ops_memories.md +0 -0
  52. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude-mpm/memories/qa_memories.md +0 -0
  53. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude-mpm/memories/research_memories.md +0 -0
  54. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.claude-mpm/memories/version_control_memories.md +0 -0
  55. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.editorconfig +0 -0
  56. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.github/workflows/ci.yml +0 -0
  57. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.gitignore +0 -0
  58. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.pre-commit-config.yaml +0 -0
  59. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/.gitignore +0 -0
  60. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/Activate.ps1 +0 -0
  61. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/activate +0 -0
  62. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/activate.csh +0 -0
  63. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/activate.fish +0 -0
  64. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/coloredlogs +0 -0
  65. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/distro +0 -0
  66. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/dotenv +0 -0
  67. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/f2py +0 -0
  68. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/hf +0 -0
  69. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/httpx +0 -0
  70. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/huggingface-cli +0 -0
  71. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/humanfriendly +0 -0
  72. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/isympy +0 -0
  73. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/jsonschema +0 -0
  74. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/markdown-it +0 -0
  75. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/normalizer +0 -0
  76. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/numpy-config +0 -0
  77. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/onnxruntime_test +0 -0
  78. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/pip +0 -0
  79. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/pip3 +0 -0
  80. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/pip3.13 +0 -0
  81. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/pybase64 +0 -0
  82. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/pygmentize +0 -0
  83. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/pyproject-build +0 -0
  84. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/pyrsa-decrypt +0 -0
  85. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/pyrsa-encrypt +0 -0
  86. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/pyrsa-keygen +0 -0
  87. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/pyrsa-priv2pub +0 -0
  88. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/pyrsa-sign +0 -0
  89. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/pyrsa-verify +0 -0
  90. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/python +0 -0
  91. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/python3 +0 -0
  92. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/python3.13 +0 -0
  93. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/tiny-agents +0 -0
  94. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/torchfrtrace +0 -0
  95. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/torchrun +0 -0
  96. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/tqdm +0 -0
  97. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/typer +0 -0
  98. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/uvicorn +0 -0
  99. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/watchfiles +0 -0
  100. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/watchmedo +0 -0
  101. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/websockets +0 -0
  102. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/bin/wsdump +0 -0
  103. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/pyvenv.cfg +0 -0
  104. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/.venv-mcp/share/man/man1/isympy.1 +0 -0
  105. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/DEVELOPER.md +0 -0
  106. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/ENGINEER_TASK.md +0 -0
  107. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/INSTALL.md +0 -0
  108. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/INSTALL_COMMAND_ENHANCEMENTS.md +0 -0
  109. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/LICENSE +0 -0
  110. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/MCP_SETUP.md +0 -0
  111. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/Makefile +0 -0
  112. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/README.md +0 -0
  113. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/CHANGELOG.md +0 -0
  114. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/CLI_FEATURES.md +0 -0
  115. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/DEPLOY.md +0 -0
  116. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/DEVELOPMENT.md +0 -0
  117. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/FEATURES.md +0 -0
  118. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/IMPROVEMENTS_SUMMARY.md +0 -0
  119. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/MCP_FILE_WATCHING.md +0 -0
  120. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/RELEASES.md +0 -0
  121. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/STRUCTURE.md +0 -0
  122. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/VERSIONING.md +0 -0
  123. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/VERSIONING_WORKFLOW.md +0 -0
  124. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/analysis/SEARCH_ANALYSIS_REPORT.md +0 -0
  125. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/analysis/SEARCH_IMPROVEMENT_PLAN.md +0 -0
  126. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/architecture/REINDEXING_WORKFLOW.md +0 -0
  127. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/debugging/SEARCH_BUG_ANALYSIS.md +0 -0
  128. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/developer/API.md +0 -0
  129. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/developer/CONTRIBUTING.md +0 -0
  130. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/developer/LINTING.md +0 -0
  131. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/developer/REFACTORING_ANALYSIS.md +0 -0
  132. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/developer/TESTING.md +0 -0
  133. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/developer/TESTING_STRATEGY.md +0 -0
  134. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/developer/TEST_SUITE_SUMMARY.md +0 -0
  135. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/mcp-integration.md +0 -0
  136. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/performance/CONNECTION_POOLING.md +0 -0
  137. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/performance/SEARCH_TIMING_ANALYSIS.md +0 -0
  138. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/prd/mcp_vector_search_prd_updated.md +0 -0
  139. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/docs/technical/SIMILARITY_CALCULATION_FIX.md +0 -0
  140. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/examples/connection_pooling_example.py +0 -0
  141. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/examples/semi_automatic_reindexing_demo.py +0 -0
  142. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/mcp-vector-search-wrapper +0 -0
  143. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/mcp-vector-search.sh +0 -0
  144. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/pyproject.toml +0 -0
  145. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/pytest.ini +0 -0
  146. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/README.md +0 -0
  147. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/analyze_search_bottlenecks.py +0 -0
  148. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/build.sh +0 -0
  149. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/comprehensive_build.py +0 -0
  150. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/deploy-test.sh +0 -0
  151. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/dev-build.py +0 -0
  152. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/dev-setup.py +0 -0
  153. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/dev-test.sh +0 -0
  154. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/fix_linting.py +0 -0
  155. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/mcp-dev +0 -0
  156. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/monitor_search_performance.py +0 -0
  157. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/publish.sh +0 -0
  158. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/quick_search_timing.py +0 -0
  159. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/run_search_timing_tests.py +0 -0
  160. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/run_tests.py +0 -0
  161. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/search_performance_monitor.py +0 -0
  162. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/search_quality_analyzer.py +0 -0
  163. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/setup-dev-mcp.sh +0 -0
  164. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/version_manager.py +0 -0
  165. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/scripts/workflow.sh +0 -0
  166. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/search_javascript_20250817_224715.json +0 -0
  167. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/setup-alias.sh +0 -0
  168. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/.claude-mpm/memories/README.md +0 -0
  169. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/__init__.py +0 -0
  170. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/commands/__init__.py +0 -0
  171. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/commands/auto_index.py +0 -0
  172. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/commands/init.py +0 -0
  173. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/commands/install.py +0 -0
  174. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/commands/mcp.py +0 -0
  175. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/commands/reset.py +0 -0
  176. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/commands/status.py +0 -0
  177. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/commands/watch.py +0 -0
  178. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/didyoumean.py +0 -0
  179. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/export.py +0 -0
  180. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/history.py +0 -0
  181. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/interactive.py +0 -0
  182. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/output.py +0 -0
  183. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/cli/suggestions.py +0 -0
  184. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/config/__init__.py +0 -0
  185. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/config/constants.py +0 -0
  186. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/config/defaults.py +0 -0
  187. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/config/settings.py +0 -0
  188. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/core/__init__.py +0 -0
  189. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/core/auto_indexer.py +0 -0
  190. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/core/connection_pool.py +0 -0
  191. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/core/database.py +0 -0
  192. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/core/embeddings.py +0 -0
  193. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/core/exceptions.py +0 -0
  194. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/core/factory.py +0 -0
  195. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/core/git_hooks.py +0 -0
  196. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/core/indexer.py +0 -0
  197. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/core/models.py +0 -0
  198. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/core/project.py +0 -0
  199. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/core/scheduler.py +0 -0
  200. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/core/search.py +0 -0
  201. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/core/watcher.py +0 -0
  202. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/mcp/__init__.py +0 -0
  203. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/mcp/__main__.py +0 -0
  204. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/mcp/server.py +0 -0
  205. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/parsers/__init__.py +0 -0
  206. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/parsers/base.py +0 -0
  207. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/parsers/dart.py +0 -0
  208. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/parsers/html.py +0 -0
  209. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/parsers/javascript.py +0 -0
  210. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/parsers/php.py +0 -0
  211. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/parsers/python.py +0 -0
  212. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/parsers/registry.py +0 -0
  213. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/parsers/ruby.py +0 -0
  214. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/parsers/text.py +0 -0
  215. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/parsers/utils.py +0 -0
  216. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/py.typed +0 -0
  217. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/utils/__init__.py +0 -0
  218. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/utils/gitignore.py +0 -0
  219. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/utils/timing.py +0 -0
  220. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/src/mcp_vector_search/utils/version.py +0 -0
  221. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/tests/__init__.py +0 -0
  222. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/tests/conftest.py +0 -0
  223. {mcp_vector_search-0.6.1 → mcp_vector_search-0.7.0}/uv.lock +0 -0
@@ -0,0 +1,34 @@
1
+ {
2
+ "d034497a6e2fd8e364e1ad5c1ee4ede6": {
3
+ "timestamp": 1759849229.410353,
4
+ "results": {
5
+ "agents": {},
6
+ "summary": {
7
+ "total_agents": 32,
8
+ "agents_with_deps": 0,
9
+ "missing_python": [],
10
+ "missing_system": [],
11
+ "satisfied_python": [],
12
+ "satisfied_system": []
13
+ }
14
+ },
15
+ "deployment_hash": "2936bc4b98d1c0993dc1e13efe429caa81f3cf35e8941325c7d3adec79717a36",
16
+ "context": {}
17
+ },
18
+ "189dd82fac1105048b8504df1b053692": {
19
+ "timestamp": 1759858420.8634088,
20
+ "results": {
21
+ "agents": {},
22
+ "summary": {
23
+ "total_agents": 32,
24
+ "agents_with_deps": 0,
25
+ "missing_python": [],
26
+ "missing_system": [],
27
+ "satisfied_python": [],
28
+ "satisfied_system": []
29
+ }
30
+ },
31
+ "deployment_hash": "4a42139378fae180d5d7791bfd61fc03b867729b0f81a399413d33c94a441855",
32
+ "context": {}
33
+ }
34
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
- "deployment_hash": "2936bc4b98d1c0993dc1e13efe429caa81f3cf35e8941325c7d3adec79717a36",
3
- "last_check_time": 1759849229.410526,
2
+ "deployment_hash": "4a42139378fae180d5d7791bfd61fc03b867729b0f81a399413d33c94a441855",
3
+ "last_check_time": 1759858420.863677,
4
4
  "last_check_results": {
5
5
  "agents": {},
6
6
  "summary": {
@@ -64,11 +64,11 @@ This file provides comprehensive guidance for Claude Code (claude.ai/code) and C
64
64
 
65
65
  ### 🟡 Quick Start for Users (RECOMMENDED WORKFLOW)
66
66
 
67
- **New users should use the enhanced install command:**
67
+ **New users should use the init command:**
68
68
 
69
69
  ```bash
70
70
  # Interactive setup (recommended)
71
- mcp-vector-search install
71
+ mcp-vector-search init
72
72
 
73
73
  # This single command will:
74
74
  # 1. Initialize project configuration
@@ -77,25 +77,24 @@ mcp-vector-search install
77
77
  # 4. Provide next-step hints
78
78
  ```
79
79
 
80
- **Advanced install options:**
80
+ **Advanced init options:**
81
81
 
82
82
  ```bash
83
83
  # Skip MCP configuration
84
- mcp-vector-search install --no-mcp
84
+ mcp-vector-search init --no-mcp
85
85
 
86
86
  # Skip automatic indexing
87
- mcp-vector-search install --no-index
88
-
89
- # Specify MCP tool directly
90
- mcp-vector-search install --mcp-tool "Claude Code"
87
+ mcp-vector-search init --no-auto-index
91
88
 
92
89
  # Custom file extensions
93
- mcp-vector-search install --extensions .py,.js,.ts,.dart
90
+ mcp-vector-search init --extensions .py,.js,.ts,.dart
94
91
 
95
92
  # Combine options
96
- mcp-vector-search install --no-index --mcp-tool "Cursor"
93
+ mcp-vector-search init --no-auto-index --no-mcp
97
94
  ```
98
95
 
96
+ **Deprecated commands:** The `install` command has been replaced by `init`. Use `mcp-vector-search init` instead.
97
+
99
98
  ### 🔴 Core Architecture (MUST UNDERSTAND)
100
99
  - **Vector Database**: ChromaDB with connection pooling (13.6% performance boost)
101
100
  - **Embedding Model**: Configurable sentence transformers (default: all-MiniLM-L6-v2)
@@ -120,75 +119,72 @@ make publish # Publish to PyPI
120
119
  make quality # Run all quality checks (lint, type, test, security)
121
120
  ```
122
121
 
123
- ## 🔴 Essential Development Commands (CRITICAL - LEARN THESE FIRST)
122
+ ## 🔴 Essential Commands (CRITICAL - LEARN THESE FIRST)
124
123
 
125
- ### 🔴 Development Setup (REQUIRED)
124
+ ### 🔴 Main Commands (ALL USERS MUST KNOW)
126
125
  ```bash
127
- # ONE-COMMAND SETUP (Use this FIRST)
128
- make dev-setup # Sets up entire development environment
129
-
130
- # Alternative manual setup
131
- uv sync # Install dependencies
132
- uv pip install -e . # Editable install
133
-
134
- # Verify installation
135
- make verify-setup # Check all tools and dependencies
126
+ # Core Workflow
127
+ mcp-vector-search init # Initialize project
128
+ mcp-vector-search doctor # Check system health
129
+ mcp-vector-search status # Show project status
130
+ mcp-vector-search search "query" # Search code
131
+ mcp-vector-search index # Index codebase
132
+ mcp-vector-search mcp # MCP integration
133
+ mcp-vector-search config # Configuration
134
+ mcp-vector-search help # Get help
135
+ mcp-vector-search version # Show version
136
136
  ```
137
137
 
138
- ### 🔴 Testing (CRITICAL)
138
+ ### 🔴 Search Commands (PRIMARY USER INTERFACE)
139
139
  ```bash
140
- # PRIMARY TESTING COMMANDS (use these)
141
- make test # Run ALL tests with coverage (MAIN COMMAND)
142
- make test-quick # Fast tests without coverage
143
- make test-unit # Unit tests only
144
- make test-integration # Integration tests only
145
-
146
- # Specific testing (when needed)
147
- make test-file FILE=test_indexer.py # Single test file
148
- make test-pattern PATTERN="search" # Pattern matching
149
- make test-debug # Tests with debugging output
140
+ # Basic Search
141
+ mcp-vector-search search "authentication" # Semantic search
142
+ mcp-vector-search search "auth" --language python # Filter by language
143
+ mcp-vector-search search "error" --files "src/*.py" # Filter by files
144
+
145
+ # Advanced Search
146
+ mcp-vector-search search "file.py" --similar # Find similar code
147
+ mcp-vector-search search "impl rate limit" --context # Context search
148
+
149
+ # Search Subcommands
150
+ mcp-vector-search search interactive # Interactive mode
151
+ mcp-vector-search search history # View search history
152
+ mcp-vector-search search favorites list # Manage favorites
150
153
  ```
151
154
 
152
- ### 🔴 Code Quality (REQUIRED BEFORE COMMITS)
155
+ ### 🔴 Index Commands (CODE INDEXING)
153
156
  ```bash
154
- # PRIMARY QUALITY COMMANDS (use these)
155
- make quality # Run ALL quality checks (lint, type, security)
156
- make lint-fix # Format and auto-fix all issues (MAIN COMMAND)
157
- make typecheck # Type checking with mypy
158
- make security # Security and safety checks
159
-
160
- # Individual tools (for specific issues)
161
- make format # Code formatting only
162
- make lint # Linting without fixes
157
+ # Indexing
158
+ mcp-vector-search index # Index all files
159
+ mcp-vector-search index --incremental # Smart incremental index
160
+
161
+ # Index Subcommands
162
+ mcp-vector-search index watch # Watch for changes
163
+ mcp-vector-search index auto setup # Setup auto-indexing
164
+ mcp-vector-search index health # Check index health
163
165
  ```
164
166
 
165
- ### 🔴 Building & Releasing (CRITICAL WORKFLOWS)
167
+ ### 🔴 Configuration Commands
166
168
  ```bash
167
- # PRIMARY RELEASE COMMANDS (single-path workflows)
168
- make release-patch # Complete patch release (0.4.0 → 0.4.1)
169
- make release-minor # Complete minor release (0.4.0 0.5.0)
170
- make release-major # Complete major release (0.4.0 → 1.0.0)
171
- make publish # Publish to PyPI (after release)
172
-
173
- # Version management
174
- make version-show # Display current version
175
- make version-check # Validate version consistency
176
-
177
- # Build operations
178
- make build # Build package for distribution
179
- make clean # Clean all build artifacts
169
+ # Config Management
170
+ mcp-vector-search config show # Show current config
171
+ mcp-vector-search config set key val # Set config value
172
+ mcp-vector-search config models # List embedding models
173
+ mcp-vector-search config reset # Reset to defaults
180
174
  ```
181
175
 
182
- ### 🟡 Local Testing (HIGH PRIORITY)
176
+ ### 🟡 Development Commands (FOR CONTRIBUTORS)
183
177
  ```bash
184
- # PRIMARY TESTING WORKFLOWS
185
- make test-deployment # Test local deployment
186
- make test-integration # Test on sample projects
187
- make test-mcp # Test MCP server integration
188
-
189
- # Manual testing (when needed)
190
- ./scripts/deploy-test.sh
191
- cd ~/other-project && mcp-vector-search init && mcp-vector-search index
178
+ # Development Setup
179
+ make dev-setup # One-command environment setup
180
+ make test # Run all tests with coverage
181
+ make lint-fix # Format and fix all issues
182
+ make quality # All quality checks
183
+
184
+ # Release Workflow
185
+ make release-patch # Patch release (0.4.0 0.4.1)
186
+ make release-minor # Minor release (0.4.0 → 0.5.0)
187
+ make publish # Publish to PyPI
192
188
  ```
193
189
 
194
190
  ## 🟡 High-Level Architecture (HIGH PRIORITY - UNDERSTAND FOR DEVELOPMENT)
@@ -512,8 +508,34 @@ mcp-vector-search auto-index check --dry-run --verbose
512
508
  - Use semantic search commands in Claude Desktop after setup
513
509
  - Maintain real-time indexing for best Claude experience
514
510
 
511
+ ## ⚪ Deprecated Commands (OPTIONAL AWARENESS)
512
+
513
+ **The following commands are deprecated and will show migration warnings:**
514
+
515
+ | Old Command | New Command | Reason |
516
+ |-------------|-------------|---------|
517
+ | `install` | `init` | Renamed for clarity |
518
+ | `demo` | `init --help` | Removed |
519
+ | `find` | `search` | Simplified |
520
+ | `search-similar` | `search --similar` | Moved to option |
521
+ | `search-context` | `search --context` | Moved to option |
522
+ | `interactive` | `search interactive` | Moved to subcommand |
523
+ | `history` | `search history` | Moved to subcommand |
524
+ | `favorites` | `search favorites` | Moved to subcommand |
525
+ | `add-favorite` | `search favorites add` | Nested subcommand |
526
+ | `remove-favorite` | `search favorites remove` | Nested subcommand |
527
+ | `health` | `index health` | Moved to subcommand |
528
+ | `watch` | `index watch` | Moved to subcommand |
529
+ | `auto-index` | `index auto` | Moved to subcommand |
530
+ | `reset` | `mcp reset` or `config reset` | Split by function |
531
+ | `init-check` | `init check` | Nested subcommand |
532
+ | `init-mcp` | `mcp install` | Reorganized |
533
+ | `init-models` | `config models` | Reorganized |
534
+
535
+ **All deprecated commands display helpful migration messages when used.**
536
+
515
537
  ---
516
538
 
517
- **🏆 This CLAUDE.md is optimized for Claude Code and Claude MPM integration.**
518
- **📚 Use the priority system (🔴🟡🟢⚪) to focus on what matters most.**
539
+ **🏆 This CLAUDE.md is optimized for Claude Code and Claude MPM integration.**
540
+ **📚 Use the priority system (🔴🟡🟢⚪) to focus on what matters most.**
519
541
  **🔍 Quick reference: `make help` shows all available commands.**
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-vector-search
3
- Version: 0.6.1
3
+ Version: 0.7.0
4
4
  Summary: CLI-first semantic code search with MCP integration
5
5
  Project-URL: Homepage, https://github.com/bobmatnyc/mcp-vector-search
6
6
  Project-URL: Documentation, https://mcp-vector-search.readthedocs.io
@@ -1,7 +1,7 @@
1
1
  """MCP Vector Search - CLI-first semantic code search with MCP integration."""
2
2
 
3
- __version__ = "0.6.1"
4
- __build__ = "21"
3
+ __version__ = "0.7.0"
4
+ __build__ = "22"
5
5
  __author__ = "Robert Matsuoka"
6
6
  __email__ = "bobmatnyc@gmail.com"
7
7
 
@@ -347,5 +347,35 @@ def _show_available_keys() -> None:
347
347
  )
348
348
 
349
349
 
350
+ # ============================================================================
351
+ # CONFIG SUBCOMMANDS
352
+ # ============================================================================
353
+
354
+
355
+ @config_app.command("models")
356
+ def list_embedding_models() -> None:
357
+ """📚 List available embedding models.
358
+
359
+ Shows all available embedding models that can be used for semantic search.
360
+ You can also use any model from Hugging Face that's compatible with sentence-transformers.
361
+
362
+ Examples:
363
+ mcp-vector-search config models
364
+ """
365
+ from ...config.defaults import DEFAULT_EMBEDDING_MODELS
366
+
367
+ console.print("[bold blue]Available Embedding Models:[/bold blue]\n")
368
+
369
+ for category, model in DEFAULT_EMBEDDING_MODELS.items():
370
+ console.print(f"[cyan]{category.title()}:[/cyan] {model}")
371
+
372
+ console.print(
373
+ "\n[dim]You can also use any model from Hugging Face that's compatible with sentence-transformers[/dim]"
374
+ )
375
+ console.print(
376
+ "[dim]Set model: [cyan]mcp-vector-search config set embedding_model MODEL_NAME[/cyan][/dim]"
377
+ )
378
+
379
+
350
380
  if __name__ == "__main__":
351
381
  config_app()
@@ -495,5 +495,87 @@ async def _clean_index(project_root: Path) -> None:
495
495
  print_success("Index cleaned successfully")
496
496
 
497
497
 
498
+ # ============================================================================
499
+ # INDEX SUBCOMMANDS
500
+ # ============================================================================
501
+
502
+
503
+ @index_app.command("watch")
504
+ def watch_cmd(
505
+ project_root: Path = typer.Argument(
506
+ Path.cwd(),
507
+ help="Project root directory to watch",
508
+ exists=True,
509
+ file_okay=False,
510
+ dir_okay=True,
511
+ readable=True,
512
+ ),
513
+ ) -> None:
514
+ """👀 Watch for file changes and auto-update index.
515
+
516
+ Monitors your project directory for file changes and automatically updates
517
+ the search index when files are modified, added, or deleted.
518
+
519
+ Examples:
520
+ mcp-vector-search index watch
521
+ mcp-vector-search index watch /path/to/project
522
+ """
523
+ from .watch import app as watch_app
524
+
525
+ # Import and run watch command
526
+ watch_app()
527
+
528
+
529
+ @index_app.command("auto")
530
+ def auto_cmd() -> None:
531
+ """🔄 Manage automatic indexing.
532
+
533
+ Configure automatic indexing strategies like git hooks and scheduled tasks.
534
+ This command provides subcommands for setup, status, and checking.
535
+
536
+ Examples:
537
+ mcp-vector-search index auto setup
538
+ mcp-vector-search index auto status
539
+ mcp-vector-search index auto check
540
+ """
541
+ from .auto_index import auto_index_app
542
+
543
+ # This will show help for the auto subcommands
544
+ auto_index_app()
545
+
546
+
547
+ @index_app.command("health")
548
+ def health_cmd(
549
+ project_root: Path | None = typer.Option(
550
+ None,
551
+ "--project-root",
552
+ "-p",
553
+ help="Project root directory",
554
+ exists=True,
555
+ file_okay=False,
556
+ dir_okay=True,
557
+ readable=True,
558
+ ),
559
+ repair: bool = typer.Option(
560
+ False,
561
+ "--repair",
562
+ help="Attempt to repair index issues",
563
+ ),
564
+ ) -> None:
565
+ """🩺 Check index health and optionally repair.
566
+
567
+ Validates the search index integrity and provides diagnostic information.
568
+ Can attempt to repair common issues automatically.
569
+
570
+ Examples:
571
+ mcp-vector-search index health
572
+ mcp-vector-search index health --repair
573
+ """
574
+ from .reset import health_main
575
+
576
+ # Call the health function from reset.py
577
+ health_main(project_root=project_root, repair=repair)
578
+
579
+
498
580
  if __name__ == "__main__":
499
581
  index_app()
@@ -20,13 +20,24 @@ from ..output import (
20
20
  print_tip,
21
21
  )
22
22
 
23
- # Create search subcommand app with "did you mean" functionality (kept for backward compatibility)
24
- search_app = create_enhanced_typer(help="Search code semantically")
23
+ # Create search subcommand app with "did you mean" functionality
24
+ search_app = create_enhanced_typer(
25
+ help="🔍 Search code semantically",
26
+ invoke_without_command=True,
27
+ )
28
+
25
29
 
30
+ # Define search_main as the callback for the search command
31
+ # This makes `mcp-vector-search search "query"` work as main search
32
+ # and `mcp-vector-search search SUBCOMMAND` work for subcommands
26
33
 
34
+
35
+ @search_app.callback(invoke_without_command=True)
27
36
  def search_main(
28
37
  ctx: typer.Context,
29
- query: str = typer.Argument(..., help="Search query or file path (for --similar)"),
38
+ query: str | None = typer.Argument(
39
+ None, help="Search query or file path (for --similar)"
40
+ ),
30
41
  project_root: Path | None = typer.Option(
31
42
  None,
32
43
  "--project-root",
@@ -161,6 +172,15 @@ def search_main(
161
172
 
162
173
  [dim]💡 Tip: Use quotes for multi-word queries. Adjust --threshold for more/fewer results.[/dim]
163
174
  """
175
+ # If no query provided and no subcommand invoked, exit (show help)
176
+ if query is None:
177
+ if ctx.invoked_subcommand is None:
178
+ # No query and no subcommand - show help
179
+ raise typer.Exit()
180
+ else:
181
+ # A subcommand was invoked - let it handle the request
182
+ return
183
+
164
184
  try:
165
185
  project_root = project_root or ctx.obj.get("project_root") or Path.cwd()
166
186
 
@@ -640,10 +660,113 @@ async def run_context_search(
640
660
  )
641
661
 
642
662
 
643
- # Add commands to search_app for backward compatibility
663
+ # ============================================================================
664
+ # SEARCH SUBCOMMANDS
665
+ # ============================================================================
666
+
667
+
668
+ @search_app.command("interactive")
669
+ def interactive_search(
670
+ ctx: typer.Context,
671
+ project_root: Path | None = typer.Option(
672
+ None, "--project-root", "-p", help="Project root directory"
673
+ ),
674
+ ) -> None:
675
+ """🎯 Start an interactive search session.
676
+
677
+ Provides a rich terminal interface for searching your codebase with real-time
678
+ filtering, query refinement, and result navigation.
679
+
680
+ Examples:
681
+ mcp-vector-search search interactive
682
+ mcp-vector-search search interactive --project-root /path/to/project
683
+ """
684
+ import asyncio
685
+
686
+ from ..interactive import start_interactive_search
687
+ from ..output import console
688
+
689
+ root = project_root or ctx.obj.get("project_root") or Path.cwd()
690
+
691
+ try:
692
+ asyncio.run(start_interactive_search(root))
693
+ except KeyboardInterrupt:
694
+ console.print("\n[yellow]Interactive search cancelled[/yellow]")
695
+ except Exception as e:
696
+ print_error(f"Interactive search failed: {e}")
697
+ raise typer.Exit(1)
698
+
699
+
700
+ @search_app.command("history")
701
+ def show_history(
702
+ ctx: typer.Context,
703
+ limit: int = typer.Option(20, "--limit", "-l", help="Number of entries to show"),
704
+ project_root: Path | None = typer.Option(
705
+ None, "--project-root", "-p", help="Project root directory"
706
+ ),
707
+ ) -> None:
708
+ """📜 Show search history.
709
+
710
+ Displays your recent search queries with timestamps and result counts.
711
+ Use this to revisit previous searches or track your search patterns.
712
+
713
+ Examples:
714
+ mcp-vector-search search history
715
+ mcp-vector-search search history --limit 50
716
+ """
717
+ from ..history import show_search_history
718
+
719
+ root = project_root or ctx.obj.get("project_root") or Path.cwd()
720
+ show_search_history(root, limit)
721
+
722
+
723
+ @search_app.command("favorites")
724
+ def show_favorites_cmd(
725
+ ctx: typer.Context,
726
+ action: str | None = typer.Argument(None, help="Action: list, add, remove"),
727
+ query: str | None = typer.Argument(None, help="Query to add/remove"),
728
+ description: str | None = typer.Option(
729
+ None, "--desc", help="Description for favorite"
730
+ ),
731
+ project_root: Path | None = typer.Option(
732
+ None, "--project-root", "-p", help="Project root directory"
733
+ ),
734
+ ) -> None:
735
+ """⭐ Manage favorite queries.
736
+
737
+ List, add, or remove favorite search queries for quick access.
738
+
739
+ Examples:
740
+ mcp-vector-search search favorites # List all favorites
741
+ mcp-vector-search search favorites list # List all favorites
742
+ mcp-vector-search search favorites add "auth" # Add favorite
743
+ mcp-vector-search search favorites remove "auth" # Remove favorite
744
+ """
745
+ from ..history import SearchHistory, show_favorites
746
+
747
+ root = project_root or ctx.obj.get("project_root") or Path.cwd()
748
+ history_manager = SearchHistory(root)
749
+
750
+ # Default to list if no action provided
751
+ if not action or action == "list":
752
+ show_favorites(root)
753
+ elif action == "add":
754
+ if not query:
755
+ print_error("Query is required for 'add' action")
756
+ raise typer.Exit(1)
757
+ history_manager.add_favorite(query, description)
758
+ elif action == "remove":
759
+ if not query:
760
+ print_error("Query is required for 'remove' action")
761
+ raise typer.Exit(1)
762
+ history_manager.remove_favorite(query)
763
+ else:
764
+ print_error(f"Unknown action: {action}. Use: list, add, or remove")
765
+ raise typer.Exit(1)
766
+
767
+
768
+ # Add main command to search_app (allows: mcp-vector-search search main "query")
644
769
  search_app.command("main")(search_main)
645
- search_app.command("similar")(search_similar_cmd)
646
- search_app.command("context")(search_context_cmd)
647
770
 
648
771
 
649
772
  if __name__ == "__main__":