tree-sitter-analyzer 1.3.7__tar.gz → 1.3.9__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.

Files changed (160) hide show
  1. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/CHANGELOG.md +46 -0
  2. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/PKG-INFO +140 -48
  3. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/README.md +93 -9
  4. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/README_ja.md +82 -5
  5. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/README_zh.md +82 -5
  6. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/pyproject.toml +35 -32
  7. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/__init__.py +1 -1
  8. tree_sitter_analyzer-1.3.9/tree_sitter_analyzer/cli/commands/find_and_grep_cli.py +187 -0
  9. tree_sitter_analyzer-1.3.9/tree_sitter_analyzer/cli/commands/list_files_cli.py +134 -0
  10. tree_sitter_analyzer-1.3.9/tree_sitter_analyzer/cli/commands/search_content_cli.py +160 -0
  11. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/language_loader.py +27 -6
  12. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/output_manager.py +4 -6
  13. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/uv.lock +31 -31
  14. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/.gitattributes +0 -0
  15. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/.gitignore +0 -0
  16. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/.kiro/steering/product.md +0 -0
  17. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/.kiro/steering/structure.md +0 -0
  18. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/.kiro/steering/tech.md +0 -0
  19. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/.pre-commit-config.yaml +0 -0
  20. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/.pre-commit-hooks.yaml +0 -0
  21. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/AI_COLLABORATION_GUIDE.md +0 -0
  22. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/CODE_STYLE_GUIDE.md +0 -0
  23. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/CONTRIBUTING.md +0 -0
  24. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/DEPLOYMENT_GUIDE.md +0 -0
  25. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/GITFLOW.md +0 -0
  26. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/GITFLOW_ja.md +0 -0
  27. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/GITFLOW_zh.md +0 -0
  28. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/LANGUAGE_GUIDELINES.md +0 -0
  29. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/LLM_CODING_GUIDELINES.md +0 -0
  30. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/MCP_SETUP_DEVELOPERS.md +0 -0
  31. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/MCP_SETUP_USERS.md +0 -0
  32. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/PROJECT_ROOT_CONFIG.md +0 -0
  33. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/PYPI_RELEASE_GUIDE.md +0 -0
  34. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/REFACTORING_SUMMARY.md +0 -0
  35. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/build_standalone.py +0 -0
  36. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/check_quality.py +0 -0
  37. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/docs/GITFLOW_BEST_PRACTICES.md +0 -0
  38. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/docs/RELEASE_EXECUTION_GUIDE.md +0 -0
  39. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/docs/api.md +0 -0
  40. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/docs/mcp_fd_rg_design.md +0 -0
  41. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/examples/BigService.java +0 -0
  42. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/examples/BigService.json +0 -0
  43. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/examples/BigService.summary.json +0 -0
  44. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/examples/JavaDocTest.java +0 -0
  45. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/examples/MultiClass.java +0 -0
  46. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/examples/Sample.java +0 -0
  47. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/examples/cache_demo.py +0 -0
  48. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/examples/calculate_token_comparison.py +0 -0
  49. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/examples/project_root_demo.py +0 -0
  50. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/examples/sample.py +0 -0
  51. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/examples/security_demo.py +0 -0
  52. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/examples/security_integration_demo.py +0 -0
  53. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/examples/smart_cache_demo.py +0 -0
  54. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/examples/total_only_optimization_demo.py +0 -0
  55. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/llm_code_checker.py +0 -0
  56. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/pypirc_example.txt +0 -0
  57. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/pytest.ini +0 -0
  58. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/scripts/README.md +0 -0
  59. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/scripts/gitflow_helper.py +0 -0
  60. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/scripts/gitflow_release_automation.py +0 -0
  61. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/scripts/sync_version.py +0 -0
  62. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/scripts/sync_version_minimal.py +0 -0
  63. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/start_mcp_server.py +0 -0
  64. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/training/01_onboarding.md +0 -0
  65. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/training/02_architecture_map.md +0 -0
  66. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/training/03_cli_cheatsheet.md +0 -0
  67. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/training/04_mcp_cheatsheet.md +0 -0
  68. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/training/05_plugin_tutorial.md +0 -0
  69. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/training/06_quality_workflow.md +0 -0
  70. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/training/07_troubleshooting.md +0 -0
  71. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/training/08_prompt_library.md +0 -0
  72. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/training/09_tasks.md +0 -0
  73. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/training/10_glossary.md +0 -0
  74. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/training/11_takeover_plan.md +0 -0
  75. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/training/CLI_COMMAND_CORRECTIONS.md +0 -0
  76. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/training/IMPROVEMENT_SUMMARY.md +0 -0
  77. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/training/README.md +0 -0
  78. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/__main__.py +0 -0
  79. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/api.py +0 -0
  80. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/cli/__init__.py +0 -0
  81. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/cli/__main__.py +0 -0
  82. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/cli/commands/__init__.py +0 -0
  83. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/cli/commands/advanced_command.py +0 -0
  84. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/cli/commands/base_command.py +0 -0
  85. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/cli/commands/default_command.py +0 -0
  86. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/cli/commands/partial_read_command.py +0 -0
  87. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/cli/commands/query_command.py +0 -0
  88. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/cli/commands/structure_command.py +0 -0
  89. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/cli/commands/summary_command.py +0 -0
  90. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/cli/commands/table_command.py +0 -0
  91. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/cli/info_commands.py +0 -0
  92. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/cli_main.py +0 -0
  93. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/constants.py +0 -0
  94. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/core/__init__.py +0 -0
  95. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/core/analysis_engine.py +0 -0
  96. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/core/cache_service.py +0 -0
  97. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/core/engine.py +0 -0
  98. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/core/parser.py +0 -0
  99. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/core/query.py +0 -0
  100. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/core/query_filter.py +0 -0
  101. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/core/query_service.py +0 -0
  102. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/encoding_utils.py +0 -0
  103. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/exceptions.py +0 -0
  104. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/file_handler.py +0 -0
  105. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/formatters/__init__.py +0 -0
  106. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/formatters/base_formatter.py +0 -0
  107. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/formatters/formatter_factory.py +0 -0
  108. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/formatters/java_formatter.py +0 -0
  109. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/formatters/python_formatter.py +0 -0
  110. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/interfaces/__init__.py +0 -0
  111. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/interfaces/cli.py +0 -0
  112. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/interfaces/cli_adapter.py +0 -0
  113. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/interfaces/mcp_adapter.py +0 -0
  114. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/interfaces/mcp_server.py +0 -0
  115. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/language_detector.py +0 -0
  116. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/languages/__init__.py +0 -0
  117. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/languages/java_plugin.py +0 -0
  118. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/languages/javascript_plugin.py +0 -0
  119. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/languages/python_plugin.py +0 -0
  120. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/__init__.py +0 -0
  121. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/resources/__init__.py +0 -0
  122. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/resources/code_file_resource.py +0 -0
  123. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/resources/project_stats_resource.py +0 -0
  124. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/server.py +0 -0
  125. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/tools/__init__.py +0 -0
  126. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +0 -0
  127. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py +0 -0
  128. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/tools/base_tool.py +0 -0
  129. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/tools/fd_rg_utils.py +0 -0
  130. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py +0 -0
  131. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/tools/list_files_tool.py +0 -0
  132. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/tools/query_tool.py +0 -0
  133. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/tools/read_partial_tool.py +0 -0
  134. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/tools/search_content_tool.py +0 -0
  135. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/tools/table_format_tool.py +0 -0
  136. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +0 -0
  137. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/utils/__init__.py +0 -0
  138. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/utils/error_handler.py +0 -0
  139. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/utils/gitignore_detector.py +0 -0
  140. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/utils/path_resolver.py +0 -0
  141. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/mcp/utils/search_cache.py +0 -0
  142. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/models.py +0 -0
  143. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/plugins/__init__.py +0 -0
  144. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/plugins/base.py +0 -0
  145. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/plugins/manager.py +0 -0
  146. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/project_detector.py +0 -0
  147. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/queries/__init__.py +0 -0
  148. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/queries/java.py +0 -0
  149. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/queries/javascript.py +0 -0
  150. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/queries/python.py +0 -0
  151. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/queries/typescript.py +0 -0
  152. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/query_loader.py +0 -0
  153. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/security/__init__.py +0 -0
  154. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/security/boundary_manager.py +0 -0
  155. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/security/regex_checker.py +0 -0
  156. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/security/validator.py +0 -0
  157. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/table_formatter.py +0 -0
  158. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/tree_sitter_analyzer/utils.py +0 -0
  159. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/upload_interactive.py +0 -0
  160. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.9}/upload_to_pypi.py +0 -0
@@ -1,5 +1,51 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.3.9] - 2025-01-18
4
+
5
+ ### Fixed
6
+ - **📚 Documentation Fix**: Fixed CLI command examples in all README versions (EN, ZH, JA)
7
+ - **🔧 Usage Instructions**: Added `uv run` prefix to all CLI command examples for development environment
8
+ - **💡 User Experience**: Added clear usage notes explaining when to use `uv run` vs direct commands
9
+ - **🌐 Multi-language Support**: Updated English, Chinese, and Japanese documentation consistently
10
+
11
+ ### Technical Details
12
+ - **Issue**: Users couldn't run CLI commands directly without `uv run` prefix in development
13
+ - **Solution**: Updated all command examples to include `uv run` prefix
14
+ - **Impact**: Eliminates user confusion and provides clear usage instructions
15
+ - **Files Modified**:
16
+ - `README.md` - English documentation
17
+ - `README_zh.md` - Chinese documentation
18
+ - `README_ja.md` - Japanese documentation
19
+
20
+ This patch release resolves documentation inconsistencies and improves user experience
21
+ by providing clear, working examples for CLI command usage in development environments.
22
+
23
+ ## [1.3.8] - 2025-01-18
24
+
25
+ ### Added
26
+ - **🆕 New CLI Commands**: Added standalone CLI wrappers for MCP FD/RG tools
27
+ - `list-files`: CLI wrapper for `ListFilesTool` (fd functionality)
28
+ - `search-content`: CLI wrapper for `SearchContentTool` (ripgrep functionality)
29
+ - `find-and-grep`: CLI wrapper for `FindAndGrepTool` (fd → ripgrep composition)
30
+ - **🔧 CLI Integration**: All new CLI commands are registered as independent entry points in `pyproject.toml`
31
+ - **📋 Comprehensive Testing**: Added extensive CLI functionality testing with 1797 tests and 74.46% coverage
32
+
33
+ ### Enhanced
34
+ - **🎯 CLI Functionality**: Improved CLI interface with better error handling and output formatting
35
+ - **🛡️ Security**: All CLI commands inherit MCP tool security boundaries and project root detection
36
+ - **📊 Quality Metrics**: Maintained high test coverage and code quality standards
37
+
38
+ ### Technical Details
39
+ - **Architecture**: New CLI commands use adapter pattern to wrap MCP tools
40
+ - **Entry Points**: Registered in `[project.scripts]` section of `pyproject.toml`
41
+ - **Safety**: All commands include project boundary validation and error handling
42
+ - **Files Added**:
43
+ - `tree_sitter_analyzer/cli/commands/list_files_cli.py`
44
+ - `tree_sitter_analyzer/cli/commands/search_content_cli.py`
45
+ - `tree_sitter_analyzer/cli/commands/find_and_grep_cli.py`
46
+
47
+ This release provides users with direct access to powerful file system operations through dedicated CLI tools while maintaining the security and reliability of the MCP architecture.
48
+
3
49
  ## [1.3.7] - 2025-01-15
4
50
 
5
51
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tree-sitter-analyzer
3
- Version: 1.3.7
3
+ Version: 1.3.9
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
@@ -34,10 +34,10 @@ Requires-Python: >=3.10
34
34
  Requires-Dist: cachetools>=5.0.0
35
35
  Requires-Dist: chardet>=5.0.0
36
36
  Requires-Dist: mcp>=1.12.3
37
- Requires-Dist: tree-sitter-cpp>=0.23.4
38
- Requires-Dist: tree-sitter-java>=0.23.5
39
- Requires-Dist: tree-sitter-javascript>=0.23.1
40
- Requires-Dist: tree-sitter-python>=0.23.6
37
+ Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4
38
+ Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5
39
+ Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1
40
+ Requires-Dist: tree-sitter-python<0.25.0,>=0.23.6
41
41
  Requires-Dist: tree-sitter==0.24.0
42
42
  Provides-Extra: all
43
43
  Requires-Dist: anyio>=4.0.0; extra == 'all'
@@ -56,28 +56,32 @@ Requires-Dist: pytest-cov>=4.0.0; extra == 'all'
56
56
  Requires-Dist: pytest-mock>=3.14.1; extra == 'all'
57
57
  Requires-Dist: pytest>=8.4.1; extra == 'all'
58
58
  Requires-Dist: ruff>=0.5.0; extra == 'all'
59
- Requires-Dist: tree-sitter-c>=0.20.0; extra == 'all'
59
+ Requires-Dist: tree-sitter-c<0.25.0,>=0.20.0; extra == 'all'
60
+ Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4; extra == 'all'
60
61
  Requires-Dist: tree-sitter-cpp>=0.23.4; extra == 'all'
61
- Requires-Dist: tree-sitter-go>=0.20.0; extra == 'all'
62
+ Requires-Dist: tree-sitter-go<0.25.0,>=0.20.0; extra == 'all'
63
+ Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5; extra == 'all'
62
64
  Requires-Dist: tree-sitter-java>=0.23.5; extra == 'all'
65
+ Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1; extra == 'all'
63
66
  Requires-Dist: tree-sitter-javascript>=0.23.1; extra == 'all'
67
+ Requires-Dist: tree-sitter-python<0.25.0,>=0.23.0; extra == 'all'
64
68
  Requires-Dist: tree-sitter-python>=0.23.0; extra == 'all'
65
- Requires-Dist: tree-sitter-rust>=0.20.0; extra == 'all'
66
- Requires-Dist: tree-sitter-typescript>=0.20.0; extra == 'all'
69
+ Requires-Dist: tree-sitter-rust<0.25.0,>=0.20.0; extra == 'all'
70
+ Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'all'
67
71
  Requires-Dist: types-psutil>=5.9.0; extra == 'all'
68
72
  Provides-Extra: all-languages
69
- Requires-Dist: tree-sitter-c>=0.20.0; extra == 'all-languages'
70
- Requires-Dist: tree-sitter-cpp>=0.23.4; extra == 'all-languages'
71
- Requires-Dist: tree-sitter-go>=0.20.0; extra == 'all-languages'
72
- Requires-Dist: tree-sitter-java>=0.23.5; extra == 'all-languages'
73
- Requires-Dist: tree-sitter-javascript>=0.23.1; extra == 'all-languages'
74
- Requires-Dist: tree-sitter-python>=0.23.0; extra == 'all-languages'
75
- Requires-Dist: tree-sitter-rust>=0.20.0; extra == 'all-languages'
76
- Requires-Dist: tree-sitter-typescript>=0.20.0; extra == 'all-languages'
73
+ Requires-Dist: tree-sitter-c<0.25.0,>=0.20.0; extra == 'all-languages'
74
+ Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4; extra == 'all-languages'
75
+ Requires-Dist: tree-sitter-go<0.25.0,>=0.20.0; extra == 'all-languages'
76
+ Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5; extra == 'all-languages'
77
+ Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1; extra == 'all-languages'
78
+ Requires-Dist: tree-sitter-python<0.25.0,>=0.23.0; extra == 'all-languages'
79
+ Requires-Dist: tree-sitter-rust<0.25.0,>=0.20.0; extra == 'all-languages'
80
+ Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'all-languages'
77
81
  Provides-Extra: c
78
- Requires-Dist: tree-sitter-c>=0.20.0; extra == 'c'
82
+ Requires-Dist: tree-sitter-c<0.25.0,>=0.20.0; extra == 'c'
79
83
  Provides-Extra: cpp
80
- Requires-Dist: tree-sitter-cpp>=0.23.4; extra == 'cpp'
84
+ Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4; extra == 'cpp'
81
85
  Provides-Extra: dev
82
86
  Requires-Dist: black>=24.0.0; extra == 'dev'
83
87
  Requires-Dist: isort>=5.13.0; extra == 'dev'
@@ -108,21 +112,25 @@ Requires-Dist: pytest-cov>=4.0.0; extra == 'full'
108
112
  Requires-Dist: pytest-mock>=3.14.1; extra == 'full'
109
113
  Requires-Dist: pytest>=8.4.1; extra == 'full'
110
114
  Requires-Dist: ruff>=0.5.0; extra == 'full'
111
- Requires-Dist: tree-sitter-c>=0.20.0; extra == 'full'
115
+ Requires-Dist: tree-sitter-c<0.25.0,>=0.20.0; extra == 'full'
116
+ Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4; extra == 'full'
112
117
  Requires-Dist: tree-sitter-cpp>=0.23.4; extra == 'full'
113
- Requires-Dist: tree-sitter-go>=0.20.0; extra == 'full'
118
+ Requires-Dist: tree-sitter-go<0.25.0,>=0.20.0; extra == 'full'
119
+ Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5; extra == 'full'
114
120
  Requires-Dist: tree-sitter-java>=0.23.5; extra == 'full'
121
+ Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1; extra == 'full'
115
122
  Requires-Dist: tree-sitter-javascript>=0.23.1; extra == 'full'
123
+ Requires-Dist: tree-sitter-python<0.25.0,>=0.23.0; extra == 'full'
116
124
  Requires-Dist: tree-sitter-python>=0.23.0; extra == 'full'
117
- Requires-Dist: tree-sitter-rust>=0.20.0; extra == 'full'
118
- Requires-Dist: tree-sitter-typescript>=0.20.0; extra == 'full'
125
+ Requires-Dist: tree-sitter-rust<0.25.0,>=0.20.0; extra == 'full'
126
+ Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'full'
119
127
  Requires-Dist: types-psutil>=5.9.0; extra == 'full'
120
128
  Provides-Extra: go
121
- Requires-Dist: tree-sitter-go>=0.20.0; extra == 'go'
129
+ Requires-Dist: tree-sitter-go<0.25.0,>=0.20.0; extra == 'go'
122
130
  Provides-Extra: java
123
- Requires-Dist: tree-sitter-java>=0.23.5; extra == 'java'
131
+ Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5; extra == 'java'
124
132
  Provides-Extra: javascript
125
- Requires-Dist: tree-sitter-javascript>=0.23.1; extra == 'javascript'
133
+ Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1; extra == 'javascript'
126
134
  Provides-Extra: mcp
127
135
  Requires-Dist: anyio>=4.0.0; extra == 'mcp'
128
136
  Requires-Dist: httpx<1.0.0,>=0.27.0; extra == 'mcp'
@@ -130,19 +138,19 @@ Requires-Dist: mcp>=1.12.2; extra == 'mcp'
130
138
  Requires-Dist: pydantic-settings>=2.2.1; extra == 'mcp'
131
139
  Requires-Dist: pydantic>=2.5.0; extra == 'mcp'
132
140
  Provides-Extra: popular
133
- Requires-Dist: tree-sitter-java>=0.23.5; extra == 'popular'
134
- Requires-Dist: tree-sitter-javascript>=0.23.1; extra == 'popular'
135
- Requires-Dist: tree-sitter-python>=0.23.0; extra == 'popular'
136
- Requires-Dist: tree-sitter-typescript>=0.20.0; extra == 'popular'
141
+ Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5; extra == 'popular'
142
+ Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1; extra == 'popular'
143
+ Requires-Dist: tree-sitter-python<0.25.0,>=0.23.0; extra == 'popular'
144
+ Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'popular'
137
145
  Provides-Extra: python
138
- Requires-Dist: tree-sitter-python>=0.23.0; extra == 'python'
146
+ Requires-Dist: tree-sitter-python<0.25.0,>=0.23.0; extra == 'python'
139
147
  Provides-Extra: rust
140
- Requires-Dist: tree-sitter-rust>=0.20.0; extra == 'rust'
148
+ Requires-Dist: tree-sitter-rust<0.25.0,>=0.20.0; extra == 'rust'
141
149
  Provides-Extra: systems
142
- Requires-Dist: tree-sitter-c>=0.20.0; extra == 'systems'
143
- Requires-Dist: tree-sitter-cpp>=0.23.4; extra == 'systems'
144
- Requires-Dist: tree-sitter-go>=0.20.0; extra == 'systems'
145
- Requires-Dist: tree-sitter-rust>=0.20.0; extra == 'systems'
150
+ Requires-Dist: tree-sitter-c<0.25.0,>=0.20.0; extra == 'systems'
151
+ Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4; extra == 'systems'
152
+ Requires-Dist: tree-sitter-go<0.25.0,>=0.20.0; extra == 'systems'
153
+ Requires-Dist: tree-sitter-rust<0.25.0,>=0.20.0; extra == 'systems'
146
154
  Provides-Extra: test
147
155
  Requires-Dist: pytest-asyncio>=1.1.0; extra == 'test'
148
156
  Requires-Dist: pytest-cov>=4.0.0; extra == 'test'
@@ -153,21 +161,21 @@ Requires-Dist: tree-sitter-java>=0.23.5; extra == 'test'
153
161
  Requires-Dist: tree-sitter-javascript>=0.23.1; extra == 'test'
154
162
  Requires-Dist: tree-sitter-python>=0.23.0; extra == 'test'
155
163
  Provides-Extra: typescript
156
- Requires-Dist: tree-sitter-typescript>=0.20.0; extra == 'typescript'
164
+ Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'typescript'
157
165
  Provides-Extra: web
158
- Requires-Dist: tree-sitter-javascript>=0.23.1; extra == 'web'
159
- Requires-Dist: tree-sitter-typescript>=0.20.0; extra == 'web'
166
+ Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1; extra == 'web'
167
+ Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'web'
160
168
  Description-Content-Type: text/markdown
161
169
 
162
170
  # Tree-sitter Analyzer
163
171
 
164
172
  [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
165
173
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
166
- [![Tests](https://img.shields.io/badge/tests-1794%20passed-brightgreen.svg)](#quality-assurance)
167
- [![Coverage](https://img.shields.io/badge/coverage-74.77%25-green.svg)](#quality-assurance)
174
+ [![Tests](https://img.shields.io/badge/tests-1797%20passed-brightgreen.svg)](#quality-assurance)
175
+ [![Coverage](https://img.shields.io/badge/coverage-74.46%25-green.svg)](#quality-assurance)
168
176
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
169
177
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
170
- [![Version](https://img.shields.io/badge/version-1.3.6-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
178
+ [![Version](https://img.shields.io/badge/version-1.3.9-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
171
179
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
172
180
 
173
181
  ## 🚀 Break LLM Token Limits, Let AI Understand Code Files of Any Size
@@ -229,6 +237,71 @@ Total Elements: 85 | Complexity: 348 (avg: 5.27, max: 15)
229
237
 
230
238
  ---
231
239
 
240
+ ## 🆕 New CLI Commands (v1.3.8+)
241
+
242
+ ### 🔧 **Standalone CLI Tools for File System Operations**
243
+
244
+ Tree-sitter Analyzer now provides dedicated CLI commands that wrap powerful MCP tools for file system operations:
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
+
253
+ #### 📁 **`list-files`** - File Discovery with fd
254
+ ```bash
255
+ # List all Java files in current directory
256
+ uv run list-files . --extensions java
257
+
258
+ # Find test files with specific naming patterns
259
+ uv run list-files src --pattern "test_*" --extensions java --types f
260
+
261
+ # Find large files modified in the last week
262
+ uv run list-files . --types f --size "+1k" --changed-within "1week"
263
+
264
+ # Find service classes with specific naming patterns
265
+ uv run list-files src --pattern "*Service*" --extensions java --output-format json
266
+ ```
267
+
268
+ #### 🔍 **`search-content`** - Content Search with ripgrep
269
+ ```bash
270
+ # Search for class definitions in Java files
271
+ uv run search-content --roots . --query "class.*extends" --include-globs "*.java"
272
+
273
+ # Find TODO comments with context
274
+ uv run search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2
275
+
276
+ # Search in specific files with case-insensitive matching
277
+ uv run search-content --files file1.java file2.java --query "public.*method" --case insensitive
278
+ ```
279
+
280
+ #### 🎯 **`find-and-grep`** - Two-Stage Search (fd → ripgrep)
281
+ ```bash
282
+ # Find Java files first, then search for Spring annotations
283
+ uv run find-and-grep --roots . --query "@SpringBootApplication" --extensions java
284
+
285
+ # Combined file filtering and content search with limits
286
+ uv run find-and-grep --roots src --query "import.*spring" --extensions java --file-limit 10 --max-count 5
287
+
288
+ # Advanced search with multiple filters
289
+ uv run find-and-grep --roots . --query "public.*static.*void" --extensions java --types f --size "+500" --output-format json
290
+ ```
291
+
292
+ ### 🛡️ **Security & Safety Features**
293
+ - **Project Boundary Detection**: All commands automatically detect and respect project boundaries
294
+ - **Input Validation**: Comprehensive parameter validation and sanitization
295
+ - **Error Handling**: Graceful error handling with informative messages
296
+ - **Resource Limits**: Built-in limits to prevent resource exhaustion
297
+
298
+ ### 📊 **Output Formats**
299
+ - **JSON**: Structured output for programmatic processing
300
+ - **Text**: Human-readable output for terminal use
301
+ - **Quiet Mode**: Suppress non-essential output for scripting
302
+
303
+ ---
304
+
232
305
  ## 🚀 30-Second Quick Start
233
306
 
234
307
  ### 🤖 AI Users (Claude Desktop, Cursor, etc.)
@@ -678,6 +751,25 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --query-key metho
678
751
 
679
752
  # View filter syntax help
680
753
  uv run python -m tree_sitter_analyzer --filter-help
754
+
755
+ # 🆕 New CLI Commands (v1.3.8+)
756
+ # File listing with fd functionality
757
+ uv run list-files . --extensions java --output-format json
758
+
759
+ # Content search with ripgrep functionality
760
+ uv run search-content --roots . --query "class.*extends" --include-globs "*.java" --output-format text
761
+
762
+ # Two-stage search: find files first, then search content
763
+ uv run find-and-grep --roots . --query "public.*method" --extensions java --output-format json
764
+
765
+ # Advanced file filtering
766
+ uv run list-files . --types f --size "+1k" --changed-within "1week" --hidden --output-format text
767
+
768
+ # Content search with context
769
+ uv run search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2 --output-format json
770
+
771
+ # Combined file and content search with limits
772
+ uv run find-and-grep --roots . --query "import.*spring" --extensions java --file-limit 10 --max-count 5 --output-format text
681
773
  ```
682
774
 
683
775
  ---
@@ -915,16 +1007,16 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
915
1007
  ## 🏆 Quality Assurance
916
1008
 
917
1009
  ### 📊 **Quality Metrics**
918
- - **1,794 tests** - 100% pass rate ✅
919
- - **74.77% code coverage** - Industry-leading level
1010
+ - **1,797 tests** - 100% pass rate ✅
1011
+ - **74.46% code coverage** - Industry-leading level
920
1012
  - **Zero test failures** - Fully CI/CD ready
921
1013
  - **Cross-platform compatibility** - Windows, macOS, Linux
922
1014
 
923
- ### ⚡ **Latest Quality Achievements (v1.3.6)**
1015
+ ### ⚡ **Latest Quality Achievements (v1.3.9)**
924
1016
  - ✅ **Cross-platform path compatibility** - Fixed Windows short path names and macOS symbolic link differences
925
1017
  - ✅ **Windows environment** - Implemented robust path normalization using Windows API
926
1018
  - ✅ **macOS environment** - Fixed `/var` vs `/private/var` symbolic link differences
927
- - ✅ **Comprehensive test coverage** - 1794 tests, 74.77% coverage
1019
+ - ✅ **Comprehensive test coverage** - 1797 tests, 74.46% coverage
928
1020
  - ✅ **GitFlow implementation** - Professional development/release branch strategy. See [GitFlow documentation](GITFLOW.md) for details.
929
1021
 
930
1022
  ### ⚙️ **Running Tests**
@@ -1041,9 +1133,9 @@ All AI prompts in this document have been thoroughly tested in real environments
1041
1133
 
1042
1134
  **Test Environment:**
1043
1135
  - Operating System: Windows 10
1044
- - Project: tree-sitter-analyzer v1.3.6
1136
+ - Project: tree-sitter-analyzer v1.3.9
1045
1137
  - Test Files: BigService.java (1419 lines), sample.py (256 lines), MultiClass.java (54 lines)
1046
- - Test Coverage: 1794 tests passed, 74.77% coverage
1138
+ - Test Coverage: 1797 tests passed, 74.46% coverage
1047
1139
  - Test Tools: All MCP tools (check_code_scale, analyze_code_structure, extract_code_section, query_code, list_files, search_content, find_and_grep)
1048
1140
 
1049
1141
  **🚀 Start Now** → [30-Second Quick Start](#-30-second-quick-start)
@@ -2,11 +2,11 @@
2
2
 
3
3
  [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
4
4
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
5
- [![Tests](https://img.shields.io/badge/tests-1794%20passed-brightgreen.svg)](#quality-assurance)
6
- [![Coverage](https://img.shields.io/badge/coverage-74.77%25-green.svg)](#quality-assurance)
5
+ [![Tests](https://img.shields.io/badge/tests-1797%20passed-brightgreen.svg)](#quality-assurance)
6
+ [![Coverage](https://img.shields.io/badge/coverage-74.46%25-green.svg)](#quality-assurance)
7
7
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
8
8
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
9
- [![Version](https://img.shields.io/badge/version-1.3.6-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
9
+ [![Version](https://img.shields.io/badge/version-1.3.9-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
10
10
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
11
11
 
12
12
  ## 🚀 Break LLM Token Limits, Let AI Understand Code Files of Any Size
@@ -68,6 +68,71 @@ Total Elements: 85 | Complexity: 348 (avg: 5.27, max: 15)
68
68
 
69
69
  ---
70
70
 
71
+ ## 🆕 New CLI Commands (v1.3.8+)
72
+
73
+ ### 🔧 **Standalone CLI Tools for File System Operations**
74
+
75
+ Tree-sitter Analyzer now provides dedicated CLI commands that wrap powerful MCP tools for file system operations:
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
+
84
+ #### 📁 **`list-files`** - File Discovery with fd
85
+ ```bash
86
+ # List all Java files in current directory
87
+ uv run list-files . --extensions java
88
+
89
+ # Find test files with specific naming patterns
90
+ uv run list-files src --pattern "test_*" --extensions java --types f
91
+
92
+ # Find large files modified in the last week
93
+ uv run list-files . --types f --size "+1k" --changed-within "1week"
94
+
95
+ # Find service classes with specific naming patterns
96
+ uv run list-files src --pattern "*Service*" --extensions java --output-format json
97
+ ```
98
+
99
+ #### 🔍 **`search-content`** - Content Search with ripgrep
100
+ ```bash
101
+ # Search for class definitions in Java files
102
+ uv run search-content --roots . --query "class.*extends" --include-globs "*.java"
103
+
104
+ # Find TODO comments with context
105
+ uv run search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2
106
+
107
+ # Search in specific files with case-insensitive matching
108
+ uv run search-content --files file1.java file2.java --query "public.*method" --case insensitive
109
+ ```
110
+
111
+ #### 🎯 **`find-and-grep`** - Two-Stage Search (fd → ripgrep)
112
+ ```bash
113
+ # Find Java files first, then search for Spring annotations
114
+ uv run find-and-grep --roots . --query "@SpringBootApplication" --extensions java
115
+
116
+ # Combined file filtering and content search with limits
117
+ uv run find-and-grep --roots src --query "import.*spring" --extensions java --file-limit 10 --max-count 5
118
+
119
+ # Advanced search with multiple filters
120
+ uv run find-and-grep --roots . --query "public.*static.*void" --extensions java --types f --size "+500" --output-format json
121
+ ```
122
+
123
+ ### 🛡️ **Security & Safety Features**
124
+ - **Project Boundary Detection**: All commands automatically detect and respect project boundaries
125
+ - **Input Validation**: Comprehensive parameter validation and sanitization
126
+ - **Error Handling**: Graceful error handling with informative messages
127
+ - **Resource Limits**: Built-in limits to prevent resource exhaustion
128
+
129
+ ### 📊 **Output Formats**
130
+ - **JSON**: Structured output for programmatic processing
131
+ - **Text**: Human-readable output for terminal use
132
+ - **Quiet Mode**: Suppress non-essential output for scripting
133
+
134
+ ---
135
+
71
136
  ## 🚀 30-Second Quick Start
72
137
 
73
138
  ### 🤖 AI Users (Claude Desktop, Cursor, etc.)
@@ -517,6 +582,25 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --query-key metho
517
582
 
518
583
  # View filter syntax help
519
584
  uv run python -m tree_sitter_analyzer --filter-help
585
+
586
+ # 🆕 New CLI Commands (v1.3.8+)
587
+ # File listing with fd functionality
588
+ uv run list-files . --extensions java --output-format json
589
+
590
+ # Content search with ripgrep functionality
591
+ uv run search-content --roots . --query "class.*extends" --include-globs "*.java" --output-format text
592
+
593
+ # Two-stage search: find files first, then search content
594
+ uv run find-and-grep --roots . --query "public.*method" --extensions java --output-format json
595
+
596
+ # Advanced file filtering
597
+ uv run list-files . --types f --size "+1k" --changed-within "1week" --hidden --output-format text
598
+
599
+ # Content search with context
600
+ uv run search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2 --output-format json
601
+
602
+ # Combined file and content search with limits
603
+ uv run find-and-grep --roots . --query "import.*spring" --extensions java --file-limit 10 --max-count 5 --output-format text
520
604
  ```
521
605
 
522
606
  ---
@@ -754,16 +838,16 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
754
838
  ## 🏆 Quality Assurance
755
839
 
756
840
  ### 📊 **Quality Metrics**
757
- - **1,794 tests** - 100% pass rate ✅
758
- - **74.77% code coverage** - Industry-leading level
841
+ - **1,797 tests** - 100% pass rate ✅
842
+ - **74.46% code coverage** - Industry-leading level
759
843
  - **Zero test failures** - Fully CI/CD ready
760
844
  - **Cross-platform compatibility** - Windows, macOS, Linux
761
845
 
762
- ### ⚡ **Latest Quality Achievements (v1.3.6)**
846
+ ### ⚡ **Latest Quality Achievements (v1.3.9)**
763
847
  - ✅ **Cross-platform path compatibility** - Fixed Windows short path names and macOS symbolic link differences
764
848
  - ✅ **Windows environment** - Implemented robust path normalization using Windows API
765
849
  - ✅ **macOS environment** - Fixed `/var` vs `/private/var` symbolic link differences
766
- - ✅ **Comprehensive test coverage** - 1794 tests, 74.77% coverage
850
+ - ✅ **Comprehensive test coverage** - 1797 tests, 74.46% coverage
767
851
  - ✅ **GitFlow implementation** - Professional development/release branch strategy. See [GitFlow documentation](GITFLOW.md) for details.
768
852
 
769
853
  ### ⚙️ **Running Tests**
@@ -880,9 +964,9 @@ All AI prompts in this document have been thoroughly tested in real environments
880
964
 
881
965
  **Test Environment:**
882
966
  - Operating System: Windows 10
883
- - Project: tree-sitter-analyzer v1.3.6
967
+ - Project: tree-sitter-analyzer v1.3.9
884
968
  - Test Files: BigService.java (1419 lines), sample.py (256 lines), MultiClass.java (54 lines)
885
- - Test Coverage: 1794 tests passed, 74.77% coverage
969
+ - Test Coverage: 1797 tests passed, 74.46% coverage
886
970
  - Test Tools: All MCP tools (check_code_scale, analyze_code_structure, extract_code_section, query_code, list_files, search_content, find_and_grep)
887
971
 
888
972
  **🚀 Start Now** → [30-Second Quick Start](#-30-second-quick-start)
@@ -2,11 +2,11 @@
2
2
 
3
3
  [![Pythonバージョン](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
4
4
  [![ライセンス](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
5
- [![テスト](https://img.shields.io/badge/tests-1699%20passed-brightgreen.svg)](#品質保証)
6
- [![カバレッジ](https://img.shields.io/badge/coverage-74.77%25-green.svg)](#品質保証)
5
+ [![テスト](https://img.shields.io/badge/tests-1797%20passed-brightgreen.svg)](#品質保証)
6
+ [![カバレッジ](https://img.shields.io/badge/coverage-74.46%25-green.svg)](#品質保証)
7
7
  [![品質](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#品質保証)
8
8
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
9
- [![バージョン](https://img.shields.io/badge/version-1.3.6-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
9
+ [![バージョン](https://img.shields.io/badge/version-1.3.9-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
10
10
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
11
11
 
12
12
  ## 🚀 LLMトークン制限を突破し、AIにあらゆるサイズのコードファイルを理解させる
@@ -68,6 +68,64 @@ Total Elements: 85 | Complexity: 348 (avg: 5.27, max: 15)
68
68
 
69
69
  ---
70
70
 
71
+ ## 🆕 新CLIコマンド (v1.3.8+)
72
+
73
+ ### 🔧 **ファイルシステム操作専用CLIツール**
74
+
75
+ Tree-sitter Analyzer は、強力なMCPツールをラップしてファイルシステム操作を行う専用CLIコマンドを提供します:
76
+
77
+ #### 📁 **`list-files`** - fdによるファイル発見
78
+ ```bash
79
+ # 現在のディレクトリ内のすべてのJavaファイルをリスト表示
80
+ uv run list-files . --extensions java
81
+
82
+ # 特定の命名パターンのテストファイルを検索
83
+ uv run list-files src --pattern "test_*" --extensions java --types f
84
+
85
+ # 過去1週間に変更された大きなファイルを検索
86
+ uv run list-files . --types f --size "+1k" --changed-within "1week"
87
+
88
+ # 特定の命名パターンのサービスクラスを検索
89
+ uv run list-files src --pattern "*Service*" --extensions java --output-format json
90
+ ```
91
+
92
+ #### 🔍 **`search-content`** - ripgrepによるコンテンツ検索
93
+ ```bash
94
+ # Javaファイル内でクラス定義を検索
95
+ uv run search-content --roots . --query "class.*extends" --include-globs "*.java"
96
+
97
+ # TODOコメントを検索し、コンテキストを表示
98
+ uv run search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2
99
+
100
+ # 特定のファイル内で大文字小文字を区別しない検索
101
+ uv run search-content --files file1.java file2.java --query "public.*method" --case insensitive
102
+ ```
103
+
104
+ #### 🎯 **`find-and-grep`** - 2段階検索 (fd → ripgrep)
105
+ ```bash
106
+ # まずJavaファイルを検索し、次にSpringアノテーションを検索
107
+ uv run find-and-grep --roots . --query "@SpringBootApplication" --extensions java
108
+
109
+ # ファイルフィルタリングとコンテンツ検索を組み合わせ、制限付き
110
+ uv run find-and-grep --roots src --query "import.*spring" --extensions java --file-limit 10 --max-count 5
111
+
112
+ # 複数のフィルターを使用した高度な検索
113
+ uv run find-and-grep --roots . --query "public.*static.*void" --extensions java --types f --size "+500" --output-format json
114
+ ```
115
+
116
+ ### 🛡️ **セキュリティ・安全機能**
117
+ - **プロジェクト境界検出**:すべてのコマンドが自動的にプロジェクト境界を検出し、尊重します
118
+ - **入力検証**:包括的なパラメータ検証とサニタイゼーション
119
+ - **エラーハンドリング**:情報豊富なメッセージによる優雅なエラーハンドリング
120
+ - **リソース制限**:リソース枯渇を防ぐための組み込み制限
121
+
122
+ ### 📊 **出力形式**
123
+ - **JSON**:プログラム処理用の構造化出力
124
+ - **Text**:ターミナル使用用の人間が読める出力
125
+ - **Quietモード**:スクリプト用の非必須出力を抑制
126
+
127
+ ---
128
+
71
129
  ## 🚀 30秒クイックスタート
72
130
 
73
131
  ### 🤖 AIユーザー(Claude Desktop、Cursorなど)
@@ -505,6 +563,25 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --query-key metho
505
563
 
506
564
  # フィルター構文ヘルプを表示
507
565
  uv run python -m tree_sitter_analyzer --filter-help
566
+
567
+ # 🆕 新CLIコマンド (v1.3.8+)
568
+ # fd機能を使用したファイルリスト表示
569
+ uv run list-files . --extensions java --output-format json
570
+
571
+ # ripgrep機能を使用したコンテンツ検索
572
+ uv run search-content --roots . --query "class.*extends" --include-globs "*.java" --output-format text
573
+
574
+ # 2段階検索:まずファイルを検索し、次にコンテンツを検索
575
+ uv run find-and-grep --roots . --query "public.*method" --extensions java --output-format json
576
+
577
+ # 高度なファイルフィルタリング
578
+ uv run list-files . --types f --size "+1k" --changed-within "1week" --hidden --output-format text
579
+
580
+ # コンテキスト付きコンテンツ検索
581
+ uv run search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2 --output-format json
582
+
583
+ # ファイル検索とコンテンツ検索の組み合わせ、制限付き
584
+ uv run find-and-grep --roots . --query "import.*spring" --extensions java --file-limit 10 --max-count 5 --output-format text
508
585
  ```
509
586
 
510
587
  ---
@@ -747,7 +824,7 @@ Tree-sitter Analyzerは自動的にプロジェクト境界を検出・保護:
747
824
  - **ゼロテスト失敗** - 完全なCI/CD対応
748
825
  - **クロスプラットフォーム対応** - Windows、macOS、Linux
749
826
 
750
- ### ⚡ **最新の品質成果(v1.3.6)**
827
+ ### ⚡ **最新の品質成果(v1.3.7)**
751
828
  - ✅ **クロスプラットフォームパス互換性** - Windows短パス名とmacOSシンボリックリンクの違いを修正
752
829
  - ✅ **Windows環境** - Windows APIを使用した堅牢なパス正規化を実装
753
830
  - ✅ **macOS環境** - `/var`と`/private/var`シンボリックリンクの違いを修正
@@ -866,7 +943,7 @@ MITライセンス - 詳細は[LICENSE](LICENSE)ファイルをご覧くださ
866
943
 
867
944
  **テスト環境:**
868
945
  - オペレーティングシステム:Windows 10
869
- - プロジェクト:tree-sitter-analyzer v1.3.6
946
+ - プロジェクト:tree-sitter-analyzer v1.3.7
870
947
  - テストファイル:BigService.java (1419行)、sample.py (256行)、MultiClass.java (54行)
871
948
  - テストツール:すべてのMCPツール(check_code_scale、analyze_code_structure、extract_code_section、query_code)
872
949