tree-sitter-analyzer 1.3.7__tar.gz → 1.3.8__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.8}/CHANGELOG.md +26 -0
  2. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/PKG-INFO +133 -48
  3. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/README.md +86 -9
  4. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/README_ja.md +82 -5
  5. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/README_zh.md +82 -5
  6. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/pyproject.toml +35 -32
  7. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/__init__.py +1 -1
  8. tree_sitter_analyzer-1.3.8/tree_sitter_analyzer/cli/commands/find_and_grep_cli.py +187 -0
  9. tree_sitter_analyzer-1.3.8/tree_sitter_analyzer/cli/commands/list_files_cli.py +134 -0
  10. tree_sitter_analyzer-1.3.8/tree_sitter_analyzer/cli/commands/search_content_cli.py +160 -0
  11. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/language_loader.py +27 -6
  12. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/output_manager.py +4 -6
  13. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/uv.lock +31 -31
  14. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/.gitattributes +0 -0
  15. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/.gitignore +0 -0
  16. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/.kiro/steering/product.md +0 -0
  17. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/.kiro/steering/structure.md +0 -0
  18. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/.kiro/steering/tech.md +0 -0
  19. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/.pre-commit-config.yaml +0 -0
  20. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/.pre-commit-hooks.yaml +0 -0
  21. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/AI_COLLABORATION_GUIDE.md +0 -0
  22. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/CODE_STYLE_GUIDE.md +0 -0
  23. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/CONTRIBUTING.md +0 -0
  24. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/DEPLOYMENT_GUIDE.md +0 -0
  25. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/GITFLOW.md +0 -0
  26. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/GITFLOW_ja.md +0 -0
  27. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/GITFLOW_zh.md +0 -0
  28. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/LANGUAGE_GUIDELINES.md +0 -0
  29. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/LLM_CODING_GUIDELINES.md +0 -0
  30. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/MCP_SETUP_DEVELOPERS.md +0 -0
  31. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/MCP_SETUP_USERS.md +0 -0
  32. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/PROJECT_ROOT_CONFIG.md +0 -0
  33. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/PYPI_RELEASE_GUIDE.md +0 -0
  34. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/REFACTORING_SUMMARY.md +0 -0
  35. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/build_standalone.py +0 -0
  36. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/check_quality.py +0 -0
  37. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/docs/GITFLOW_BEST_PRACTICES.md +0 -0
  38. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/docs/RELEASE_EXECUTION_GUIDE.md +0 -0
  39. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/docs/api.md +0 -0
  40. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/docs/mcp_fd_rg_design.md +0 -0
  41. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/examples/BigService.java +0 -0
  42. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/examples/BigService.json +0 -0
  43. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/examples/BigService.summary.json +0 -0
  44. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/examples/JavaDocTest.java +0 -0
  45. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/examples/MultiClass.java +0 -0
  46. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/examples/Sample.java +0 -0
  47. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/examples/cache_demo.py +0 -0
  48. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/examples/calculate_token_comparison.py +0 -0
  49. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/examples/project_root_demo.py +0 -0
  50. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/examples/sample.py +0 -0
  51. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/examples/security_demo.py +0 -0
  52. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/examples/security_integration_demo.py +0 -0
  53. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/examples/smart_cache_demo.py +0 -0
  54. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/examples/total_only_optimization_demo.py +0 -0
  55. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/llm_code_checker.py +0 -0
  56. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/pypirc_example.txt +0 -0
  57. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/pytest.ini +0 -0
  58. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/scripts/README.md +0 -0
  59. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/scripts/gitflow_helper.py +0 -0
  60. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/scripts/gitflow_release_automation.py +0 -0
  61. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/scripts/sync_version.py +0 -0
  62. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/scripts/sync_version_minimal.py +0 -0
  63. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/start_mcp_server.py +0 -0
  64. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/training/01_onboarding.md +0 -0
  65. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/training/02_architecture_map.md +0 -0
  66. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/training/03_cli_cheatsheet.md +0 -0
  67. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/training/04_mcp_cheatsheet.md +0 -0
  68. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/training/05_plugin_tutorial.md +0 -0
  69. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/training/06_quality_workflow.md +0 -0
  70. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/training/07_troubleshooting.md +0 -0
  71. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/training/08_prompt_library.md +0 -0
  72. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/training/09_tasks.md +0 -0
  73. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/training/10_glossary.md +0 -0
  74. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/training/11_takeover_plan.md +0 -0
  75. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/training/CLI_COMMAND_CORRECTIONS.md +0 -0
  76. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/training/IMPROVEMENT_SUMMARY.md +0 -0
  77. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/training/README.md +0 -0
  78. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/__main__.py +0 -0
  79. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/api.py +0 -0
  80. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/cli/__init__.py +0 -0
  81. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/cli/__main__.py +0 -0
  82. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/cli/commands/__init__.py +0 -0
  83. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/cli/commands/advanced_command.py +0 -0
  84. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/cli/commands/base_command.py +0 -0
  85. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/cli/commands/default_command.py +0 -0
  86. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/cli/commands/partial_read_command.py +0 -0
  87. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/cli/commands/query_command.py +0 -0
  88. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/cli/commands/structure_command.py +0 -0
  89. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/cli/commands/summary_command.py +0 -0
  90. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/cli/commands/table_command.py +0 -0
  91. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/cli/info_commands.py +0 -0
  92. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/cli_main.py +0 -0
  93. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/constants.py +0 -0
  94. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/core/__init__.py +0 -0
  95. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/core/analysis_engine.py +0 -0
  96. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/core/cache_service.py +0 -0
  97. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/core/engine.py +0 -0
  98. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/core/parser.py +0 -0
  99. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/core/query.py +0 -0
  100. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/core/query_filter.py +0 -0
  101. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/core/query_service.py +0 -0
  102. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/encoding_utils.py +0 -0
  103. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/exceptions.py +0 -0
  104. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/file_handler.py +0 -0
  105. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/formatters/__init__.py +0 -0
  106. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/formatters/base_formatter.py +0 -0
  107. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/formatters/formatter_factory.py +0 -0
  108. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/formatters/java_formatter.py +0 -0
  109. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/formatters/python_formatter.py +0 -0
  110. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/interfaces/__init__.py +0 -0
  111. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/interfaces/cli.py +0 -0
  112. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/interfaces/cli_adapter.py +0 -0
  113. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/interfaces/mcp_adapter.py +0 -0
  114. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/interfaces/mcp_server.py +0 -0
  115. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/language_detector.py +0 -0
  116. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/languages/__init__.py +0 -0
  117. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/languages/java_plugin.py +0 -0
  118. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/languages/javascript_plugin.py +0 -0
  119. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/languages/python_plugin.py +0 -0
  120. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/__init__.py +0 -0
  121. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/resources/__init__.py +0 -0
  122. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/resources/code_file_resource.py +0 -0
  123. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/resources/project_stats_resource.py +0 -0
  124. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/server.py +0 -0
  125. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/tools/__init__.py +0 -0
  126. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +0 -0
  127. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/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.8}/tree_sitter_analyzer/mcp/tools/base_tool.py +0 -0
  129. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/tools/fd_rg_utils.py +0 -0
  130. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py +0 -0
  131. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/tools/list_files_tool.py +0 -0
  132. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/tools/query_tool.py +0 -0
  133. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/tools/read_partial_tool.py +0 -0
  134. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/tools/search_content_tool.py +0 -0
  135. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/tools/table_format_tool.py +0 -0
  136. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +0 -0
  137. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/utils/__init__.py +0 -0
  138. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/utils/error_handler.py +0 -0
  139. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/utils/gitignore_detector.py +0 -0
  140. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/utils/path_resolver.py +0 -0
  141. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/mcp/utils/search_cache.py +0 -0
  142. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/models.py +0 -0
  143. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/plugins/__init__.py +0 -0
  144. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/plugins/base.py +0 -0
  145. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/plugins/manager.py +0 -0
  146. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/project_detector.py +0 -0
  147. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/queries/__init__.py +0 -0
  148. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/queries/java.py +0 -0
  149. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/queries/javascript.py +0 -0
  150. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/queries/python.py +0 -0
  151. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/queries/typescript.py +0 -0
  152. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/query_loader.py +0 -0
  153. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/security/__init__.py +0 -0
  154. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/security/boundary_manager.py +0 -0
  155. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/security/regex_checker.py +0 -0
  156. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/security/validator.py +0 -0
  157. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/table_formatter.py +0 -0
  158. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/tree_sitter_analyzer/utils.py +0 -0
  159. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/upload_interactive.py +0 -0
  160. {tree_sitter_analyzer-1.3.7 → tree_sitter_analyzer-1.3.8}/upload_to_pypi.py +0 -0
@@ -1,5 +1,31 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.3.8] - 2025-01-18
4
+
5
+ ### Added
6
+ - **🆕 New CLI Commands**: Added standalone CLI wrappers for MCP FD/RG tools
7
+ - `list-files`: CLI wrapper for `ListFilesTool` (fd functionality)
8
+ - `search-content`: CLI wrapper for `SearchContentTool` (ripgrep functionality)
9
+ - `find-and-grep`: CLI wrapper for `FindAndGrepTool` (fd → ripgrep composition)
10
+ - **🔧 CLI Integration**: All new CLI commands are registered as independent entry points in `pyproject.toml`
11
+ - **📋 Comprehensive Testing**: Added extensive CLI functionality testing with 1797 tests and 74.46% coverage
12
+
13
+ ### Enhanced
14
+ - **🎯 CLI Functionality**: Improved CLI interface with better error handling and output formatting
15
+ - **🛡️ Security**: All CLI commands inherit MCP tool security boundaries and project root detection
16
+ - **📊 Quality Metrics**: Maintained high test coverage and code quality standards
17
+
18
+ ### Technical Details
19
+ - **Architecture**: New CLI commands use adapter pattern to wrap MCP tools
20
+ - **Entry Points**: Registered in `[project.scripts]` section of `pyproject.toml`
21
+ - **Safety**: All commands include project boundary validation and error handling
22
+ - **Files Added**:
23
+ - `tree_sitter_analyzer/cli/commands/list_files_cli.py`
24
+ - `tree_sitter_analyzer/cli/commands/search_content_cli.py`
25
+ - `tree_sitter_analyzer/cli/commands/find_and_grep_cli.py`
26
+
27
+ 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.
28
+
3
29
  ## [1.3.7] - 2025-01-15
4
30
 
5
31
  ### 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.8
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.8-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,64 @@ 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
+ #### 📁 **`list-files`** - File Discovery with fd
247
+ ```bash
248
+ # List all Java files in current directory
249
+ list-files . --extensions java
250
+
251
+ # Find test files with specific naming patterns
252
+ list-files src --pattern "test_*" --extensions java --types f
253
+
254
+ # Find large files modified in the last week
255
+ list-files . --types f --size "+1k" --changed-within "1week"
256
+
257
+ # Find service classes with specific naming patterns
258
+ list-files src --pattern "*Service*" --extensions java --output-format json
259
+ ```
260
+
261
+ #### 🔍 **`search-content`** - Content Search with ripgrep
262
+ ```bash
263
+ # Search for class definitions in Java files
264
+ search-content --roots . --query "class.*extends" --include-globs "*.java"
265
+
266
+ # Find TODO comments with context
267
+ search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2
268
+
269
+ # Search in specific files with case-insensitive matching
270
+ search-content --files file1.java file2.java --query "public.*method" --case insensitive
271
+ ```
272
+
273
+ #### 🎯 **`find-and-grep`** - Two-Stage Search (fd → ripgrep)
274
+ ```bash
275
+ # Find Java files first, then search for Spring annotations
276
+ find-and-grep --roots . --query "@SpringBootApplication" --extensions java
277
+
278
+ # Combined file filtering and content search with limits
279
+ find-and-grep --roots src --query "import.*spring" --extensions java --file-limit 10 --max-count 5
280
+
281
+ # Advanced search with multiple filters
282
+ find-and-grep --roots . --query "public.*static.*void" --extensions java --types f --size "+500" --output-format json
283
+ ```
284
+
285
+ ### 🛡️ **Security & Safety Features**
286
+ - **Project Boundary Detection**: All commands automatically detect and respect project boundaries
287
+ - **Input Validation**: Comprehensive parameter validation and sanitization
288
+ - **Error Handling**: Graceful error handling with informative messages
289
+ - **Resource Limits**: Built-in limits to prevent resource exhaustion
290
+
291
+ ### 📊 **Output Formats**
292
+ - **JSON**: Structured output for programmatic processing
293
+ - **Text**: Human-readable output for terminal use
294
+ - **Quiet Mode**: Suppress non-essential output for scripting
295
+
296
+ ---
297
+
232
298
  ## 🚀 30-Second Quick Start
233
299
 
234
300
  ### 🤖 AI Users (Claude Desktop, Cursor, etc.)
@@ -678,6 +744,25 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --query-key metho
678
744
 
679
745
  # View filter syntax help
680
746
  uv run python -m tree_sitter_analyzer --filter-help
747
+
748
+ # 🆕 New CLI Commands (v1.3.8+)
749
+ # File listing with fd functionality
750
+ list-files . --extensions java --output-format json
751
+
752
+ # Content search with ripgrep functionality
753
+ search-content --roots . --query "class.*extends" --include-globs "*.java" --output-format text
754
+
755
+ # Two-stage search: find files first, then search content
756
+ find-and-grep --roots . --query "public.*method" --extensions java --output-format json
757
+
758
+ # Advanced file filtering
759
+ list-files . --types f --size "+1k" --changed-within "1week" --hidden --output-format text
760
+
761
+ # Content search with context
762
+ search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2 --output-format json
763
+
764
+ # Combined file and content search with limits
765
+ find-and-grep --roots . --query "import.*spring" --extensions java --file-limit 10 --max-count 5 --output-format text
681
766
  ```
682
767
 
683
768
  ---
@@ -915,16 +1000,16 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
915
1000
  ## 🏆 Quality Assurance
916
1001
 
917
1002
  ### 📊 **Quality Metrics**
918
- - **1,794 tests** - 100% pass rate ✅
919
- - **74.77% code coverage** - Industry-leading level
1003
+ - **1,797 tests** - 100% pass rate ✅
1004
+ - **74.46% code coverage** - Industry-leading level
920
1005
  - **Zero test failures** - Fully CI/CD ready
921
1006
  - **Cross-platform compatibility** - Windows, macOS, Linux
922
1007
 
923
- ### ⚡ **Latest Quality Achievements (v1.3.6)**
1008
+ ### ⚡ **Latest Quality Achievements (v1.3.8)**
924
1009
  - ✅ **Cross-platform path compatibility** - Fixed Windows short path names and macOS symbolic link differences
925
1010
  - ✅ **Windows environment** - Implemented robust path normalization using Windows API
926
1011
  - ✅ **macOS environment** - Fixed `/var` vs `/private/var` symbolic link differences
927
- - ✅ **Comprehensive test coverage** - 1794 tests, 74.77% coverage
1012
+ - ✅ **Comprehensive test coverage** - 1797 tests, 74.46% coverage
928
1013
  - ✅ **GitFlow implementation** - Professional development/release branch strategy. See [GitFlow documentation](GITFLOW.md) for details.
929
1014
 
930
1015
  ### ⚙️ **Running Tests**
@@ -1041,9 +1126,9 @@ All AI prompts in this document have been thoroughly tested in real environments
1041
1126
 
1042
1127
  **Test Environment:**
1043
1128
  - Operating System: Windows 10
1044
- - Project: tree-sitter-analyzer v1.3.6
1129
+ - Project: tree-sitter-analyzer v1.3.8
1045
1130
  - Test Files: BigService.java (1419 lines), sample.py (256 lines), MultiClass.java (54 lines)
1046
- - Test Coverage: 1794 tests passed, 74.77% coverage
1131
+ - Test Coverage: 1797 tests passed, 74.46% coverage
1047
1132
  - Test Tools: All MCP tools (check_code_scale, analyze_code_structure, extract_code_section, query_code, list_files, search_content, find_and_grep)
1048
1133
 
1049
1134
  **🚀 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.8-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,64 @@ 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
+ #### 📁 **`list-files`** - File Discovery with fd
78
+ ```bash
79
+ # List all Java files in current directory
80
+ list-files . --extensions java
81
+
82
+ # Find test files with specific naming patterns
83
+ list-files src --pattern "test_*" --extensions java --types f
84
+
85
+ # Find large files modified in the last week
86
+ list-files . --types f --size "+1k" --changed-within "1week"
87
+
88
+ # Find service classes with specific naming patterns
89
+ list-files src --pattern "*Service*" --extensions java --output-format json
90
+ ```
91
+
92
+ #### 🔍 **`search-content`** - Content Search with ripgrep
93
+ ```bash
94
+ # Search for class definitions in Java files
95
+ search-content --roots . --query "class.*extends" --include-globs "*.java"
96
+
97
+ # Find TODO comments with context
98
+ search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2
99
+
100
+ # Search in specific files with case-insensitive matching
101
+ search-content --files file1.java file2.java --query "public.*method" --case insensitive
102
+ ```
103
+
104
+ #### 🎯 **`find-and-grep`** - Two-Stage Search (fd → ripgrep)
105
+ ```bash
106
+ # Find Java files first, then search for Spring annotations
107
+ find-and-grep --roots . --query "@SpringBootApplication" --extensions java
108
+
109
+ # Combined file filtering and content search with limits
110
+ find-and-grep --roots src --query "import.*spring" --extensions java --file-limit 10 --max-count 5
111
+
112
+ # Advanced search with multiple filters
113
+ find-and-grep --roots . --query "public.*static.*void" --extensions java --types f --size "+500" --output-format json
114
+ ```
115
+
116
+ ### 🛡️ **Security & Safety Features**
117
+ - **Project Boundary Detection**: All commands automatically detect and respect project boundaries
118
+ - **Input Validation**: Comprehensive parameter validation and sanitization
119
+ - **Error Handling**: Graceful error handling with informative messages
120
+ - **Resource Limits**: Built-in limits to prevent resource exhaustion
121
+
122
+ ### 📊 **Output Formats**
123
+ - **JSON**: Structured output for programmatic processing
124
+ - **Text**: Human-readable output for terminal use
125
+ - **Quiet Mode**: Suppress non-essential output for scripting
126
+
127
+ ---
128
+
71
129
  ## 🚀 30-Second Quick Start
72
130
 
73
131
  ### 🤖 AI Users (Claude Desktop, Cursor, etc.)
@@ -517,6 +575,25 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --query-key metho
517
575
 
518
576
  # View filter syntax help
519
577
  uv run python -m tree_sitter_analyzer --filter-help
578
+
579
+ # 🆕 New CLI Commands (v1.3.8+)
580
+ # File listing with fd functionality
581
+ list-files . --extensions java --output-format json
582
+
583
+ # Content search with ripgrep functionality
584
+ search-content --roots . --query "class.*extends" --include-globs "*.java" --output-format text
585
+
586
+ # Two-stage search: find files first, then search content
587
+ find-and-grep --roots . --query "public.*method" --extensions java --output-format json
588
+
589
+ # Advanced file filtering
590
+ list-files . --types f --size "+1k" --changed-within "1week" --hidden --output-format text
591
+
592
+ # Content search with context
593
+ search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2 --output-format json
594
+
595
+ # Combined file and content search with limits
596
+ find-and-grep --roots . --query "import.*spring" --extensions java --file-limit 10 --max-count 5 --output-format text
520
597
  ```
521
598
 
522
599
  ---
@@ -754,16 +831,16 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
754
831
  ## 🏆 Quality Assurance
755
832
 
756
833
  ### 📊 **Quality Metrics**
757
- - **1,794 tests** - 100% pass rate ✅
758
- - **74.77% code coverage** - Industry-leading level
834
+ - **1,797 tests** - 100% pass rate ✅
835
+ - **74.46% code coverage** - Industry-leading level
759
836
  - **Zero test failures** - Fully CI/CD ready
760
837
  - **Cross-platform compatibility** - Windows, macOS, Linux
761
838
 
762
- ### ⚡ **Latest Quality Achievements (v1.3.6)**
839
+ ### ⚡ **Latest Quality Achievements (v1.3.8)**
763
840
  - ✅ **Cross-platform path compatibility** - Fixed Windows short path names and macOS symbolic link differences
764
841
  - ✅ **Windows environment** - Implemented robust path normalization using Windows API
765
842
  - ✅ **macOS environment** - Fixed `/var` vs `/private/var` symbolic link differences
766
- - ✅ **Comprehensive test coverage** - 1794 tests, 74.77% coverage
843
+ - ✅ **Comprehensive test coverage** - 1797 tests, 74.46% coverage
767
844
  - ✅ **GitFlow implementation** - Professional development/release branch strategy. See [GitFlow documentation](GITFLOW.md) for details.
768
845
 
769
846
  ### ⚙️ **Running Tests**
@@ -880,9 +957,9 @@ All AI prompts in this document have been thoroughly tested in real environments
880
957
 
881
958
  **Test Environment:**
882
959
  - Operating System: Windows 10
883
- - Project: tree-sitter-analyzer v1.3.6
960
+ - Project: tree-sitter-analyzer v1.3.8
884
961
  - Test Files: BigService.java (1419 lines), sample.py (256 lines), MultiClass.java (54 lines)
885
- - Test Coverage: 1794 tests passed, 74.77% coverage
962
+ - Test Coverage: 1797 tests passed, 74.46% coverage
886
963
  - Test Tools: All MCP tools (check_code_scale, analyze_code_structure, extract_code_section, query_code, list_files, search_content, find_and_grep)
887
964
 
888
965
  **🚀 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.8-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
+ list-files . --extensions java
81
+
82
+ # 特定の命名パターンのテストファイルを検索
83
+ list-files src --pattern "test_*" --extensions java --types f
84
+
85
+ # 過去1週間に変更された大きなファイルを検索
86
+ list-files . --types f --size "+1k" --changed-within "1week"
87
+
88
+ # 特定の命名パターンのサービスクラスを検索
89
+ list-files src --pattern "*Service*" --extensions java --output-format json
90
+ ```
91
+
92
+ #### 🔍 **`search-content`** - ripgrepによるコンテンツ検索
93
+ ```bash
94
+ # Javaファイル内でクラス定義を検索
95
+ search-content --roots . --query "class.*extends" --include-globs "*.java"
96
+
97
+ # TODOコメントを検索し、コンテキストを表示
98
+ search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2
99
+
100
+ # 特定のファイル内で大文字小文字を区別しない検索
101
+ 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
+ find-and-grep --roots . --query "@SpringBootApplication" --extensions java
108
+
109
+ # ファイルフィルタリングとコンテンツ検索を組み合わせ、制限付き
110
+ find-and-grep --roots src --query "import.*spring" --extensions java --file-limit 10 --max-count 5
111
+
112
+ # 複数のフィルターを使用した高度な検索
113
+ 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
+ list-files . --extensions java --output-format json
570
+
571
+ # ripgrep機能を使用したコンテンツ検索
572
+ search-content --roots . --query "class.*extends" --include-globs "*.java" --output-format text
573
+
574
+ # 2段階検索:まずファイルを検索し、次にコンテンツを検索
575
+ find-and-grep --roots . --query "public.*method" --extensions java --output-format json
576
+
577
+ # 高度なファイルフィルタリング
578
+ list-files . --types f --size "+1k" --changed-within "1week" --hidden --output-format text
579
+
580
+ # コンテキスト付きコンテンツ検索
581
+ search-content --roots src --query "TODO|FIXME" --context-before 2 --context-after 2 --output-format json
582
+
583
+ # ファイル検索とコンテンツ検索の組み合わせ、制限付き
584
+ 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