tree-sitter-analyzer 1.7.7__py3-none-any.whl → 1.8.3__py3-none-any.whl

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 (42) hide show
  1. tree_sitter_analyzer/__init__.py +1 -1
  2. tree_sitter_analyzer/api.py +23 -30
  3. tree_sitter_analyzer/cli/argument_validator.py +77 -0
  4. tree_sitter_analyzer/cli/commands/table_command.py +7 -2
  5. tree_sitter_analyzer/cli_main.py +17 -3
  6. tree_sitter_analyzer/core/cache_service.py +15 -5
  7. tree_sitter_analyzer/core/query.py +33 -22
  8. tree_sitter_analyzer/core/query_service.py +179 -154
  9. tree_sitter_analyzer/formatters/formatter_registry.py +355 -0
  10. tree_sitter_analyzer/formatters/html_formatter.py +462 -0
  11. tree_sitter_analyzer/formatters/language_formatter_factory.py +3 -0
  12. tree_sitter_analyzer/formatters/markdown_formatter.py +1 -1
  13. tree_sitter_analyzer/language_detector.py +80 -7
  14. tree_sitter_analyzer/languages/css_plugin.py +390 -0
  15. tree_sitter_analyzer/languages/html_plugin.py +395 -0
  16. tree_sitter_analyzer/languages/java_plugin.py +116 -0
  17. tree_sitter_analyzer/languages/javascript_plugin.py +113 -0
  18. tree_sitter_analyzer/languages/markdown_plugin.py +266 -46
  19. tree_sitter_analyzer/languages/python_plugin.py +176 -33
  20. tree_sitter_analyzer/languages/typescript_plugin.py +130 -1
  21. tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py +12 -1
  22. tree_sitter_analyzer/mcp/tools/query_tool.py +101 -60
  23. tree_sitter_analyzer/mcp/tools/search_content_tool.py +12 -1
  24. tree_sitter_analyzer/mcp/tools/table_format_tool.py +26 -12
  25. tree_sitter_analyzer/mcp/utils/file_output_factory.py +204 -0
  26. tree_sitter_analyzer/mcp/utils/file_output_manager.py +52 -2
  27. tree_sitter_analyzer/models.py +53 -0
  28. tree_sitter_analyzer/output_manager.py +1 -1
  29. tree_sitter_analyzer/plugins/base.py +50 -0
  30. tree_sitter_analyzer/plugins/manager.py +5 -1
  31. tree_sitter_analyzer/queries/css.py +634 -0
  32. tree_sitter_analyzer/queries/html.py +556 -0
  33. tree_sitter_analyzer/queries/markdown.py +54 -164
  34. tree_sitter_analyzer/query_loader.py +16 -3
  35. tree_sitter_analyzer/security/validator.py +182 -44
  36. tree_sitter_analyzer/utils/__init__.py +113 -0
  37. tree_sitter_analyzer/utils/tree_sitter_compat.py +282 -0
  38. tree_sitter_analyzer/utils.py +62 -24
  39. {tree_sitter_analyzer-1.7.7.dist-info → tree_sitter_analyzer-1.8.3.dist-info}/METADATA +135 -31
  40. {tree_sitter_analyzer-1.7.7.dist-info → tree_sitter_analyzer-1.8.3.dist-info}/RECORD +42 -32
  41. {tree_sitter_analyzer-1.7.7.dist-info → tree_sitter_analyzer-1.8.3.dist-info}/entry_points.txt +2 -0
  42. {tree_sitter_analyzer-1.7.7.dist-info → tree_sitter_analyzer-1.8.3.dist-info}/WHEEL +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tree-sitter-analyzer
3
- Version: 1.7.7
4
- Summary: Extensible multi-language code analyzer framework using Tree-sitter with dynamic plugin architecture
3
+ Version: 1.8.3
4
+ Summary: AI-era enterprise-grade code analysis tool with comprehensive HTML/CSS support, dynamic plugin architecture, and MCP integration
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
7
7
  Project-URL: Repository, https://github.com/aimasteracc/tree-sitter-analyzer.git
@@ -12,7 +12,7 @@ Project-URL: Source Code, https://github.com/aimasteracc/tree-sitter-analyzer
12
12
  Author-email: "aisheng.yu" <aimasteracc@gmail.com>
13
13
  Maintainer-email: "aisheng.yu" <aimasteracc@gmail.com>
14
14
  License: MIT
15
- Keywords: ai-tools,ast,code-analysis,mcp,mcp-server,model-context-protocol,multi-language,parsing,static-analysis,tree-sitter
15
+ Keywords: ai-tools,ast,code-analysis,css,html,mcp,mcp-server,model-context-protocol,multi-language,parsing,static-analysis,tree-sitter,web-development
16
16
  Classifier: Development Status :: 4 - Beta
17
17
  Classifier: Framework :: AsyncIO
18
18
  Classifier: Intended Audience :: Developers
@@ -36,10 +36,13 @@ Requires-Dist: chardet>=5.0.0
36
36
  Requires-Dist: mcp>=1.12.3
37
37
  Requires-Dist: psutil>=5.9.8
38
38
  Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4
39
+ Requires-Dist: tree-sitter-css<0.25.0,>=0.23.0
40
+ Requires-Dist: tree-sitter-html<0.25.0,>=0.23.0
39
41
  Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5
40
42
  Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1
41
43
  Requires-Dist: tree-sitter-markdown>=0.3.1
42
44
  Requires-Dist: tree-sitter-python<0.25.0,>=0.23.6
45
+ Requires-Dist: tree-sitter-typescript>=0.23.2
43
46
  Requires-Dist: tree-sitter>=0.25.0
44
47
  Provides-Extra: all
45
48
  Requires-Dist: anyio>=4.0.0; extra == 'all'
@@ -71,7 +74,9 @@ Requires-Dist: types-psutil>=5.9.0; extra == 'all'
71
74
  Provides-Extra: all-languages
72
75
  Requires-Dist: tree-sitter-c<0.25.0,>=0.20.0; extra == 'all-languages'
73
76
  Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4; extra == 'all-languages'
77
+ Requires-Dist: tree-sitter-css<0.25.0,>=0.23.0; extra == 'all-languages'
74
78
  Requires-Dist: tree-sitter-go<0.25.0,>=0.20.0; extra == 'all-languages'
79
+ Requires-Dist: tree-sitter-html<0.25.0,>=0.23.0; extra == 'all-languages'
75
80
  Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5; extra == 'all-languages'
76
81
  Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1; extra == 'all-languages'
77
82
  Requires-Dist: tree-sitter-markdown>=0.3.1; extra == 'all-languages'
@@ -82,6 +87,8 @@ Provides-Extra: c
82
87
  Requires-Dist: tree-sitter-c<0.25.0,>=0.20.0; extra == 'c'
83
88
  Provides-Extra: cpp
84
89
  Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4; extra == 'cpp'
90
+ Provides-Extra: css
91
+ Requires-Dist: tree-sitter-css<0.25.0,>=0.23.0; extra == 'css'
85
92
  Provides-Extra: dev
86
93
  Requires-Dist: black>=24.0.0; extra == 'dev'
87
94
  Requires-Dist: isort>=5.13.0; extra == 'dev'
@@ -124,6 +131,8 @@ Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'full'
124
131
  Requires-Dist: types-psutil>=5.9.0; extra == 'full'
125
132
  Provides-Extra: go
126
133
  Requires-Dist: tree-sitter-go<0.25.0,>=0.20.0; extra == 'go'
134
+ Provides-Extra: html
135
+ Requires-Dist: tree-sitter-html<0.25.0,>=0.23.0; extra == 'html'
127
136
  Provides-Extra: integration
128
137
  Requires-Dist: anyio>=4.0.0; extra == 'integration'
129
138
  Requires-Dist: mcp>=1.12.2; extra == 'integration'
@@ -177,6 +186,8 @@ Requires-Dist: tree-sitter-python>=0.23.0; extra == 'test'
177
186
  Provides-Extra: typescript
178
187
  Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'typescript'
179
188
  Provides-Extra: web
189
+ Requires-Dist: tree-sitter-css<0.25.0,>=0.23.0; extra == 'web'
190
+ Requires-Dist: tree-sitter-html<0.25.0,>=0.23.0; extra == 'web'
180
191
  Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1; extra == 'web'
181
192
  Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'web'
182
193
  Description-Content-Type: text/markdown
@@ -187,11 +198,11 @@ Description-Content-Type: text/markdown
187
198
 
188
199
  [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
189
200
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
190
- [![Tests](https://img.shields.io/badge/tests-3088%20passed-brightgreen.svg)](#quality-assurance)
201
+ [![Tests](https://img.shields.io/badge/tests-3361%20passed-brightgreen.svg)](#quality-assurance)
191
202
  [![Coverage](https://codecov.io/gh/aimasteracc/tree-sitter-analyzer/branch/main/graph/badge.svg)](https://codecov.io/gh/aimasteracc/tree-sitter-analyzer)
192
203
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
193
204
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
194
- [![Version](https://img.shields.io/badge/version-1.7.5-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
205
+ [![Version](https://img.shields.io/badge/version-1.8.3-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
195
206
  [![zread](https://img.shields.io/badge/Ask_Zread-_.svg?style=flat&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0Ljk2MTU2QzUuMzE1MDIgMTQuMzk5OSA1LjYwMTU2IDE0LjExMzQgNS42MDE1NiAxMy43NTk5VjExLjAzOTlDNS42MDE1NiAxMC42ODY0IDUuMzE1MDIgMTAuMzk5OSA0Ljk2MTU2IDEwLjM5OTlaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0xMy43NTg0IDEuNjAwMUgxMS4wMzg0QzEwLjY4NSAxLjYwMDEgMTAuMzk4NCAxLjg4NjY0IDEwLjM5ODQgMi4yNDAxVjQuOTYwMUMxMC4zOTg0IDUuMzEzNTYgMTAuNjg1IDUuNjAwMSAxMS4wMzg0IDUuNjAwMUgxMy43NTg0QzE0LjExMTkgNS42MDAxIDE0LjM5ODQgNS4zMTM1NiAxNC4zOTg0IDQuOTYwMVYyLjI0MDFDMTQuMzk4NCAxLjg4NjY0IDE0LjExMTkgMS42MDAxIDEzLjc1ODQgMS42MDAxWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K&logoColor=ffffff)](https://zread.ai/aimasteracc/tree-sitter-analyzer)
196
207
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
197
208
 
@@ -236,13 +247,15 @@ Tree-sitter Analyzer is an enterprise-grade code analysis tool designed for the
236
247
  | **Python** | Complete Support | Type annotations, decorators, modern Python features |
237
248
  | **JavaScript** | Complete Support | ES6+, React/Vue/Angular, JSX |
238
249
  | **TypeScript** | Complete Support | Interfaces, types, decorators, TSX/JSX, framework detection |
239
- | **Markdown** | 🆕 Complete Support | Headers, code blocks, links, images, tables, task lists, blockquotes |
250
+ | **HTML** | 🆕 Complete Support | DOM structure analysis, element classification, attribute extraction, hierarchical relationships |
251
+ | **CSS** | 🆕 Complete Support | Selector analysis, property classification, style rule extraction, intelligent categorization |
252
+ | **Markdown** | Complete Support | Headers, code blocks, links, images, tables, task lists, blockquotes |
240
253
  | **C/C++** | Basic Support | Basic syntax parsing |
241
254
  | **Rust** | Basic Support | Basic syntax parsing |
242
255
  | **Go** | Basic Support | Basic syntax parsing |
243
256
 
244
257
  ### 🏆 Production Ready
245
- - **3,088 Tests** - 100% pass rate, enterprise-grade quality assurance
258
+ - **3,361 Tests** - 100% pass rate, enterprise-grade quality assurance
246
259
  - **High Coverage** - Comprehensive test coverage
247
260
  - **Cross-platform Support** - Compatible with Windows, macOS, Linux
248
261
  - **Continuous Maintenance** - Active development and community support
@@ -391,6 +404,11 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --advanced --outp
391
404
  # Generate detailed structure table for code files
392
405
  uv run python -m tree_sitter_analyzer examples/BigService.java --table=full
393
406
 
407
+ # 🆕 HTML/CSS analysis with new architecture
408
+ uv run python -m tree_sitter_analyzer examples/comprehensive_sample.html --table=html --output-format=text
409
+ uv run python -m tree_sitter_analyzer examples/comprehensive_sample.css --advanced --output-format=text
410
+ uv run python -m tree_sitter_analyzer examples/comprehensive_sample.html --structure --language html
411
+
394
412
  # Precise code extraction
395
413
  uv run python -m tree_sitter_analyzer examples/BigService.java --partial-read --start-line 93 --end-line 106
396
414
  ```
@@ -590,6 +608,19 @@ AI will automatically:
590
608
  2. Locate and extract the `authenticateUser` method (lines 141-172)
591
609
  3. Generate list of public methods (19 public methods)
592
610
 
611
+ **HTML/CSS Analysis Example:**
612
+ ```
613
+ I want to analyze the HTML structure of index.html:
614
+ 1. What HTML elements are present and how are they organized?
615
+ 2. What CSS rules are defined and what properties do they set?
616
+ 3. How are the elements classified (structure, media, form)?
617
+ ```
618
+
619
+ AI will automatically:
620
+ 1. Extract HTML elements with tag names, attributes, and classification
621
+ 2. Analyze CSS selectors and properties with intelligent categorization
622
+ 3. Generate structured tables showing DOM hierarchy and style rules
623
+
593
624
  ---
594
625
 
595
626
  ## 5. 🤖 Complete MCP Tool List
@@ -599,17 +630,52 @@ Tree-sitter Analyzer provides a rich set of MCP tools designed for AI assistants
599
630
  | Tool Category | Tool Name | Main Function | Core Features |
600
631
  |-------------|---------|---------|---------|
601
632
  | **📊 Code Analysis** | `check_code_scale` | Fast code file scale analysis | File size statistics, line count statistics, complexity analysis, performance metrics |
602
- | | `analyze_code_structure` | Code structure analysis and table generation | 🆕 suppress_output parameter, multiple formats (full/compact/csv/json), automatic language detection |
633
+ | | `analyze_code_structure` | Code structure analysis and table generation | 🆕 suppress_output parameter, multiple formats (full/compact/csv/json/html), automatic language detection |
603
634
  | | `extract_code_section` | Precise code section extraction | Specified line range extraction, large file efficient processing, original format preservation |
604
635
  | **🔍 Intelligent Search** | `list_files` | High-performance file discovery | fd-based, glob patterns, file type filters, time range control |
605
- | | `search_content` | Regex content search | ripgrep-based, multiple output formats, context control, encoding handling |
606
- | | `find_and_grep` | Two-stage search | File discovery → content search, fd+ripgrep combination, intelligent cache optimization |
636
+ | | `search_content` | Regex content search | ripgrep-based, multiple output formats, context control, encoding handling, 🆕 unified `set_project_path` support |
637
+ | | `find_and_grep` | Two-stage search | File discovery → content search, fd+ripgrep combination, intelligent cache optimization, 🆕 unified `set_project_path` support |
607
638
  | **🔧 Advanced Queries** | `query_code` | tree-sitter queries | Predefined query keys, custom query strings, filter expression support |
608
- | **⚙️ System Management** | `set_project_path` | Project root path setting | Security boundary control, automatic path validation |
639
+ | **⚙️ System Management** | `set_project_path` | Project root path setting | Security boundary control, automatic path validation, 🆕 unified across all MCP tools |
609
640
  | **📁 Resource Access** | Code file resources | URI code file access | File content access via URI identification |
610
641
  | | Project statistics resources | Project statistics data access | Project analysis data and statistical information |
611
642
 
612
- ### 🆕 v1.7.3 New Feature: Complete Markdown Support
643
+ ### 🆕 v1.8.3 New Feature: MCP Tools Design Consistency Enhancement
644
+
645
+ Comprehensive MCP tools unification and design consistency improvements:
646
+
647
+ - **🔧 Unified `set_project_path` Implementation**: SearchContentTool and FindAndGrepTool now have consistent `set_project_path` method implementation
648
+ - **🏗️ Design Consistency Across All MCP Tools**: All 4 MCP tools (QueryTool, TableFormatTool, SearchContentTool, FindAndGrepTool) now have unified interface design
649
+ - **📁 FileOutputManager Integration**: Unified FileOutputManager factory pattern for consistent file output management
650
+ - **🔄 Dynamic Project Path Changes**: All MCP tools now support dynamic project path changes through unified interface
651
+ - **🛡️ Enhanced Security Boundaries**: Consistent security boundary protection across all MCP tools
652
+ - **📋 Improved Developer Experience**: Unified interface makes MCP tool development and usage more consistent
653
+
654
+ ### 🆕 v1.8.2 New Feature: CLI Security and Argument Validation Enhancement
655
+
656
+ Comprehensive CLI security improvements and argument validation optimization:
657
+
658
+ - **🔒 CLI Security Boundary Fix**: Fixed CLI mode security boundary errors, ensuring file access security
659
+ - **✅ Proper CLI Argument Validation**: Implemented complete CLI argument validation system, preventing invalid parameter combinations
660
+ - **🚫 Exclusive Parameter Control**: `--table` and `--query-key` parameters now properly implement exclusive control
661
+ - **🔍 Enhanced Filter Support**: `--query-key` with `--filter` combination usage is fully supported
662
+ - **⚠️ Clear Error Messages**: Provides detailed error information to help users use commands correctly
663
+ - **🛡️ Enhanced Security Features**: Temporary directory access permission in test environments and project boundary protection
664
+ - **📋 Improved User Experience**: More intuitive command-line interface and error handling
665
+
666
+ ### 🆕 v1.8.0 New Feature: HTML/CSS Language Support
667
+
668
+ Revolutionary HTML and CSS analysis capabilities with specialized data models and formatting:
669
+
670
+ - **🏗️ HTML DOM Analysis**: Complete HTML element extraction with tag names, attributes, and hierarchical structure
671
+ - **🎨 CSS Rule Analysis**: Comprehensive CSS selector and property analysis with intelligent classification
672
+ - **📊 Element Classification System**: Smart categorization of HTML elements (structure, heading, text, list, media, form, table, metadata) and CSS properties (layout, box_model, typography, background, transition, interactivity)
673
+ - **🔧 Specialized Data Models**: New `MarkupElement` and `StyleElement` classes for precise web technology analysis
674
+ - **📋 Enhanced Formatters**: New HTML formatter with structured table output for web development workflows
675
+ - **🔄 Extensible Architecture**: Plugin-based system with `FormatterRegistry` for dynamic format management
676
+ - **🆕 Dependencies**: Added `tree-sitter-html>=0.23.0,<0.25.0` and `tree-sitter-css>=0.23.0,<0.25.0` for native parsing support
677
+
678
+ ### 🆕 v1.7.3 Feature: Complete Markdown Support
613
679
 
614
680
  Brand new Markdown language support provides powerful capabilities for document analysis and AI assistants:
615
681
 
@@ -658,6 +724,12 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --advanced
658
724
  # Generate complete structure table
659
725
  uv run python -m tree_sitter_analyzer examples/BigService.java --table=full
660
726
 
727
+ # 🆕 HTML/CSS analysis with new architecture
728
+ uv run python -m tree_sitter_analyzer examples/comprehensive_sample.html --table=full --output-format=text
729
+ uv run python -m tree_sitter_analyzer examples/comprehensive_sample.css --table=full --output-format=text
730
+ uv run python -m tree_sitter_analyzer examples/comprehensive_sample.html --advanced --output-format=text
731
+ uv run python -m tree_sitter_analyzer examples/comprehensive_sample.css --advanced --output-format=text
732
+
661
733
  # Specify output format
662
734
  uv run python -m tree_sitter_analyzer examples/BigService.java --advanced --output-format=json
663
735
  uv run python -m tree_sitter_analyzer examples/BigService.java --advanced --output-format=text
@@ -676,6 +748,18 @@ uv run python -m tree_sitter_analyzer script.py --language python --table=full
676
748
  uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods
677
749
  uv run python -m tree_sitter_analyzer examples/BigService.java --query-key classes
678
750
 
751
+ # 🆕 v1.8.2 Correct Usage Examples
752
+ # Correct: Use --query-key with --filter combination
753
+ uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "name=main"
754
+
755
+ # Correct: Generate complete structure table
756
+ uv run python -m tree_sitter_analyzer examples/BigService.java --table full
757
+
758
+ # 🚫 v1.8.2 Incorrect Usage Examples (will show error)
759
+ # Incorrect: Using --table and --query-key together (exclusive parameters)
760
+ # uv run python -m tree_sitter_analyzer examples/BigService.java --table full --query-key methods
761
+ # Error message: "--table and --query-key cannot be used together. Use --query-key with --filter instead."
762
+
679
763
  # Filter query results
680
764
  # Find specific methods
681
765
  uv run python -m tree_sitter_analyzer examples/BigService.java --query-key methods --filter "name=main"
@@ -693,6 +777,28 @@ uv run python -m tree_sitter_analyzer examples/BigService.java --query-key metho
693
777
  uv run python -m tree_sitter_analyzer --filter-help
694
778
  ```
695
779
 
780
+ #### 🔒 Security Features
781
+
782
+ v1.8.2 enhanced security features ensure file access safety:
783
+
784
+ ```bash
785
+ # ✅ Secure project boundary protection
786
+ # Tools automatically detect and respect project boundaries, preventing access to sensitive files outside the project
787
+
788
+ # ✅ Test environment temporary directory access
789
+ # In test environments, allows access to temporary directories to support test cases
790
+
791
+ # ✅ Proper CLI argument validation
792
+ # System validates parameter combination validity, preventing invalid command execution
793
+
794
+ # Example: Secure file analysis
795
+ uv run python -m tree_sitter_analyzer examples/BigService.java --advanced
796
+ # ✅ Allowed: File is within project directory
797
+
798
+ # uv run python -m tree_sitter_analyzer /etc/passwd --advanced
799
+ # ❌ Denied: File is outside project boundary (security protection)
800
+ ```
801
+
696
802
  #### 📁 File System Operation Commands
697
803
 
698
804
  ```bash
@@ -744,7 +850,7 @@ uv run python -m tree_sitter_analyzer --show-query-languages
744
850
  | **✂️ Intelligent Code Extraction** | Precision Extraction Tool | Precise extraction by line range<br>Preserves original formatting and indentation<br>Includes position metadata<br>Efficient processing of large files | Zero-loss format preservation<br>Memory-optimized algorithms<br>Streaming processing support |
745
851
  | **🔍 Advanced Query Filtering** | Multi-dimensional Filters | **Exact match**: `--filter "name=main"`<br>**Pattern match**: `--filter "name=~auth*"`<br>**Parameter filter**: `--filter "params=2"`<br>**Modifier filter**: `--filter "static=true,public=true"`<br>**Compound conditions**: Combine multiple conditions for precise queries | Flexible query syntax<br>High-performance indexing<br>Intelligent caching mechanisms |
746
852
  | **🔗 AI Assistant Integration** | MCP Protocol Support | **Claude Desktop** - Full MCP support<br>**Cursor IDE** - Built-in MCP integration<br>**Roo Code** - MCP protocol support<br>**Other MCP-compatible tools** - Universal MCP server | Standard MCP protocol<br>Plug-and-play design<br>Cross-platform compatibility |
747
- | **🌍 Multi-language Support** | Enterprise Language Engine | **Java** - Complete support, including Spring, JPA frameworks<br>**Python** - Complete support, including type annotations, decorators<br>**JavaScript** - Enterprise-grade support, including ES6+, React/Vue/Angular, JSX<br>**TypeScript** - **Complete support**, including interfaces, types, decorators, TSX/JSX, framework detection<br>**Markdown** - **🆕 Complete support**, including headers, code blocks, links, images, tables, task lists, blockquotes<br>**C/C++, Rust, Go** - Basic support | Framework-aware parsing<br>Syntax extension support<br>Continuous language updates |
853
+ | **🌍 Multi-language Support** | Enterprise Language Engine | **Java** - Complete support, including Spring, JPA frameworks<br>**Python** - Complete support, including type annotations, decorators<br>**JavaScript** - Enterprise-grade support, including ES6+, React/Vue/Angular, JSX<br>**TypeScript** - **Complete support**, including interfaces, types, decorators, TSX/JSX, framework detection<br>**HTML** - **🆕 Complete support**, including DOM structure, element classification, attribute extraction<br>**CSS** - **🆕 Complete support**, including selector analysis, property classification, style rules<br>**Markdown** - **Complete support**, including headers, code blocks, links, images, tables, task lists, blockquotes<br>**C/C++, Rust, Go** - Basic support | Framework-aware parsing<br>Syntax extension support<br>Continuous language updates |
748
854
  | **📁 Advanced File Search** | fd+ripgrep Integration | **ListFilesTool** - Intelligent file discovery with multiple filtering conditions<br>**SearchContentTool** - Intelligent content search using regular expressions<br>**FindAndGrepTool** - Combined discovery and search, two-stage workflow | Rust-based high-performance tools<br>Parallel processing capabilities<br>Intelligent cache optimization |
749
855
  | **🏗️ Unified Element System** | Revolutionary Architecture Design | **Single element list** - Unified management of all code elements (classes, methods, fields, imports, packages)<br>**Consistent element types** - Each element has an `element_type` attribute<br>**Simplified API** - Clearer interfaces and reduced complexity<br>**Better maintainability** - Single source of truth for all code elements | Unified data model<br>Type safety guarantees<br>Extensible design |
750
856
 
@@ -753,27 +859,21 @@ uv run python -m tree_sitter_analyzer --show-query-languages
753
859
  ## 8. 🏆 Quality Assurance
754
860
 
755
861
  ### 📊 Quality Metrics
756
- - **3,088 tests** - 100% pass rate ✅
862
+ - **3,361 tests** - 100% pass rate ✅
757
863
  - **High code coverage** - Comprehensive test suite
758
864
  - **Zero test failures** - Production ready
759
865
  - **Cross-platform support** - Windows, macOS, Linux
760
866
 
761
- ### ⚡ Latest Quality Achievements (v1.7.5)
762
- - ✅ **📊 Enhanced Quality Metrics** - Test count increased to 3,088 coverage maintained at high levels
763
- - ✅ **🔧 System Stability** - All tests passing with enhanced system stability and reliability
764
- - ✅ **🆕 Complete Markdown Support** - Added new complete Markdown language plugin supporting all major Markdown elements
765
- - ✅ **📝 Enhanced Document Analysis** - Support for intelligent extraction of headers, code blocks, links, images, tables, task lists
766
- - ✅ **🔍 Markdown Query System** - 17 predefined query types with alias and custom query support
767
- - ✅ **🧪 Comprehensive Test Validation** - Added extensive Markdown test cases ensuring feature stability
768
- - ✅ **📊 Structured Output** - Convert Markdown documents to structured data for easy AI processing
769
- - ✅ **File output optimization** - MCP search tools now include `suppress_output` and `output_file` parameters for massive token savings
770
- - ✅ **Intelligent format detection** - Automatic selection of optimal file formats (JSON/Markdown) for storage and reading optimization
771
- - ✅ **ROO rules documentation** - Added comprehensive tree-sitter-analyzer MCP optimization usage guide
772
- - ✅ **Enhanced token management** - Response size reduced by up to 99% when outputting search results to files
773
- - ✅ **Enterprise-grade test coverage** - Comprehensive test suite including complete validation of file output optimization features
774
- - ✅ **Complete MCP tools** - Complete MCP server tool set supporting advanced file search and content analysis
775
- - ✅ **Cross-platform path compatibility** - Fixed differences between Windows short path names and macOS symbolic links
776
- - ✅ **GitFlow implementation** - Professional development/release branch strategy
867
+ ### ⚡ Latest Quality Achievements (v1.8.3)
868
+ - ✅ **🔒 CLI Security Enhancement** - Fixed CLI mode security boundary errors, ensuring file access security
869
+ - ✅ **✅ Argument Validation Improvement** - Implemented complete CLI argument validation system, preventing invalid parameter combinations
870
+ - ✅ **🚫 Exclusive Parameter Control** - `--table` and `--query-key` parameters properly implement exclusive control
871
+ - ✅ **🔍 Enhanced Filter Functionality** - `--query-key` with `--filter` combination usage fully supported
872
+ - ✅ **⚠️ Error Message Optimization** - Provides clear and detailed error information, improving user experience
873
+ - ✅ **🛡️ Project Boundary Protection** - Automatically detects and respects project boundaries, preventing access to sensitive files
874
+ - ✅ **🧪 Test Environment Support** - Temporary directory access permission in test environments
875
+ - ✅ **📋 User Experience Improvement** - More intuitive command-line interface and error handling mechanisms
876
+
777
877
 
778
878
  ### ⚙️ Running Tests
779
879
  ```bash
@@ -810,8 +910,9 @@ The project maintains high-quality test coverage. For detailed module coverage i
810
910
  **Verification environment:**
811
911
  - Operating systems: Windows 10, macOS, Linux
812
912
  - Python version: 3.10+
813
- - Project version: tree-sitter-analyzer v1.7.5
913
+ - Project version: tree-sitter-analyzer v1.8.2
814
914
  - Test files: BigService.java (1419 lines), sample.py (256 lines), MultiClass.java (54 lines)
915
+ - New verification: CLI argument validation, security boundary protection, exclusive parameter control
815
916
 
816
917
  ---
817
918
 
@@ -824,6 +925,9 @@ This project provides complete documentation support, including:
824
925
  - **MCP Configuration Guide** - See the [AI Users Configuration](#31--ai-users-claude-desktop-cursor-etc) section
825
926
  - **CLI Usage Guide** - See the [Complete CLI Commands](#6--complete-cli-commands) section
826
927
  - **Core Features Documentation** - See the [Core Features](#7-️-core-features) section
928
+ - **Contributing Guide** - See [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md) for development guidelines and document management
929
+ - **Analysis Results** - See [docs/analysis/](docs/analysis/) for project analysis reports and metrics
930
+ - **Feature Specifications** - See [specs/](specs/) for detailed feature specifications and implementation plans
827
931
 
828
932
  ### 🤖 AI Collaboration Support
829
933
  This project supports AI-assisted development with professional quality control:
@@ -1,21 +1,22 @@
1
- tree_sitter_analyzer/__init__.py,sha256=xWap73ImPJpNVKE4Ilozpzocq52xSK3vtvVDYU3W2kI,3067
1
+ tree_sitter_analyzer/__init__.py,sha256=h6zUP8Chm-_bNNKaCIY25G3h_JKBLIed582ErUTq0Zc,3067
2
2
  tree_sitter_analyzer/__main__.py,sha256=Zl79tpe4UaMu-7yeztc06tgP0CVMRnvGgas4ZQP5SCs,228
3
- tree_sitter_analyzer/api.py,sha256=BzH-0MmK7qoNvsTAmLovFq3E_50ci0CoozzYXJdn3cQ,22759
4
- tree_sitter_analyzer/cli_main.py,sha256=BuaM-L-Jx3G49qvAUOQVsw0wEM-X0UzPaRszRZBist4,10374
3
+ tree_sitter_analyzer/api.py,sha256=gqHatRpVm8k0jEfFm45iokHRPYJjEcud6MtrCSg1V0A,22169
4
+ tree_sitter_analyzer/cli_main.py,sha256=RAPn4VGHVOfC2vrU1Sef7PEPcypMwuI5GgWiwoYL1PE,11100
5
5
  tree_sitter_analyzer/constants.py,sha256=7w3sLFt_6vPaKsxzrc21K1rOKpLGMyyA1203nu3pDOQ,1889
6
6
  tree_sitter_analyzer/encoding_utils.py,sha256=BgdBKnW20EueEFJT-aLrQI38bTOcR5rWQ3Dpa-ALszA,14805
7
7
  tree_sitter_analyzer/exceptions.py,sha256=XvuUYsB80JYcpfU3Lq0XXpmeV3aWK2tJ_nKNGJtILe4,23116
8
8
  tree_sitter_analyzer/file_handler.py,sha256=pyNro47kYoRuQBPkyEo9ileqlQ1A7w890deQltnzMas,7115
9
- tree_sitter_analyzer/language_detector.py,sha256=9vPer4Lr1tjNR_GMP-OyuLTIldgKszRRddvBVSt1x1E,13353
9
+ tree_sitter_analyzer/language_detector.py,sha256=PRWTTIzXwW2BDqCgilJdQVnPr1wixuLsl3_3P90tegw,16168
10
10
  tree_sitter_analyzer/language_loader.py,sha256=sIICLkht_PeVoYV1KTs5bSgOJej9xK9wbyRB2-0Agws,8966
11
- tree_sitter_analyzer/models.py,sha256=eZSVTl4s0rnqG21nyCTaJhyhDw1HZkkpMRKCi2QRkL0,20404
12
- tree_sitter_analyzer/output_manager.py,sha256=tMEyjGeczqphcLoHdqxgyW8KaG8w6JF-fhsIibNQiCU,8260
11
+ tree_sitter_analyzer/models.py,sha256=G51jdE8xGOAPD6vDOpg_mwGF4DNjXqdlkxyuKI8hkJ0,22165
12
+ tree_sitter_analyzer/output_manager.py,sha256=hRAp6Aa9k05UVvZkOyRCEz2Lf7blx05fWnculHd86RA,8264
13
13
  tree_sitter_analyzer/project_detector.py,sha256=-zmtm12EvVD_6TDxS_6KpzuswP2Bpppnxq50kAEDyMA,9430
14
- tree_sitter_analyzer/query_loader.py,sha256=fqLdjifjz2n471PkjyQSu-8tYizM47gLV_DtRYvsrQU,9887
14
+ tree_sitter_analyzer/query_loader.py,sha256=rtUZ_ZBhacb2uvM8aPrf0XiigUDtxflfjbenfKcatEI,10407
15
15
  tree_sitter_analyzer/table_formatter.py,sha256=tPKw77LLlQ7k5MMs9_Ez7qsSroNaSzZPoplyPtKHLhA,28577
16
- tree_sitter_analyzer/utils.py,sha256=AwQ6Xv1IGUTf5ich-nNoY5oEyIGROoB802ZNF3gyqto,11871
16
+ tree_sitter_analyzer/utils.py,sha256=hezEhJ4TGAFTRa-Ii_i42jPLkspAme-GRsZR5e38OBQ,13650
17
17
  tree_sitter_analyzer/cli/__init__.py,sha256=O_3URpbdu5Ilb2-r48LjbZuWtOWQu_BhL3pa6C0G3Bk,871
18
18
  tree_sitter_analyzer/cli/__main__.py,sha256=Xq8o8-0dPnMDU9WZqmqhzr98rx8rvoffTUHAkAwl-L8,218
19
+ tree_sitter_analyzer/cli/argument_validator.py,sha256=n336uNVWE9FFWc5s1ADKNQq53_BSnqdTtqEFk90UDBI,2574
19
20
  tree_sitter_analyzer/cli/info_commands.py,sha256=thWCLZ4iGVmqxuQfUz3t-uNRv9X3lgtWnsUJm6mbJ7o,4432
20
21
  tree_sitter_analyzer/cli/commands/__init__.py,sha256=jpcpM1ptLuxLMBDUv1y_a87k8RAw1otFzeYpWtXvz3Y,671
21
22
  tree_sitter_analyzer/cli/commands/advanced_command.py,sha256=gEO6Bc9zBHoGNZMpKr3BXQFJK57WAf2-fDJPTAaD_Lo,11434
@@ -28,22 +29,24 @@ tree_sitter_analyzer/cli/commands/query_command.py,sha256=VFuCFJxffjSUrMa7NB_KJm
28
29
  tree_sitter_analyzer/cli/commands/search_content_cli.py,sha256=A30806cWaBfqfchhIZ0qK23cfoIQTTYk33Y119TGx34,5093
29
30
  tree_sitter_analyzer/cli/commands/structure_command.py,sha256=CFlem2raHX8DEC2FJlmYVYnjlrnKpt2fz5OvIk2VCo8,7984
30
31
  tree_sitter_analyzer/cli/commands/summary_command.py,sha256=SieBVJfyO9dMpExKnHhFowS3nXMzJMbGNhoWh5PEN6o,6323
31
- tree_sitter_analyzer/cli/commands/table_command.py,sha256=iBA4mMmL_S9grwVJcAB0S0-z_8Q_DmbMcFPZ8FTcJ5k,12127
32
+ tree_sitter_analyzer/cli/commands/table_command.py,sha256=2gqvy2opdH3NRxHi9sIAyKo0bmgOoe_bPs2xqdrOjMk,12256
32
33
  tree_sitter_analyzer/core/__init__.py,sha256=VlYOy1epW16vjaVd__knESewnU0sfXF9a4hjrFxiSEE,440
33
34
  tree_sitter_analyzer/core/analysis_engine.py,sha256=IHE4ZQDGI4uu2Eh0QYX1bPsDBhtEu7JkImHEVnC7gog,18781
34
- tree_sitter_analyzer/core/cache_service.py,sha256=0oZGuTpeHBKYNdnqAOVi6VlQukYMIHncz2pbVfNpSqE,9762
35
+ tree_sitter_analyzer/core/cache_service.py,sha256=5TGc0Tf4Hi_LSjiI_DUbk5c10u-5J9GHxSyPPULjd08,10262
35
36
  tree_sitter_analyzer/core/engine.py,sha256=5CheLzsxrApY6o2uM8sdYdzK4HkQypxlsYEFpUdai28,18357
36
37
  tree_sitter_analyzer/core/parser.py,sha256=qT3yIlTRdod4tf_2o1hU_B-GYGukyM2BtaFxzSoxois,9293
37
- tree_sitter_analyzer/core/query.py,sha256=UhQxUmQitFobe2YM7Ifhi3X2WdHVb02KzeBunueYJ4I,16397
38
+ tree_sitter_analyzer/core/query.py,sha256=2nrOve1YEA6MLBOJPTWQkQTF7yFMUnZ_wwUp__-RqsU,17107
38
39
  tree_sitter_analyzer/core/query_filter.py,sha256=PvGztAZFooFNZe6iHNmbg6RUNtMvq6f6hBZFzllig6Y,6591
39
- tree_sitter_analyzer/core/query_service.py,sha256=sMdI81_YAt0YcNzPsj2QA4q1KACf2g9LsJw3UP5qxwo,14687
40
+ tree_sitter_analyzer/core/query_service.py,sha256=Uhz3FnumyDh6ecJ_mE8rG69I5dMorgKEy8BahFNs_-0,12785
40
41
  tree_sitter_analyzer/formatters/__init__.py,sha256=yVb4HF_4EEPRwTf3y3-vM2NllrhykG3zlvQhN-6dB4c,31
41
42
  tree_sitter_analyzer/formatters/base_formatter.py,sha256=q515mnhpXV7jd0ysJ7R3VFOCm9e4x7ADVKSkVEYd8lA,6656
42
43
  tree_sitter_analyzer/formatters/formatter_factory.py,sha256=4fsSMxhBmGWFmPjcuwkTvgiIWWFireaOaChYi1UNnSM,2381
44
+ tree_sitter_analyzer/formatters/formatter_registry.py,sha256=BTeEWt0-ru-ZhXikncH3qs0EA0JZFJ6q9f0E2AOBt4A,11569
45
+ tree_sitter_analyzer/formatters/html_formatter.py,sha256=aDNMcalAzTI-Nf9w1MYltgR6M4PihUWP3DgNTFEdb2U,18559
43
46
  tree_sitter_analyzer/formatters/java_formatter.py,sha256=0jxKfrWtsr_K2VG1zW0LH2E6w6nfpIhcXTfIyWw3Jmc,11163
44
47
  tree_sitter_analyzer/formatters/javascript_formatter.py,sha256=rIvMs-btsTV0KpGvF67qS7bXANN1I_1M4mVg3KXJ3-I,21345
45
- tree_sitter_analyzer/formatters/language_formatter_factory.py,sha256=y6OJ2jtW42HBs_d5EhMxWCoLR92nDeNyD6jhh3VYw_w,2168
46
- tree_sitter_analyzer/formatters/markdown_formatter.py,sha256=HiRue5rm4Dq5vbTPUyHMaYL0m0QekF0c7XKf-cMjQTw,26049
48
+ tree_sitter_analyzer/formatters/language_formatter_factory.py,sha256=D5cZrFKeSfLZ0BtnAE6SmP7efWrty2uuaAK7KpF8rXM,2309
49
+ tree_sitter_analyzer/formatters/markdown_formatter.py,sha256=OD_mBcec0BlSPpmYthwQbN5RoyzM0MskcBnkquPg1V4,26095
47
50
  tree_sitter_analyzer/formatters/python_formatter.py,sha256=qE4C6Q5b_Mzr_PptqWZIJuxS945Ws_pmjPGpfqJ_GcY,17224
48
51
  tree_sitter_analyzer/formatters/typescript_formatter.py,sha256=mMl6dWSa2EQny_k_gozzyMYnyZq85WJQuJ61kbOSd2o,19402
49
52
  tree_sitter_analyzer/interfaces/__init__.py,sha256=OcT7eNIU0ZXvAeAXbhDqRG3puxn93HeSLqplwj6npTM,271
@@ -52,11 +55,13 @@ tree_sitter_analyzer/interfaces/cli_adapter.py,sha256=8j3xL3k6wWrGQCq0KCntqbvSxK
52
55
  tree_sitter_analyzer/interfaces/mcp_adapter.py,sha256=iSWcm-bn8_pL6YBu1Rrzherv72-5WUiavColu3uhSAY,7707
53
56
  tree_sitter_analyzer/interfaces/mcp_server.py,sha256=SP0_X4pltjFTH5Mq0NouJbazkYijqjcsNvPegM3WtQE,16542
54
57
  tree_sitter_analyzer/languages/__init__.py,sha256=VTXxJgVjHJAciLhX0zzXOS4EygZMtebeYUbi_0z6fGw,340
55
- tree_sitter_analyzer/languages/java_plugin.py,sha256=SEGS-54gF2-kIv8ftYGqq_KNnwPXGw9XnSONlzowHWk,53191
56
- tree_sitter_analyzer/languages/javascript_plugin.py,sha256=2O6X5M1ZKQNdWoMmMJXHw5CEk2FxkPjR6wy3iHCyeak,57090
57
- tree_sitter_analyzer/languages/markdown_plugin.py,sha256=dcoN8rmPSGW275TsHlAMRXMoGUelfJuHUdc-zLOEWH8,73120
58
- tree_sitter_analyzer/languages/python_plugin.py,sha256=faDvcUW_yJxrD4Lry0NaljD6EMYuWBE2D1UVCTBmEtE,54267
59
- tree_sitter_analyzer/languages/typescript_plugin.py,sha256=rPgSMkIZzYty23sitWv2NjqePLitTdH_17BdPtNCNl0,67885
58
+ tree_sitter_analyzer/languages/css_plugin.py,sha256=dxxN8iE33AFtSf4IXBRNNxd2F1IfYKj62yIxYl1c-ek,15608
59
+ tree_sitter_analyzer/languages/html_plugin.py,sha256=9EyfnxYgNN5DRYA8u-UW2KpQAP3NarL9XtQgbaBuBxY,16198
60
+ tree_sitter_analyzer/languages/java_plugin.py,sha256=wTKHGM7DwAfndKw1KBLBi85NKuHex9q_FIoAMja6Jp4,57856
61
+ tree_sitter_analyzer/languages/javascript_plugin.py,sha256=9kPI73pAUtUdQQjNvk49zZRXvq9HflpHgUiuy_Hiwrg,62070
62
+ tree_sitter_analyzer/languages/markdown_plugin.py,sha256=UpQJPFG87YuHBHxzuud2JXK7HTmdd9GzUM6ljE1NgLA,81119
63
+ tree_sitter_analyzer/languages/python_plugin.py,sha256=hVuyXRMFHI3qUbD_iUCIawvfGQuyOCoH-3U5ROZV9Kc,60285
64
+ tree_sitter_analyzer/languages/typescript_plugin.py,sha256=Ti3wXYgjjf9djH2MNRsS1sNU4LvkPCiWuAjgb9l6ork,73889
60
65
  tree_sitter_analyzer/mcp/__init__.py,sha256=8tC54ZYcZBcFEio-aDet7evzis50zV5gbHuvn_7K514,944
61
66
  tree_sitter_analyzer/mcp/server.py,sha256=zr3Imq8uq9pqXuCckw5TT5Gt-QJP3h5h0WHn0XCiNNI,31928
62
67
  tree_sitter_analyzer/mcp/resources/__init__.py,sha256=D46ZDhPQaCrQze8dHmijMg1QZQ4ABRIjG532sFpuGPo,1367
@@ -67,33 +72,38 @@ tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py,sha256=Yb9lpUPGuvRbawmE15ic
67
72
  tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py,sha256=mssed7bEfGeGxW4mOf7dg8BDS1oqHLolIBNX9DaZ3DM,8997
68
73
  tree_sitter_analyzer/mcp/tools/base_tool.py,sha256=qf2My325azlnKOugNVMN_R1jtZcjXVy354sGVKzvZls,3546
69
74
  tree_sitter_analyzer/mcp/tools/fd_rg_utils.py,sha256=9jQ4D5yREs7Nt8L0s-NdVtmaKXJAAOKqAAI8mkW3T2o,18664
70
- tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py,sha256=9p_Olh6wjuUAVqHfXnsUj3crZtUV4_R6zAfKRqe8jTY,31623
75
+ tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py,sha256=OLJToDgLj74irikqC5kJQ_k5isAw9YzkVVOrQIRrQnc,32063
71
76
  tree_sitter_analyzer/mcp/tools/list_files_tool.py,sha256=nd6uiOqbsr8NUqNL46d8QnOM-XpMTDOFiaccjBaGLl8,18268
72
- tree_sitter_analyzer/mcp/tools/query_tool.py,sha256=25k7AHYH4gzhu2XQ5CetBDXDTd_nLdXcEIKmDi6jj04,15367
77
+ tree_sitter_analyzer/mcp/tools/query_tool.py,sha256=3_TVIfkkZSJo0WNBsiTnctYlq59OVgZYI4IMX2-zsuA,17056
73
78
  tree_sitter_analyzer/mcp/tools/read_partial_tool.py,sha256=lC3Zigp3_v8RU_fi5Fz0O_idjP6z_AmgoqVQOethL3I,18493
74
- tree_sitter_analyzer/mcp/tools/search_content_tool.py,sha256=wGYjP5OZqqcKnLwF5sdpH3xMuUaxJmwYWU6Rg3R7CAw,32463
75
- tree_sitter_analyzer/mcp/tools/table_format_tool.py,sha256=gmLqWwFJC63YuyHyMsmCtm-tki1bzeHFvGPIHQTjhig,21398
79
+ tree_sitter_analyzer/mcp/tools/search_content_tool.py,sha256=t-ui0KA78vKqIA5VCD_ep2dl0wexkRgqx9dvYvedies,32905
80
+ tree_sitter_analyzer/mcp/tools/table_format_tool.py,sha256=lbE2GQKllsV0vGyhmX5wMPhGn9BT0FoRMV17FcE0FWo,22604
76
81
  tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py,sha256=-zZnqN9WcoyRTKM_16ADH859LSebzi34BGYwQL2zCOs,25084
77
82
  tree_sitter_analyzer/mcp/utils/__init__.py,sha256=TgTTKsRJAqF95g1fAp5SR_zQVDkImpc_5R0Dw529UUw,3126
78
83
  tree_sitter_analyzer/mcp/utils/error_handler.py,sha256=msrQHX67K3vhJsEc3OPRz5mmWU_yoHz55Lnxy0IZuy4,18404
79
- tree_sitter_analyzer/mcp/utils/file_output_manager.py,sha256=4R-evFZgb7KJpxQjgrz3WMPjL4zJhUH_9aaEbMQTCN4,8747
84
+ tree_sitter_analyzer/mcp/utils/file_output_factory.py,sha256=qhLP4p8wfqz0oM19iTlStxak8fu0Aq40OKdPmqkhPBg,7454
85
+ tree_sitter_analyzer/mcp/utils/file_output_manager.py,sha256=_MideWK9KexXHpbEtxXpHyGA2Rp4m3xKVCvtIx4-Y-Q,10829
80
86
  tree_sitter_analyzer/mcp/utils/gitignore_detector.py,sha256=_KKd2tIqudG95Pn53wScDr5wZWEijuUA6CFc04J7Ubo,11942
81
87
  tree_sitter_analyzer/mcp/utils/path_resolver.py,sha256=77BmbyEuJCuDPNH9POcTOS4tYBorPu-IXFGpBC1DxOk,15006
82
88
  tree_sitter_analyzer/mcp/utils/search_cache.py,sha256=ZNv84st6PeejDY1B50AKTbItpXs9HS6JrpR-Ozjyc1c,12991
83
89
  tree_sitter_analyzer/plugins/__init__.py,sha256=ITE9bTz7NO4axnn8g5Z-1_ydhSLT0RnY6Y1J9OhUP3E,10326
84
- tree_sitter_analyzer/plugins/base.py,sha256=FMRAOtjtDutNV8RnB6cmFgdvcjxKRAbrrzqldBBT1yk,17167
85
- tree_sitter_analyzer/plugins/manager.py,sha256=PyEY3jeuCBpDVqguWhaAu7nzUZM17_pI6wml2e0Hamo,12535
90
+ tree_sitter_analyzer/plugins/base.py,sha256=CgyQ5hxMR0RVUYEMxPcMXBlbcQj2-5W33hT2D06E2z8,18651
91
+ tree_sitter_analyzer/plugins/manager.py,sha256=rfl8KFIPw5ZF97uh-Fk0088iZJTGB9idHwFCA-B_ssM,12718
86
92
  tree_sitter_analyzer/queries/__init__.py,sha256=dwDDc7PCw_UWruxSeJ8uEBjY0O5uLDBI5YqyvBhbnN0,696
93
+ tree_sitter_analyzer/queries/css.py,sha256=FG9kNKOFDvsMqhjx7sioejYiz-wx98ZL_O80tnaWw3U,17884
94
+ tree_sitter_analyzer/queries/html.py,sha256=g7NP6iZHoP43w3dBJwkTNHgJyu9eyw7FI13_by23G7A,14628
87
95
  tree_sitter_analyzer/queries/java.py,sha256=avaPFeHz3Ig-yTdCDKfUKaG-5sktOEkrXG2p9_mEZVs,12388
88
96
  tree_sitter_analyzer/queries/javascript.py,sha256=XeIreI10rz__viix3zGCENCfC3yLT4ZQCp8DpYnbXKU,23104
89
- tree_sitter_analyzer/queries/markdown.py,sha256=QbBBIv_nVQ9UOWYgthvcHECLkj2ueWamZgNS6g3kNf8,10882
97
+ tree_sitter_analyzer/queries/markdown.py,sha256=IcKCXDTfyPL1iSAW_BFCBxj9ro5LcE3cIEkFMXLAWec,7085
90
98
  tree_sitter_analyzer/queries/python.py,sha256=vKUeZqmgDUYzRfgInxF7IZ52Oja-ZslexseknmVLiwo,26116
91
99
  tree_sitter_analyzer/queries/typescript.py,sha256=I0bWcCv-sRcZHVsdHdfb1UIRI_G3l0S9A1oR4LCjLwE,22527
92
100
  tree_sitter_analyzer/security/__init__.py,sha256=ZTqTt24hsljCpTXAZpJC57L7MU5lJLTf_XnlvEzXwEE,623
93
101
  tree_sitter_analyzer/security/boundary_manager.py,sha256=3eeENRKWtz2pyZHzd8DiVaq8fdeC6s1eVOuBylSmQPg,9347
94
102
  tree_sitter_analyzer/security/regex_checker.py,sha256=jWK6H8PTPgzbwRPfK_RZ8bBTS6rtEbgjY5vr3YWjQ_U,9616
95
- tree_sitter_analyzer/security/validator.py,sha256=GLsb0TQLzx7mEQ5g-_lLXK8Zo-_r8EM9HtEQCh3vxrc,17037
96
- tree_sitter_analyzer-1.7.7.dist-info/METADATA,sha256=SEZZeToclVg4umS6VTTw_bNUwP-XC9mSf-MsaxMnlp4,41591
97
- tree_sitter_analyzer-1.7.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
98
- tree_sitter_analyzer-1.7.7.dist-info/entry_points.txt,sha256=TOW_FpPd7qg0Uq0f44VItnO4HXPdYi7yJUjnQH-0fAM,853
99
- tree_sitter_analyzer-1.7.7.dist-info/RECORD,,
103
+ tree_sitter_analyzer/security/validator.py,sha256=PJ2CxYANMi7Ot4rPq2sUgfEF0f7EXoS_3mWqEG4Y-8w,21966
104
+ tree_sitter_analyzer/utils/__init__.py,sha256=U2zLA7-80BE7NB9nV5coL2hdS-TPey22U4il9VkPfRA,3747
105
+ tree_sitter_analyzer/utils/tree_sitter_compat.py,sha256=9hvig3RQp_9H-YN1AWjW1Dl8fugYOPF-M8TRb41LMZU,10861
106
+ tree_sitter_analyzer-1.8.3.dist-info/METADATA,sha256=wX-JLRVnrFtpqPkfohoMvZR2eG3dj4cFF55cAJBNdMY,48288
107
+ tree_sitter_analyzer-1.8.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
108
+ tree_sitter_analyzer-1.8.3.dist-info/entry_points.txt,sha256=TJmEXxAMz3og3VPphTHsuE8tNJxf7GuAPjNHwVhXRnc,972
109
+ tree_sitter_analyzer-1.8.3.dist-info/RECORD,,
@@ -8,6 +8,8 @@ tree-sitter-analyzer = tree_sitter_analyzer.cli_main:main
8
8
  tree-sitter-analyzer-mcp = tree_sitter_analyzer.mcp.server:main_sync
9
9
 
10
10
  [tree_sitter_analyzer.plugins]
11
+ css = tree_sitter_analyzer.languages.css_plugin:CssPlugin
12
+ html = tree_sitter_analyzer.languages.html_plugin:HtmlPlugin
11
13
  java = tree_sitter_analyzer.languages.java_plugin:JavaPlugin
12
14
  javascript = tree_sitter_analyzer.languages.javascript_plugin:JavaScriptPlugin
13
15
  markdown = tree_sitter_analyzer.languages.markdown_plugin:MarkdownPlugin