tree-sitter-analyzer 1.6.1.2__tar.gz → 1.6.1.3__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 (250) hide show
  1. tree_sitter_analyzer-1.6.1.3/.roo/commands/openspec-apply.md +20 -0
  2. tree_sitter_analyzer-1.6.1.3/.roo/commands/openspec-archive.md +24 -0
  3. tree_sitter_analyzer-1.6.1.3/.roo/commands/openspec-proposal.md +24 -0
  4. tree_sitter_analyzer-1.6.1.3/.roo/rules/search-best-practices.md +250 -0
  5. tree_sitter_analyzer-1.6.1.3/AGENTS.md +18 -0
  6. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/CHANGELOG.md +60 -0
  7. tree_sitter_analyzer-1.6.1.3/CLINE.md +18 -0
  8. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/PKG-INFO +5 -5
  9. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/README.md +3 -3
  10. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/README_ja.md +3 -3
  11. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/README_zh.md +3 -3
  12. tree_sitter_analyzer-1.6.1.3/docs/logger_duplication_fix_ja.md +385 -0
  13. tree_sitter_analyzer-1.6.1.3/docs/mcp_fd_rg_design.md +222 -0
  14. tree_sitter_analyzer-1.6.1.3/openspec/AGENTS.md +454 -0
  15. tree_sitter_analyzer-1.6.1.3/openspec/changes/archive/2025-10-25-fix-logger-duplication-unified/design.md +342 -0
  16. tree_sitter_analyzer-1.6.1.3/openspec/changes/archive/2025-10-25-fix-logger-duplication-unified/proposal.md +178 -0
  17. tree_sitter_analyzer-1.6.1.3/openspec/changes/archive/2025-10-25-fix-logger-duplication-unified/specs/logging-management/spec.md +212 -0
  18. tree_sitter_analyzer-1.6.1.3/openspec/changes/archive/2025-10-25-fix-logger-duplication-unified/tasks.md +199 -0
  19. tree_sitter_analyzer-1.6.1.3/openspec/changes/archive/2025-10-25-fix-search-content-parameters/proposal.md +27 -0
  20. tree_sitter_analyzer-1.6.1.3/openspec/changes/archive/2025-10-25-fix-search-content-parameters/specs/mcp-tools/spec.md +150 -0
  21. tree_sitter_analyzer-1.6.1.3/openspec/changes/archive/2025-10-25-fix-search-content-parameters/tasks.md +69 -0
  22. tree_sitter_analyzer-1.6.1.3/openspec/changes/archive/2025-10-27-add-llm-guidance-to-search-content/design.md +263 -0
  23. tree_sitter_analyzer-1.6.1.3/openspec/changes/archive/2025-10-27-add-llm-guidance-to-search-content/proposal.md +64 -0
  24. tree_sitter_analyzer-1.6.1.3/openspec/changes/archive/2025-10-27-add-llm-guidance-to-search-content/specs/llm-guidance/spec.md +197 -0
  25. tree_sitter_analyzer-1.6.1.3/openspec/changes/archive/2025-10-27-add-llm-guidance-to-search-content/specs/mcp-tools/spec.md +187 -0
  26. tree_sitter_analyzer-1.6.1.3/openspec/changes/archive/2025-10-27-add-llm-guidance-to-search-content/tasks.md +161 -0
  27. tree_sitter_analyzer-1.6.1.3/openspec/project.md +73 -0
  28. tree_sitter_analyzer-1.6.1.3/openspec/specs/llm-guidance/spec.md +201 -0
  29. tree_sitter_analyzer-1.6.1.3/openspec/specs/logging-management/spec.md +184 -0
  30. tree_sitter_analyzer-1.6.1.3/openspec/specs/mcp-tools/spec.md +340 -0
  31. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/pyproject.toml +5 -5
  32. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/start_mcp_server.py +1 -1
  33. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/__init__.py +1 -1
  34. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/core/query.py +11 -9
  35. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/core/query_service.py +10 -13
  36. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/languages/python_plugin.py +51 -27
  37. tree_sitter_analyzer-1.6.1.3/tree_sitter_analyzer/logging_manager.py +361 -0
  38. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/server.py +1 -1
  39. tree_sitter_analyzer-1.6.1.3/tree_sitter_analyzer/mcp/tools/output_format_validator.py +147 -0
  40. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/tools/search_content_tool.py +41 -8
  41. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/utils/file_output_manager.py +74 -1
  42. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/utils/search_cache.py +9 -0
  43. tree_sitter_analyzer-1.6.1.3/tree_sitter_analyzer/utils.py +287 -0
  44. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/uv.lock +43 -34
  45. tree_sitter_analyzer-1.6.1.2/docs/mcp_fd_rg_design.md +0 -90
  46. tree_sitter_analyzer-1.6.1.2/tree_sitter_analyzer/utils.py +0 -452
  47. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.gitattributes +0 -0
  48. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.gitignore +0 -0
  49. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.kiro/steering/product.md +0 -0
  50. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.kiro/steering/structure.md +0 -0
  51. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.kiro/steering/tech.md +0 -0
  52. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.pre-commit-config.yaml +0 -0
  53. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.pre-commit-hooks.yaml +0 -0
  54. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/AGENTS.md +0 -0
  55. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/commands/release.md +0 -0
  56. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/commands/speckit.analyze.md +0 -0
  57. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/commands/speckit.checklist.md +0 -0
  58. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/commands/speckit.clarify.md +0 -0
  59. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/commands/speckit.constitution.md +0 -0
  60. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/commands/speckit.implement.md +0 -0
  61. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/commands/speckit.plan.md +0 -0
  62. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/commands/speckit.specify.md +0 -0
  63. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/commands/speckit.tasks.md +0 -0
  64. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/docs/release.md +0 -0
  65. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/docs/speckit.analyze.md +0 -0
  66. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/docs/speckit.checklist.md +0 -0
  67. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/docs/speckit.clarify.md +0 -0
  68. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/docs/speckit.constitution.md +0 -0
  69. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/docs/speckit.implement.md +0 -0
  70. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/docs/speckit.plan.md +0 -0
  71. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/docs/speckit.specify.md +0 -0
  72. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/docs/speckit.tasks.md +0 -0
  73. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/.roo/rules/specify-rules.md +0 -0
  74. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/AI_COLLABORATION_GUIDE.md +0 -0
  75. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/CODE_STYLE_GUIDE.md +0 -0
  76. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/CONTRIBUTING.md +0 -0
  77. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/DEPLOYMENT_GUIDE.md +0 -0
  78. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/FILE_OUTPUT_FEATURE_SUMMARY.md +0 -0
  79. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/GITFLOW.md +0 -0
  80. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/GITFLOW_ja.md +0 -0
  81. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/GITFLOW_zh.md +0 -0
  82. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/LANGUAGE_GUIDELINES.md +0 -0
  83. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/LLM_CODING_GUIDELINES.md +0 -0
  84. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/MCP_SETUP_DEVELOPERS.md +0 -0
  85. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/MCP_SETUP_USERS.md +0 -0
  86. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/PROJECT_ROOT_CONFIG.md +0 -0
  87. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/PYPI_RELEASE_GUIDE.md +0 -0
  88. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/PYTHON_SUPPORT_SUMMARY.md +0 -0
  89. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/REFACTORING_SUMMARY.md +0 -0
  90. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/build_standalone.py +0 -0
  91. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/check_quality.py +0 -0
  92. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/coverage.json +0 -0
  93. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/docs/GITFLOW_BEST_PRACTICES.md +0 -0
  94. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/docs/RELEASE_EXECUTION_GUIDE.md +0 -0
  95. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/docs/api.md +0 -0
  96. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/BigService.java +0 -0
  97. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/BigService.json +0 -0
  98. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/BigService.summary.json +0 -0
  99. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/JavaDocTest.java +0 -0
  100. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/ModernJavaScript.js +0 -0
  101. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/MultiClass.java +0 -0
  102. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/ReactComponent.jsx +0 -0
  103. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/Sample.java +0 -0
  104. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/cache_demo.py +0 -0
  105. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/calculate_token_comparison.py +0 -0
  106. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/file_output_demo.py +0 -0
  107. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/javascript_analysis_demo.py +0 -0
  108. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/project_root_demo.py +0 -0
  109. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/sample.py +0 -0
  110. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/security_demo.py +0 -0
  111. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/security_integration_demo.py +0 -0
  112. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/smart_cache_demo.py +0 -0
  113. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/examples/total_only_optimization_demo.py +0 -0
  114. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/llm_code_checker.py +0 -0
  115. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/pypirc_example.txt +0 -0
  116. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/pytest.ini +0 -0
  117. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/scripts/README.md +0 -0
  118. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/scripts/gitflow_helper.py +0 -0
  119. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/scripts/gitflow_release_automation.py +0 -0
  120. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/scripts/sync_version.py +0 -0
  121. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/scripts/sync_version_minimal.py +0 -0
  122. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_python_support.py +0 -0
  123. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/BC-CLI-01_structure_analysis_complete.json +0 -0
  124. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/BC-CLI-02_query_code_complete.json +0 -0
  125. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/BC-CLI-03_help_command_complete.json +0 -0
  126. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/BC-MCP-01_analyze_code_structure_complete.json +0 -0
  127. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/BC-MCP-02_query_code_complete.json +0 -0
  128. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/BC-MCP-03_check_code_scale_complete.json +0 -0
  129. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/INT-LOG-01_combined_variables_complete.json +0 -0
  130. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/INT-LOG-02_log_content_verification_complete.json +0 -0
  131. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/INT-LOG-03_performance_impact_complete.json +0 -0
  132. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/INT-LOG-04_logger_level_separation_complete.json +0 -0
  133. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/LOG-CTL-01_default_behavior_complete.json +0 -0
  134. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/LOG-CTL-02_file_log_enablement_complete.json +0 -0
  135. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/LOG-CTL-03_custom_directory_complete.json +0 -0
  136. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/LOG-CTL-04_debug_level_complete.json +0 -0
  137. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/LOG-CTL-05_info_level_complete.json +0 -0
  138. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/LOG-CTL-06_warning_level_complete.json +0 -0
  139. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/LOG-CTL-07_error_level_complete.json +0 -0
  140. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/LOG-CTL-08_invalid_level_complete.json +0 -0
  141. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/LOG-CTL-09_no_permission_complete.json +0 -0
  142. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/analyze_logs.ps1 +0 -0
  143. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/performance_test.py +0 -0
  144. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/run_test.py +0 -0
  145. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/test_int_log_01.bat +0 -0
  146. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/test_int_log_02.bat +0 -0
  147. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/test_int_log_04.bat +0 -0
  148. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/test_log_ctl_05.bat +0 -0
  149. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/test_log_ctl_06.bat +0 -0
  150. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/test_log_ctl_07.bat +0 -0
  151. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/test_log_ctl_08.bat +0 -0
  152. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/test_log_ctl_09.bat +0 -0
  153. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/test_result_template.json +0 -0
  154. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/test_results/v1.6.1.1_test_cases.md +0 -0
  155. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/training/01_onboarding.md +0 -0
  156. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/training/02_architecture_map.md +0 -0
  157. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/training/03_cli_cheatsheet.md +0 -0
  158. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/training/04_mcp_cheatsheet.md +0 -0
  159. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/training/05_plugin_tutorial.md +0 -0
  160. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/training/06_quality_workflow.md +0 -0
  161. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/training/07_troubleshooting.md +0 -0
  162. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/training/08_prompt_library.md +0 -0
  163. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/training/09_tasks.md +0 -0
  164. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/training/10_glossary.md +0 -0
  165. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/training/11_takeover_plan.md +0 -0
  166. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/training/CLI_COMMAND_CORRECTIONS.md +0 -0
  167. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/training/IMPROVEMENT_SUMMARY.md +0 -0
  168. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/training/README.md +0 -0
  169. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/__main__.py +0 -0
  170. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/api.py +0 -0
  171. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/cli/__init__.py +0 -0
  172. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/cli/__main__.py +0 -0
  173. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/cli/commands/__init__.py +0 -0
  174. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/cli/commands/advanced_command.py +0 -0
  175. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/cli/commands/base_command.py +0 -0
  176. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/cli/commands/default_command.py +0 -0
  177. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/cli/commands/find_and_grep_cli.py +0 -0
  178. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/cli/commands/list_files_cli.py +0 -0
  179. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/cli/commands/partial_read_command.py +0 -0
  180. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/cli/commands/query_command.py +0 -0
  181. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/cli/commands/search_content_cli.py +0 -0
  182. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/cli/commands/structure_command.py +0 -0
  183. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/cli/commands/summary_command.py +0 -0
  184. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/cli/commands/table_command.py +0 -0
  185. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/cli/info_commands.py +0 -0
  186. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/cli_main.py +0 -0
  187. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/constants.py +0 -0
  188. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/core/__init__.py +0 -0
  189. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/core/analysis_engine.py +0 -0
  190. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/core/cache_service.py +0 -0
  191. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/core/engine.py +0 -0
  192. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/core/parser.py +0 -0
  193. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/core/query_filter.py +0 -0
  194. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/encoding_utils.py +0 -0
  195. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/exceptions.py +0 -0
  196. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/file_handler.py +0 -0
  197. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/formatters/__init__.py +0 -0
  198. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/formatters/base_formatter.py +0 -0
  199. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/formatters/formatter_factory.py +0 -0
  200. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/formatters/java_formatter.py +0 -0
  201. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/formatters/javascript_formatter.py +0 -0
  202. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/formatters/python_formatter.py +0 -0
  203. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/interfaces/__init__.py +0 -0
  204. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/interfaces/cli.py +0 -0
  205. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/interfaces/cli_adapter.py +0 -0
  206. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/interfaces/mcp_adapter.py +0 -0
  207. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/interfaces/mcp_server.py +0 -0
  208. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/language_detector.py +0 -0
  209. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/language_loader.py +0 -0
  210. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/languages/__init__.py +0 -0
  211. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/languages/java_plugin.py +0 -0
  212. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/languages/javascript_plugin.py +0 -0
  213. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/__init__.py +0 -0
  214. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/resources/__init__.py +0 -0
  215. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/resources/code_file_resource.py +0 -0
  216. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/resources/project_stats_resource.py +0 -0
  217. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/tools/__init__.py +0 -0
  218. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +0 -0
  219. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py +0 -0
  220. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/tools/base_tool.py +0 -0
  221. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/tools/fd_rg_utils.py +0 -0
  222. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py +0 -0
  223. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/tools/list_files_tool.py +0 -0
  224. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/tools/query_tool.py +0 -0
  225. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/tools/read_partial_tool.py +0 -0
  226. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/tools/table_format_tool.py +0 -0
  227. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +0 -0
  228. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/utils/__init__.py +0 -0
  229. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/utils/error_handler.py +0 -0
  230. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/utils/gitignore_detector.py +0 -0
  231. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/mcp/utils/path_resolver.py +0 -0
  232. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/models.py +0 -0
  233. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/output_manager.py +0 -0
  234. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/plugins/__init__.py +0 -0
  235. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/plugins/base.py +0 -0
  236. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/plugins/manager.py +0 -0
  237. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/project_detector.py +0 -0
  238. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/queries/__init__.py +0 -0
  239. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/queries/java.py +0 -0
  240. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/queries/javascript.py +0 -0
  241. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/queries/python.py +0 -0
  242. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/queries/typescript.py +0 -0
  243. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/query_loader.py +0 -0
  244. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/security/__init__.py +0 -0
  245. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/security/boundary_manager.py +0 -0
  246. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/security/regex_checker.py +0 -0
  247. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/security/validator.py +0 -0
  248. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/tree_sitter_analyzer/table_formatter.py +0 -0
  249. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/upload_interactive.py +0 -0
  250. {tree_sitter_analyzer-1.6.1.2 → tree_sitter_analyzer-1.6.1.3}/upload_to_pypi.py +0 -0
@@ -0,0 +1,20 @@
1
+ # OpenSpec: Apply
2
+
3
+ Implement an approved OpenSpec change and keep tasks in sync.
4
+ <!-- OPENSPEC:START -->
5
+ **Guardrails**
6
+ - Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
7
+ - Keep changes tightly scoped to the requested outcome.
8
+ - Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications.
9
+
10
+ **Steps**
11
+ Track these steps as TODOs and complete them one by one.
12
+ 1. Read `changes/<id>/proposal.md`, `design.md` (if present), and `tasks.md` to confirm scope and acceptance criteria.
13
+ 2. Work through tasks sequentially, keeping edits minimal and focused on the requested change.
14
+ 3. Confirm completion before updating statuses—make sure every item in `tasks.md` is finished.
15
+ 4. Update the checklist after all work is done so each task is marked `- [x]` and reflects reality.
16
+ 5. Reference `openspec list` or `openspec show <item>` when additional context is required.
17
+
18
+ **Reference**
19
+ - Use `openspec show <id> --json --deltas-only` if you need additional context from the proposal while implementing.
20
+ <!-- OPENSPEC:END -->
@@ -0,0 +1,24 @@
1
+ # OpenSpec: Archive
2
+
3
+ Archive a deployed OpenSpec change and update specs.
4
+ <!-- OPENSPEC:START -->
5
+ **Guardrails**
6
+ - Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
7
+ - Keep changes tightly scoped to the requested outcome.
8
+ - Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications.
9
+
10
+ **Steps**
11
+ 1. Determine the change ID to archive:
12
+ - If this prompt already includes a specific change ID (for example inside a `<ChangeId>` block populated by slash-command arguments), use that value after trimming whitespace.
13
+ - If the conversation references a change loosely (for example by title or summary), run `openspec list` to surface likely IDs, share the relevant candidates, and confirm which one the user intends.
14
+ - Otherwise, review the conversation, run `openspec list`, and ask the user which change to archive; wait for a confirmed change ID before proceeding.
15
+ - If you still cannot identify a single change ID, stop and tell the user you cannot archive anything yet.
16
+ 2. Validate the change ID by running `openspec list` (or `openspec show <id>`) and stop if the change is missing, already archived, or otherwise not ready to archive.
17
+ 3. Run `openspec archive <id> --yes` so the CLI moves the change and applies spec updates without prompts (use `--skip-specs` only for tooling-only work).
18
+ 4. Review the command output to confirm the target specs were updated and the change landed in `changes/archive/`.
19
+ 5. Validate with `openspec validate --strict` and inspect with `openspec show <id>` if anything looks off.
20
+
21
+ **Reference**
22
+ - Use `openspec list` to confirm change IDs before archiving.
23
+ - Inspect refreshed specs with `openspec list --specs` and address any validation issues before handing off.
24
+ <!-- OPENSPEC:END -->
@@ -0,0 +1,24 @@
1
+ # OpenSpec: Proposal
2
+
3
+ Scaffold a new OpenSpec change and validate strictly.
4
+ <!-- OPENSPEC:START -->
5
+ **Guardrails**
6
+ - Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
7
+ - Keep changes tightly scoped to the requested outcome.
8
+ - Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications.
9
+ - Identify any vague or ambiguous details and ask the necessary follow-up questions before editing files.
10
+
11
+ **Steps**
12
+ 1. Review `openspec/project.md`, run `openspec list` and `openspec list --specs`, and inspect related code or docs (e.g., via `rg`/`ls`) to ground the proposal in current behaviour; note any gaps that require clarification.
13
+ 2. Choose a unique verb-led `change-id` and scaffold `proposal.md`, `tasks.md`, and `design.md` (when needed) under `openspec/changes/<id>/`.
14
+ 3. Map the change into concrete capabilities or requirements, breaking multi-scope efforts into distinct spec deltas with clear relationships and sequencing.
15
+ 4. Capture architectural reasoning in `design.md` when the solution spans multiple systems, introduces new patterns, or demands trade-off discussion before committing to specs.
16
+ 5. Draft spec deltas in `changes/<id>/specs/<capability>/spec.md` (one folder per capability) using `## ADDED|MODIFIED|REMOVED Requirements` with at least one `#### Scenario:` per requirement and cross-reference related capabilities when relevant.
17
+ 6. Draft `tasks.md` as an ordered list of small, verifiable work items that deliver user-visible progress, include validation (tests, tooling), and highlight dependencies or parallelizable work.
18
+ 7. Validate with `openspec validate <id> --strict` and resolve every issue before sharing the proposal.
19
+
20
+ **Reference**
21
+ - Use `openspec show <id> --json --deltas-only` or `openspec show <spec> --type spec` to inspect details when validation fails.
22
+ - Search existing requirements with `rg -n "Requirement:|Scenario:" openspec/specs` before writing new ones.
23
+ - Explore the codebase with `rg <keyword>`, `ls`, or direct file reads so proposals align with current implementation realities.
24
+ <!-- OPENSPEC:END -->
@@ -0,0 +1,250 @@
1
+ # Tree-Sitter Analyzer: Search Content Best Practices
2
+
3
+ ## Token-Efficient Search Strategies
4
+
5
+ ### 📋 Overview
6
+ The `search_content` tool offers multiple output formats optimized for different token usage scenarios. Understanding the efficiency hierarchy is crucial for effective LLM usage.
7
+
8
+ ### 🎯 Recommended Workflow (Most Efficient Approach)
9
+
10
+ #### Stage 1: Count Validation (~10 tokens)
11
+ ```json
12
+ {
13
+ "query": "function",
14
+ "roots": ["src/"],
15
+ "total_only": true
16
+ }
17
+ ```
18
+ **Use when:** You need to quickly check if matches exist or validate query effectiveness.
19
+ **Result:** Single integer (e.g., `42`)
20
+
21
+ #### Stage 2: File Distribution Analysis (~50-200 tokens)
22
+ ```json
23
+ {
24
+ "query": "function",
25
+ "roots": ["src/"],
26
+ "count_only_matches": true
27
+ }
28
+ ```
29
+ **Use when:** You need to understand match distribution across files.
30
+ **Result:** Object with file-level counts
31
+
32
+ #### Stage 3: Initial Investigation (~500-2000 tokens)
33
+ ```json
34
+ {
35
+ "query": "function",
36
+ "roots": ["src/"],
37
+ "summary_only": true
38
+ }
39
+ ```
40
+ **Use when:** You need sample matches and overview for pattern validation.
41
+ **Result:** Condensed summary with top files and sample matches
42
+
43
+ #### Stage 4: Context-Aware Review (~2000-10000 tokens)
44
+ ```json
45
+ {
46
+ "query": "function",
47
+ "roots": ["src/"],
48
+ "group_by_file": true
49
+ }
50
+ ```
51
+ **Use when:** You need organized results for detailed analysis.
52
+ **Result:** Matches grouped by file, eliminating path duplication
53
+
54
+ #### Stage 5: Full Detail Analysis (~2000-50000+ tokens)
55
+ ```json
56
+ {
57
+ "query": "function",
58
+ "roots": ["src/"]
59
+ }
60
+ ```
61
+ **Use when:** You need complete match details for specific content review.
62
+ **Result:** Full match results with all context
63
+
64
+ ### 💡 Token Efficiency Comparison
65
+
66
+ | Format | Token Range | Best Use Case | Priority |
67
+ |--------|------------|---------------|----------|
68
+ | `total_only` | ~10 tokens | Count validation, existence checks | 🥇 Highest |
69
+ | `count_only_matches` | ~50-200 tokens | File distribution analysis | 🥈 High |
70
+ | `summary_only` | ~500-2000 tokens | Initial investigation, scope confirmation | 🥉 Medium |
71
+ | `group_by_file` | ~2000-10000 tokens | Context-aware detailed review | 🔸 Low |
72
+ | `optimize_paths` | 10-30% reduction | Path compression for deep structures | 🔹 Enhancement |
73
+ | Full results | ~2000-50000+ tokens | Complete content analysis | 🔻 Last resort |
74
+
75
+ ### ⚠️ Output Format Selection Guidelines
76
+
77
+ #### Mutually Exclusive Parameters
78
+ Only ONE of these can be `true` at a time:
79
+ - `total_only`
80
+ - `count_only_matches`
81
+ - `summary_only`
82
+ - `group_by_file`
83
+ - `optimize_paths`
84
+
85
+ #### Common Combinations That Cause Errors
86
+ ```json
87
+ // ❌ WRONG: Multiple output formats
88
+ {
89
+ "query": "test",
90
+ "roots": ["src/"],
91
+ "total_only": true,
92
+ "summary_only": true
93
+ }
94
+
95
+ // ✅ CORRECT: Single output format
96
+ {
97
+ "query": "test",
98
+ "roots": ["src/"],
99
+ "total_only": true
100
+ }
101
+ ```
102
+
103
+ ### 🚨 Common Mistakes and Solutions
104
+
105
+ #### Mistake 1: Starting with Full Results
106
+ **Problem:** Requesting full results without understanding scope
107
+ ```json
108
+ // ❌ Inefficient - could return 50000+ tokens
109
+ {
110
+ "query": "function",
111
+ "roots": ["."]
112
+ }
113
+ ```
114
+
115
+ **Solution:** Start with count validation
116
+ ```json
117
+ // ✅ Efficient - 10 tokens to check scope
118
+ {
119
+ "query": "function",
120
+ "roots": ["."],
121
+ "total_only": true
122
+ }
123
+ ```
124
+
125
+ #### Mistake 2: Combining Incompatible Parameters
126
+ **Problem:** Using multiple output format parameters
127
+ ```json
128
+ // ❌ Will cause validation error
129
+ {
130
+ "query": "test",
131
+ "roots": ["src/"],
132
+ "count_only_matches": true,
133
+ "group_by_file": true
134
+ }
135
+ ```
136
+
137
+ **Solution:** Choose the most appropriate single format
138
+ ```json
139
+ // ✅ For file distribution analysis
140
+ {
141
+ "query": "test",
142
+ "roots": ["src/"],
143
+ "count_only_matches": true
144
+ }
145
+
146
+ // ✅ For detailed grouped results
147
+ {
148
+ "query": "test",
149
+ "roots": ["src/"],
150
+ "group_by_file": true
151
+ }
152
+ ```
153
+
154
+ #### Mistake 3: Ignoring Token Limits
155
+ **Problem:** Requesting detailed results in large codebases without bounds
156
+ **Solution:** Use progressive disclosure:
157
+ 1. `total_only` to check if results are manageable
158
+ 2. `summary_only` if count is reasonable (< 1000 matches)
159
+ 3. `group_by_file` if summary looks useful
160
+ 4. Full results only for specific, targeted analysis
161
+
162
+ ### 📊 Advanced Optimization Strategies
163
+
164
+ #### Path Optimization for Deep Directories
165
+ ```json
166
+ {
167
+ "query": "component",
168
+ "roots": ["frontend/src/components/"],
169
+ "optimize_paths": true
170
+ }
171
+ ```
172
+ **Use when:** Working with deeply nested directory structures to reduce path token overhead.
173
+
174
+ #### Context-Aware Searching
175
+ ```json
176
+ {
177
+ "query": "TODO",
178
+ "roots": ["src/"],
179
+ "context_before": 2,
180
+ "context_after": 1,
181
+ "summary_only": true
182
+ }
183
+ ```
184
+ **Use when:** You need surrounding context but want to limit token usage.
185
+
186
+ #### Targeted File Type Searches
187
+ ```json
188
+ {
189
+ "query": "class.*Component",
190
+ "roots": ["src/"],
191
+ "include_globs": ["*.tsx", "*.jsx"],
192
+ "count_only_matches": true
193
+ }
194
+ ```
195
+ **Use when:** Searching specific file types to reduce noise and improve efficiency.
196
+
197
+ ### 🔄 Progressive Disclosure Pattern
198
+
199
+ For unknown codebases or queries, follow this pattern:
200
+
201
+ 1. **Discovery:** `total_only=true` (10 tokens)
202
+ 2. **Distribution:** `count_only_matches=true` (50-200 tokens)
203
+ 3. **Sampling:** `summary_only=true` (500-2000 tokens)
204
+ 4. **Detailed Review:** `group_by_file=true` (2000-10000 tokens)
205
+ 5. **Full Analysis:** Default format (2000-50000+ tokens)
206
+
207
+ This approach ensures you never accidentally consume excessive tokens while still getting the information you need.
208
+
209
+ ### 🎲 Example Scenarios
210
+
211
+ #### Scenario 1: Bug Investigation
212
+ ```bash
213
+ # Step 1: Check if error pattern exists
214
+ total_only=true → 15 matches found
215
+
216
+ # Step 2: See which files are affected
217
+ count_only_matches=true → errors in 3 files
218
+
219
+ # Step 3: Get sample of error patterns
220
+ summary_only=true → shows typical error patterns
221
+
222
+ # Step 4: Detailed review of specific files
223
+ group_by_file=true → organized view of all errors
224
+ ```
225
+
226
+ #### Scenario 2: Code Review
227
+ ```bash
228
+ # Step 1: Count TODO comments
229
+ total_only=true → 47 TODOs found
230
+
231
+ # Step 2: Distribution across files
232
+ count_only_matches=true → TODOs spread across 12 files
233
+
234
+ # Step 3: Sample of TODO types
235
+ summary_only=true → shows priority levels and types
236
+ ```
237
+
238
+ #### Scenario 3: Refactoring Planning
239
+ ```bash
240
+ # Step 1: Find usage of deprecated function
241
+ total_only=true → 156 usages found
242
+
243
+ # Step 2: Check file distribution
244
+ count_only_matches=true → used in 23 files
245
+
246
+ # Step 3: See usage patterns
247
+ summary_only=true → shows common usage patterns
248
+
249
+ # Step 4: Full analysis for refactoring
250
+ group_by_file=true → detailed view for systematic refactoring
@@ -0,0 +1,18 @@
1
+ <!-- OPENSPEC:START -->
2
+ # OpenSpec Instructions
3
+
4
+ These instructions are for AI assistants working in this project.
5
+
6
+ Always open `@/openspec/AGENTS.md` when the request:
7
+ - Mentions planning or proposals (words like proposal, spec, change, plan)
8
+ - Introduces new capabilities, breaking changes, architecture shifts, or big performance/security work
9
+ - Sounds ambiguous and you need the authoritative spec before coding
10
+
11
+ Use `@/openspec/AGENTS.md` to learn:
12
+ - How to create and apply change proposals
13
+ - Spec format and conventions
14
+ - Project structure and guidelines
15
+
16
+ Keep this managed block so 'openspec update' can refresh the instructions.
17
+
18
+ <!-- OPENSPEC:END -->
@@ -1,5 +1,65 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.6.1.3] - 2025-10-27
4
+
5
+ ### Added
6
+ - **🎯 LLM Guidance Enhancement**: Revolutionary token-efficient search guidance for search_content MCP tool
7
+ - **Token Efficiency Guide**: Comprehensive guidance in tool description with visual markers (⚠️🎯💡)
8
+ - **Progressive Workflow**: Step-by-step efficiency guidance (total_only → summary_only → detailed)
9
+ - **Token Cost Comparison**: Clear token estimates and efficiency rankings for each output format
10
+ - **Parameter Optimization**: Enhanced parameter descriptions with efficiency markers and recommendations
11
+ - **Mutually Exclusive Warning**: Clear guidance on parameter combinations to prevent conflicts
12
+
13
+ - **🌐 Multilingual Error Messages**: Enhanced error handling with automatic language detection
14
+ - **Language Detection**: Automatic English/Japanese error message selection
15
+ - **Efficiency Guidance**: Error messages include token efficiency recommendations
16
+ - **Usage Examples**: Comprehensive usage examples in error messages
17
+ - **Visual Formatting**: Emoji-based formatting for enhanced readability
18
+
19
+ - **📋 Comprehensive Testing**: Enhanced test coverage for LLM guidance features
20
+ - **LLM Guidance Tests**: 10 new tests validating tool definition structure and guidance completeness
21
+ - **Description Quality Tests**: 11 new tests ensuring description quality and actionability
22
+ - **Multilingual Tests**: 9 new tests for multilingual error message functionality
23
+ - **Integration Tests**: Enhanced existing tests with multilingual error validation
24
+
25
+ - **📚 Documentation & Best Practices**: Comprehensive guidance documentation
26
+ - **Token-Efficient Strategies**: New README section with progressive disclosure patterns
27
+ - **Best Practices Guide**: Created `.roo/rules/search-best-practices.md` with comprehensive usage patterns
28
+ - **MCP Design Updates**: Enhanced MCP tools design documentation with LLM guidance considerations
29
+ - **User Setup Guides**: Updated MCP setup documentation with efficiency recommendations
30
+
31
+ ### Enhanced
32
+ - **🔧 Tool Definition Quality**:
33
+ - Description size optimized to ~252 tokens (efficient yet comprehensive)
34
+ - Visual formatting with Unicode markers for enhanced LLM comprehension
35
+ - Structured sections with clear hierarchy and actionable guidance
36
+ - Comprehensive parameter descriptions with usage scenarios
37
+
38
+ - **🧪 Quality Assurance**:
39
+ - OpenSpec validation successful with strict compliance
40
+ - All 44 tests passing with comprehensive coverage
41
+ - Backward compatibility maintained for all existing functionality
42
+ - Performance impact negligible (<5ms overhead)
43
+
44
+ ### Technical Details
45
+ - **Files Enhanced**: `search_content_tool.py`, `output_format_validator.py`
46
+ - **New Test Files**: `test_llm_guidance_compliance.py`, `test_search_content_description.py`
47
+ - **Documentation Updates**: README.md, MCP design docs, user setup guides
48
+ - **Quality Metrics**: Zero breaking changes, full backward compatibility
49
+ - **OpenSpec Compliance**: Strict validation passed for change specification
50
+
51
+ ### Impact
52
+ This release transforms the search_content tool into a **self-teaching, token-efficient interface** that automatically guides LLMs toward optimal usage patterns. Users no longer need extensive Roo rules to achieve efficient search workflows - the tool itself provides comprehensive guidance for token optimization and proper usage patterns.
53
+
54
+ **Key Benefits:**
55
+ - 🎯 **Automatic LLM Guidance**: Tools teach proper usage without external documentation
56
+ - 💡 **Token Efficiency**: Progressive disclosure reduces token consumption by up to 99%
57
+ - 🌐 **International Support**: Multilingual error messages enhance global accessibility
58
+ - 📈 **Quality Assurance**: Enterprise-grade testing and validation
59
+ - 🔄 **Zero Breaking Changes**: Full backward compatibility maintained
60
+
61
+ This implementation serves as a model for future MCP tool enhancements, demonstrating how tools can be self-documenting and LLM-optimized while maintaining professional quality standards.
62
+
3
63
  ## [1.6.1.2] - 2025-10-19
4
64
 
5
65
  ### Fixed
@@ -0,0 +1,18 @@
1
+ <!-- OPENSPEC:START -->
2
+ # OpenSpec Instructions
3
+
4
+ These instructions are for AI assistants working in this project.
5
+
6
+ Always open `@/openspec/AGENTS.md` when the request:
7
+ - Mentions planning or proposals (words like proposal, spec, change, plan)
8
+ - Introduces new capabilities, breaking changes, architecture shifts, or big performance/security work
9
+ - Sounds ambiguous and you need the authoritative spec before coding
10
+
11
+ Use `@/openspec/AGENTS.md` to learn:
12
+ - How to create and apply change proposals
13
+ - Spec format and conventions
14
+ - Project structure and guidelines
15
+
16
+ Keep this managed block so 'openspec update' can refresh the instructions.
17
+
18
+ <!-- OPENSPEC:END -->
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tree-sitter-analyzer
3
- Version: 1.6.1.2
3
+ Version: 1.6.1.3
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
@@ -38,7 +38,7 @@ Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4
38
38
  Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5
39
39
  Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1
40
40
  Requires-Dist: tree-sitter-python<0.25.0,>=0.23.6
41
- Requires-Dist: tree-sitter==0.24.0
41
+ Requires-Dist: tree-sitter>=0.25.0
42
42
  Provides-Extra: all
43
43
  Requires-Dist: anyio>=4.0.0; extra == 'all'
44
44
  Requires-Dist: black>=24.0.0; extra == 'all'
@@ -165,11 +165,11 @@ Description-Content-Type: text/markdown
165
165
 
166
166
  [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
167
167
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
168
- [![Tests](https://img.shields.io/badge/tests-1893%20tests-brightgreen.svg)](#quality-assurance)
168
+ [![Tests](https://img.shields.io/badge/tests-1967%20tests-brightgreen.svg)](#quality-assurance)
169
169
  [![Coverage](https://img.shields.io/badge/coverage-71.48%25-green.svg)](#quality-assurance)
170
170
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
171
171
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
172
- [![Version](https://img.shields.io/badge/version-1.6.1.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
172
+ [![Version](https://img.shields.io/badge/version-1.6.1.3-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
173
173
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
174
174
 
175
175
  ## 🚀 Enterprise-Grade Code Analysis Tool for the AI Era
@@ -784,7 +784,7 @@ uv run pytest tests/test_mcp_server_initialization.py -v
784
784
  **Verification Environment:**
785
785
  - Operating Systems: Windows 10, macOS, Linux
786
786
  - Python Version: 3.10+
787
- - Project Version: tree-sitter-analyzer v1.6.1.2
787
+ - Project Version: tree-sitter-analyzer v1.6.1.3
788
788
  - Test Files: BigService.java (1419 lines), sample.py (256 lines), MultiClass.java (54 lines)
789
789
 
790
790
  ---
@@ -4,11 +4,11 @@
4
4
 
5
5
  [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
6
6
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
7
- [![Tests](https://img.shields.io/badge/tests-1893%20tests-brightgreen.svg)](#quality-assurance)
7
+ [![Tests](https://img.shields.io/badge/tests-1967%20tests-brightgreen.svg)](#quality-assurance)
8
8
  [![Coverage](https://img.shields.io/badge/coverage-71.48%25-green.svg)](#quality-assurance)
9
9
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
10
10
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
11
- [![Version](https://img.shields.io/badge/version-1.6.1.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
11
+ [![Version](https://img.shields.io/badge/version-1.6.1.3-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
12
12
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
13
13
 
14
14
  ## 🚀 Enterprise-Grade Code Analysis Tool for the AI Era
@@ -623,7 +623,7 @@ uv run pytest tests/test_mcp_server_initialization.py -v
623
623
  **Verification Environment:**
624
624
  - Operating Systems: Windows 10, macOS, Linux
625
625
  - Python Version: 3.10+
626
- - Project Version: tree-sitter-analyzer v1.6.1.2
626
+ - Project Version: tree-sitter-analyzer v1.6.1.3
627
627
  - Test Files: BigService.java (1419 lines), sample.py (256 lines), MultiClass.java (54 lines)
628
628
 
629
629
  ---
@@ -4,11 +4,11 @@
4
4
 
5
5
  [![Pythonバージョン](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
6
6
  [![ライセンス](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
7
- [![テスト](https://img.shields.io/badge/tests-1893%20tests-brightgreen.svg)](#品質保証)
7
+ [![テスト](https://img.shields.io/badge/tests-1967%20tests-brightgreen.svg)](#品質保証)
8
8
  [![カバレッジ](https://img.shields.io/badge/coverage-71.48%25-green.svg)](#品質保証)
9
9
  [![品質](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#品質保証)
10
10
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
11
- [![バージョン](https://img.shields.io/badge/version-1.6.1.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
11
+ [![バージョン](https://img.shields.io/badge/version-1.6.1.3-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
12
12
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
13
13
 
14
14
  ## 🚀 AI時代のエンタープライズグレードコード解析ツール
@@ -623,7 +623,7 @@ uv run pytest tests/test_mcp_server_initialization.py -v
623
623
  **検証環境:**
624
624
  - オペレーティングシステム:Windows 10、macOS、Linux
625
625
  - Pythonバージョン:3.10+
626
- - プロジェクトバージョン:tree-sitter-analyzer v1.6.1.2
626
+ - プロジェクトバージョン:tree-sitter-analyzer v1.6.1.3
627
627
  - テストファイル:BigService.java(1419行)、sample.py(256行)、MultiClass.java(54行)
628
628
 
629
629
  ---
@@ -4,11 +4,11 @@
4
4
 
5
5
  [![Python版本](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
6
6
  [![许可证](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
7
- [![测试](https://img.shields.io/badge/tests-1893%20tests-brightgreen.svg)](#质量保证)
7
+ [![测试](https://img.shields.io/badge/tests-1967%20tests-brightgreen.svg)](#质量保证)
8
8
  [![覆盖率](https://img.shields.io/badge/coverage-71.48%25-green.svg)](#质量保证)
9
9
  [![质量](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#质量保证)
10
10
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
11
- [![版本](https://img.shields.io/badge/version-1.6.1.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
11
+ [![版本](https://img.shields.io/badge/version-1.6.1.3-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
12
12
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
13
13
 
14
14
  ## 🚀 AI时代的企业级代码分析工具
@@ -747,7 +747,7 @@ uv run pytest tests/test_mcp_server_initialization.py -v
747
747
  **验证环境:**
748
748
  - 操作系统:Windows 10、macOS、Linux
749
749
  - Python版本:3.10+
750
- - 项目版本:tree-sitter-analyzer v1.6.1.2
750
+ - 项目版本:tree-sitter-analyzer v1.6.1.3
751
751
  - 测试文件:BigService.java (1419行)、sample.py (256行)、MultiClass.java (54行)
752
752
 
753
753
  ---