tree-sitter-analyzer 1.2.4__tar.gz → 1.3.2__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.2/.gitattributes +51 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/CHANGELOG.md +171 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/GITFLOW.md +76 -13
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/GITFLOW_ja.md +43 -10
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/GITFLOW_zh.md +43 -10
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/PKG-INFO +9 -9
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/README.md +8 -8
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/README_ja.md +7 -7
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/README_zh.md +7 -7
- tree_sitter_analyzer-1.3.2/examples/cache_demo.py +216 -0
- tree_sitter_analyzer-1.3.2/examples/smart_cache_demo.py +126 -0
- tree_sitter_analyzer-1.3.2/examples/total_only_optimization_demo.py +165 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/pyproject.toml +2 -2
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/__init__.py +1 -1
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/tools/fd_rg_utils.py +22 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/tools/list_files_tool.py +24 -1
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/tools/search_content_tool.py +165 -7
- tree_sitter_analyzer-1.3.2/tree_sitter_analyzer/mcp/utils/gitignore_detector.py +323 -0
- tree_sitter_analyzer-1.3.2/tree_sitter_analyzer/mcp/utils/search_cache.py +343 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/uv.lock +1 -1
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/.gitignore +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/.kiro/steering/product.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/.kiro/steering/structure.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/.kiro/steering/tech.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/.pre-commit-config.yaml +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/.pre-commit-hooks.yaml +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/AI_COLLABORATION_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/CODE_STYLE_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/CONTRIBUTING.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/DEPLOYMENT_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/LANGUAGE_GUIDELINES.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/LLM_CODING_GUIDELINES.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/MCP_SETUP_DEVELOPERS.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/MCP_SETUP_USERS.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/PROJECT_ROOT_CONFIG.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/PYPI_RELEASE_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/REFACTORING_SUMMARY.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/build_standalone.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/check_quality.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/docs/GITFLOW_BEST_PRACTICES.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/docs/RELEASE_EXECUTION_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/docs/api.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/docs/mcp_fd_rg_design.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/examples/BigService.java +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/examples/BigService.json +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/examples/BigService.summary.json +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/examples/JavaDocTest.java +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/examples/MultiClass.java +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/examples/Sample.java +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/examples/calculate_token_comparison.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/examples/project_root_demo.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/examples/sample.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/examples/security_demo.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/examples/security_integration_demo.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/llm_code_checker.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/pypirc_example.txt +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/pytest.ini +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/scripts/README.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/scripts/gitflow_helper.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/scripts/gitflow_release_automation.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/scripts/sync_version.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/scripts/sync_version_minimal.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/start_mcp_server.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/training/01_onboarding.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/training/02_architecture_map.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/training/03_cli_cheatsheet.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/training/04_mcp_cheatsheet.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/training/05_plugin_tutorial.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/training/06_quality_workflow.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/training/07_troubleshooting.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/training/08_prompt_library.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/training/09_tasks.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/training/10_glossary.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/training/11_takeover_plan.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/training/CLI_COMMAND_CORRECTIONS.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/training/IMPROVEMENT_SUMMARY.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/training/README.md +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/__main__.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/api.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/cli/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/cli/__main__.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/cli/commands/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/cli/commands/advanced_command.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/cli/commands/base_command.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/cli/commands/default_command.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/cli/commands/partial_read_command.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/cli/commands/query_command.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/cli/commands/structure_command.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/cli/commands/summary_command.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/cli/commands/table_command.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/cli/info_commands.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/cli_main.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/constants.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/core/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/core/analysis_engine.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/core/cache_service.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/core/engine.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/core/parser.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/core/query.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/core/query_filter.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/core/query_service.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/encoding_utils.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/exceptions.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/file_handler.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/formatters/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/formatters/base_formatter.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/formatters/formatter_factory.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/formatters/java_formatter.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/formatters/python_formatter.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/interfaces/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/interfaces/cli.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/interfaces/cli_adapter.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/interfaces/mcp_adapter.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/interfaces/mcp_server.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/language_detector.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/language_loader.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/languages/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/languages/java_plugin.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/languages/javascript_plugin.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/languages/python_plugin.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/resources/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/resources/code_file_resource.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/resources/project_stats_resource.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/server.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/tools/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/tools/base_tool.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/tools/query_tool.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/tools/read_partial_tool.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/tools/table_format_tool.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/utils/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/utils/error_handler.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/mcp/utils/path_resolver.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/models.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/output_manager.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/plugins/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/plugins/base.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/plugins/manager.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/project_detector.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/queries/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/queries/java.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/queries/javascript.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/queries/python.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/queries/typescript.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/query_loader.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/security/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/security/boundary_manager.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/security/regex_checker.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/security/validator.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/table_formatter.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/tree_sitter_analyzer/utils.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/upload_interactive.py +0 -0
- {tree_sitter_analyzer-1.2.4 → tree_sitter_analyzer-1.3.2}/upload_to_pypi.py +0 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Set the default behavior for all files
|
|
2
|
+
* text=auto
|
|
3
|
+
|
|
4
|
+
# Explicitly declare text files you want to always be normalized and converted
|
|
5
|
+
# to native line endings on checkout
|
|
6
|
+
*.py text eol=lf
|
|
7
|
+
*.md text eol=lf
|
|
8
|
+
*.yml text eol=lf
|
|
9
|
+
*.yaml text eol=lf
|
|
10
|
+
*.toml text eol=lf
|
|
11
|
+
*.txt text eol=lf
|
|
12
|
+
*.json text eol=lf
|
|
13
|
+
*.js text eol=lf
|
|
14
|
+
*.ts text eol=lf
|
|
15
|
+
*.html text eol=lf
|
|
16
|
+
*.css text eol=lf
|
|
17
|
+
*.sh text eol=lf
|
|
18
|
+
*.bat text eol=crlf
|
|
19
|
+
|
|
20
|
+
# Declare files that will always have CRLF line endings on checkout
|
|
21
|
+
*.sln text eol=crlf
|
|
22
|
+
|
|
23
|
+
# Denote all files that are truly binary and should not be modified
|
|
24
|
+
*.png binary
|
|
25
|
+
*.jpg binary
|
|
26
|
+
*.jpeg binary
|
|
27
|
+
*.gif binary
|
|
28
|
+
*.ico binary
|
|
29
|
+
*.mov binary
|
|
30
|
+
*.mp4 binary
|
|
31
|
+
*.mp3 binary
|
|
32
|
+
*.flv binary
|
|
33
|
+
*.fla binary
|
|
34
|
+
*.swf binary
|
|
35
|
+
*.gz binary
|
|
36
|
+
*.zip binary
|
|
37
|
+
*.7z binary
|
|
38
|
+
*.ttf binary
|
|
39
|
+
*.eot binary
|
|
40
|
+
*.woff binary
|
|
41
|
+
*.woff2 binary
|
|
42
|
+
*.pyc binary
|
|
43
|
+
*.pdf binary
|
|
44
|
+
*.ez binary
|
|
45
|
+
*.bz2 binary
|
|
46
|
+
*.swp binary
|
|
47
|
+
*.cache binary
|
|
48
|
+
*.so binary
|
|
49
|
+
*.dll binary
|
|
50
|
+
*.dylib binary
|
|
51
|
+
*.exe binary
|
|
@@ -1,5 +1,176 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.3.2] - 2025-09-16
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- **🐛 Critical Cache Format Compatibility Bug**: Fixed a severe bug in the smart caching system where `get_compatible_result` was returning wrong format cached data
|
|
7
|
+
- **Format Validation**: Added `_is_format_compatible` method to prevent `total_only` integer results from being returned for detailed query requests
|
|
8
|
+
- **User Impact**: Resolved the issue where users requesting detailed results after `total_only` queries received integers instead of proper structured data
|
|
9
|
+
- **Backward Compatibility**: Maintained compatibility for dict results with unknown formats while preventing primitive data return bugs
|
|
10
|
+
|
|
11
|
+
### Technical Details
|
|
12
|
+
- **Root Cause**: Direct cache hit was returning cached results without format validation
|
|
13
|
+
- **Solution**: Implemented format compatibility checking before returning cached data
|
|
14
|
+
- **Test Coverage**: Added comprehensive test suite with 6 test cases covering format compatibility scenarios
|
|
15
|
+
- **Bug Discovery**: Issue was identified through real-world usage documented in `roo_task_sep-16-2025_1-18-38-am.md`
|
|
16
|
+
|
|
17
|
+
This hotfix ensures MCP tools return correctly formatted data and prevents cache format mismatches that could break AI-assisted development workflows.
|
|
18
|
+
|
|
19
|
+
## [1.3.1] - 2025-01-15
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
- **🧠 Intelligent Cross-Format Cache Optimization**: Revolutionary smart caching system that eliminates duplicate searches across different result formats
|
|
23
|
+
- **🎯 total_only → count_only_matches Optimization**: Solves the specific user pain point of "don't waste double time re-searching when user wants file details after getting total count"
|
|
24
|
+
- **⚡ Smart Result Derivation**: Automatically derives file lists and summaries from cached count data without additional ripgrep executions
|
|
25
|
+
- **🔄 Cross-Format Cache Keys**: Intelligent cache key mapping enables seamless format transitions
|
|
26
|
+
- **📊 Dual Caching Mechanism**: total_only searches now cache both simple totals and detailed file counts simultaneously
|
|
27
|
+
|
|
28
|
+
### Performance Improvements
|
|
29
|
+
- **99.9% faster follow-up queries**: Second queries complete in ~0.001s vs ~14s for cache misses (14,000x improvement)
|
|
30
|
+
- **Zero duplicate executions**: Related search format requests served entirely from cache derivation
|
|
31
|
+
- **Perfect for LLM workflows**: Optimized for "total → details" analysis patterns common in AI-assisted development
|
|
32
|
+
- **Memory efficient derivation**: File lists and summaries generated from existing count data without additional storage
|
|
33
|
+
|
|
34
|
+
### Technical Implementation
|
|
35
|
+
- **Enhanced SearchCache**: Added `get_compatible_result()` method for intelligent cross-format result derivation
|
|
36
|
+
- **Smart Cache Logic**: `_create_count_only_cache_key()` enables cross-format cache key generation
|
|
37
|
+
- **Result Format Detection**: `_determine_requested_format()` automatically identifies output format requirements
|
|
38
|
+
- **Comprehensive Derivation**: `create_file_summary_from_count_data()` and `extract_file_list_from_count_data()` utility functions
|
|
39
|
+
|
|
40
|
+
### New Files & Demonstrations
|
|
41
|
+
- **Core Implementation**: Enhanced `search_cache.py` with cross-format optimization logic
|
|
42
|
+
- **Tool Integration**: Updated `search_content_tool.py` with dual caching mechanism
|
|
43
|
+
- **Utility Functions**: Extended `fd_rg_utils.py` with result derivation capabilities
|
|
44
|
+
- **Comprehensive Testing**: `test_smart_cache_optimization.py` with 11 test cases covering all optimization scenarios
|
|
45
|
+
- **Performance Demos**: `smart_cache_demo.py` and `total_only_optimization_demo.py` showcasing real-world improvements
|
|
46
|
+
|
|
47
|
+
### User Experience Improvements
|
|
48
|
+
- **Transparent Optimization**: Users get performance benefits without changing their usage patterns
|
|
49
|
+
- **Intelligent Workflows**: "Get total count → Get file distribution" workflows now complete almost instantly
|
|
50
|
+
- **Cache Hit Indicators**: Results include `cache_hit` and `cache_derived` flags for transparency
|
|
51
|
+
- **Real-world Validation**: Tested with actual project codebases showing consistent 99.9%+ performance improvements
|
|
52
|
+
|
|
53
|
+
### Developer Benefits
|
|
54
|
+
- **Type-Safe Implementation**: Full TypeScript-style type annotations for better IDE support
|
|
55
|
+
- **Comprehensive Documentation**: Detailed docstrings and examples for all new functionality
|
|
56
|
+
- **Robust Testing**: Mock-based tests ensure CI stability across different environments
|
|
57
|
+
- **Performance Monitoring**: Built-in cache statistics and performance tracking
|
|
58
|
+
|
|
59
|
+
This release addresses the critical performance bottleneck identified by users: avoiding redundant searches when transitioning from summary to detailed analysis. The intelligent caching system represents a fundamental advancement in search result optimization for code analysis workflows.
|
|
60
|
+
|
|
61
|
+
## [1.3.0] - 2025-01-15
|
|
62
|
+
|
|
63
|
+
### Added
|
|
64
|
+
- **Phase 2 Cache System**: Implemented comprehensive search result caching for significant performance improvements
|
|
65
|
+
- **SearchCache Module**: Thread-safe in-memory cache with TTL and LRU eviction (`tree_sitter_analyzer/mcp/utils/search_cache.py`)
|
|
66
|
+
- **Cache Integration**: Integrated caching into `search_content` MCP tool for automatic performance optimization
|
|
67
|
+
- **Performance Monitoring**: Added comprehensive cache statistics tracking and performance validation
|
|
68
|
+
- **Cache Demo**: Interactive demonstration script showing 200-400x performance improvements (`examples/cache_demo.py`)
|
|
69
|
+
|
|
70
|
+
### Performance Improvements
|
|
71
|
+
- **99.8% faster repeated searches**: Cache hits complete in ~0.001s vs ~0.4s for cache misses
|
|
72
|
+
- **200-400x speed improvements**: Demonstrated with real-world search operations
|
|
73
|
+
- **Automatic optimization**: Zero-configuration caching with smart defaults
|
|
74
|
+
- **Memory efficient**: LRU eviction and configurable cache size limits
|
|
75
|
+
|
|
76
|
+
### Technical Details
|
|
77
|
+
- **Thread-safe implementation**: Uses `threading.RLock()` for concurrent access
|
|
78
|
+
- **Configurable TTL**: Default 1-hour cache lifetime with customizable settings
|
|
79
|
+
- **Smart cache keys**: Deterministic key generation based on search parameters
|
|
80
|
+
- **Path normalization**: Consistent caching across different path representations
|
|
81
|
+
- **Comprehensive testing**: 19 test cases covering functionality and performance validation
|
|
82
|
+
|
|
83
|
+
### Documentation
|
|
84
|
+
- **Cache Feature Summary**: Complete implementation and performance documentation
|
|
85
|
+
- **Usage Examples**: Clear examples for basic usage and advanced configuration
|
|
86
|
+
- **Performance Benchmarks**: Real-world performance data and optimization benefits
|
|
87
|
+
|
|
88
|
+
## [1.2.5] - 2025-09-15
|
|
89
|
+
|
|
90
|
+
### 🐛 Bug Fixes
|
|
91
|
+
|
|
92
|
+
#### Fixed list_files tool Java file detection issue
|
|
93
|
+
- **Problem**: The `list_files` MCP tool failed to detect Java files when using root path "." due to command line argument conflicts in the `fd` command construction
|
|
94
|
+
- **Root Cause**: Conflicting pattern and path arguments in `build_fd_command` function
|
|
95
|
+
- **Solution**: Modified `fd_rg_utils.py` to use `--search-path` option for root directories and only append pattern when explicitly provided
|
|
96
|
+
- **Impact**: Significantly improved cross-platform compatibility, especially for Windows environments
|
|
97
|
+
|
|
98
|
+
### 🔧 Technical Changes
|
|
99
|
+
- **File**: `tree_sitter_analyzer/mcp/tools/fd_rg_utils.py`
|
|
100
|
+
- Replaced positional path arguments with `--search-path` option
|
|
101
|
+
- Removed automatic "." pattern addition that caused conflicts
|
|
102
|
+
- Enhanced command construction logic for better reliability
|
|
103
|
+
- **Tests**: Updated `tests/test_mcp_fd_rg_tools.py`
|
|
104
|
+
- Modified test assertions to match new `fd` command behavior
|
|
105
|
+
- Ensured test coverage for both pattern and no-pattern scenarios
|
|
106
|
+
|
|
107
|
+
### 📚 Documentation Updates
|
|
108
|
+
- **Enhanced GitFlow Documentation**: Added comprehensive AI-assisted development workflow
|
|
109
|
+
- **Multi-language Sync**: Updated English, Chinese, and Japanese versions of GitFlow documentation
|
|
110
|
+
- **Process Clarification**: Clarified PyPI deployment process and manual steps
|
|
111
|
+
|
|
112
|
+
### 🚀 Deployment
|
|
113
|
+
- **PyPI**: Successfully deployed to PyPI as version 1.2.5
|
|
114
|
+
- **Compatibility**: Tested and verified on Windows environments
|
|
115
|
+
- **CI/CD**: All automated workflows executed successfully
|
|
116
|
+
|
|
117
|
+
### 📊 Testing
|
|
118
|
+
- **Test Suite**: All 156 tests passing
|
|
119
|
+
- **Coverage**: Maintained high test coverage
|
|
120
|
+
- **Cross-platform**: Verified Windows compatibility
|
|
121
|
+
|
|
122
|
+
## [1.2.4] - 2025-09-15
|
|
123
|
+
|
|
124
|
+
### 🚀 Major Features
|
|
125
|
+
|
|
126
|
+
#### SMART Analysis Workflow
|
|
127
|
+
- **Complete S-M-A-R-T workflow**: Comprehensive workflow replacing the previous 3-step process
|
|
128
|
+
- **S (Setup)**: Project initialization and prerequisite verification
|
|
129
|
+
- **M (Map)**: File discovery and structure mapping
|
|
130
|
+
- **A (Analyze)**: Code analysis and element extraction
|
|
131
|
+
- **R (Retrieve)**: Content search and pattern matching
|
|
132
|
+
- **T (Trace)**: Dependency tracking and relationship analysis
|
|
133
|
+
|
|
134
|
+
#### Advanced MCP Tools
|
|
135
|
+
- **ListFilesTool**: Lightning-fast file discovery powered by `fd`
|
|
136
|
+
- **SearchContentTool**: High-performance text search powered by `ripgrep`
|
|
137
|
+
- **FindAndGrepTool**: Combined file discovery and content analysis
|
|
138
|
+
- **Enterprise-grade Testing**: 50+ comprehensive test cases ensuring reliability and stability
|
|
139
|
+
- **Multi-platform Support**: Complete installation guides for Windows, macOS, and Linux
|
|
140
|
+
|
|
141
|
+
### 📋 Prerequisites & Installation
|
|
142
|
+
- **fd and ripgrep**: Complete installation instructions for all platforms
|
|
143
|
+
- **Windows Optimization**: winget commands and PowerShell execution policies
|
|
144
|
+
- **Cross-platform**: Support for macOS (Homebrew), Linux (apt/dnf/pacman), Windows (winget/choco/scoop)
|
|
145
|
+
- **Verification Steps**: Commands to verify successful installation
|
|
146
|
+
|
|
147
|
+
### 🔧 Quality Assurance
|
|
148
|
+
- **Test Coverage**: 1564 tests passed, 74.97% coverage
|
|
149
|
+
- **MCP Tools Coverage**: 93.04% (Excellent)
|
|
150
|
+
- **Real-world Validation**: All examples tested and verified with actual tool execution
|
|
151
|
+
- **Enterprise-grade Reliability**: Comprehensive error handling and validation
|
|
152
|
+
|
|
153
|
+
### 📚 Documentation & Localization
|
|
154
|
+
- **Complete Translation**: Japanese and Chinese READMEs fully updated
|
|
155
|
+
- **SMART Workflow**: Detailed step-by-step guides in all three languages
|
|
156
|
+
- **Prerequisites Documentation**: Comprehensive installation guides
|
|
157
|
+
- **Verified Examples**: All MCP tool examples tested and validated
|
|
158
|
+
|
|
159
|
+
### 🎯 Sponsor Acknowledgment
|
|
160
|
+
Special thanks to **@o93** for sponsoring this comprehensive MCP tools enhancement, enabling the early release of advanced file search and content analysis features.
|
|
161
|
+
|
|
162
|
+
### 🛠️ Technical Improvements
|
|
163
|
+
- **Advanced File Search**: Powered by fd for lightning-fast file discovery
|
|
164
|
+
- **Intelligent Content Search**: Powered by ripgrep for high-performance text search
|
|
165
|
+
- **Combined Tools**: FindAndGrepTool for comprehensive file discovery and content analysis
|
|
166
|
+
- **Token Optimization**: Multiple output formats optimized for AI assistant interactions
|
|
167
|
+
|
|
168
|
+
### ⚡ Performance & Reliability
|
|
169
|
+
- **Built-in Timeouts**: Responsive operation with configurable time limits
|
|
170
|
+
- **Result Limits**: Prevents overwhelming output with smart result limiting
|
|
171
|
+
- **Error Resilience**: Comprehensive error handling and graceful degradation
|
|
172
|
+
- **Cross-platform Testing**: Validated on Windows, macOS, and Linux environments
|
|
173
|
+
|
|
3
174
|
## [1.2.3] - 2025-08-27
|
|
4
175
|
|
|
5
176
|
### Release: v1.2.3
|
|
@@ -9,30 +9,30 @@ gitGraph
|
|
|
9
9
|
commit id: "Initial commit"
|
|
10
10
|
branch develop
|
|
11
11
|
commit id: "dev-1"
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
branch feature/my-feature
|
|
14
14
|
commit id: "feat-1"
|
|
15
15
|
commit id: "feat-2"
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
checkout develop
|
|
18
18
|
merge feature/my-feature id: "merge-feat"
|
|
19
|
-
|
|
19
|
+
|
|
20
20
|
branch release/v1.0.0
|
|
21
21
|
commit id: "release-prep"
|
|
22
|
-
|
|
22
|
+
|
|
23
23
|
checkout main
|
|
24
24
|
merge release/v1.0.0 tag: "v1.0.0"
|
|
25
|
-
|
|
25
|
+
|
|
26
26
|
checkout develop
|
|
27
27
|
merge release/v1.0.0
|
|
28
|
-
|
|
28
|
+
|
|
29
29
|
checkout main
|
|
30
30
|
branch hotfix/critical-fix
|
|
31
31
|
commit id: "fix-bug"
|
|
32
|
-
|
|
32
|
+
|
|
33
33
|
checkout main
|
|
34
34
|
merge hotfix/critical-fix tag: "v1.0.1"
|
|
35
|
-
|
|
35
|
+
|
|
36
36
|
checkout develop
|
|
37
37
|
merge hotfix/critical-fix
|
|
38
38
|
```
|
|
@@ -108,7 +108,18 @@ For manual releases:
|
|
|
108
108
|
|
|
109
109
|
3. **Update documentation**:
|
|
110
110
|
```bash
|
|
111
|
-
|
|
111
|
+
# Update README.md with new version, test counts, and coverage:
|
|
112
|
+
# - Version badges ([])
|
|
113
|
+
# - Test count badges ([])
|
|
114
|
+
# - Coverage badges ([])
|
|
115
|
+
# - "Latest Quality Achievements" section version references
|
|
116
|
+
# - Test environment section version references
|
|
117
|
+
# - All other version mentions throughout the document
|
|
118
|
+
# Update README_zh.md and README_ja.md translations with same changes
|
|
119
|
+
# Update GITFLOW_zh.md and GITFLOW_ja.md if workflow changes were made
|
|
120
|
+
# Update CHANGELOG.md with release details
|
|
121
|
+
# Update version references throughout all documentation files
|
|
122
|
+
# Note: scripts/improved_readme_updater.py may not exist, do manual updates
|
|
112
123
|
```
|
|
113
124
|
|
|
114
125
|
4. **Commit changes**:
|
|
@@ -123,7 +134,7 @@ For manual releases:
|
|
|
123
134
|
git merge release/v1.0.0
|
|
124
135
|
git tag -a v1.0.0 -m "Release v1.0.0"
|
|
125
136
|
git push origin main --tags
|
|
126
|
-
|
|
137
|
+
|
|
127
138
|
git checkout develop
|
|
128
139
|
git merge release/v1.0.0
|
|
129
140
|
git push origin develop
|
|
@@ -153,21 +164,39 @@ For manual releases:
|
|
|
153
164
|
3. **Update version** for hotfix:
|
|
154
165
|
```bash
|
|
155
166
|
# Update pyproject.toml version (e.g., 1.0.0 -> 1.0.1)
|
|
167
|
+
# Update server_version in pyproject.toml
|
|
168
|
+
# Sync version to __init__.py
|
|
169
|
+
uv run python scripts/sync_version_minimal.py
|
|
156
170
|
```
|
|
157
171
|
|
|
158
|
-
4. **
|
|
172
|
+
4. **Update documentation**:
|
|
173
|
+
```bash
|
|
174
|
+
# Update CHANGELOG.md with hotfix details
|
|
175
|
+
# Update README.md with new version, test counts, and coverage:
|
|
176
|
+
# - Version badges ([])
|
|
177
|
+
# - Test count badges ([])
|
|
178
|
+
# - Coverage badges ([])
|
|
179
|
+
# - "Latest Quality Achievements" section version references
|
|
180
|
+
# - Test environment section version references
|
|
181
|
+
# - All other version mentions throughout the document
|
|
182
|
+
# Update README_zh.md and README_ja.md translations with same changes
|
|
183
|
+
# Update GITFLOW_zh.md and GITFLOW_ja.md if workflow changes were made
|
|
184
|
+
# Update version references throughout all documentation files
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
5. **Merge to main and develop**:
|
|
159
188
|
```bash
|
|
160
189
|
git checkout main
|
|
161
190
|
git merge hotfix/critical-bug-fix
|
|
162
191
|
git tag -a v1.0.1 -m "Hotfix v1.0.1"
|
|
163
192
|
git push origin main --tags
|
|
164
|
-
|
|
193
|
+
|
|
165
194
|
git checkout develop
|
|
166
195
|
git merge hotfix/critical-bug-fix
|
|
167
196
|
git push origin develop
|
|
168
197
|
```
|
|
169
198
|
|
|
170
|
-
|
|
199
|
+
6. **Delete hotfix branch**:
|
|
171
200
|
```bash
|
|
172
201
|
git branch -d hotfix/critical-bug-fix
|
|
173
202
|
git push origin --delete hotfix/critical-bug-fix
|
|
@@ -210,6 +239,40 @@ uv run python scripts/automated_release.py
|
|
|
210
239
|
|
|
211
240
|
## Best Practices
|
|
212
241
|
|
|
242
|
+
### Line Ending Configuration
|
|
243
|
+
|
|
244
|
+
To prevent mixed line ending errors in pre-commit hooks:
|
|
245
|
+
|
|
246
|
+
1. **Ensure `.gitattributes` exists** with proper configuration:
|
|
247
|
+
```
|
|
248
|
+
* text=auto
|
|
249
|
+
*.py text eol=lf
|
|
250
|
+
*.md text eol=lf
|
|
251
|
+
*.yml text eol=lf
|
|
252
|
+
*.toml text eol=lf
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
2. **Configure Git locally**:
|
|
256
|
+
```bash
|
|
257
|
+
git config core.autocrlf input
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
3. **Configure your editor** (VS Code example in `.vscode/settings.json`):
|
|
261
|
+
```json
|
|
262
|
+
{
|
|
263
|
+
"files.eol": "\n",
|
|
264
|
+
"files.insertFinalNewline": true,
|
|
265
|
+
"files.trimTrailingWhitespace": true
|
|
266
|
+
}
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
4. **If you encounter mixed line ending errors**:
|
|
270
|
+
```bash
|
|
271
|
+
# Re-normalize all files
|
|
272
|
+
git rm --cached -r . && git reset --hard HEAD
|
|
273
|
+
git add . && git commit -m "Normalize line endings"
|
|
274
|
+
```
|
|
275
|
+
|
|
213
276
|
### Commit Messages
|
|
214
277
|
|
|
215
278
|
Use conventional commit format:
|
|
@@ -9,30 +9,30 @@ gitGraph
|
|
|
9
9
|
commit id: "Initial commit"
|
|
10
10
|
branch develop
|
|
11
11
|
commit id: "dev-1"
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
branch feature/my-feature
|
|
14
14
|
commit id: "feat-1"
|
|
15
15
|
commit id: "feat-2"
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
checkout develop
|
|
18
18
|
merge feature/my-feature id: "merge-feat"
|
|
19
|
-
|
|
19
|
+
|
|
20
20
|
branch release/v1.0.0
|
|
21
21
|
commit id: "release-prep"
|
|
22
|
-
|
|
22
|
+
|
|
23
23
|
checkout main
|
|
24
24
|
merge release/v1.0.0 tag: "v1.0.0"
|
|
25
|
-
|
|
25
|
+
|
|
26
26
|
checkout develop
|
|
27
27
|
merge release/v1.0.0
|
|
28
|
-
|
|
28
|
+
|
|
29
29
|
checkout main
|
|
30
30
|
branch hotfix/critical-fix
|
|
31
31
|
commit id: "fix-bug"
|
|
32
|
-
|
|
32
|
+
|
|
33
33
|
checkout main
|
|
34
34
|
merge hotfix/critical-fix tag: "v1.0.1"
|
|
35
|
-
|
|
35
|
+
|
|
36
36
|
checkout develop
|
|
37
37
|
merge hotfix/critical-fix
|
|
38
38
|
```
|
|
@@ -82,6 +82,22 @@ gitGraph
|
|
|
82
82
|
git checkout -b release/v1.0.0 develop
|
|
83
83
|
```
|
|
84
84
|
2. **リリース準備**: バージョン番号の更新、ドキュメントの生成など。
|
|
85
|
+
```bash
|
|
86
|
+
# pyproject.toml のバージョン番号を更新
|
|
87
|
+
# server_version を更新
|
|
88
|
+
# __init__.py にバージョン番号を同期
|
|
89
|
+
uv run python scripts/sync_version_minimal.py
|
|
90
|
+
|
|
91
|
+
# ドキュメントの更新:
|
|
92
|
+
# - README.md のバージョン番号、テスト数、カバレッジを更新
|
|
93
|
+
# - バージョンバッジ、テストバッジ、カバレッジバッジを更新
|
|
94
|
+
# - "最新の品質成果"セクションのバージョン参照を更新
|
|
95
|
+
# - テスト環境セクションのバージョン参照を更新
|
|
96
|
+
# - ドキュメント全体の他のバージョン言及を更新
|
|
97
|
+
# - README_zh.md と README_ja.md の翻訳版を更新
|
|
98
|
+
# - ワークフローに変更があった場合、GITFLOW_zh.md と GITFLOW_ja.md を更新
|
|
99
|
+
# - CHANGELOG.md にリリース詳細を更新
|
|
100
|
+
```
|
|
85
101
|
3. **準備完了後、`main` と `develop` にマージ**:
|
|
86
102
|
```bash
|
|
87
103
|
# mainブランチに切り替えてマージ
|
|
@@ -104,7 +120,24 @@ gitGraph
|
|
|
104
120
|
git checkout -b hotfix/critical-bug-fix main
|
|
105
121
|
```
|
|
106
122
|
2. **バグを修正**し、コミットします。
|
|
107
|
-
3.
|
|
123
|
+
3. **バージョンとドキュメントの更新**:
|
|
124
|
+
```bash
|
|
125
|
+
# pyproject.toml のバージョン番号を更新 (例: 1.0.0 -> 1.0.1)
|
|
126
|
+
# server_version を更新
|
|
127
|
+
# __init__.py にバージョン番号を同期
|
|
128
|
+
uv run python scripts/sync_version_minimal.py
|
|
129
|
+
|
|
130
|
+
# ドキュメントの更新:
|
|
131
|
+
# - CHANGELOG.md にホットフィックス詳細を更新
|
|
132
|
+
# - README.md のバージョン番号、テスト数、カバレッジを更新
|
|
133
|
+
# - バージョンバッジ、テストバッジ、カバレッジバッジを更新
|
|
134
|
+
# - "最新の品質成果"セクションのバージョン参照を更新
|
|
135
|
+
# - テスト環境セクションのバージョン参照を更新
|
|
136
|
+
# - ドキュメント全体の他のバージョン言及を更新
|
|
137
|
+
# - README_zh.md と README_ja.md の翻訳版を更新
|
|
138
|
+
# - ワークフローに変更があった場合、GITFLOW_zh.md と GITFLOW_ja.md を更新
|
|
139
|
+
```
|
|
140
|
+
4. **修正完了後、`main` と `develop` にマージ**:
|
|
108
141
|
```bash
|
|
109
142
|
# mainブランチに切り替えてマージ
|
|
110
143
|
git checkout main
|
|
@@ -117,7 +150,7 @@ gitGraph
|
|
|
117
150
|
git merge hotfix/critical-bug-fix
|
|
118
151
|
git push origin develop
|
|
119
152
|
```
|
|
120
|
-
|
|
153
|
+
5. **`hotfix` ブランチを削除**します。
|
|
121
154
|
|
|
122
155
|
---
|
|
123
156
|
|
|
@@ -9,30 +9,30 @@ gitGraph
|
|
|
9
9
|
commit id: "Initial commit"
|
|
10
10
|
branch develop
|
|
11
11
|
commit id: "dev-1"
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
branch feature/my-feature
|
|
14
14
|
commit id: "feat-1"
|
|
15
15
|
commit id: "feat-2"
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
checkout develop
|
|
18
18
|
merge feature/my-feature id: "merge-feat"
|
|
19
|
-
|
|
19
|
+
|
|
20
20
|
branch release/v1.0.0
|
|
21
21
|
commit id: "release-prep"
|
|
22
|
-
|
|
22
|
+
|
|
23
23
|
checkout main
|
|
24
24
|
merge release/v1.0.0 tag: "v1.0.0"
|
|
25
|
-
|
|
25
|
+
|
|
26
26
|
checkout develop
|
|
27
27
|
merge release/v1.0.0
|
|
28
|
-
|
|
28
|
+
|
|
29
29
|
checkout main
|
|
30
30
|
branch hotfix/critical-fix
|
|
31
31
|
commit id: "fix-bug"
|
|
32
|
-
|
|
32
|
+
|
|
33
33
|
checkout main
|
|
34
34
|
merge hotfix/critical-fix tag: "v1.0.1"
|
|
35
|
-
|
|
35
|
+
|
|
36
36
|
checkout develop
|
|
37
37
|
merge hotfix/critical-fix
|
|
38
38
|
```
|
|
@@ -82,6 +82,22 @@ gitGraph
|
|
|
82
82
|
git checkout -b release/v1.0.0 develop
|
|
83
83
|
```
|
|
84
84
|
2. **准备发布**: 更新版本号、生成文档等。
|
|
85
|
+
```bash
|
|
86
|
+
# 更新 pyproject.toml 中的版本号
|
|
87
|
+
# 更新 server_version
|
|
88
|
+
# 同步版本号到 __init__.py
|
|
89
|
+
uv run python scripts/sync_version_minimal.py
|
|
90
|
+
|
|
91
|
+
# 更新文档:
|
|
92
|
+
# - 更新 README.md 中的版本号、测试数量和覆盖率
|
|
93
|
+
# - 更新版本徽章、测试徽章、覆盖率徽章
|
|
94
|
+
# - 更新"最新质量成就"部分的版本引用
|
|
95
|
+
# - 更新测试环境部分的版本引用
|
|
96
|
+
# - 更新文档中的所有其他版本引用
|
|
97
|
+
# - 更新 README_zh.md 和 README_ja.md 翻译版本
|
|
98
|
+
# - 如有工作流更改,更新 GITFLOW_zh.md 和 GITFLOW_ja.md
|
|
99
|
+
# - 更新 CHANGELOG.md 发布详情
|
|
100
|
+
```
|
|
85
101
|
3. **完成准备后,合并到 `main` 和 `develop`**:
|
|
86
102
|
```bash
|
|
87
103
|
# 切换到 main 分支并合并
|
|
@@ -104,7 +120,24 @@ gitGraph
|
|
|
104
120
|
git checkout -b hotfix/critical-bug-fix main
|
|
105
121
|
```
|
|
106
122
|
2. **修复 Bug** 并提交。
|
|
107
|
-
3.
|
|
123
|
+
3. **更新版本和文档**:
|
|
124
|
+
```bash
|
|
125
|
+
# 更新 pyproject.toml 版本号 (例如: 1.0.0 -> 1.0.1)
|
|
126
|
+
# 更新 server_version
|
|
127
|
+
# 同步版本号到 __init__.py
|
|
128
|
+
uv run python scripts/sync_version_minimal.py
|
|
129
|
+
|
|
130
|
+
# 更新文档:
|
|
131
|
+
# - 更新 CHANGELOG.md 添加 hotfix 详情
|
|
132
|
+
# - 更新 README.md 中的版本号、测试数量和覆盖率
|
|
133
|
+
# - 更新版本徽章、测试徽章、覆盖率徽章
|
|
134
|
+
# - 更新"最新质量成就"部分的版本引用
|
|
135
|
+
# - 更新测试环境部分的版本引用
|
|
136
|
+
# - 更新文档中的所有其他版本引用
|
|
137
|
+
# - 更新 README_zh.md 和 README_ja.md 翻译版本
|
|
138
|
+
# - 如有工作流更改,更新 GITFLOW_zh.md 和 GITFLOW_ja.md
|
|
139
|
+
```
|
|
140
|
+
4. **完成修复后,合并到 `main` 和 `develop`**:
|
|
108
141
|
```bash
|
|
109
142
|
# 切换到 main 分支并合并
|
|
110
143
|
git checkout main
|
|
@@ -117,7 +150,7 @@ gitGraph
|
|
|
117
150
|
git merge hotfix/critical-bug-fix
|
|
118
151
|
git push origin develop
|
|
119
152
|
```
|
|
120
|
-
|
|
153
|
+
5. **删除 `hotfix` 分支**。
|
|
121
154
|
|
|
122
155
|
---
|
|
123
156
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tree-sitter-analyzer
|
|
3
|
-
Version: 1.2
|
|
3
|
+
Version: 1.3.2
|
|
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
|
|
@@ -163,11 +163,11 @@ Description-Content-Type: text/markdown
|
|
|
163
163
|
|
|
164
164
|
[](https://python.org)
|
|
165
165
|
[](LICENSE)
|
|
166
|
-
[](#quality-assurance)
|
|
167
|
+
[](#quality-assurance)
|
|
168
168
|
[](#quality-assurance)
|
|
169
169
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
170
|
-
[](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
|
|
171
171
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
172
172
|
|
|
173
173
|
## 🚀 Break LLM Token Limits, Let AI Understand Code Files of Any Size
|
|
@@ -920,11 +920,11 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
|
|
|
920
920
|
- **Zero test failures** - Fully CI/CD ready
|
|
921
921
|
- **Cross-platform compatibility** - Windows, macOS, Linux
|
|
922
922
|
|
|
923
|
-
### ⚡ **Latest Quality Achievements (v1.2
|
|
923
|
+
### ⚡ **Latest Quality Achievements (v1.3.2)**
|
|
924
924
|
- ✅ **Cross-platform path compatibility** - Fixed Windows short path names and macOS symbolic link differences
|
|
925
925
|
- ✅ **Windows environment** - Implemented robust path normalization using Windows API
|
|
926
926
|
- ✅ **macOS environment** - Fixed `/var` vs `/private/var` symbolic link differences
|
|
927
|
-
- ✅ **Comprehensive test coverage** -
|
|
927
|
+
- ✅ **Comprehensive test coverage** - 1605 tests, 74.36% coverage
|
|
928
928
|
- ✅ **GitFlow implementation** - Professional development/release branch strategy. See [GitFlow documentation](GITFLOW.md) for details.
|
|
929
929
|
|
|
930
930
|
### ⚙️ **Running Tests**
|
|
@@ -943,7 +943,7 @@ uv run pytest tests/test_mcp_server_initialization.py -v
|
|
|
943
943
|
- **Language detector**: 98.41% (Excellent)
|
|
944
944
|
- **CLI main entry**: 94.36% (Excellent)
|
|
945
945
|
- **Query filtering system**: 96.06% (Excellent)
|
|
946
|
-
- **MCP fd/rg tools**: 93.04% (Excellent) - *
|
|
946
|
+
- **MCP fd/rg tools**: 93.04% (Excellent) - *Enhanced in v1.3.2 with cache format compatibility fix*
|
|
947
947
|
- **Query service**: 86.25% (Good)
|
|
948
948
|
- **Error handling**: 82.76% (Good)
|
|
949
949
|
|
|
@@ -1041,9 +1041,9 @@ All AI prompts in this document have been thoroughly tested in real environments
|
|
|
1041
1041
|
|
|
1042
1042
|
**Test Environment:**
|
|
1043
1043
|
- Operating System: Windows 10
|
|
1044
|
-
- Project: tree-sitter-analyzer v1.2
|
|
1044
|
+
- Project: tree-sitter-analyzer v1.3.2
|
|
1045
1045
|
- Test Files: BigService.java (1419 lines), sample.py (256 lines), MultiClass.java (54 lines)
|
|
1046
|
-
- Test Coverage:
|
|
1046
|
+
- Test Coverage: 1605 tests passed, 74.36% coverage
|
|
1047
1047
|
- Test Tools: All MCP tools (check_code_scale, analyze_code_structure, extract_code_section, query_code, list_files, search_content, find_and_grep)
|
|
1048
1048
|
|
|
1049
1049
|
**🚀 Start Now** → [30-Second Quick Start](#-30-second-quick-start)
|