tree-sitter-analyzer 0.9.5__tar.gz → 0.9.6__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 tree-sitter-analyzer might be problematic. Click here for more details.
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/CHANGELOG.md +159 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/PKG-INFO +77 -13
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/README.md +76 -12
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/README_ja.md +76 -12
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/README_zh.md +77 -12
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/pyproject.toml +1 -1
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/scripts/improved_readme_updater.py +470 -464
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/start_mcp_server.py +8 -2
- tree_sitter_analyzer-0.9.6/training/01_onboarding.md +152 -0
- tree_sitter_analyzer-0.9.6/training/02_architecture_map.md +93 -0
- tree_sitter_analyzer-0.9.6/training/03_cli_cheatsheet.md +58 -0
- tree_sitter_analyzer-0.9.6/training/04_mcp_cheatsheet.md +73 -0
- tree_sitter_analyzer-0.9.6/training/05_plugin_tutorial.md +67 -0
- tree_sitter_analyzer-0.9.6/training/06_quality_workflow.md +41 -0
- tree_sitter_analyzer-0.9.6/training/07_troubleshooting.md +39 -0
- tree_sitter_analyzer-0.9.6/training/08_prompt_library.md +62 -0
- tree_sitter_analyzer-0.9.6/training/09_tasks.md +31 -0
- tree_sitter_analyzer-0.9.6/training/10_glossary.md +14 -0
- tree_sitter_analyzer-0.9.6/training/11_takeover_plan.md +53 -0
- tree_sitter_analyzer-0.9.6/training/README.md +39 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/__init__.py +1 -1
- tree_sitter_analyzer-0.9.6/tree_sitter_analyzer/cli/commands/query_command.py +107 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/cli_main.py +21 -0
- tree_sitter_analyzer-0.9.6/tree_sitter_analyzer/core/query_filter.py +200 -0
- tree_sitter_analyzer-0.9.6/tree_sitter_analyzer/core/query_service.py +162 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/mcp/resources/code_file_resource.py +1 -2
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/mcp/server.py +7 -1
- tree_sitter_analyzer-0.9.6/tree_sitter_analyzer/mcp/tools/query_tool.py +238 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/queries/java.py +5 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/uv.lock +1 -1
- tree_sitter_analyzer-0.9.5/tree_sitter_analyzer/cli/commands/query_command.py +0 -92
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/.gitignore +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/.kiro/steering/product.md +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/.kiro/steering/structure.md +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/.kiro/steering/tech.md +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/.pre-commit-config.yaml +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/AI_COLLABORATION_GUIDE.md +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/CODE_STYLE_GUIDE.md +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/CONTRIBUTING.md +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/DEPLOYMENT_GUIDE.md +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/LANGUAGE_GUIDELINES.md +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/LLM_CODING_GUIDELINES.md +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/MCP_SETUP_DEVELOPERS.md +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/MCP_SETUP_USERS.md +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/PROJECT_ROOT_CONFIG.md +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/PYPI_RELEASE_GUIDE.md +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/build_standalone.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/check_quality.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/docs/api.md +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/examples/BigService.java +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/examples/BigService.json +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/examples/BigService.summary.json +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/examples/JavaDocTest.java +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/examples/MultiClass.java +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/examples/Sample.java +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/examples/calculate_token_comparison.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/examples/project_root_demo.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/examples/sample.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/examples/security_demo.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/examples/security_integration_demo.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/llm_code_checker.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/pypirc_example.txt +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/pytest.ini +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/scripts/readme_config.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/__main__.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/api.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/cli/__init__.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/cli/__main__.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/cli/commands/__init__.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/cli/commands/advanced_command.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/cli/commands/base_command.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/cli/commands/default_command.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/cli/commands/partial_read_command.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/cli/commands/structure_command.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/cli/commands/summary_command.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/cli/commands/table_command.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/cli/info_commands.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/core/__init__.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/core/analysis_engine.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/core/cache_service.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/core/engine.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/core/parser.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/core/query.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/encoding_utils.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/exceptions.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/file_handler.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/formatters/__init__.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/formatters/base_formatter.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/formatters/formatter_factory.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/formatters/java_formatter.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/formatters/python_formatter.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/interfaces/__init__.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/interfaces/cli.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/interfaces/cli_adapter.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/interfaces/mcp_adapter.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/interfaces/mcp_server.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/language_detector.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/language_loader.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/languages/__init__.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/languages/java_plugin.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/languages/javascript_plugin.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/languages/python_plugin.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/mcp/__init__.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/mcp/resources/__init__.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/mcp/resources/project_stats_resource.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/mcp/tools/__init__.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/mcp/tools/base_tool.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/mcp/tools/read_partial_tool.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/mcp/tools/table_format_tool.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/mcp/utils/__init__.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/mcp/utils/error_handler.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/models.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/output_manager.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/plugins/__init__.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/plugins/base.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/plugins/manager.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/project_detector.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/queries/__init__.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/queries/javascript.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/queries/python.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/queries/typescript.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/query_loader.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/security/__init__.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/security/boundary_manager.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/security/regex_checker.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/security/validator.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/table_formatter.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/tree_sitter_analyzer/utils.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/upload_interactive.py +0 -0
- {tree_sitter_analyzer-0.9.5 → tree_sitter_analyzer-0.9.6}/upload_to_pypi.py +0 -0
|
@@ -1,4 +1,163 @@
|
|
|
1
1
|
# Changelog
|
|
2
|
+
## [0.9.6] - 2025-01-17
|
|
3
|
+
|
|
4
|
+
### 🎉 New Feature: Advanced Query Filtering System
|
|
5
|
+
|
|
6
|
+
#### 🚀 Major Features
|
|
7
|
+
|
|
8
|
+
##### Smart Query Filtering
|
|
9
|
+
- **Precise Method Search**: Find specific methods using `--filter "name=main"`
|
|
10
|
+
- **Pattern Matching**: Use wildcards like `--filter "name=~auth*"` for authentication-related methods
|
|
11
|
+
- **Parameter Filtering**: Filter by parameter count with `--filter "params=0"`
|
|
12
|
+
- **Modifier Filtering**: Search by visibility and modifiers like `--filter "static=true,public=true"`
|
|
13
|
+
- **Compound Conditions**: Combine multiple filters with `--filter "name=~get*,params=0,public=true"`
|
|
14
|
+
|
|
15
|
+
##### Unified Architecture
|
|
16
|
+
- **QueryService**: New unified query service eliminates code duplication between CLI and MCP
|
|
17
|
+
- **QueryFilter**: Powerful filtering engine supporting multiple criteria
|
|
18
|
+
- **Consistent API**: Same filtering syntax works in both command line and AI assistants
|
|
19
|
+
|
|
20
|
+
#### 🛠️ Technical Improvements
|
|
21
|
+
|
|
22
|
+
##### New Core Components
|
|
23
|
+
- `core/query_service.py`: Unified query execution service
|
|
24
|
+
- `core/query_filter.py`: Advanced result filtering system
|
|
25
|
+
- `cli/commands/query_command.py`: Enhanced CLI query command
|
|
26
|
+
- `mcp/tools/query_tool.py`: New MCP query tool with filtering support
|
|
27
|
+
|
|
28
|
+
##### Enhanced CLI
|
|
29
|
+
- Added `--filter` argument for query result filtering
|
|
30
|
+
- Added `--filter-help` command to display filter syntax help
|
|
31
|
+
- Improved query command to use unified QueryService
|
|
32
|
+
|
|
33
|
+
##### MCP Protocol Extensions
|
|
34
|
+
- New `query_code` tool for AI assistants
|
|
35
|
+
- Full filtering support in MCP environment
|
|
36
|
+
- Consistent with CLI filtering syntax
|
|
37
|
+
|
|
38
|
+
#### 📚 Documentation Updates
|
|
39
|
+
|
|
40
|
+
##### README Updates
|
|
41
|
+
- **Chinese (README_zh.md)**: Added comprehensive query filtering examples
|
|
42
|
+
- **English (README.md)**: Complete documentation with usage examples
|
|
43
|
+
- **Japanese (README_ja.md)**: Full translation with feature explanations
|
|
44
|
+
|
|
45
|
+
##### Training Materials
|
|
46
|
+
- Updated `training/01_onboarding.md` with new feature demonstrations
|
|
47
|
+
- Enhanced `training/02_architecture_map.md` with architecture improvements
|
|
48
|
+
- Cross-platform examples for Windows, Linux, and macOS
|
|
49
|
+
|
|
50
|
+
#### 🧪 Comprehensive Testing
|
|
51
|
+
|
|
52
|
+
##### Test Coverage
|
|
53
|
+
- **QueryService Tests**: 13 comprehensive unit tests
|
|
54
|
+
- **QueryFilter Tests**: 29 detailed filtering tests
|
|
55
|
+
- **CLI Integration Tests**: 11 real-world usage scenarios
|
|
56
|
+
- **MCP Tool Tests**: 9 tool definition and functionality tests
|
|
57
|
+
|
|
58
|
+
##### Test Categories
|
|
59
|
+
- Unit tests for core filtering logic
|
|
60
|
+
- Integration tests with real Java files
|
|
61
|
+
- Edge case handling (overloaded methods, generics, annotations)
|
|
62
|
+
- Error handling and validation
|
|
63
|
+
|
|
64
|
+
#### 🎯 Usage Examples
|
|
65
|
+
|
|
66
|
+
##### Command Line Interface
|
|
67
|
+
```bash
|
|
68
|
+
# Find specific method
|
|
69
|
+
uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "name=main"
|
|
70
|
+
|
|
71
|
+
# Find authentication methods
|
|
72
|
+
uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "name=~auth*"
|
|
73
|
+
|
|
74
|
+
# Find public methods with no parameters
|
|
75
|
+
uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "params=0,public=true"
|
|
76
|
+
|
|
77
|
+
# View filter syntax help
|
|
78
|
+
uv run python -m tree_sitter_analyzer --filter-help
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
##### AI Assistant (MCP)
|
|
82
|
+
```json
|
|
83
|
+
{
|
|
84
|
+
"tool": "query_code",
|
|
85
|
+
"arguments": {
|
|
86
|
+
"file_path": "examples/BigService.java",
|
|
87
|
+
"query_key": "methods",
|
|
88
|
+
"filter": "name=main"
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
#### 🔧 Filter Syntax Reference
|
|
94
|
+
|
|
95
|
+
##### Supported Filters
|
|
96
|
+
- **name**: Method/function name matching
|
|
97
|
+
- Exact: `name=main`
|
|
98
|
+
- Pattern: `name=~auth*` (supports wildcards)
|
|
99
|
+
- **params**: Parameter count filtering
|
|
100
|
+
- Example: `params=0`, `params=2`
|
|
101
|
+
- **Modifiers**: Visibility and static modifiers
|
|
102
|
+
- `static=true/false`
|
|
103
|
+
- `public=true/false`
|
|
104
|
+
- `private=true/false`
|
|
105
|
+
- `protected=true/false`
|
|
106
|
+
|
|
107
|
+
##### Combining Filters
|
|
108
|
+
Use commas for AND logic: `name=~get*,params=0,public=true`
|
|
109
|
+
|
|
110
|
+
#### 🏗️ Architecture Benefits
|
|
111
|
+
|
|
112
|
+
##### Code Quality
|
|
113
|
+
- **DRY Principle**: Eliminated duplication between CLI and MCP
|
|
114
|
+
- **Single Responsibility**: Clear separation of concerns
|
|
115
|
+
- **Extensibility**: Easy to add new filter types
|
|
116
|
+
- **Maintainability**: Centralized query logic
|
|
117
|
+
|
|
118
|
+
##### Performance
|
|
119
|
+
- **Efficient Filtering**: Post-query filtering for optimal performance
|
|
120
|
+
- **Memory Optimized**: Filter after parsing, not during
|
|
121
|
+
- **Scalable**: Works efficiently with large codebases
|
|
122
|
+
|
|
123
|
+
#### 🚦 Quality Assurance
|
|
124
|
+
|
|
125
|
+
##### Code Standards
|
|
126
|
+
- **Type Safety**: Full MyPy type annotations
|
|
127
|
+
- **Code Style**: Black formatting, Ruff linting
|
|
128
|
+
- **Documentation**: Comprehensive docstrings and examples
|
|
129
|
+
- **Testing**: 62 new tests with 100% pass rate
|
|
130
|
+
|
|
131
|
+
##### Platform Support
|
|
132
|
+
- **Windows**: PowerShell examples and testing
|
|
133
|
+
- **Linux/macOS**: Bash examples and compatibility
|
|
134
|
+
- **Codespaces**: Full support for GitHub Codespaces
|
|
135
|
+
|
|
136
|
+
#### 🎯 Impact
|
|
137
|
+
|
|
138
|
+
##### Productivity Gains
|
|
139
|
+
- **Faster Code Navigation**: Find specific methods in seconds
|
|
140
|
+
- **Enhanced Code Analysis**: AI assistants can understand code structure better
|
|
141
|
+
- **Reduced Token Usage**: Extract only relevant methods for LLM analysis
|
|
142
|
+
|
|
143
|
+
##### Integration Benefits
|
|
144
|
+
- **IDE Support**: Works with Cursor, Claude Desktop, Roo Code
|
|
145
|
+
- **CLI Flexibility**: Powerful command-line filtering
|
|
146
|
+
- **API Consistency**: Same functionality across all interfaces
|
|
147
|
+
|
|
148
|
+
#### 📝 Technical Details
|
|
149
|
+
- **Files Changed**: 15+ core files
|
|
150
|
+
- **New Files**: 6 new modules and test files
|
|
151
|
+
- **Lines Added**: 2000+ lines of code and tests
|
|
152
|
+
- **Documentation**: 500+ lines of updated documentation
|
|
153
|
+
|
|
154
|
+
#### ✅ Migration Notes
|
|
155
|
+
- All existing CLI and MCP functionality remains compatible
|
|
156
|
+
- New filtering features are additive and optional
|
|
157
|
+
- No breaking changes to existing APIs
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
2
161
|
## [0.9.5] - 2025-01-15
|
|
3
162
|
|
|
4
163
|
### 🚀 CI/CD Stability & Cross-Platform Compatibility
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tree-sitter-analyzer
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.6
|
|
4
4
|
Summary: Extensible multi-language code analyzer framework using Tree-sitter with dynamic plugin architecture
|
|
5
5
|
Project-URL: Homepage, https://github.com/aimasteracc/tree-sitter-analyzer
|
|
6
6
|
Project-URL: Documentation, https://github.com/aimasteracc/tree-sitter-analyzer#readme
|
|
@@ -137,8 +137,8 @@ Description-Content-Type: text/markdown
|
|
|
137
137
|
|
|
138
138
|
[](https://python.org)
|
|
139
139
|
[](LICENSE)
|
|
140
|
-
[](#quality-assurance)
|
|
141
|
+
[](#quality-assurance)
|
|
142
142
|
[](#quality-assurance)
|
|
143
143
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
144
144
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
@@ -359,11 +359,49 @@ Parameters: {"file_path": "examples/BigService.java", "start_line": 100, "end_li
|
|
|
359
359
|
}
|
|
360
360
|
```
|
|
361
361
|
|
|
362
|
+
#### 🔍 **Step 4: Smart Query Filtering (NEW!)**
|
|
363
|
+
|
|
364
|
+
**Find specific methods:**
|
|
365
|
+
```
|
|
366
|
+
Use MCP tool query_code to precisely find code elements
|
|
367
|
+
Parameters: {"file_path": "examples/BigService.java", "query_key": "methods", "filter": "name=main"}
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
**Find authentication-related methods:**
|
|
371
|
+
```
|
|
372
|
+
Use MCP tool query_code to find authentication methods
|
|
373
|
+
Parameters: {"file_path": "examples/BigService.java", "query_key": "methods", "filter": "name=~auth*"}
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
**Find parameterless public methods:**
|
|
377
|
+
```
|
|
378
|
+
Use MCP tool query_code to find getter methods
|
|
379
|
+
Parameters: {"file_path": "examples/BigService.java", "query_key": "methods", "filter": "params=0,public=true"}
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
**Return Format:**
|
|
383
|
+
```json
|
|
384
|
+
{
|
|
385
|
+
"success": true,
|
|
386
|
+
"results": [
|
|
387
|
+
{
|
|
388
|
+
"capture_name": "method",
|
|
389
|
+
"node_type": "method_declaration",
|
|
390
|
+
"start_line": 1385,
|
|
391
|
+
"end_line": 1418,
|
|
392
|
+
"content": "public static void main(String[] args) { ... }"
|
|
393
|
+
}
|
|
394
|
+
],
|
|
395
|
+
"count": 1
|
|
396
|
+
}
|
|
397
|
+
```
|
|
398
|
+
|
|
362
399
|
#### 💡 **Important Notes**
|
|
363
400
|
- **Parameter Format**: Use snake_case (`file_path`, `start_line`, `end_line`)
|
|
364
401
|
- **Path Handling**: Relative paths auto-resolve to project root
|
|
365
402
|
- **Security Protection**: Tool automatically performs project boundary checks
|
|
366
|
-
- **Workflow**: Recommended to use in order: Step 1 → 2 → 3
|
|
403
|
+
- **Workflow**: Recommended to use in order: Step 1 → 2 → 4 (Query Filtering) → 3 (Precise Extraction)
|
|
404
|
+
- **Filter Syntax**: Supports `name=value`, `name=~pattern*`, `params=number`, `static/public/private=true/false`
|
|
367
405
|
|
|
368
406
|
### 🛠️ CLI Command Examples
|
|
369
407
|
|
|
@@ -379,6 +417,22 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --partial-read --
|
|
|
379
417
|
|
|
380
418
|
# Silent mode (display results only)
|
|
381
419
|
uv run python -m tree_sitter_analyzer examples/BigService.java --table=full --quiet
|
|
420
|
+
|
|
421
|
+
# 🔍 Query filtering examples (NEW!)
|
|
422
|
+
# Find specific methods
|
|
423
|
+
uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "name=main"
|
|
424
|
+
|
|
425
|
+
# Find authentication-related methods
|
|
426
|
+
uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "name=~auth*"
|
|
427
|
+
|
|
428
|
+
# Find parameterless public methods
|
|
429
|
+
uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "params=0,public=true"
|
|
430
|
+
|
|
431
|
+
# Find static methods
|
|
432
|
+
uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "static=true"
|
|
433
|
+
|
|
434
|
+
# View filter syntax help
|
|
435
|
+
uv run python -m tree_sitter_analyzer --filter-help
|
|
382
436
|
```
|
|
383
437
|
|
|
384
438
|
---
|
|
@@ -398,6 +452,15 @@ Get insights without reading complete files:
|
|
|
398
452
|
- Include position metadata
|
|
399
453
|
- Support efficient processing of large files
|
|
400
454
|
|
|
455
|
+
### 🔍 **Advanced Query Filtering**
|
|
456
|
+
Powerful code element querying and filtering system:
|
|
457
|
+
- **Exact matching**: `--filter "name=main"` Find specific methods
|
|
458
|
+
- **Pattern matching**: `--filter "name=~auth*"` Find authentication-related methods
|
|
459
|
+
- **Parameter filtering**: `--filter "params=2"` Find methods with specific parameter counts
|
|
460
|
+
- **Modifier filtering**: `--filter "static=true,public=true"` Find static public methods
|
|
461
|
+
- **Compound conditions**: `--filter "name=~get*,params=0,public=true"` Combine multiple conditions
|
|
462
|
+
- **CLI/MCP consistency**: Same filtering syntax in command line and AI assistants
|
|
463
|
+
|
|
401
464
|
### 🔗 **AI Assistant Integration**
|
|
402
465
|
Deep integration via MCP protocol:
|
|
403
466
|
- Claude Desktop
|
|
@@ -482,16 +545,16 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
|
|
|
482
545
|
## 🏆 Quality Assurance
|
|
483
546
|
|
|
484
547
|
### 📊 **Quality Metrics**
|
|
485
|
-
- **1,
|
|
486
|
-
- **74.
|
|
548
|
+
- **1,420 Tests** - 100% pass rate ✅
|
|
549
|
+
- **74.36% Code Coverage** - Industry-leading level
|
|
487
550
|
- **Zero Test Failures** - Complete CI/CD ready
|
|
488
551
|
- **Cross-platform Compatible** - Windows, macOS, Linux
|
|
489
552
|
|
|
490
|
-
### ⚡ **Latest Quality Achievements (v0.9.
|
|
491
|
-
- ✅ **
|
|
492
|
-
- ✅ **
|
|
493
|
-
- ✅ **
|
|
494
|
-
- ✅ **
|
|
553
|
+
### ⚡ **Latest Quality Achievements (v0.9.6)**
|
|
554
|
+
- ✅ **Smart Query Filtering System** - 62 new tests all passed
|
|
555
|
+
- ✅ **Unified Architecture Design** - QueryService eliminates code duplication
|
|
556
|
+
- ✅ **CI Test Fixes** - All platforms test stable
|
|
557
|
+
- ✅ **Multi-language Documentation** - Complete updates in EN/ZH/JA
|
|
495
558
|
|
|
496
559
|
### ⚙️ **Running Tests**
|
|
497
560
|
```bash
|
|
@@ -507,9 +570,10 @@ uv run pytest tests/test_mcp_server_initialization.py -v
|
|
|
507
570
|
|
|
508
571
|
### 📈 **Coverage Highlights**
|
|
509
572
|
- **Language Detector**: 98.41% (Excellent)
|
|
510
|
-
- **CLI Main Entry**:
|
|
573
|
+
- **CLI Main Entry**: 94.36% (Excellent)
|
|
574
|
+
- **Query Filtering System**: 96.06% (Excellent)
|
|
575
|
+
- **Query Service**: 86.25% (Good)
|
|
511
576
|
- **Error Handling**: 82.76% (Good)
|
|
512
|
-
- **Security Framework**: 78%+ (Reliable)
|
|
513
577
|
|
|
514
578
|
---
|
|
515
579
|
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://python.org)
|
|
4
4
|
[](LICENSE)
|
|
5
|
-
[](#quality-assurance)
|
|
6
|
+
[](#quality-assurance)
|
|
7
7
|
[](#quality-assurance)
|
|
8
8
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
9
9
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
@@ -224,11 +224,49 @@ Parameters: {"file_path": "examples/BigService.java", "start_line": 100, "end_li
|
|
|
224
224
|
}
|
|
225
225
|
```
|
|
226
226
|
|
|
227
|
+
#### 🔍 **Step 4: Smart Query Filtering (NEW!)**
|
|
228
|
+
|
|
229
|
+
**Find specific methods:**
|
|
230
|
+
```
|
|
231
|
+
Use MCP tool query_code to precisely find code elements
|
|
232
|
+
Parameters: {"file_path": "examples/BigService.java", "query_key": "methods", "filter": "name=main"}
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
**Find authentication-related methods:**
|
|
236
|
+
```
|
|
237
|
+
Use MCP tool query_code to find authentication methods
|
|
238
|
+
Parameters: {"file_path": "examples/BigService.java", "query_key": "methods", "filter": "name=~auth*"}
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
**Find parameterless public methods:**
|
|
242
|
+
```
|
|
243
|
+
Use MCP tool query_code to find getter methods
|
|
244
|
+
Parameters: {"file_path": "examples/BigService.java", "query_key": "methods", "filter": "params=0,public=true"}
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**Return Format:**
|
|
248
|
+
```json
|
|
249
|
+
{
|
|
250
|
+
"success": true,
|
|
251
|
+
"results": [
|
|
252
|
+
{
|
|
253
|
+
"capture_name": "method",
|
|
254
|
+
"node_type": "method_declaration",
|
|
255
|
+
"start_line": 1385,
|
|
256
|
+
"end_line": 1418,
|
|
257
|
+
"content": "public static void main(String[] args) { ... }"
|
|
258
|
+
}
|
|
259
|
+
],
|
|
260
|
+
"count": 1
|
|
261
|
+
}
|
|
262
|
+
```
|
|
263
|
+
|
|
227
264
|
#### 💡 **Important Notes**
|
|
228
265
|
- **Parameter Format**: Use snake_case (`file_path`, `start_line`, `end_line`)
|
|
229
266
|
- **Path Handling**: Relative paths auto-resolve to project root
|
|
230
267
|
- **Security Protection**: Tool automatically performs project boundary checks
|
|
231
|
-
- **Workflow**: Recommended to use in order: Step 1 → 2 → 3
|
|
268
|
+
- **Workflow**: Recommended to use in order: Step 1 → 2 → 4 (Query Filtering) → 3 (Precise Extraction)
|
|
269
|
+
- **Filter Syntax**: Supports `name=value`, `name=~pattern*`, `params=number`, `static/public/private=true/false`
|
|
232
270
|
|
|
233
271
|
### 🛠️ CLI Command Examples
|
|
234
272
|
|
|
@@ -244,6 +282,22 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --partial-read --
|
|
|
244
282
|
|
|
245
283
|
# Silent mode (display results only)
|
|
246
284
|
uv run python -m tree_sitter_analyzer examples/BigService.java --table=full --quiet
|
|
285
|
+
|
|
286
|
+
# 🔍 Query filtering examples (NEW!)
|
|
287
|
+
# Find specific methods
|
|
288
|
+
uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "name=main"
|
|
289
|
+
|
|
290
|
+
# Find authentication-related methods
|
|
291
|
+
uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "name=~auth*"
|
|
292
|
+
|
|
293
|
+
# Find parameterless public methods
|
|
294
|
+
uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "params=0,public=true"
|
|
295
|
+
|
|
296
|
+
# Find static methods
|
|
297
|
+
uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "static=true"
|
|
298
|
+
|
|
299
|
+
# View filter syntax help
|
|
300
|
+
uv run python -m tree_sitter_analyzer --filter-help
|
|
247
301
|
```
|
|
248
302
|
|
|
249
303
|
---
|
|
@@ -263,6 +317,15 @@ Get insights without reading complete files:
|
|
|
263
317
|
- Include position metadata
|
|
264
318
|
- Support efficient processing of large files
|
|
265
319
|
|
|
320
|
+
### 🔍 **Advanced Query Filtering**
|
|
321
|
+
Powerful code element querying and filtering system:
|
|
322
|
+
- **Exact matching**: `--filter "name=main"` Find specific methods
|
|
323
|
+
- **Pattern matching**: `--filter "name=~auth*"` Find authentication-related methods
|
|
324
|
+
- **Parameter filtering**: `--filter "params=2"` Find methods with specific parameter counts
|
|
325
|
+
- **Modifier filtering**: `--filter "static=true,public=true"` Find static public methods
|
|
326
|
+
- **Compound conditions**: `--filter "name=~get*,params=0,public=true"` Combine multiple conditions
|
|
327
|
+
- **CLI/MCP consistency**: Same filtering syntax in command line and AI assistants
|
|
328
|
+
|
|
266
329
|
### 🔗 **AI Assistant Integration**
|
|
267
330
|
Deep integration via MCP protocol:
|
|
268
331
|
- Claude Desktop
|
|
@@ -347,16 +410,16 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
|
|
|
347
410
|
## 🏆 Quality Assurance
|
|
348
411
|
|
|
349
412
|
### 📊 **Quality Metrics**
|
|
350
|
-
- **1,
|
|
351
|
-
- **74.
|
|
413
|
+
- **1,420 Tests** - 100% pass rate ✅
|
|
414
|
+
- **74.36% Code Coverage** - Industry-leading level
|
|
352
415
|
- **Zero Test Failures** - Complete CI/CD ready
|
|
353
416
|
- **Cross-platform Compatible** - Windows, macOS, Linux
|
|
354
417
|
|
|
355
|
-
### ⚡ **Latest Quality Achievements (v0.9.
|
|
356
|
-
- ✅ **
|
|
357
|
-
- ✅ **
|
|
358
|
-
- ✅ **
|
|
359
|
-
- ✅ **
|
|
418
|
+
### ⚡ **Latest Quality Achievements (v0.9.6)**
|
|
419
|
+
- ✅ **Smart Query Filtering System** - 62 new tests all passed
|
|
420
|
+
- ✅ **Unified Architecture Design** - QueryService eliminates code duplication
|
|
421
|
+
- ✅ **CI Test Fixes** - All platforms test stable
|
|
422
|
+
- ✅ **Multi-language Documentation** - Complete updates in EN/ZH/JA
|
|
360
423
|
|
|
361
424
|
### ⚙️ **Running Tests**
|
|
362
425
|
```bash
|
|
@@ -372,9 +435,10 @@ uv run pytest tests/test_mcp_server_initialization.py -v
|
|
|
372
435
|
|
|
373
436
|
### 📈 **Coverage Highlights**
|
|
374
437
|
- **Language Detector**: 98.41% (Excellent)
|
|
375
|
-
- **CLI Main Entry**:
|
|
438
|
+
- **CLI Main Entry**: 94.36% (Excellent)
|
|
439
|
+
- **Query Filtering System**: 96.06% (Excellent)
|
|
440
|
+
- **Query Service**: 86.25% (Good)
|
|
376
441
|
- **Error Handling**: 82.76% (Good)
|
|
377
|
-
- **Security Framework**: 78%+ (Reliable)
|
|
378
442
|
|
|
379
443
|
---
|
|
380
444
|
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://python.org)
|
|
4
4
|
[](LICENSE)
|
|
5
|
-
[](#品質保証)
|
|
6
|
+
[](#品質保証)
|
|
7
7
|
[](#品質保証)
|
|
8
8
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
9
9
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
@@ -224,11 +224,49 @@ MCPツールextract_code_sectionを使用して指定されたコードセクシ
|
|
|
224
224
|
}
|
|
225
225
|
```
|
|
226
226
|
|
|
227
|
+
#### 🔍 **ステップ4: スマートクエリフィルタリング(NEW!)**
|
|
228
|
+
|
|
229
|
+
**特定のメソッドを検索:**
|
|
230
|
+
```
|
|
231
|
+
MCPツールquery_codeを使用してコード要素を正確に検索
|
|
232
|
+
パラメーター: {"file_path": "examples/BigService.java", "query_key": "methods", "filter": "name=main"}
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
**認証関連メソッドを検索:**
|
|
236
|
+
```
|
|
237
|
+
MCPツールquery_codeを使用して認証メソッドを検索
|
|
238
|
+
パラメーター: {"file_path": "examples/BigService.java", "query_key": "methods", "filter": "name=~auth*"}
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
**パラメーターなしのパブリックメソッドを検索:**
|
|
242
|
+
```
|
|
243
|
+
MCPツールquery_codeを使用してgetterメソッドを検索
|
|
244
|
+
パラメーター: {"file_path": "examples/BigService.java", "query_key": "methods", "filter": "params=0,public=true"}
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**戻り値の形式:**
|
|
248
|
+
```json
|
|
249
|
+
{
|
|
250
|
+
"success": true,
|
|
251
|
+
"results": [
|
|
252
|
+
{
|
|
253
|
+
"capture_name": "method",
|
|
254
|
+
"node_type": "method_declaration",
|
|
255
|
+
"start_line": 1385,
|
|
256
|
+
"end_line": 1418,
|
|
257
|
+
"content": "public static void main(String[] args) { ... }"
|
|
258
|
+
}
|
|
259
|
+
],
|
|
260
|
+
"count": 1
|
|
261
|
+
}
|
|
262
|
+
```
|
|
263
|
+
|
|
227
264
|
#### 💡 **重要な注意事項**
|
|
228
265
|
- **パラメーター形式**: スネークケースを使用(`file_path`、`start_line`、`end_line`)
|
|
229
266
|
- **パス処理**: 相対パスは自動的にプロジェクトルートに解決
|
|
230
267
|
- **セキュリティ保護**: ツールは自動的にプロジェクト境界チェックを実行
|
|
231
|
-
- **ワークフロー**: 順序通りの使用を推奨:ステップ1 → 2 → 3
|
|
268
|
+
- **ワークフロー**: 順序通りの使用を推奨:ステップ1 → 2 → 4(クエリフィルタリング)→ 3(正確な抽出)
|
|
269
|
+
- **フィルター構文**: `name=値`、`name=~パターン*`、`params=数字`、`static/public/private=true/false`をサポート
|
|
232
270
|
|
|
233
271
|
### 🛠️ CLIコマンド例
|
|
234
272
|
|
|
@@ -244,6 +282,22 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --partial-read --
|
|
|
244
282
|
|
|
245
283
|
# サイレントモード(結果のみ表示)
|
|
246
284
|
uv run python -m tree_sitter_analyzer examples/BigService.java --table=full --quiet
|
|
285
|
+
|
|
286
|
+
# 🔍 クエリフィルタリング例(NEW!)
|
|
287
|
+
# 特定のメソッドを検索
|
|
288
|
+
uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "name=main"
|
|
289
|
+
|
|
290
|
+
# 認証関連メソッドを検索
|
|
291
|
+
uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "name=~auth*"
|
|
292
|
+
|
|
293
|
+
# パラメーターなしのパブリックメソッドを検索
|
|
294
|
+
uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "params=0,public=true"
|
|
295
|
+
|
|
296
|
+
# 静的メソッドを検索
|
|
297
|
+
uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "static=true"
|
|
298
|
+
|
|
299
|
+
# フィルター構文ヘルプを表示
|
|
300
|
+
uv run python -m tree_sitter_analyzer --filter-help
|
|
247
301
|
```
|
|
248
302
|
|
|
249
303
|
---
|
|
@@ -263,6 +317,15 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --table=full --qu
|
|
|
263
317
|
- 位置メタデータを含む
|
|
264
318
|
- 大ファイルの効率的な処理をサポート
|
|
265
319
|
|
|
320
|
+
### 🔍 **高度なクエリフィルタリング**
|
|
321
|
+
強力なコード要素クエリとフィルタリングシステム:
|
|
322
|
+
- **完全一致**: `--filter "name=main"` 特定のメソッドを検索
|
|
323
|
+
- **パターンマッチング**: `--filter "name=~auth*"` 認証関連メソッドを検索
|
|
324
|
+
- **パラメーターフィルタリング**: `--filter "params=2"` 特定のパラメーター数のメソッドを検索
|
|
325
|
+
- **修飾子フィルタリング**: `--filter "static=true,public=true"` 静的パブリックメソッドを検索
|
|
326
|
+
- **複合条件**: `--filter "name=~get*,params=0,public=true"` 複数の条件を組み合わせ
|
|
327
|
+
- **CLI/MCP一貫性**: コマンドラインとAIアシスタントで同じフィルタリング構文
|
|
328
|
+
|
|
266
329
|
### 🔗 **AIアシスタント統合**
|
|
267
330
|
MCPプロトコルを通じた深い統合:
|
|
268
331
|
- Claude Desktop
|
|
@@ -347,16 +410,16 @@ Tree-sitter Analyzerは自動的にプロジェクト境界を検出・保護:
|
|
|
347
410
|
## 🏆 品質保証
|
|
348
411
|
|
|
349
412
|
### 📊 **品質メトリクス**
|
|
350
|
-
- **1,
|
|
351
|
-
- **74.
|
|
413
|
+
- **1,420テスト** - 100%合格率 ✅
|
|
414
|
+
- **74.36%コードカバレッジ** - 業界最高レベル
|
|
352
415
|
- **ゼロテスト失敗** - 完全なCI/CD対応
|
|
353
416
|
- **クロスプラットフォーム対応** - Windows、macOS、Linux
|
|
354
417
|
|
|
355
|
-
### ⚡ **最新の品質成果(v0.9.
|
|
356
|
-
- ✅
|
|
357
|
-
- ✅
|
|
358
|
-
- ✅
|
|
359
|
-
- ✅
|
|
418
|
+
### ⚡ **最新の品質成果(v0.9.6)**
|
|
419
|
+
- ✅ **スマートクエリフィルタリングシステム** - 62の新しいテストすべて合格
|
|
420
|
+
- ✅ **統合アーキテクチャ設計** - QueryServiceによるコード重複の排除
|
|
421
|
+
- ✅ **CIテスト修正** - すべてのプラットフォームでテスト安定化
|
|
422
|
+
- ✅ **多言語ドキュメンテーション** - 中英日三言語の完全更新
|
|
360
423
|
|
|
361
424
|
### ⚙️ **テスト実行**
|
|
362
425
|
```bash
|
|
@@ -372,9 +435,10 @@ uv run pytest tests/test_mcp_server_initialization.py -v
|
|
|
372
435
|
|
|
373
436
|
### 📈 **カバレッジハイライト**
|
|
374
437
|
- **言語検出器**: 98.41%(優秀)
|
|
375
|
-
- **CLIメインエントリ**:
|
|
438
|
+
- **CLIメインエントリ**: 94.36%(優秀)
|
|
439
|
+
- **クエリフィルタリングシステム**: 96.06%(優秀)
|
|
440
|
+
- **クエリサービス**: 86.25%(良好)
|
|
376
441
|
- **エラーハンドリング**: 82.76%(良好)
|
|
377
|
-
- **セキュリティフレームワーク**: 78%+(信頼性)
|
|
378
442
|
|
|
379
443
|
---
|
|
380
444
|
|