mcp-vector-search 0.0.3__tar.gz → 0.4.12__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 (128) hide show
  1. mcp_vector_search-0.4.12/.claude/agents/.dependency_cache +13 -0
  2. mcp_vector_search-0.4.12/.claude/agents/.mpm_deployment_state +11 -0
  3. mcp_vector_search-0.4.12/.claude/settings.local.json +16 -0
  4. mcp_vector_search-0.4.12/.claude-mpm/.gitignore +4 -0
  5. mcp_vector_search-0.4.12/.claude-mpm/config/project.json +11 -0
  6. mcp_vector_search-0.4.12/.claude-mpm/memories/README.md +36 -0
  7. mcp_vector_search-0.4.12/.claude-mpm/memories/engineer_memories.md +3 -0
  8. mcp_vector_search-0.4.12/.claude-mpm/memories/research_memories.md +3 -0
  9. mcp_vector_search-0.4.12/.claude-mpm/memories/version-control_memories.md +3 -0
  10. mcp_vector_search-0.4.12/.github/workflows/ci.yml +251 -0
  11. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/.gitignore +7 -0
  12. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/.pre-commit-config.yaml +11 -2
  13. mcp_vector_search-0.4.12/CLAUDE.md +204 -0
  14. mcp_vector_search-0.4.12/ENGINEER_TASK.md +107 -0
  15. mcp_vector_search-0.4.12/INSTALL.md +153 -0
  16. mcp_vector_search-0.4.12/Makefile +487 -0
  17. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/PKG-INFO +173 -7
  18. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/README.md +169 -5
  19. mcp_vector_search-0.4.12/docs/CHANGELOG.md +325 -0
  20. mcp_vector_search-0.4.12/docs/CLI_FEATURES.md +90 -0
  21. mcp_vector_search-0.4.12/docs/DEPLOY.md +365 -0
  22. mcp_vector_search-0.4.12/docs/DEVELOPMENT.md +243 -0
  23. mcp_vector_search-0.4.12/docs/FEATURES.md +300 -0
  24. mcp_vector_search-0.4.12/docs/IMPROVEMENTS_SUMMARY.md +247 -0
  25. mcp_vector_search-0.4.12/docs/MCP_FILE_WATCHING.md +167 -0
  26. mcp_vector_search-0.4.12/docs/RELEASES.md +479 -0
  27. mcp_vector_search-0.4.12/docs/STRUCTURE.md +355 -0
  28. mcp_vector_search-0.4.12/docs/VERSIONING.md +410 -0
  29. mcp_vector_search-0.4.12/docs/VERSIONING_WORKFLOW.md +411 -0
  30. mcp_vector_search-0.4.12/docs/analysis/SEARCH_ANALYSIS_REPORT.md +230 -0
  31. mcp_vector_search-0.4.12/docs/analysis/SEARCH_IMPROVEMENT_PLAN.md +389 -0
  32. mcp_vector_search-0.4.12/docs/architecture/REINDEXING_WORKFLOW.md +261 -0
  33. mcp_vector_search-0.4.12/docs/debugging/SEARCH_BUG_ANALYSIS.md +164 -0
  34. mcp_vector_search-0.4.12/docs/developer/API.md +568 -0
  35. mcp_vector_search-0.4.12/docs/developer/CONTRIBUTING.md +442 -0
  36. mcp_vector_search-0.4.12/docs/developer/LINTING.md +418 -0
  37. mcp_vector_search-0.4.12/docs/developer/REFACTORING_ANALYSIS.md +356 -0
  38. mcp_vector_search-0.4.12/docs/developer/TESTING.md +677 -0
  39. mcp_vector_search-0.4.12/docs/developer/TESTING_STRATEGY.md +249 -0
  40. mcp_vector_search-0.4.12/docs/developer/TEST_SUITE_SUMMARY.md +210 -0
  41. mcp_vector_search-0.4.12/docs/mcp-integration.md +278 -0
  42. mcp_vector_search-0.4.12/docs/performance/CONNECTION_POOLING.md +279 -0
  43. mcp_vector_search-0.4.12/docs/performance/SEARCH_TIMING_ANALYSIS.md +229 -0
  44. mcp_vector_search-0.4.12/docs/technical/SIMILARITY_CALCULATION_FIX.md +181 -0
  45. mcp_vector_search-0.4.12/examples/connection_pooling_example.py +282 -0
  46. mcp_vector_search-0.4.12/examples/semi_automatic_reindexing_demo.py +293 -0
  47. mcp_vector_search-0.4.12/mcp-vector-search-wrapper +28 -0
  48. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/pyproject.toml +18 -11
  49. mcp_vector_search-0.4.12/pytest.ini +49 -0
  50. mcp_vector_search-0.4.12/scripts/README.md +516 -0
  51. mcp_vector_search-0.4.12/scripts/analyze_search_bottlenecks.py +317 -0
  52. mcp_vector_search-0.4.12/scripts/build.sh +65 -0
  53. mcp_vector_search-0.4.12/scripts/comprehensive_build.py +328 -0
  54. mcp_vector_search-0.4.12/scripts/deploy-test.sh +65 -0
  55. mcp_vector_search-0.4.12/scripts/dev-build.py +212 -0
  56. mcp_vector_search-0.4.12/scripts/dev-test.sh +49 -0
  57. mcp_vector_search-0.4.12/scripts/fix_linting.py +81 -0
  58. mcp_vector_search-0.4.12/scripts/monitor_search_performance.py +196 -0
  59. mcp_vector_search-0.4.12/scripts/publish.sh +74 -0
  60. mcp_vector_search-0.4.12/scripts/quick_search_timing.py +238 -0
  61. mcp_vector_search-0.4.12/scripts/run_search_timing_tests.py +533 -0
  62. mcp_vector_search-0.4.12/scripts/run_tests.py +293 -0
  63. mcp_vector_search-0.4.12/scripts/search_performance_monitor.py +360 -0
  64. mcp_vector_search-0.4.12/scripts/search_quality_analyzer.py +563 -0
  65. mcp_vector_search-0.4.12/scripts/version_manager.py +406 -0
  66. mcp_vector_search-0.4.12/scripts/workflow.sh +53 -0
  67. mcp_vector_search-0.4.12/search_javascript_20250817_224715.json +45 -0
  68. mcp_vector_search-0.4.12/shell-aliases.sh +64 -0
  69. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/__init__.py +3 -2
  70. mcp_vector_search-0.4.12/src/mcp_vector_search/cli/commands/auto_index.py +397 -0
  71. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/cli/commands/config.py +88 -40
  72. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/cli/commands/index.py +198 -52
  73. mcp_vector_search-0.4.12/src/mcp_vector_search/cli/commands/init.py +625 -0
  74. mcp_vector_search-0.4.12/src/mcp_vector_search/cli/commands/install.py +284 -0
  75. mcp_vector_search-0.4.12/src/mcp_vector_search/cli/commands/mcp.py +495 -0
  76. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/cli/commands/search.py +241 -87
  77. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/cli/commands/status.py +184 -58
  78. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/cli/commands/watch.py +34 -35
  79. mcp_vector_search-0.4.12/src/mcp_vector_search/cli/didyoumean.py +184 -0
  80. mcp_vector_search-0.4.12/src/mcp_vector_search/cli/export.py +320 -0
  81. mcp_vector_search-0.4.12/src/mcp_vector_search/cli/history.py +292 -0
  82. mcp_vector_search-0.4.12/src/mcp_vector_search/cli/interactive.py +342 -0
  83. mcp_vector_search-0.4.12/src/mcp_vector_search/cli/main.py +265 -0
  84. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/cli/output.py +63 -45
  85. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/config/defaults.py +50 -36
  86. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/config/settings.py +49 -35
  87. mcp_vector_search-0.4.12/src/mcp_vector_search/core/auto_indexer.py +298 -0
  88. mcp_vector_search-0.4.12/src/mcp_vector_search/core/connection_pool.py +322 -0
  89. mcp_vector_search-0.4.12/src/mcp_vector_search/core/database.py +741 -0
  90. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/core/embeddings.py +73 -29
  91. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/core/exceptions.py +19 -2
  92. mcp_vector_search-0.4.12/src/mcp_vector_search/core/factory.py +310 -0
  93. mcp_vector_search-0.4.12/src/mcp_vector_search/core/git_hooks.py +345 -0
  94. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/core/indexer.py +237 -73
  95. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/core/models.py +21 -19
  96. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/core/project.py +73 -58
  97. mcp_vector_search-0.4.12/src/mcp_vector_search/core/scheduler.py +330 -0
  98. mcp_vector_search-0.4.12/src/mcp_vector_search/core/search.py +812 -0
  99. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/core/watcher.py +48 -46
  100. mcp_vector_search-0.4.12/src/mcp_vector_search/mcp/__init__.py +5 -0
  101. mcp_vector_search-0.4.12/src/mcp_vector_search/mcp/__main__.py +25 -0
  102. mcp_vector_search-0.4.12/src/mcp_vector_search/mcp/server.py +701 -0
  103. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/parsers/base.py +30 -31
  104. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/parsers/javascript.py +74 -48
  105. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/parsers/python.py +57 -49
  106. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/parsers/registry.py +47 -32
  107. mcp_vector_search-0.4.12/src/mcp_vector_search/parsers/text.py +179 -0
  108. mcp_vector_search-0.4.12/src/mcp_vector_search/utils/__init__.py +40 -0
  109. mcp_vector_search-0.4.12/src/mcp_vector_search/utils/gitignore.py +229 -0
  110. mcp_vector_search-0.4.12/src/mcp_vector_search/utils/timing.py +334 -0
  111. mcp_vector_search-0.4.12/src/mcp_vector_search/utils/version.py +47 -0
  112. mcp_vector_search-0.4.12/tests/conftest.py +510 -0
  113. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/uv.lock +349 -95
  114. mcp_vector_search-0.0.3/src/mcp_vector_search/cli/commands/init.py +0 -212
  115. mcp_vector_search-0.0.3/src/mcp_vector_search/cli/main.py +0 -117
  116. mcp_vector_search-0.0.3/src/mcp_vector_search/core/database.py +0 -431
  117. mcp_vector_search-0.0.3/src/mcp_vector_search/core/search.py +0 -324
  118. mcp_vector_search-0.0.3/src/mcp_vector_search/mcp/__init__.py +0 -1
  119. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/LICENSE +0 -0
  120. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/docs/prd/mcp_vector_search_prd_updated.md +0 -0
  121. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/scripts/dev-setup.py +0 -0
  122. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/cli/__init__.py +0 -0
  123. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/cli/commands/__init__.py +0 -0
  124. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/config/__init__.py +0 -0
  125. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/core/__init__.py +0 -0
  126. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/parsers/__init__.py +0 -0
  127. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/src/mcp_vector_search/py.typed +0 -0
  128. {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.12}/tests/__init__.py +0 -0
@@ -0,0 +1,13 @@
1
+ {
2
+ "bb661a7aa0e44dd4632e80c04c7337b9": {
3
+ "timestamp": 1755844432.4411361,
4
+ "results": {
5
+ "agents": {},
6
+ "summary": {
7
+ "total_agents": 0
8
+ }
9
+ },
10
+ "deployment_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
11
+ "context": {}
12
+ }
13
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "deployment_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
3
+ "last_check_time": 1755844432.441344,
4
+ "last_check_results": {
5
+ "agents": {},
6
+ "summary": {
7
+ "total_agents": 0
8
+ }
9
+ },
10
+ "agent_count": 0
11
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "mcpServers": {
3
+ "mcp-vector-search": {
4
+ "type": "stdio",
5
+ "command": "/Users/masa/Projects/managed/mcp-vector-search/.venv/bin/python3",
6
+ "args": [
7
+ "-m",
8
+ "mcp_vector_search.mcp.server",
9
+ "/Users/masa/Projects/managed/mcp-vector-search"
10
+ ],
11
+ "env": {
12
+ "MCP_ENABLE_FILE_WATCHING": "true"
13
+ }
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,4 @@
1
+ logs/
2
+ *.log
3
+ *.pyc
4
+ __pycache__/
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": "1.0",
3
+ "project_name": "claude-mpm",
4
+ "agents": {
5
+ "enabled": true
6
+ },
7
+ "tickets": {
8
+ "auto_create": true,
9
+ "prefix": "TSK"
10
+ }
11
+ }
@@ -0,0 +1,36 @@
1
+ # Agent Memory System
2
+
3
+ ## Purpose
4
+ Each agent maintains project-specific knowledge in these files. Agents read their memory file before tasks and update it when they learn something new.
5
+
6
+ ## Manual Editing
7
+ Feel free to edit these files to:
8
+ - Add project-specific guidelines
9
+ - Remove outdated information
10
+ - Reorganize for better clarity
11
+ - Add domain-specific knowledge
12
+
13
+ ## Memory Limits
14
+ - Max file size: 80KB (~20k tokens)
15
+ - Max sections: 10
16
+ - Max items per section: 15
17
+ - Files auto-truncate when limits exceeded
18
+
19
+ ## File Format
20
+ Standard markdown with structured sections. Agents expect:
21
+ - Project Architecture
22
+ - Implementation Guidelines
23
+ - Common Mistakes to Avoid
24
+ - Current Technical Context
25
+
26
+ ## How It Works
27
+ 1. Agents read their memory file before starting tasks
28
+ 2. Agents add learnings during or after task completion
29
+ 3. Files automatically enforce size limits
30
+ 4. Developers can manually edit for accuracy
31
+
32
+ ## Memory File Lifecycle
33
+ - Created automatically when agent first runs
34
+ - Updated through hook system after delegations
35
+ - Manually editable by developers
36
+ - Version controlled with project
@@ -0,0 +1,3 @@
1
+ # Agent Memory: engineer
2
+ <!-- Last Updated: 2025-08-22T02:21:17.668668Z -->
3
+
@@ -0,0 +1,3 @@
1
+ # Agent Memory: research
2
+ <!-- Last Updated: 2025-08-22T02:17:34.121284Z -->
3
+
@@ -0,0 +1,3 @@
1
+ # Agent Memory: version-control
2
+ <!-- Last Updated: 2025-08-22T02:30:59.402737Z -->
3
+
@@ -0,0 +1,251 @@
1
+ name: CI/CD Pipeline
2
+
3
+ on:
4
+ push:
5
+ branches: [ main, develop ]
6
+ tags: [ 'v*' ]
7
+ pull_request:
8
+ branches: [ main, develop ]
9
+
10
+ env:
11
+ PYTHON_VERSION: "3.11"
12
+
13
+ jobs:
14
+ lint:
15
+ name: Lint & Format Check
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - name: Install uv
21
+ uses: astral-sh/setup-uv@v3
22
+ with:
23
+ version: "latest"
24
+
25
+ - name: Set up Python
26
+ run: uv python install ${{ env.PYTHON_VERSION }}
27
+
28
+ - name: Install dependencies
29
+ run: uv sync --dev
30
+
31
+ - name: Run ruff format check
32
+ run: uv run ruff format --check src/
33
+
34
+ - name: Run ruff lint
35
+ run: uv run ruff check src/
36
+
37
+ - name: Run mypy
38
+ run: uv run mypy src/mcp_vector_search --ignore-missing-imports
39
+
40
+ test:
41
+ name: Test Suite
42
+ runs-on: ${{ matrix.os }}
43
+ strategy:
44
+ matrix:
45
+ os: [ubuntu-latest, macos-latest, windows-latest]
46
+ python-version: ["3.11", "3.12"]
47
+
48
+ steps:
49
+ - uses: actions/checkout@v4
50
+
51
+ - name: Install uv
52
+ uses: astral-sh/setup-uv@v3
53
+ with:
54
+ version: "latest"
55
+
56
+ - name: Set up Python ${{ matrix.python-version }}
57
+ run: uv python install ${{ matrix.python-version }}
58
+
59
+ - name: Install dependencies
60
+ run: uv sync --dev
61
+
62
+ - name: Run tests
63
+ run: uv run pytest tests/ -v --cov=src/mcp_vector_search --cov-report=xml --cov-report=term-missing
64
+
65
+ - name: Upload coverage to Codecov
66
+ if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
67
+ uses: codecov/codecov-action@v3
68
+ with:
69
+ file: ./coverage.xml
70
+ fail_ci_if_error: true
71
+
72
+ build:
73
+ name: Build Package
74
+ runs-on: ubuntu-latest
75
+ needs: [lint, test]
76
+ steps:
77
+ - uses: actions/checkout@v4
78
+
79
+ - name: Install uv
80
+ uses: astral-sh/setup-uv@v3
81
+ with:
82
+ version: "latest"
83
+
84
+ - name: Set up Python
85
+ run: uv python install ${{ env.PYTHON_VERSION }}
86
+
87
+ - name: Install dependencies
88
+ run: uv sync --dev
89
+
90
+ - name: Build package
91
+ run: uv build
92
+
93
+ - name: Check package
94
+ run: uv run twine check dist/*
95
+
96
+ - name: Upload build artifacts
97
+ uses: actions/upload-artifact@v4
98
+ with:
99
+ name: dist
100
+ path: dist/
101
+
102
+ security:
103
+ name: Security Scan
104
+ runs-on: ubuntu-latest
105
+ steps:
106
+ - uses: actions/checkout@v4
107
+
108
+ - name: Install uv
109
+ uses: astral-sh/setup-uv@v3
110
+ with:
111
+ version: "latest"
112
+
113
+ - name: Set up Python
114
+ run: uv python install ${{ env.PYTHON_VERSION }}
115
+
116
+ - name: Install dependencies
117
+ run: uv sync --dev
118
+
119
+ - name: Run safety check
120
+ run: uv run safety check --json || true
121
+
122
+ - name: Run bandit security scan
123
+ run: uv run bandit -r src/ -f json || true
124
+
125
+ release:
126
+ name: Release to PyPI
127
+ runs-on: ubuntu-latest
128
+ needs: [lint, test, build, security]
129
+ if: startsWith(github.ref, 'refs/tags/v')
130
+ environment: release
131
+ permissions:
132
+ id-token: write # For trusted publishing
133
+
134
+ steps:
135
+ - uses: actions/checkout@v4
136
+
137
+ - name: Download build artifacts
138
+ uses: actions/download-artifact@v4
139
+ with:
140
+ name: dist
141
+ path: dist/
142
+
143
+ - name: Publish to PyPI
144
+ uses: pypa/gh-action-pypi-publish@release/v1
145
+ with:
146
+ password: ${{ secrets.PYPI_API_TOKEN }}
147
+
148
+ performance:
149
+ name: Performance Benchmarks
150
+ runs-on: ubuntu-latest
151
+ needs: [lint, test]
152
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
153
+
154
+ steps:
155
+ - uses: actions/checkout@v4
156
+
157
+ - name: Install uv
158
+ uses: astral-sh/setup-uv@v3
159
+ with:
160
+ version: "latest"
161
+
162
+ - name: Set up Python
163
+ run: uv python install ${{ env.PYTHON_VERSION }}
164
+
165
+ - name: Install dependencies
166
+ run: uv sync --dev
167
+
168
+ - name: Run performance tests
169
+ run: |
170
+ # Create a test project for benchmarking
171
+ mkdir -p /tmp/test-project
172
+ cd /tmp/test-project
173
+ echo "def hello(): pass" > test.py
174
+
175
+ # Initialize and run benchmarks
176
+ uv run mcp-vector-search init --file-extensions .py --embedding-model sentence-transformers/all-MiniLM-L6-v2
177
+ python3 ${{ github.workspace }}/scripts/search_performance_monitor.py --save
178
+
179
+ - name: Upload performance results
180
+ uses: actions/upload-artifact@v4
181
+ with:
182
+ name: performance-results
183
+ path: /tmp/test-project/.mcp-vector-search/performance_metrics.jsonl
184
+
185
+ docs:
186
+ name: Documentation Check
187
+ runs-on: ubuntu-latest
188
+ steps:
189
+ - uses: actions/checkout@v4
190
+
191
+ - name: Check README links
192
+ run: |
193
+ # Check for broken links in README
194
+ grep -o 'http[s]*://[^)]*' README.md | while read url; do
195
+ if ! curl -s --head "$url" | head -n 1 | grep -q "200 OK"; then
196
+ echo "Broken link: $url"
197
+ exit 1
198
+ fi
199
+ done || true
200
+
201
+ - name: Check documentation completeness
202
+ run: |
203
+ # Ensure key documentation files exist
204
+ required_docs=("README.md" "docs/CHANGELOG.md" "docs/VERSIONING_WORKFLOW.md")
205
+ for doc in "${required_docs[@]}"; do
206
+ if [ ! -f "$doc" ]; then
207
+ echo "Missing documentation: $doc"
208
+ exit 1
209
+ fi
210
+ done
211
+
212
+ integration:
213
+ name: Integration Tests
214
+ runs-on: ubuntu-latest
215
+ needs: [build]
216
+ steps:
217
+ - uses: actions/checkout@v4
218
+
219
+ - name: Download build artifacts
220
+ uses: actions/download-artifact@v4
221
+ with:
222
+ name: dist
223
+ path: dist/
224
+
225
+ - name: Install uv
226
+ uses: astral-sh/setup-uv@v3
227
+ with:
228
+ version: "latest"
229
+
230
+ - name: Set up Python
231
+ run: uv python install ${{ env.PYTHON_VERSION }}
232
+
233
+ - name: Test package installation
234
+ run: |
235
+ # Install from wheel
236
+ uv pip install dist/*.whl
237
+
238
+ # Test CLI is available
239
+ mcp-vector-search --version
240
+
241
+ # Test basic functionality
242
+ mkdir -p /tmp/integration-test
243
+ cd /tmp/integration-test
244
+ echo "def test(): pass" > test.py
245
+
246
+ # Initialize project
247
+ mcp-vector-search init --file-extensions .py --embedding-model sentence-transformers/all-MiniLM-L6-v2
248
+
249
+ # Index and search
250
+ mcp-vector-search index
251
+ mcp-vector-search search "function" --limit 5
@@ -231,3 +231,10 @@ tramp
231
231
  *.tar.gz
232
232
  *.rar
233
233
  *.7z
234
+
235
+ # Claude configuration
236
+ # The .claude/settings.local.json file contains project-specific MCP configuration
237
+ # and should be committed to the repository for team collaboration
238
+ .claude/cache/
239
+ .claude/tmp/
240
+ # Note: .claude/settings.local.json is NOT ignored - it should be committed
@@ -16,14 +16,23 @@ repos:
16
16
  language_version: python3.11
17
17
 
18
18
  - repo: https://github.com/astral-sh/ruff-pre-commit
19
- rev: v0.1.9
19
+ rev: v0.6.0
20
20
  hooks:
21
21
  - id: ruff
22
22
  args: [--fix, --exit-non-zero-on-fix]
23
+ - id: ruff-format
23
24
 
24
25
  - repo: https://github.com/pre-commit/mirrors-mypy
25
26
  rev: v1.8.0
26
27
  hooks:
27
28
  - id: mypy
28
29
  additional_dependencies: [types-all]
29
- args: [--strict, --ignore-missing-imports]
30
+ args: [--ignore-missing-imports]
31
+
32
+ # Security scanning
33
+ - repo: https://github.com/PyCQA/bandit
34
+ rev: 1.7.5
35
+ hooks:
36
+ - id: bandit
37
+ args: ['-r', 'src/', '-f', 'json']
38
+ exclude: tests/
@@ -0,0 +1,204 @@
1
+ # MCP Vector Search - Project Documentation Index
2
+
3
+ ## 📋 Project Overview
4
+
5
+ **MCP Vector Search** is a CLI-first semantic code search tool with MCP (Model Context Protocol) integration. It provides intelligent code search capabilities using vector embeddings and AST-aware parsing.
6
+
7
+ ### 🎯 Core Purpose
8
+ - **Semantic Code Search**: Find code by meaning, not just text matching
9
+ - **Multi-language Support**: Python, JavaScript, TypeScript with extensible architecture
10
+ - **Real-time Updates**: File watching with incremental indexing
11
+ - **Local-first Privacy**: Complete on-device processing
12
+ - **Developer Productivity**: Fast, intelligent code discovery
13
+
14
+ ### 🏗️ Architecture Overview
15
+ - **CLI Interface**: Typer-based command-line tool
16
+ - **Vector Database**: ChromaDB for semantic embeddings
17
+ - **AST Parsing**: Tree-sitter with regex fallback
18
+ - **File Watching**: Real-time change detection
19
+ - **Async Processing**: Modern Python with type safety
20
+
21
+ ---
22
+
23
+ ## 📚 Documentation Structure
24
+
25
+ ### 🚀 Quick Start
26
+ - **[README.md](README.md)** - Installation, usage, and basic examples
27
+ - **[DEVELOPMENT.md](DEVELOPMENT.md)** - Three-stage development workflow
28
+
29
+ ### 🏗️ Architecture & Structure
30
+ - **[docs/STRUCTURE.md](docs/STRUCTURE.md)** - File organization and module architecture
31
+ - **[docs/DEPLOY.md](docs/DEPLOY.md)** - Deployment and installation instructions
32
+ - **[docs/architecture/REINDEXING_WORKFLOW.md](docs/architecture/REINDEXING_WORKFLOW.md)** - Reindexing implementation and workflow analysis
33
+
34
+ ### 👨‍💻 Developer Resources
35
+ - **[docs/developer/](docs/developer/)** - Detailed developer documentation
36
+ - **[CONTRIBUTING.md](docs/developer/CONTRIBUTING.md)** - Contribution guidelines
37
+ - **[API.md](docs/developer/API.md)** - Internal API documentation
38
+ - **[TESTING.md](docs/developer/TESTING.md)** - Testing strategies and practices
39
+ - **[LINTING.md](docs/developer/LINTING.md)** - Code quality and linting setup
40
+
41
+ ### 🚀 Performance & Features
42
+ - **[docs/FEATURES.md](docs/FEATURES.md)** - Comprehensive feature overview and usage guide
43
+ - **[docs/IMPROVEMENTS_SUMMARY.md](docs/IMPROVEMENTS_SUMMARY.md)** - Summary of major improvements and performance gains
44
+ - **[docs/performance/CONNECTION_POOLING.md](docs/performance/CONNECTION_POOLING.md)** - Connection pooling implementation and benchmarks
45
+ - **[examples/connection_pooling_example.py](examples/connection_pooling_example.py)** - Connection pooling usage examples
46
+ - **[examples/semi_automatic_reindexing_demo.py](examples/semi_automatic_reindexing_demo.py)** - Semi-automatic reindexing strategies demo
47
+
48
+ ### 📦 Release Management
49
+ - **[docs/VERSIONING.md](docs/VERSIONING.md)** - Semantic versioning guidelines
50
+ - **[docs/CHANGELOG.md](docs/CHANGELOG.md)** - Version history and changes
51
+ - **[docs/RELEASES.md](docs/RELEASES.md)** - Release process and best practices
52
+
53
+ ---
54
+
55
+ ## 🔧 Major Functions & Components
56
+
57
+ ### Core Modules
58
+
59
+ #### **CLI Interface** (`src/mcp_vector_search/cli/`)
60
+ - **`main.py`** - Entry point and command routing
61
+ - **`commands/`** - Individual command implementations
62
+ - `init.py` - Project initialization
63
+ - `index.py` - Codebase indexing
64
+ - `search.py` - Semantic search
65
+ - `watch.py` - File watching
66
+ - `status.py` - Project statistics
67
+ - `config.py` - Configuration management
68
+ - `auto_index.py` - Automatic reindexing management
69
+
70
+ #### **Core Engine** (`src/mcp_vector_search/core/`)
71
+ - **`indexer.py`** - Code indexing and chunking
72
+ - **`search.py`** - Semantic search implementation
73
+ - **`database.py`** - Vector database abstraction with connection pooling
74
+ - **`connection_pool.py`** - Database connection pooling for performance
75
+ - **`auto_indexer.py`** - Semi-automatic reindexing strategies
76
+ - **`git_hooks.py`** - Git hooks integration for auto-reindexing
77
+ - **`scheduler.py`** - Scheduled task management for auto-reindexing
78
+ - **`embeddings.py`** - Text embedding generation
79
+ - **`project.py`** - Project management
80
+ - **`watcher.py`** - File system monitoring
81
+
82
+ #### **Language Parsers** (`src/mcp_vector_search/parsers/`)
83
+ - **`base.py`** - Abstract parser interface
84
+ - **`python.py`** - Python AST parsing
85
+ - **`javascript.py`** - JavaScript/TypeScript parsing
86
+ - **`registry.py`** - Parser registration system
87
+
88
+ #### **Configuration** (`src/mcp_vector_search/config/`)
89
+ - **`settings.py`** - Application settings
90
+ - **`defaults.py`** - Default configurations
91
+
92
+ ### Key Algorithms
93
+
94
+ #### **Semantic Chunking**
95
+ ```python
96
+ # Intelligent code chunking for optimal search
97
+ def chunk_code(content: str, language: str) -> List[CodeChunk]:
98
+ # AST-aware chunking with function/class boundaries
99
+ # Fallback to regex-based chunking
100
+ # Preserve context and relationships
101
+ ```
102
+
103
+ #### **Vector Search**
104
+ ```python
105
+ # Similarity-based code search
106
+ def search_similar(query: str, limit: int = 10) -> List[SearchResult]:
107
+ # Generate query embedding
108
+ # Perform vector similarity search
109
+ # Rank and filter results
110
+ ```
111
+
112
+ #### **Incremental Indexing**
113
+ ```python
114
+ # Real-time file change processing
115
+ def update_index(file_path: Path, change_type: str):
116
+ # Detect file changes
117
+ # Update vector database
118
+ # Maintain index consistency
119
+ ```
120
+
121
+ ---
122
+
123
+ ## 🎯 Quick Navigation
124
+
125
+ ### For Users
126
+ 1. **Getting Started**: [README.md](README.md) → Installation & Usage
127
+ 2. **Deployment**: [docs/DEPLOY.md](docs/DEPLOY.md) → Production setup
128
+
129
+ ### For Developers
130
+ 1. **Development Setup**: [DEVELOPMENT.md](DEVELOPMENT.md) → Three-stage workflow
131
+ 2. **Code Structure**: [docs/STRUCTURE.md](docs/STRUCTURE.md) → Architecture overview
132
+ 3. **Contributing**: [docs/developer/CONTRIBUTING.md](docs/developer/CONTRIBUTING.md) → Guidelines
133
+ 4. **API Reference**: [docs/developer/API.md](docs/developer/API.md) → Internal APIs
134
+
135
+ ### For Maintainers
136
+ 1. **Versioning**: [docs/VERSIONING.md](docs/VERSIONING.md) → Version management
137
+ 2. **Releases**: [docs/RELEASES.md](docs/RELEASES.md) → Release process
138
+ 3. **Changelog**: [docs/CHANGELOG.md](docs/CHANGELOG.md) → Version history
139
+
140
+ ---
141
+
142
+ ## 🚀 Common Tasks
143
+
144
+ ### Development
145
+ ```bash
146
+ ./scripts/workflow.sh # Show development workflow
147
+ ./scripts/dev-test.sh # Run development tests
148
+ uv run mcp-vector-search # Test CLI locally
149
+ ```
150
+
151
+ ### Deployment
152
+ ```bash
153
+ ./scripts/deploy-test.sh # Test local deployment
154
+ ./scripts/publish.sh # Publish to PyPI
155
+ ```
156
+
157
+ ### Versioning & Releasing
158
+ ```bash
159
+ make version-show # Display current version
160
+ make version-patch # Bump patch version
161
+ make release-minor # Full release with minor bump
162
+ make publish # Publish to PyPI
163
+ ```
164
+
165
+ ### Usage
166
+ ```bash
167
+ mcp-vector-search init # Initialize project
168
+ mcp-vector-search index # Index codebase
169
+ mcp-vector-search search "query" # Search code
170
+ mcp-vector-search watch # Start file watching
171
+ ```
172
+
173
+ ---
174
+
175
+ ## 📈 Project Status
176
+
177
+ - **Version**: 0.0.3 (Alpha)
178
+ - **Status**: Active development
179
+ - **License**: MIT
180
+ - **Python**: 3.11+
181
+ - **Platform**: Cross-platform (macOS, Linux, Windows)
182
+
183
+ ### Current Capabilities
184
+ - ✅ Multi-language code parsing (Python, JavaScript, TypeScript)
185
+ - ✅ Semantic vector search with similarity scoring
186
+ - ✅ Real-time file watching and incremental updates
187
+ - ✅ CLI interface with rich output and syntax highlighting
188
+ - ✅ Project-aware configuration management
189
+ - ✅ **Connection pooling** for 13.6% performance improvement
190
+ - ✅ **Semi-automatic reindexing** with 5 different strategies
191
+ - ✅ **Production-ready features** (error handling, monitoring, graceful degradation)
192
+ - ✅ **Git hooks integration** for development workflows
193
+ - ✅ **Scheduled tasks** for production environments
194
+
195
+ ### Roadmap
196
+ - 🔄 Enhanced Tree-sitter integration
197
+ - 🔄 Additional language support
198
+ - 🔮 MCP server implementation
199
+ - 🔮 IDE extensions
200
+ - 🔮 Team collaboration features
201
+
202
+ ---
203
+
204
+ **For detailed information on any topic, follow the links to specific documentation files.**