tree-sitter-analyzer 1.3.8__tar.gz → 1.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of tree-sitter-analyzer might be problematic. Click here for more details.
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/CHANGELOG.md +49 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/PKG-INFO +31 -24
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/README.md +30 -23
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/README_ja.md +18 -18
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/README_zh.md +18 -18
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/pyproject.toml +2 -2
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/__init__.py +1 -1
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/uv.lock +1 -1
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/.gitattributes +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/.gitignore +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/.kiro/steering/product.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/.kiro/steering/structure.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/.kiro/steering/tech.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/.pre-commit-config.yaml +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/.pre-commit-hooks.yaml +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/AI_COLLABORATION_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/CODE_STYLE_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/CONTRIBUTING.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/DEPLOYMENT_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/GITFLOW.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/GITFLOW_ja.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/GITFLOW_zh.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/LANGUAGE_GUIDELINES.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/LLM_CODING_GUIDELINES.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/MCP_SETUP_DEVELOPERS.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/MCP_SETUP_USERS.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/PROJECT_ROOT_CONFIG.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/PYPI_RELEASE_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/REFACTORING_SUMMARY.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/build_standalone.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/check_quality.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/docs/GITFLOW_BEST_PRACTICES.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/docs/RELEASE_EXECUTION_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/docs/api.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/docs/mcp_fd_rg_design.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/BigService.java +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/BigService.json +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/BigService.summary.json +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/JavaDocTest.java +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/MultiClass.java +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/Sample.java +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/cache_demo.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/calculate_token_comparison.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/project_root_demo.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/sample.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/security_demo.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/security_integration_demo.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/smart_cache_demo.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/total_only_optimization_demo.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/llm_code_checker.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/pypirc_example.txt +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/pytest.ini +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/scripts/README.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/scripts/gitflow_helper.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/scripts/gitflow_release_automation.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/scripts/sync_version.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/scripts/sync_version_minimal.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/start_mcp_server.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/training/01_onboarding.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/training/02_architecture_map.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/training/03_cli_cheatsheet.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/training/04_mcp_cheatsheet.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/training/05_plugin_tutorial.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/training/06_quality_workflow.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/training/07_troubleshooting.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/training/08_prompt_library.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/training/09_tasks.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/training/10_glossary.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/training/11_takeover_plan.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/training/CLI_COMMAND_CORRECTIONS.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/training/IMPROVEMENT_SUMMARY.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/training/README.md +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/__main__.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/api.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/__init__.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/__main__.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/commands/__init__.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/commands/advanced_command.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/commands/base_command.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/commands/default_command.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/commands/find_and_grep_cli.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/commands/list_files_cli.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/commands/partial_read_command.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/commands/query_command.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/commands/search_content_cli.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/commands/structure_command.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/commands/summary_command.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/commands/table_command.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/info_commands.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli_main.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/constants.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/core/__init__.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/core/analysis_engine.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/core/cache_service.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/core/engine.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/core/parser.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/core/query.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/core/query_filter.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/core/query_service.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/encoding_utils.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/exceptions.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/file_handler.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/formatters/__init__.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/formatters/base_formatter.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/formatters/formatter_factory.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/formatters/java_formatter.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/formatters/python_formatter.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/interfaces/__init__.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/interfaces/cli.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/interfaces/cli_adapter.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/interfaces/mcp_adapter.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/interfaces/mcp_server.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/language_detector.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/language_loader.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/languages/__init__.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/languages/java_plugin.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/languages/javascript_plugin.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/languages/python_plugin.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/__init__.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/resources/__init__.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/resources/code_file_resource.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/resources/project_stats_resource.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/server.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/tools/__init__.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/tools/base_tool.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/tools/fd_rg_utils.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/tools/list_files_tool.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/tools/query_tool.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/tools/read_partial_tool.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/tools/search_content_tool.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/tools/table_format_tool.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/utils/__init__.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/utils/error_handler.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/utils/gitignore_detector.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/utils/path_resolver.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/utils/search_cache.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/models.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/output_manager.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/plugins/__init__.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/plugins/base.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/plugins/manager.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/project_detector.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/queries/__init__.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/queries/java.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/queries/javascript.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/queries/python.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/queries/typescript.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/query_loader.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/security/__init__.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/security/boundary_manager.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/security/regex_checker.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/security/validator.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/table_formatter.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/utils.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/upload_interactive.py +0 -0
- {tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/upload_to_pypi.py +0 -0
|
@@ -1,5 +1,54 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.4.0] - 2025-01-18
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- **🎯 Enhanced Search Content Structure**: Improved `search_content` tool with `group_by_file` option
|
|
7
|
+
- **File Grouping**: Eliminates file path duplication by grouping matches by file
|
|
8
|
+
- **Token Efficiency**: Significantly reduces context usage for large search results
|
|
9
|
+
- **Structured Output**: Results organized as `files` array instead of flat `results` array
|
|
10
|
+
- **Backward Compatibility**: Maintains existing `results` structure when `group_by_file=False`
|
|
11
|
+
|
|
12
|
+
### Improved
|
|
13
|
+
- **📊 Search Results Optimization**:
|
|
14
|
+
- Same file matches are now grouped together instead of repeated entries
|
|
15
|
+
- Context consumption reduced by ~80% for multi-file searches
|
|
16
|
+
- Better organization for AI assistants processing search results
|
|
17
|
+
- **🔧 MCP Tool Enhancement**: `SearchContentTool` now supports efficient file grouping
|
|
18
|
+
- **💡 User Experience**: Cleaner, more organized search result structure
|
|
19
|
+
|
|
20
|
+
### Technical Details
|
|
21
|
+
- **Issue**: Search results showed same file paths repeatedly, causing context overflow
|
|
22
|
+
- **Solution**: Implemented `group_by_file` option with file-based grouping logic
|
|
23
|
+
- **Impact**: Dramatically reduces token usage while maintaining all match information
|
|
24
|
+
- **Files Modified**:
|
|
25
|
+
- `tree_sitter_analyzer/mcp/tools/search_content_tool.py` - Added group_by_file processing
|
|
26
|
+
- `tree_sitter_analyzer/mcp/tools/fd_rg_utils.py` - Enhanced group_matches_by_file function
|
|
27
|
+
- All existing tests pass with new functionality
|
|
28
|
+
|
|
29
|
+
This minor release introduces significant improvements to search result organization
|
|
30
|
+
and token efficiency, making the tool more suitable for AI-assisted code analysis.
|
|
31
|
+
|
|
32
|
+
## [1.3.9] - 2025-01-18
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
- **📚 Documentation Fix**: Fixed CLI command examples in all README versions (EN, ZH, JA)
|
|
36
|
+
- **🔧 Usage Instructions**: Added `uv run` prefix to all CLI command examples for development environment
|
|
37
|
+
- **💡 User Experience**: Added clear usage notes explaining when to use `uv run` vs direct commands
|
|
38
|
+
- **🌐 Multi-language Support**: Updated English, Chinese, and Japanese documentation consistently
|
|
39
|
+
|
|
40
|
+
### Technical Details
|
|
41
|
+
- **Issue**: Users couldn't run CLI commands directly without `uv run` prefix in development
|
|
42
|
+
- **Solution**: Updated all command examples to include `uv run` prefix
|
|
43
|
+
- **Impact**: Eliminates user confusion and provides clear usage instructions
|
|
44
|
+
- **Files Modified**:
|
|
45
|
+
- `README.md` - English documentation
|
|
46
|
+
- `README_zh.md` - Chinese documentation
|
|
47
|
+
- `README_ja.md` - Japanese documentation
|
|
48
|
+
|
|
49
|
+
This patch release resolves documentation inconsistencies and improves user experience
|
|
50
|
+
by providing clear, working examples for CLI command usage in development environments.
|
|
51
|
+
|
|
3
52
|
## [1.3.8] - 2025-01-18
|
|
4
53
|
|
|
5
54
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tree-sitter-analyzer
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0
|
|
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
|
|
@@ -172,10 +172,10 @@ Description-Content-Type: text/markdown
|
|
|
172
172
|
[](https://python.org)
|
|
173
173
|
[](LICENSE)
|
|
174
174
|
[](#quality-assurance)
|
|
175
|
-
[](#quality-assurance)
|
|
176
176
|
[](#quality-assurance)
|
|
177
177
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
178
|
-
[](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
|
|
179
179
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
180
180
|
|
|
181
181
|
## 🚀 Break LLM Token Limits, Let AI Understand Code Files of Any Size
|
|
@@ -243,43 +243,50 @@ Total Elements: 85 | Complexity: 348 (avg: 5.27, max: 15)
|
|
|
243
243
|
|
|
244
244
|
Tree-sitter Analyzer now provides dedicated CLI commands that wrap powerful MCP tools for file system operations:
|
|
245
245
|
|
|
246
|
+
> **💡 Usage Note**: In development environments, use `uv run` prefix to execute CLI commands:
|
|
247
|
+
> - `uv run list-files` instead of `list-files`
|
|
248
|
+
> - `uv run search-content` instead of `search-content`
|
|
249
|
+
> - `uv run find-and-grep` instead of `find-and-grep`
|
|
250
|
+
>
|
|
251
|
+
> After installing from PyPI, these commands will be available directly in your PATH.
|
|
252
|
+
|
|
246
253
|
#### 📁 **`list-files`** - File Discovery with fd
|
|
247
254
|
```bash
|
|
248
255
|
# List all Java files in current directory
|
|
249
|
-
list-files . --extensions java
|
|
256
|
+
uv run list-files . --extensions java
|
|
250
257
|
|
|
251
258
|
# Find test files with specific naming patterns
|
|
252
|
-
list-files src --pattern "test_*" --extensions java --types f
|
|
259
|
+
uv run list-files src --pattern "test_*" --extensions java --types f
|
|
253
260
|
|
|
254
261
|
# Find large files modified in the last week
|
|
255
|
-
list-files . --types f --size "+1k" --changed-within "1week"
|
|
262
|
+
uv run list-files . --types f --size "+1k" --changed-within "1week"
|
|
256
263
|
|
|
257
264
|
# Find service classes with specific naming patterns
|
|
258
|
-
list-files src --pattern "*Service*" --extensions java --output-format json
|
|
265
|
+
uv run list-files src --pattern "*Service*" --extensions java --output-format json
|
|
259
266
|
```
|
|
260
267
|
|
|
261
268
|
#### 🔍 **`search-content`** - Content Search with ripgrep
|
|
262
269
|
```bash
|
|
263
270
|
# Search for class definitions in Java files
|
|
264
|
-
search-content --roots . --query "class.*extends" --include-globs "*.java"
|
|
271
|
+
uv run search-content --roots . --query "class.*extends" --include-globs "*.java"
|
|
265
272
|
|
|
266
273
|
# Find TODO comments with context
|
|
267
|
-
search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2
|
|
274
|
+
uv run search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2
|
|
268
275
|
|
|
269
276
|
# Search in specific files with case-insensitive matching
|
|
270
|
-
search-content --files file1.java file2.java --query "public.*method" --case insensitive
|
|
277
|
+
uv run search-content --files file1.java file2.java --query "public.*method" --case insensitive
|
|
271
278
|
```
|
|
272
279
|
|
|
273
280
|
#### 🎯 **`find-and-grep`** - Two-Stage Search (fd → ripgrep)
|
|
274
281
|
```bash
|
|
275
282
|
# Find Java files first, then search for Spring annotations
|
|
276
|
-
find-and-grep --roots . --query "@SpringBootApplication" --extensions java
|
|
283
|
+
uv run find-and-grep --roots . --query "@SpringBootApplication" --extensions java
|
|
277
284
|
|
|
278
285
|
# Combined file filtering and content search with limits
|
|
279
|
-
find-and-grep --roots src --query "import.*spring" --extensions java --file-limit 10 --max-count 5
|
|
286
|
+
uv run find-and-grep --roots src --query "import.*spring" --extensions java --file-limit 10 --max-count 5
|
|
280
287
|
|
|
281
288
|
# Advanced search with multiple filters
|
|
282
|
-
find-and-grep --roots . --query "public.*static.*void" --extensions java --types f --size "+500" --output-format json
|
|
289
|
+
uv run find-and-grep --roots . --query "public.*static.*void" --extensions java --types f --size "+500" --output-format json
|
|
283
290
|
```
|
|
284
291
|
|
|
285
292
|
### 🛡️ **Security & Safety Features**
|
|
@@ -747,22 +754,22 @@ uv run python -m tree_sitter_analyzer --filter-help
|
|
|
747
754
|
|
|
748
755
|
# 🆕 New CLI Commands (v1.3.8+)
|
|
749
756
|
# File listing with fd functionality
|
|
750
|
-
list-files . --extensions java --output-format json
|
|
757
|
+
uv run list-files . --extensions java --output-format json
|
|
751
758
|
|
|
752
759
|
# Content search with ripgrep functionality
|
|
753
|
-
search-content --roots . --query "class.*extends" --include-globs "*.java" --output-format text
|
|
760
|
+
uv run search-content --roots . --query "class.*extends" --include-globs "*.java" --output-format text
|
|
754
761
|
|
|
755
762
|
# Two-stage search: find files first, then search content
|
|
756
|
-
find-and-grep --roots . --query "public.*method" --extensions java --output-format json
|
|
763
|
+
uv run find-and-grep --roots . --query "public.*method" --extensions java --output-format json
|
|
757
764
|
|
|
758
765
|
# Advanced file filtering
|
|
759
|
-
list-files . --types f --size "+1k" --changed-within "1week" --hidden --output-format text
|
|
766
|
+
uv run list-files . --types f --size "+1k" --changed-within "1week" --hidden --output-format text
|
|
760
767
|
|
|
761
768
|
# Content search with context
|
|
762
|
-
search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2 --output-format json
|
|
769
|
+
uv run search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2 --output-format json
|
|
763
770
|
|
|
764
771
|
# Combined file and content search with limits
|
|
765
|
-
find-and-grep --roots . --query "import.*spring" --extensions java --file-limit 10 --max-count 5 --output-format text
|
|
772
|
+
uv run find-and-grep --roots . --query "import.*spring" --extensions java --file-limit 10 --max-count 5 --output-format text
|
|
766
773
|
```
|
|
767
774
|
|
|
768
775
|
---
|
|
@@ -1001,15 +1008,15 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
|
|
|
1001
1008
|
|
|
1002
1009
|
### 📊 **Quality Metrics**
|
|
1003
1010
|
- **1,797 tests** - 100% pass rate ✅
|
|
1004
|
-
- **74.
|
|
1011
|
+
- **74.43% code coverage** - Industry-leading level
|
|
1005
1012
|
- **Zero test failures** - Fully CI/CD ready
|
|
1006
1013
|
- **Cross-platform compatibility** - Windows, macOS, Linux
|
|
1007
1014
|
|
|
1008
|
-
### ⚡ **Latest Quality Achievements (v1.
|
|
1015
|
+
### ⚡ **Latest Quality Achievements (v1.4.0)**
|
|
1009
1016
|
- ✅ **Cross-platform path compatibility** - Fixed Windows short path names and macOS symbolic link differences
|
|
1010
1017
|
- ✅ **Windows environment** - Implemented robust path normalization using Windows API
|
|
1011
1018
|
- ✅ **macOS environment** - Fixed `/var` vs `/private/var` symbolic link differences
|
|
1012
|
-
- ✅ **Comprehensive test coverage** - 1797 tests, 74.
|
|
1019
|
+
- ✅ **Comprehensive test coverage** - 1797 tests, 74.43% coverage
|
|
1013
1020
|
- ✅ **GitFlow implementation** - Professional development/release branch strategy. See [GitFlow documentation](GITFLOW.md) for details.
|
|
1014
1021
|
|
|
1015
1022
|
### ⚙️ **Running Tests**
|
|
@@ -1126,9 +1133,9 @@ All AI prompts in this document have been thoroughly tested in real environments
|
|
|
1126
1133
|
|
|
1127
1134
|
**Test Environment:**
|
|
1128
1135
|
- Operating System: Windows 10
|
|
1129
|
-
- Project: tree-sitter-analyzer v1.
|
|
1136
|
+
- Project: tree-sitter-analyzer v1.4.0
|
|
1130
1137
|
- Test Files: BigService.java (1419 lines), sample.py (256 lines), MultiClass.java (54 lines)
|
|
1131
|
-
- Test Coverage: 1797 tests passed, 74.
|
|
1138
|
+
- Test Coverage: 1797 tests passed, 74.43% coverage
|
|
1132
1139
|
- Test Tools: All MCP tools (check_code_scale, analyze_code_structure, extract_code_section, query_code, list_files, search_content, find_and_grep)
|
|
1133
1140
|
|
|
1134
1141
|
**🚀 Start Now** → [30-Second Quick Start](#-30-second-quick-start)
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
[](https://python.org)
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
[](#quality-assurance)
|
|
6
|
-
[](#quality-assurance)
|
|
7
7
|
[](#quality-assurance)
|
|
8
8
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
9
|
-
[](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
|
|
10
10
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
11
11
|
|
|
12
12
|
## 🚀 Break LLM Token Limits, Let AI Understand Code Files of Any Size
|
|
@@ -74,43 +74,50 @@ Total Elements: 85 | Complexity: 348 (avg: 5.27, max: 15)
|
|
|
74
74
|
|
|
75
75
|
Tree-sitter Analyzer now provides dedicated CLI commands that wrap powerful MCP tools for file system operations:
|
|
76
76
|
|
|
77
|
+
> **💡 Usage Note**: In development environments, use `uv run` prefix to execute CLI commands:
|
|
78
|
+
> - `uv run list-files` instead of `list-files`
|
|
79
|
+
> - `uv run search-content` instead of `search-content`
|
|
80
|
+
> - `uv run find-and-grep` instead of `find-and-grep`
|
|
81
|
+
>
|
|
82
|
+
> After installing from PyPI, these commands will be available directly in your PATH.
|
|
83
|
+
|
|
77
84
|
#### 📁 **`list-files`** - File Discovery with fd
|
|
78
85
|
```bash
|
|
79
86
|
# List all Java files in current directory
|
|
80
|
-
list-files . --extensions java
|
|
87
|
+
uv run list-files . --extensions java
|
|
81
88
|
|
|
82
89
|
# Find test files with specific naming patterns
|
|
83
|
-
list-files src --pattern "test_*" --extensions java --types f
|
|
90
|
+
uv run list-files src --pattern "test_*" --extensions java --types f
|
|
84
91
|
|
|
85
92
|
# Find large files modified in the last week
|
|
86
|
-
list-files . --types f --size "+1k" --changed-within "1week"
|
|
93
|
+
uv run list-files . --types f --size "+1k" --changed-within "1week"
|
|
87
94
|
|
|
88
95
|
# Find service classes with specific naming patterns
|
|
89
|
-
list-files src --pattern "*Service*" --extensions java --output-format json
|
|
96
|
+
uv run list-files src --pattern "*Service*" --extensions java --output-format json
|
|
90
97
|
```
|
|
91
98
|
|
|
92
99
|
#### 🔍 **`search-content`** - Content Search with ripgrep
|
|
93
100
|
```bash
|
|
94
101
|
# Search for class definitions in Java files
|
|
95
|
-
search-content --roots . --query "class.*extends" --include-globs "*.java"
|
|
102
|
+
uv run search-content --roots . --query "class.*extends" --include-globs "*.java"
|
|
96
103
|
|
|
97
104
|
# Find TODO comments with context
|
|
98
|
-
search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2
|
|
105
|
+
uv run search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2
|
|
99
106
|
|
|
100
107
|
# Search in specific files with case-insensitive matching
|
|
101
|
-
search-content --files file1.java file2.java --query "public.*method" --case insensitive
|
|
108
|
+
uv run search-content --files file1.java file2.java --query "public.*method" --case insensitive
|
|
102
109
|
```
|
|
103
110
|
|
|
104
111
|
#### 🎯 **`find-and-grep`** - Two-Stage Search (fd → ripgrep)
|
|
105
112
|
```bash
|
|
106
113
|
# Find Java files first, then search for Spring annotations
|
|
107
|
-
find-and-grep --roots . --query "@SpringBootApplication" --extensions java
|
|
114
|
+
uv run find-and-grep --roots . --query "@SpringBootApplication" --extensions java
|
|
108
115
|
|
|
109
116
|
# Combined file filtering and content search with limits
|
|
110
|
-
find-and-grep --roots src --query "import.*spring" --extensions java --file-limit 10 --max-count 5
|
|
117
|
+
uv run find-and-grep --roots src --query "import.*spring" --extensions java --file-limit 10 --max-count 5
|
|
111
118
|
|
|
112
119
|
# Advanced search with multiple filters
|
|
113
|
-
find-and-grep --roots . --query "public.*static.*void" --extensions java --types f --size "+500" --output-format json
|
|
120
|
+
uv run find-and-grep --roots . --query "public.*static.*void" --extensions java --types f --size "+500" --output-format json
|
|
114
121
|
```
|
|
115
122
|
|
|
116
123
|
### 🛡️ **Security & Safety Features**
|
|
@@ -578,22 +585,22 @@ uv run python -m tree_sitter_analyzer --filter-help
|
|
|
578
585
|
|
|
579
586
|
# 🆕 New CLI Commands (v1.3.8+)
|
|
580
587
|
# File listing with fd functionality
|
|
581
|
-
list-files . --extensions java --output-format json
|
|
588
|
+
uv run list-files . --extensions java --output-format json
|
|
582
589
|
|
|
583
590
|
# Content search with ripgrep functionality
|
|
584
|
-
search-content --roots . --query "class.*extends" --include-globs "*.java" --output-format text
|
|
591
|
+
uv run search-content --roots . --query "class.*extends" --include-globs "*.java" --output-format text
|
|
585
592
|
|
|
586
593
|
# Two-stage search: find files first, then search content
|
|
587
|
-
find-and-grep --roots . --query "public.*method" --extensions java --output-format json
|
|
594
|
+
uv run find-and-grep --roots . --query "public.*method" --extensions java --output-format json
|
|
588
595
|
|
|
589
596
|
# Advanced file filtering
|
|
590
|
-
list-files . --types f --size "+1k" --changed-within "1week" --hidden --output-format text
|
|
597
|
+
uv run list-files . --types f --size "+1k" --changed-within "1week" --hidden --output-format text
|
|
591
598
|
|
|
592
599
|
# Content search with context
|
|
593
|
-
search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2 --output-format json
|
|
600
|
+
uv run search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2 --output-format json
|
|
594
601
|
|
|
595
602
|
# Combined file and content search with limits
|
|
596
|
-
find-and-grep --roots . --query "import.*spring" --extensions java --file-limit 10 --max-count 5 --output-format text
|
|
603
|
+
uv run find-and-grep --roots . --query "import.*spring" --extensions java --file-limit 10 --max-count 5 --output-format text
|
|
597
604
|
```
|
|
598
605
|
|
|
599
606
|
---
|
|
@@ -832,15 +839,15 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
|
|
|
832
839
|
|
|
833
840
|
### 📊 **Quality Metrics**
|
|
834
841
|
- **1,797 tests** - 100% pass rate ✅
|
|
835
|
-
- **74.
|
|
842
|
+
- **74.43% code coverage** - Industry-leading level
|
|
836
843
|
- **Zero test failures** - Fully CI/CD ready
|
|
837
844
|
- **Cross-platform compatibility** - Windows, macOS, Linux
|
|
838
845
|
|
|
839
|
-
### ⚡ **Latest Quality Achievements (v1.
|
|
846
|
+
### ⚡ **Latest Quality Achievements (v1.4.0)**
|
|
840
847
|
- ✅ **Cross-platform path compatibility** - Fixed Windows short path names and macOS symbolic link differences
|
|
841
848
|
- ✅ **Windows environment** - Implemented robust path normalization using Windows API
|
|
842
849
|
- ✅ **macOS environment** - Fixed `/var` vs `/private/var` symbolic link differences
|
|
843
|
-
- ✅ **Comprehensive test coverage** - 1797 tests, 74.
|
|
850
|
+
- ✅ **Comprehensive test coverage** - 1797 tests, 74.43% coverage
|
|
844
851
|
- ✅ **GitFlow implementation** - Professional development/release branch strategy. See [GitFlow documentation](GITFLOW.md) for details.
|
|
845
852
|
|
|
846
853
|
### ⚙️ **Running Tests**
|
|
@@ -957,9 +964,9 @@ All AI prompts in this document have been thoroughly tested in real environments
|
|
|
957
964
|
|
|
958
965
|
**Test Environment:**
|
|
959
966
|
- Operating System: Windows 10
|
|
960
|
-
- Project: tree-sitter-analyzer v1.
|
|
967
|
+
- Project: tree-sitter-analyzer v1.4.0
|
|
961
968
|
- Test Files: BigService.java (1419 lines), sample.py (256 lines), MultiClass.java (54 lines)
|
|
962
|
-
- Test Coverage: 1797 tests passed, 74.
|
|
969
|
+
- Test Coverage: 1797 tests passed, 74.43% coverage
|
|
963
970
|
- Test Tools: All MCP tools (check_code_scale, analyze_code_structure, extract_code_section, query_code, list_files, search_content, find_and_grep)
|
|
964
971
|
|
|
965
972
|
**🚀 Start Now** → [30-Second Quick Start](#-30-second-quick-start)
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
[](https://python.org)
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
[](#品質保証)
|
|
6
|
-
[](#品質保証)
|
|
7
7
|
[](#品質保証)
|
|
8
8
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
9
|
-
[](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
|
|
10
10
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
11
11
|
|
|
12
12
|
## 🚀 LLMトークン制限を突破し、AIにあらゆるサイズのコードファイルを理解させる
|
|
@@ -77,40 +77,40 @@ Tree-sitter Analyzer は、強力なMCPツールをラップしてファイル
|
|
|
77
77
|
#### 📁 **`list-files`** - fdによるファイル発見
|
|
78
78
|
```bash
|
|
79
79
|
# 現在のディレクトリ内のすべてのJavaファイルをリスト表示
|
|
80
|
-
list-files . --extensions java
|
|
80
|
+
uv run list-files . --extensions java
|
|
81
81
|
|
|
82
82
|
# 特定の命名パターンのテストファイルを検索
|
|
83
|
-
list-files src --pattern "test_*" --extensions java --types f
|
|
83
|
+
uv run list-files src --pattern "test_*" --extensions java --types f
|
|
84
84
|
|
|
85
85
|
# 過去1週間に変更された大きなファイルを検索
|
|
86
|
-
list-files . --types f --size "+1k" --changed-within "1week"
|
|
86
|
+
uv run list-files . --types f --size "+1k" --changed-within "1week"
|
|
87
87
|
|
|
88
88
|
# 特定の命名パターンのサービスクラスを検索
|
|
89
|
-
list-files src --pattern "*Service*" --extensions java --output-format json
|
|
89
|
+
uv run list-files src --pattern "*Service*" --extensions java --output-format json
|
|
90
90
|
```
|
|
91
91
|
|
|
92
92
|
#### 🔍 **`search-content`** - ripgrepによるコンテンツ検索
|
|
93
93
|
```bash
|
|
94
94
|
# Javaファイル内でクラス定義を検索
|
|
95
|
-
search-content --roots . --query "class.*extends" --include-globs "*.java"
|
|
95
|
+
uv run search-content --roots . --query "class.*extends" --include-globs "*.java"
|
|
96
96
|
|
|
97
97
|
# TODOコメントを検索し、コンテキストを表示
|
|
98
|
-
search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2
|
|
98
|
+
uv run search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2
|
|
99
99
|
|
|
100
100
|
# 特定のファイル内で大文字小文字を区別しない検索
|
|
101
|
-
search-content --files file1.java file2.java --query "public.*method" --case insensitive
|
|
101
|
+
uv run search-content --files file1.java file2.java --query "public.*method" --case insensitive
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
#### 🎯 **`find-and-grep`** - 2段階検索 (fd → ripgrep)
|
|
105
105
|
```bash
|
|
106
106
|
# まずJavaファイルを検索し、次にSpringアノテーションを検索
|
|
107
|
-
find-and-grep --roots . --query "@SpringBootApplication" --extensions java
|
|
107
|
+
uv run find-and-grep --roots . --query "@SpringBootApplication" --extensions java
|
|
108
108
|
|
|
109
109
|
# ファイルフィルタリングとコンテンツ検索を組み合わせ、制限付き
|
|
110
|
-
find-and-grep --roots src --query "import.*spring" --extensions java --file-limit 10 --max-count 5
|
|
110
|
+
uv run find-and-grep --roots src --query "import.*spring" --extensions java --file-limit 10 --max-count 5
|
|
111
111
|
|
|
112
112
|
# 複数のフィルターを使用した高度な検索
|
|
113
|
-
find-and-grep --roots . --query "public.*static.*void" --extensions java --types f --size "+500" --output-format json
|
|
113
|
+
uv run find-and-grep --roots . --query "public.*static.*void" --extensions java --types f --size "+500" --output-format json
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
### 🛡️ **セキュリティ・安全機能**
|
|
@@ -566,22 +566,22 @@ uv run python -m tree_sitter_analyzer --filter-help
|
|
|
566
566
|
|
|
567
567
|
# 🆕 新CLIコマンド (v1.3.8+)
|
|
568
568
|
# fd機能を使用したファイルリスト表示
|
|
569
|
-
list-files . --extensions java --output-format json
|
|
569
|
+
uv run list-files . --extensions java --output-format json
|
|
570
570
|
|
|
571
571
|
# ripgrep機能を使用したコンテンツ検索
|
|
572
|
-
search-content --roots . --query "class.*extends" --include-globs "*.java" --output-format text
|
|
572
|
+
uv run search-content --roots . --query "class.*extends" --include-globs "*.java" --output-format text
|
|
573
573
|
|
|
574
574
|
# 2段階検索:まずファイルを検索し、次にコンテンツを検索
|
|
575
|
-
find-and-grep --roots . --query "public.*method" --extensions java --output-format json
|
|
575
|
+
uv run find-and-grep --roots . --query "public.*method" --extensions java --output-format json
|
|
576
576
|
|
|
577
577
|
# 高度なファイルフィルタリング
|
|
578
|
-
list-files . --types f --size "+1k" --changed-within "1week" --hidden --output-format text
|
|
578
|
+
uv run list-files . --types f --size "+1k" --changed-within "1week" --hidden --output-format text
|
|
579
579
|
|
|
580
580
|
# コンテキスト付きコンテンツ検索
|
|
581
|
-
search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2 --output-format json
|
|
581
|
+
uv run search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2 --output-format json
|
|
582
582
|
|
|
583
583
|
# ファイル検索とコンテンツ検索の組み合わせ、制限付き
|
|
584
|
-
find-and-grep --roots . --query "import.*spring" --extensions java --file-limit 10 --max-count 5 --output-format text
|
|
584
|
+
uv run find-and-grep --roots . --query "import.*spring" --extensions java --file-limit 10 --max-count 5 --output-format text
|
|
585
585
|
```
|
|
586
586
|
|
|
587
587
|
---
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
[](https://python.org)
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
[](#质量保证)
|
|
6
|
-
[](#质量保证)
|
|
7
7
|
[](#质量保证)
|
|
8
8
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
9
|
-
[](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
|
|
10
10
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
11
11
|
|
|
12
12
|
## 🚀 突破LLM token限制,让AI理解任意大小的代码文件
|
|
@@ -77,40 +77,40 @@ Tree-sitter Analyzer 现在提供专用的CLI命令,包装强大的MCP工具
|
|
|
77
77
|
#### 📁 **`list-files`** - 使用fd进行文件发现
|
|
78
78
|
```bash
|
|
79
79
|
# 列出当前目录中的所有Java文件
|
|
80
|
-
list-files . --extensions java
|
|
80
|
+
uv run list-files . --extensions java
|
|
81
81
|
|
|
82
82
|
# 查找特定命名模式的测试文件
|
|
83
|
-
list-files src --pattern "test_*" --extensions java --types f
|
|
83
|
+
uv run list-files src --pattern "test_*" --extensions java --types f
|
|
84
84
|
|
|
85
85
|
# 查找最近一周修改的大文件
|
|
86
|
-
list-files . --types f --size "+1k" --changed-within "1week"
|
|
86
|
+
uv run list-files . --types f --size "+1k" --changed-within "1week"
|
|
87
87
|
|
|
88
88
|
# 查找特定命名模式的服务类
|
|
89
|
-
list-files src --pattern "*Service*" --extensions java --output-format json
|
|
89
|
+
uv run list-files src --pattern "*Service*" --extensions java --output-format json
|
|
90
90
|
```
|
|
91
91
|
|
|
92
92
|
#### 🔍 **`search-content`** - 使用ripgrep进行内容搜索
|
|
93
93
|
```bash
|
|
94
94
|
# 在Java文件中搜索类定义
|
|
95
|
-
search-content --roots . --query "class.*extends" --include-globs "*.java"
|
|
95
|
+
uv run search-content --roots . --query "class.*extends" --include-globs "*.java"
|
|
96
96
|
|
|
97
97
|
# 查找TODO注释并显示上下文
|
|
98
|
-
search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2
|
|
98
|
+
uv run search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2
|
|
99
99
|
|
|
100
100
|
# 在特定文件中搜索,不区分大小写
|
|
101
|
-
search-content --files file1.java file2.java --query "public.*method" --case insensitive
|
|
101
|
+
uv run search-content --files file1.java file2.java --query "public.*method" --case insensitive
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
#### 🎯 **`find-and-grep`** - 两阶段搜索 (fd → ripgrep)
|
|
105
105
|
```bash
|
|
106
106
|
# 先查找Java文件,然后搜索Spring注解
|
|
107
|
-
find-and-grep --roots . --query "@SpringBootApplication" --extensions java
|
|
107
|
+
uv run find-and-grep --roots . --query "@SpringBootApplication" --extensions java
|
|
108
108
|
|
|
109
109
|
# 组合文件过滤和内容搜索,带限制
|
|
110
|
-
find-and-grep --roots src --query "import.*spring" --extensions java --file-limit 10 --max-count 5
|
|
110
|
+
uv run find-and-grep --roots src --query "import.*spring" --extensions java --file-limit 10 --max-count 5
|
|
111
111
|
|
|
112
112
|
# 高级搜索,多个过滤器
|
|
113
|
-
find-and-grep --roots . --query "public.*static.*void" --extensions java --types f --size "+500" --output-format json
|
|
113
|
+
uv run find-and-grep --roots . --query "public.*static.*void" --extensions java --types f --size "+500" --output-format json
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
### 🛡️ **安全与安全特性**
|
|
@@ -566,22 +566,22 @@ uv run python -m tree_sitter_analyzer --filter-help
|
|
|
566
566
|
|
|
567
567
|
# 🆕 新增CLI命令 (v1.3.8+)
|
|
568
568
|
# 使用fd功能列出文件
|
|
569
|
-
list-files . --extensions java --output-format json
|
|
569
|
+
uv run list-files . --extensions java --output-format json
|
|
570
570
|
|
|
571
571
|
# 使用ripgrep功能搜索内容
|
|
572
|
-
search-content --roots . --query "class.*extends" --include-globs "*.java" --output-format text
|
|
572
|
+
uv run search-content --roots . --query "class.*extends" --include-globs "*.java" --output-format text
|
|
573
573
|
|
|
574
574
|
# 两阶段搜索:先找文件,再搜索内容
|
|
575
|
-
find-and-grep --roots . --query "public.*method" --extensions java --output-format json
|
|
575
|
+
uv run find-and-grep --roots . --query "public.*method" --extensions java --output-format json
|
|
576
576
|
|
|
577
577
|
# 高级文件过滤
|
|
578
|
-
list-files . --types f --size "+1k" --changed-within "1week" --hidden --output-format text
|
|
578
|
+
uv run list-files . --types f --size "+1k" --changed-within "1week" --hidden --output-format text
|
|
579
579
|
|
|
580
580
|
# 带上下文的内容搜索
|
|
581
|
-
search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2 --output-format json
|
|
581
|
+
uv run search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2 --output-format json
|
|
582
582
|
|
|
583
583
|
# 组合文件搜索和内容搜索,带限制
|
|
584
|
-
find-and-grep --roots . --query "import.*spring" --extensions java --file-limit 10 --max-count 5 --output-format text
|
|
584
|
+
uv run find-and-grep --roots . --query "import.*spring" --extensions java --file-limit 10 --max-count 5 --output-format text
|
|
585
585
|
```
|
|
586
586
|
|
|
587
587
|
---
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "tree-sitter-analyzer"
|
|
7
|
-
version = "1.
|
|
7
|
+
version = "1.4.0"
|
|
8
8
|
description = "Extensible multi-language code analyzer framework using Tree-sitter with dynamic plugin architecture"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -323,7 +323,7 @@ directory = "htmlcov"
|
|
|
323
323
|
# MCP server configuration
|
|
324
324
|
[tool.mcp]
|
|
325
325
|
server_name = "tree-sitter-analyzer"
|
|
326
|
-
server_version = "1.
|
|
326
|
+
server_version = "1.4.0"
|
|
327
327
|
description = "Tree-sitter based code analysis MCP server with multi-language support"
|
|
328
328
|
capabilities = [
|
|
329
329
|
"check_code_scale",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/calculate_token_comparison.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/security_integration_demo.py
RENAMED
|
File without changes
|
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/examples/total_only_optimization_demo.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/scripts/gitflow_release_automation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/training/CLI_COMMAND_CORRECTIONS.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/__init__.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/cli/info_commands.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/core/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/core/cache_service.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/core/engine.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/core/parser.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/core/query.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/core/query_filter.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/core/query_service.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/encoding_utils.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/exceptions.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/file_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/interfaces/cli.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/language_detector.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/language_loader.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/languages/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/server.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/tools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/mcp/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/output_manager.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/plugins/__init__.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/plugins/base.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/plugins/manager.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/project_detector.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/queries/__init__.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/queries/java.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/queries/javascript.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/queries/python.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/queries/typescript.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/query_loader.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/security/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/security/validator.py
RENAMED
|
File without changes
|
{tree_sitter_analyzer-1.3.8 → tree_sitter_analyzer-1.4.0}/tree_sitter_analyzer/table_formatter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|