mcp-vector-search 0.0.3__tar.gz → 0.4.11__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.
- mcp_vector_search-0.4.11/.claude/settings.local.json +14 -0
- mcp_vector_search-0.4.11/.claude-mpm/.gitignore +4 -0
- mcp_vector_search-0.4.11/.claude-mpm/config/project.json +11 -0
- mcp_vector_search-0.4.11/.claude-mpm/memories/README.md +36 -0
- mcp_vector_search-0.4.11/.claude-mpm/memories/engineer_memories.md +37 -0
- mcp_vector_search-0.4.11/.claude-mpm/memories/ops_memories.md +37 -0
- mcp_vector_search-0.4.11/.claude-mpm/memories/research_memories.md +37 -0
- mcp_vector_search-0.4.11/.claude-mpm/memories/version-control_memories.md +37 -0
- mcp_vector_search-0.4.11/.github/workflows/ci.yml +251 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/.gitignore +7 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/.pre-commit-config.yaml +11 -2
- mcp_vector_search-0.4.11/CLAUDE.md +204 -0
- mcp_vector_search-0.4.11/ENGINEER_TASK.md +107 -0
- mcp_vector_search-0.4.11/INSTALL.md +153 -0
- mcp_vector_search-0.4.11/Makefile +487 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/PKG-INFO +173 -7
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/README.md +169 -5
- mcp_vector_search-0.4.11/docs/CHANGELOG.md +325 -0
- mcp_vector_search-0.4.11/docs/CLI_FEATURES.md +90 -0
- mcp_vector_search-0.4.11/docs/DEPLOY.md +365 -0
- mcp_vector_search-0.4.11/docs/DEVELOPMENT.md +243 -0
- mcp_vector_search-0.4.11/docs/FEATURES.md +300 -0
- mcp_vector_search-0.4.11/docs/IMPROVEMENTS_SUMMARY.md +247 -0
- mcp_vector_search-0.4.11/docs/MCP_FILE_WATCHING.md +167 -0
- mcp_vector_search-0.4.11/docs/RELEASES.md +479 -0
- mcp_vector_search-0.4.11/docs/STRUCTURE.md +355 -0
- mcp_vector_search-0.4.11/docs/VERSIONING.md +410 -0
- mcp_vector_search-0.4.11/docs/VERSIONING_WORKFLOW.md +411 -0
- mcp_vector_search-0.4.11/docs/analysis/SEARCH_ANALYSIS_REPORT.md +230 -0
- mcp_vector_search-0.4.11/docs/analysis/SEARCH_IMPROVEMENT_PLAN.md +389 -0
- mcp_vector_search-0.4.11/docs/architecture/REINDEXING_WORKFLOW.md +261 -0
- mcp_vector_search-0.4.11/docs/debugging/SEARCH_BUG_ANALYSIS.md +164 -0
- mcp_vector_search-0.4.11/docs/developer/API.md +568 -0
- mcp_vector_search-0.4.11/docs/developer/CONTRIBUTING.md +442 -0
- mcp_vector_search-0.4.11/docs/developer/LINTING.md +418 -0
- mcp_vector_search-0.4.11/docs/developer/REFACTORING_ANALYSIS.md +356 -0
- mcp_vector_search-0.4.11/docs/developer/TESTING.md +677 -0
- mcp_vector_search-0.4.11/docs/developer/TESTING_STRATEGY.md +249 -0
- mcp_vector_search-0.4.11/docs/developer/TEST_SUITE_SUMMARY.md +210 -0
- mcp_vector_search-0.4.11/docs/mcp-integration.md +278 -0
- mcp_vector_search-0.4.11/docs/performance/CONNECTION_POOLING.md +279 -0
- mcp_vector_search-0.4.11/docs/performance/SEARCH_TIMING_ANALYSIS.md +229 -0
- mcp_vector_search-0.4.11/docs/technical/SIMILARITY_CALCULATION_FIX.md +181 -0
- mcp_vector_search-0.4.11/examples/connection_pooling_example.py +282 -0
- mcp_vector_search-0.4.11/examples/semi_automatic_reindexing_demo.py +293 -0
- mcp_vector_search-0.4.11/mcp-vector-search-wrapper +28 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/pyproject.toml +18 -11
- mcp_vector_search-0.4.11/pytest.ini +49 -0
- mcp_vector_search-0.4.11/scripts/README.md +516 -0
- mcp_vector_search-0.4.11/scripts/analyze_search_bottlenecks.py +317 -0
- mcp_vector_search-0.4.11/scripts/build.sh +65 -0
- mcp_vector_search-0.4.11/scripts/comprehensive_build.py +328 -0
- mcp_vector_search-0.4.11/scripts/deploy-test.sh +65 -0
- mcp_vector_search-0.4.11/scripts/dev-build.py +212 -0
- mcp_vector_search-0.4.11/scripts/dev-test.sh +49 -0
- mcp_vector_search-0.4.11/scripts/fix_linting.py +81 -0
- mcp_vector_search-0.4.11/scripts/monitor_search_performance.py +196 -0
- mcp_vector_search-0.4.11/scripts/publish.sh +74 -0
- mcp_vector_search-0.4.11/scripts/quick_search_timing.py +238 -0
- mcp_vector_search-0.4.11/scripts/run_search_timing_tests.py +533 -0
- mcp_vector_search-0.4.11/scripts/run_tests.py +293 -0
- mcp_vector_search-0.4.11/scripts/search_performance_monitor.py +360 -0
- mcp_vector_search-0.4.11/scripts/search_quality_analyzer.py +563 -0
- mcp_vector_search-0.4.11/scripts/version_manager.py +406 -0
- mcp_vector_search-0.4.11/scripts/workflow.sh +53 -0
- mcp_vector_search-0.4.11/search_javascript_20250817_224715.json +45 -0
- mcp_vector_search-0.4.11/shell-aliases.sh +64 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/__init__.py +3 -2
- mcp_vector_search-0.4.11/src/mcp_vector_search/cli/commands/auto_index.py +397 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/cli/commands/config.py +88 -40
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/cli/commands/index.py +198 -52
- mcp_vector_search-0.4.11/src/mcp_vector_search/cli/commands/init.py +626 -0
- mcp_vector_search-0.4.11/src/mcp_vector_search/cli/commands/install.py +284 -0
- mcp_vector_search-0.4.11/src/mcp_vector_search/cli/commands/mcp.py +495 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/cli/commands/search.py +241 -87
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/cli/commands/status.py +184 -58
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/cli/commands/watch.py +34 -35
- mcp_vector_search-0.4.11/src/mcp_vector_search/cli/didyoumean.py +184 -0
- mcp_vector_search-0.4.11/src/mcp_vector_search/cli/export.py +320 -0
- mcp_vector_search-0.4.11/src/mcp_vector_search/cli/history.py +292 -0
- mcp_vector_search-0.4.11/src/mcp_vector_search/cli/interactive.py +342 -0
- mcp_vector_search-0.4.11/src/mcp_vector_search/cli/main.py +254 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/cli/output.py +63 -45
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/config/defaults.py +50 -36
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/config/settings.py +49 -35
- mcp_vector_search-0.4.11/src/mcp_vector_search/core/auto_indexer.py +298 -0
- mcp_vector_search-0.4.11/src/mcp_vector_search/core/connection_pool.py +322 -0
- mcp_vector_search-0.4.11/src/mcp_vector_search/core/database.py +741 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/core/embeddings.py +73 -29
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/core/exceptions.py +19 -2
- mcp_vector_search-0.4.11/src/mcp_vector_search/core/factory.py +310 -0
- mcp_vector_search-0.4.11/src/mcp_vector_search/core/git_hooks.py +345 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/core/indexer.py +237 -73
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/core/models.py +21 -19
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/core/project.py +73 -58
- mcp_vector_search-0.4.11/src/mcp_vector_search/core/scheduler.py +330 -0
- mcp_vector_search-0.4.11/src/mcp_vector_search/core/search.py +812 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/core/watcher.py +48 -46
- mcp_vector_search-0.4.11/src/mcp_vector_search/mcp/__init__.py +5 -0
- mcp_vector_search-0.4.11/src/mcp_vector_search/mcp/__main__.py +25 -0
- mcp_vector_search-0.4.11/src/mcp_vector_search/mcp/server.py +701 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/parsers/base.py +30 -31
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/parsers/javascript.py +74 -48
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/parsers/python.py +57 -49
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/parsers/registry.py +47 -32
- mcp_vector_search-0.4.11/src/mcp_vector_search/parsers/text.py +179 -0
- mcp_vector_search-0.4.11/src/mcp_vector_search/utils/__init__.py +40 -0
- mcp_vector_search-0.4.11/src/mcp_vector_search/utils/gitignore.py +229 -0
- mcp_vector_search-0.4.11/src/mcp_vector_search/utils/timing.py +334 -0
- mcp_vector_search-0.4.11/src/mcp_vector_search/utils/version.py +47 -0
- mcp_vector_search-0.4.11/tests/conftest.py +510 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/uv.lock +349 -95
- mcp_vector_search-0.0.3/src/mcp_vector_search/cli/commands/init.py +0 -212
- mcp_vector_search-0.0.3/src/mcp_vector_search/cli/main.py +0 -117
- mcp_vector_search-0.0.3/src/mcp_vector_search/core/database.py +0 -431
- mcp_vector_search-0.0.3/src/mcp_vector_search/core/search.py +0 -324
- mcp_vector_search-0.0.3/src/mcp_vector_search/mcp/__init__.py +0 -1
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/LICENSE +0 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/docs/prd/mcp_vector_search_prd_updated.md +0 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/scripts/dev-setup.py +0 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/cli/__init__.py +0 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/cli/commands/__init__.py +0 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/config/__init__.py +0 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/core/__init__.py +0 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/parsers/__init__.py +0 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/src/mcp_vector_search/py.typed +0 -0
- {mcp_vector_search-0.0.3 → mcp_vector_search-0.4.11}/tests/__init__.py +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -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,37 @@
|
|
|
1
|
+
# Engineer Agent Memory - mcp-vector-search
|
|
2
|
+
|
|
3
|
+
<!-- MEMORY LIMITS: 80KB max | 10 sections max | 15 items per section -->
|
|
4
|
+
<!-- Last Updated: 2025-08-21 17:32:44 | Auto-updated by: engineer -->
|
|
5
|
+
|
|
6
|
+
## Project Context
|
|
7
|
+
mcp-vector-search: Software project requiring analysis
|
|
8
|
+
|
|
9
|
+
## Project Architecture
|
|
10
|
+
- Analyze project structure to understand architecture patterns
|
|
11
|
+
|
|
12
|
+
## Coding Patterns Learned
|
|
13
|
+
- Observe codebase patterns and conventions during tasks
|
|
14
|
+
|
|
15
|
+
## Implementation Guidelines
|
|
16
|
+
- Extract implementation guidelines from project documentation
|
|
17
|
+
|
|
18
|
+
## Domain-Specific Knowledge
|
|
19
|
+
<!-- Agent-specific knowledge accumulates here -->
|
|
20
|
+
|
|
21
|
+
## Effective Strategies
|
|
22
|
+
<!-- Successful approaches discovered through experience -->
|
|
23
|
+
|
|
24
|
+
## Common Mistakes to Avoid
|
|
25
|
+
- Learn from errors encountered during project work
|
|
26
|
+
|
|
27
|
+
## Integration Points
|
|
28
|
+
<!-- Key interfaces and integration patterns -->
|
|
29
|
+
|
|
30
|
+
## Performance Considerations
|
|
31
|
+
<!-- Performance insights and optimization patterns -->
|
|
32
|
+
|
|
33
|
+
## Current Technical Context
|
|
34
|
+
- Project analysis pending - gather context during tasks
|
|
35
|
+
|
|
36
|
+
## Recent Learnings
|
|
37
|
+
<!-- Most recent discoveries and insights -->
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Ops Agent Memory - mcp-vector-search
|
|
2
|
+
|
|
3
|
+
<!-- MEMORY LIMITS: 80KB max | 10 sections max | 15 items per section -->
|
|
4
|
+
<!-- Last Updated: 2025-08-21 18:19:03 | Auto-updated by: ops -->
|
|
5
|
+
|
|
6
|
+
## Project Context
|
|
7
|
+
mcp-vector-search: Software project requiring analysis
|
|
8
|
+
|
|
9
|
+
## Project Architecture
|
|
10
|
+
- Analyze project structure to understand architecture patterns
|
|
11
|
+
|
|
12
|
+
## Coding Patterns Learned
|
|
13
|
+
- Observe codebase patterns and conventions during tasks
|
|
14
|
+
|
|
15
|
+
## Implementation Guidelines
|
|
16
|
+
- Extract implementation guidelines from project documentation
|
|
17
|
+
|
|
18
|
+
## Domain-Specific Knowledge
|
|
19
|
+
<!-- Agent-specific knowledge accumulates here -->
|
|
20
|
+
|
|
21
|
+
## Effective Strategies
|
|
22
|
+
<!-- Successful approaches discovered through experience -->
|
|
23
|
+
|
|
24
|
+
## Common Mistakes to Avoid
|
|
25
|
+
- Learn from errors encountered during project work
|
|
26
|
+
|
|
27
|
+
## Integration Points
|
|
28
|
+
<!-- Key interfaces and integration patterns -->
|
|
29
|
+
|
|
30
|
+
## Performance Considerations
|
|
31
|
+
<!-- Performance insights and optimization patterns -->
|
|
32
|
+
|
|
33
|
+
## Current Technical Context
|
|
34
|
+
- Project analysis pending - gather context during tasks
|
|
35
|
+
|
|
36
|
+
## Recent Learnings
|
|
37
|
+
<!-- Most recent discoveries and insights -->
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Research Agent Memory - mcp-vector-search
|
|
2
|
+
|
|
3
|
+
<!-- MEMORY LIMITS: 120KB max | 10 sections max | 15 items per section -->
|
|
4
|
+
<!-- Last Updated: 2025-08-21 17:37:14 | Auto-updated by: research -->
|
|
5
|
+
|
|
6
|
+
## Project Context
|
|
7
|
+
mcp-vector-search: Software project requiring analysis
|
|
8
|
+
|
|
9
|
+
## Project Architecture
|
|
10
|
+
- Analyze project structure to understand architecture patterns
|
|
11
|
+
|
|
12
|
+
## Coding Patterns Learned
|
|
13
|
+
- Observe codebase patterns and conventions during tasks
|
|
14
|
+
|
|
15
|
+
## Implementation Guidelines
|
|
16
|
+
- Extract implementation guidelines from project documentation
|
|
17
|
+
|
|
18
|
+
## Domain-Specific Knowledge
|
|
19
|
+
<!-- Agent-specific knowledge accumulates here -->
|
|
20
|
+
|
|
21
|
+
## Effective Strategies
|
|
22
|
+
<!-- Successful approaches discovered through experience -->
|
|
23
|
+
|
|
24
|
+
## Common Mistakes to Avoid
|
|
25
|
+
- Learn from errors encountered during project work
|
|
26
|
+
|
|
27
|
+
## Integration Points
|
|
28
|
+
<!-- Key interfaces and integration patterns -->
|
|
29
|
+
|
|
30
|
+
## Performance Considerations
|
|
31
|
+
<!-- Performance insights and optimization patterns -->
|
|
32
|
+
|
|
33
|
+
## Current Technical Context
|
|
34
|
+
- Project analysis pending - gather context during tasks
|
|
35
|
+
|
|
36
|
+
## Recent Learnings
|
|
37
|
+
<!-- Most recent discoveries and insights -->
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Version-Control Agent Memory - mcp-vector-search
|
|
2
|
+
|
|
3
|
+
<!-- MEMORY LIMITS: 80KB max | 10 sections max | 15 items per section -->
|
|
4
|
+
<!-- Last Updated: 2025-08-21 18:14:52 | Auto-updated by: version-control -->
|
|
5
|
+
|
|
6
|
+
## Project Context
|
|
7
|
+
mcp-vector-search: Software project requiring analysis
|
|
8
|
+
|
|
9
|
+
## Project Architecture
|
|
10
|
+
- Analyze project structure to understand architecture patterns
|
|
11
|
+
|
|
12
|
+
## Coding Patterns Learned
|
|
13
|
+
- Observe codebase patterns and conventions during tasks
|
|
14
|
+
|
|
15
|
+
## Implementation Guidelines
|
|
16
|
+
- Extract implementation guidelines from project documentation
|
|
17
|
+
|
|
18
|
+
## Domain-Specific Knowledge
|
|
19
|
+
<!-- Agent-specific knowledge accumulates here -->
|
|
20
|
+
|
|
21
|
+
## Effective Strategies
|
|
22
|
+
<!-- Successful approaches discovered through experience -->
|
|
23
|
+
|
|
24
|
+
## Common Mistakes to Avoid
|
|
25
|
+
- Learn from errors encountered during project work
|
|
26
|
+
|
|
27
|
+
## Integration Points
|
|
28
|
+
<!-- Key interfaces and integration patterns -->
|
|
29
|
+
|
|
30
|
+
## Performance Considerations
|
|
31
|
+
<!-- Performance insights and optimization patterns -->
|
|
32
|
+
|
|
33
|
+
## Current Technical Context
|
|
34
|
+
- Project analysis pending - gather context during tasks
|
|
35
|
+
|
|
36
|
+
## Recent Learnings
|
|
37
|
+
<!-- Most recent discoveries and insights -->
|
|
@@ -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.
|
|
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: [--
|
|
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/
|