tree-sitter-analyzer 1.1.0__tar.gz → 1.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of tree-sitter-analyzer might be problematic. Click here for more details.
- tree_sitter_analyzer-1.1.1/.pre-commit-hooks.yaml +13 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/CHANGELOG.md +13 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/PKG-INFO +3 -3
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/README.md +2 -2
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/README_ja.md +2 -2
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/README_zh.md +2 -2
- tree_sitter_analyzer-1.1.1/docs/GITFLOW_BEST_PRACTICES.md +289 -0
- tree_sitter_analyzer-1.1.1/docs/RELEASE_EXECUTION_GUIDE.md +236 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/pyproject.toml +1 -1
- tree_sitter_analyzer-1.1.1/scripts/gitflow_release_automation.py +364 -0
- tree_sitter_analyzer-1.1.1/scripts/quick_fix_readme.py +206 -0
- tree_sitter_analyzer-1.1.1/scripts/sync_version.py +148 -0
- tree_sitter_analyzer-1.1.1/scripts/sync_version_minimal.py +140 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/__init__.py +1 -1
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/mcp/__init__.py +1 -1
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/mcp/resources/__init__.py +0 -1
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/mcp/tools/__init__.py +0 -2
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/mcp/utils/__init__.py +0 -1
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/uv.lock +2 -2
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/.gitignore +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/.kiro/steering/product.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/.kiro/steering/structure.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/.kiro/steering/tech.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/.pre-commit-config.yaml +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/AI_COLLABORATION_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/CODE_STYLE_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/CONTRIBUTING.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/DEPLOYMENT_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/GITFLOW.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/GITFLOW_ja.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/GITFLOW_zh.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/LANGUAGE_GUIDELINES.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/LLM_CODING_GUIDELINES.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/MCP_SETUP_DEVELOPERS.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/MCP_SETUP_USERS.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/PROJECT_ROOT_CONFIG.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/PYPI_RELEASE_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/build_standalone.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/check_quality.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/docs/api.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/examples/BigService.java +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/examples/BigService.json +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/examples/BigService.summary.json +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/examples/JavaDocTest.java +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/examples/MultiClass.java +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/examples/Sample.java +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/examples/calculate_token_comparison.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/examples/project_root_demo.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/examples/sample.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/examples/security_demo.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/examples/security_integration_demo.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/llm_code_checker.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/pypirc_example.txt +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/pytest.ini +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/scripts/automated_release.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/scripts/gitflow_helper.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/scripts/improved_readme_updater.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/scripts/readme_config.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/start_mcp_server.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/training/01_onboarding.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/training/02_architecture_map.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/training/03_cli_cheatsheet.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/training/04_mcp_cheatsheet.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/training/05_plugin_tutorial.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/training/06_quality_workflow.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/training/07_troubleshooting.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/training/08_prompt_library.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/training/09_tasks.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/training/10_glossary.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/training/11_takeover_plan.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/training/CLI_COMMAND_CORRECTIONS.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/training/IMPROVEMENT_SUMMARY.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/training/README.md +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/__main__.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/api.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/cli/__init__.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/cli/__main__.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/cli/commands/__init__.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/cli/commands/advanced_command.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/cli/commands/base_command.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/cli/commands/default_command.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/cli/commands/partial_read_command.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/cli/commands/query_command.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/cli/commands/structure_command.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/cli/commands/summary_command.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/cli/commands/table_command.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/cli/info_commands.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/cli_main.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/core/__init__.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/core/analysis_engine.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/core/cache_service.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/core/engine.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/core/parser.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/core/query.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/core/query_filter.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/core/query_service.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/encoding_utils.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/exceptions.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/file_handler.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/formatters/__init__.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/formatters/base_formatter.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/formatters/formatter_factory.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/formatters/java_formatter.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/formatters/python_formatter.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/interfaces/__init__.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/interfaces/cli.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/interfaces/cli_adapter.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/interfaces/mcp_adapter.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/interfaces/mcp_server.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/language_detector.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/language_loader.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/languages/__init__.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/languages/java_plugin.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/languages/javascript_plugin.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/languages/python_plugin.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/mcp/resources/code_file_resource.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/mcp/resources/project_stats_resource.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/mcp/server.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/mcp/tools/base_tool.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/mcp/tools/query_tool.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/mcp/tools/read_partial_tool.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/mcp/tools/table_format_tool.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/mcp/utils/error_handler.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/mcp/utils/path_resolver.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/models.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/output_manager.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/plugins/__init__.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/plugins/base.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/plugins/manager.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/project_detector.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/queries/__init__.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/queries/java.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/queries/javascript.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/queries/python.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/queries/typescript.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/query_loader.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/security/__init__.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/security/boundary_manager.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/security/regex_checker.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/security/validator.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/table_formatter.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/tree_sitter_analyzer/utils.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/upload_interactive.py +0 -0
- {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.1}/upload_to_pypi.py +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Pre-commit hooks configuration
|
|
2
|
+
# This file defines additional hooks beyond the standard ones
|
|
3
|
+
|
|
4
|
+
# Version consistency check
|
|
5
|
+
- id: check-version-consistency
|
|
6
|
+
name: Check version consistency across all files
|
|
7
|
+
entry: python scripts/sync_version.py --check
|
|
8
|
+
language: python
|
|
9
|
+
files: ^(pyproject\.toml|tree_sitter_analyzer/.*/__init__\.py)$
|
|
10
|
+
pass_filenames: false
|
|
11
|
+
always_run: true
|
|
12
|
+
stages: [commit, push]
|
|
13
|
+
description: "Ensure version numbers are consistent across all __init__.py files"
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.1.1] - 2025-08-24
|
|
4
|
+
|
|
5
|
+
### Release: v1.1.1
|
|
6
|
+
|
|
7
|
+
- Fixed duplicate version release issue
|
|
8
|
+
- Cleaned up CHANGELOG.md
|
|
9
|
+
- Enhanced GitFlow automation scripts
|
|
10
|
+
- Improved encoding handling in automation scripts
|
|
11
|
+
- Implemented minimal version management (only essential files)
|
|
12
|
+
- Removed unnecessary version information from submodules
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
3
16
|
## [1.1.0] - 2025-08-24
|
|
4
17
|
|
|
5
18
|
### 🚀 Major Release: GitFlow CI/CD Restructuring & Enhanced Automation
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tree-sitter-analyzer
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.1
|
|
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
|
|
@@ -164,10 +164,10 @@ Description-Content-Type: text/markdown
|
|
|
164
164
|
[](https://python.org)
|
|
165
165
|
[](LICENSE)
|
|
166
166
|
[](#quality-assurance)
|
|
167
|
-
[](#quality-assurance)
|
|
168
168
|
[](#quality-assurance)
|
|
169
169
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
170
|
-
[](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
|
|
171
171
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
172
172
|
|
|
173
173
|
## 🚀 Break Through LLM Token Limits, Let AI Understand Code Files of Any Size
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
[](https://python.org)
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
[](#quality-assurance)
|
|
6
|
-
[](#quality-assurance)
|
|
7
7
|
[](#quality-assurance)
|
|
8
8
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
9
|
-
[](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
|
|
10
10
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
11
11
|
|
|
12
12
|
## 🚀 Break Through LLM Token Limits, Let AI Understand Code Files of Any Size
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
[](https://python.org)
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
[](#品質保証)
|
|
6
|
-
[](#品質保証)
|
|
7
7
|
[](#品質保証)
|
|
8
8
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
9
|
-
[](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
|
|
10
10
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
11
11
|
|
|
12
12
|
## 🚀 LLMトークン制限を突破し、AIにあらゆるサイズのコードファイルを理解させる
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
[](https://python.org)
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
[](#质量保证)
|
|
6
|
-
[](#质量保证)
|
|
7
7
|
[](#质量保证)
|
|
8
8
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
9
|
-
[](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
|
|
10
10
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
11
11
|
|
|
12
12
|
## 🚀 突破LLM token限制,让AI理解任意大小的代码文件
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
# GitFlow 最佳实践指南
|
|
2
|
+
|
|
3
|
+
## 🎯 **概述**
|
|
4
|
+
|
|
5
|
+
本文档详细说明了 `tree-sitter-analyzer` 项目中 GitFlow 分支策略的最佳实践,包括自动化脚本、流程优化和常见问题解决方案。
|
|
6
|
+
|
|
7
|
+
## 🚀 **优化后的 GitFlow 流程**
|
|
8
|
+
|
|
9
|
+
### **流程图**
|
|
10
|
+
|
|
11
|
+
```mermaid
|
|
12
|
+
graph TD
|
|
13
|
+
A[开始] --> B[检查前置条件]
|
|
14
|
+
B --> C{前置条件满足?}
|
|
15
|
+
C -->|否| D[修复问题]
|
|
16
|
+
D --> B
|
|
17
|
+
C -->|是| E[同步 README 统计]
|
|
18
|
+
E --> F[运行测试]
|
|
19
|
+
F --> G{测试通过?}
|
|
20
|
+
G -->|否| H[修复测试]
|
|
21
|
+
H --> F
|
|
22
|
+
G -->|是| I[创建 Release 分支]
|
|
23
|
+
I --> J[更新版本和文档]
|
|
24
|
+
J --> K[推送 Release 分支]
|
|
25
|
+
K --> L[等待 CI/CD 完成]
|
|
26
|
+
L --> M{CI/CD 成功?}
|
|
27
|
+
M -->|否| N[修复问题]
|
|
28
|
+
N --> K
|
|
29
|
+
M -->|是| O[合并到 Main]
|
|
30
|
+
O --> P[合并回 Develop]
|
|
31
|
+
P --> Q[清理 Release 分支]
|
|
32
|
+
Q --> R[完成]
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### **阶段详解**
|
|
36
|
+
|
|
37
|
+
#### **阶段 1: 准备阶段 (Preparation)**
|
|
38
|
+
|
|
39
|
+
**目标**: 确保所有前置条件满足
|
|
40
|
+
|
|
41
|
+
**检查项目**:
|
|
42
|
+
- ✅ 当前在 `develop` 分支
|
|
43
|
+
- ✅ 工作目录干净(无未提交更改)
|
|
44
|
+
- ✅ 本地 `develop` 与远程同步
|
|
45
|
+
- ✅ 所有测试通过
|
|
46
|
+
|
|
47
|
+
**执行命令**:
|
|
48
|
+
```bash
|
|
49
|
+
# 检查当前分支
|
|
50
|
+
git branch --show-current
|
|
51
|
+
|
|
52
|
+
# 检查工作目录状态
|
|
53
|
+
git status --porcelain
|
|
54
|
+
|
|
55
|
+
# 同步远程更改
|
|
56
|
+
git fetch origin
|
|
57
|
+
git pull origin develop
|
|
58
|
+
|
|
59
|
+
# 运行测试
|
|
60
|
+
uv run pytest tests/ -v
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### **阶段 2: README 统计同步**
|
|
64
|
+
|
|
65
|
+
**目标**: 确保所有 README 文件统计信息一致
|
|
66
|
+
|
|
67
|
+
**执行步骤**:
|
|
68
|
+
1. 运行 README 更新脚本
|
|
69
|
+
2. 检查是否有更改
|
|
70
|
+
3. 如果有更改,提交并推送
|
|
71
|
+
|
|
72
|
+
**执行命令**:
|
|
73
|
+
```bash
|
|
74
|
+
# 运行 README 更新脚本
|
|
75
|
+
uv run python scripts/improved_readme_updater.py
|
|
76
|
+
|
|
77
|
+
# 检查更改
|
|
78
|
+
git status
|
|
79
|
+
|
|
80
|
+
# 提交更改(如果有)
|
|
81
|
+
git add README.md README_zh.md README_ja.md
|
|
82
|
+
git commit -m "docs: Sync README statistics before release"
|
|
83
|
+
git push origin develop
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
#### **阶段 3: Release 分支创建**
|
|
87
|
+
|
|
88
|
+
**目标**: 创建并准备 release 分支
|
|
89
|
+
|
|
90
|
+
**执行步骤**:
|
|
91
|
+
1. 从 `develop` 创建 release 分支
|
|
92
|
+
2. 更新 `pyproject.toml` 中的版本号
|
|
93
|
+
3. 更新 `CHANGELOG.md`
|
|
94
|
+
4. 提交更改
|
|
95
|
+
|
|
96
|
+
**执行命令**:
|
|
97
|
+
```bash
|
|
98
|
+
# 创建 release 分支
|
|
99
|
+
git checkout -b release/v1.1.0
|
|
100
|
+
|
|
101
|
+
# 更新版本号(手动编辑 pyproject.toml)
|
|
102
|
+
# version = "1.1.0"
|
|
103
|
+
|
|
104
|
+
# 更新 CHANGELOG.md(手动添加新版本条目)
|
|
105
|
+
|
|
106
|
+
# 提交更改
|
|
107
|
+
git add pyproject.toml CHANGELOG.md
|
|
108
|
+
git commit -m "chore: Prepare release v1.1.0"
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
#### **阶段 4: CI/CD 触发**
|
|
112
|
+
|
|
113
|
+
**目标**: 推送 release 分支触发自动化流程
|
|
114
|
+
|
|
115
|
+
**执行步骤**:
|
|
116
|
+
1. 推送 release 分支
|
|
117
|
+
2. 监控 GitHub Actions 执行状态
|
|
118
|
+
|
|
119
|
+
**执行命令**:
|
|
120
|
+
```bash
|
|
121
|
+
# 推送 release 分支
|
|
122
|
+
git push origin release/v1.1.0
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**监控的 CI/CD 任务**:
|
|
126
|
+
- `test` - 运行所有测试
|
|
127
|
+
- `build-and-deploy` - 构建包并部署到 PyPI
|
|
128
|
+
- `create-main-pr` - 创建到 main 分支的 PR
|
|
129
|
+
|
|
130
|
+
#### **阶段 5: 合并流程**
|
|
131
|
+
|
|
132
|
+
**目标**: 完成 release 分支到 main 和 develop 的合并
|
|
133
|
+
|
|
134
|
+
**执行步骤**:
|
|
135
|
+
1. 等待 CI/CD 完成
|
|
136
|
+
2. 合并到 main 分支
|
|
137
|
+
3. 打版本标签
|
|
138
|
+
4. 合并回 develop 分支
|
|
139
|
+
|
|
140
|
+
**执行命令**:
|
|
141
|
+
```bash
|
|
142
|
+
# 切换到 main 分支
|
|
143
|
+
git checkout main
|
|
144
|
+
git pull origin main
|
|
145
|
+
|
|
146
|
+
# 合并 release 分支
|
|
147
|
+
git merge release/v1.1.0
|
|
148
|
+
|
|
149
|
+
# 打标签
|
|
150
|
+
git tag -a v1.1.0 -m "Release v1.1.0"
|
|
151
|
+
|
|
152
|
+
# 推送 main 和标签
|
|
153
|
+
git push origin main
|
|
154
|
+
git push origin --tags
|
|
155
|
+
|
|
156
|
+
# 切换到 develop 分支
|
|
157
|
+
git checkout develop
|
|
158
|
+
|
|
159
|
+
# 合并 release 分支
|
|
160
|
+
git merge release/v1.1.0
|
|
161
|
+
|
|
162
|
+
# 推送 develop
|
|
163
|
+
git push origin develop
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
#### **阶段 6: 清理**
|
|
167
|
+
|
|
168
|
+
**目标**: 清理 release 分支
|
|
169
|
+
|
|
170
|
+
**执行命令**:
|
|
171
|
+
```bash
|
|
172
|
+
# 删除本地 release 分支
|
|
173
|
+
git branch -d release/v1.1.0
|
|
174
|
+
|
|
175
|
+
# 删除远程 release 分支
|
|
176
|
+
git push origin --delete release/v1.1.0
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## 🛠️ **自动化脚本使用**
|
|
180
|
+
|
|
181
|
+
### **完整自动化流程**
|
|
182
|
+
|
|
183
|
+
使用我们创建的自动化脚本可以一键完成整个流程:
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
# 运行完整的 GitFlow release 流程
|
|
187
|
+
python scripts/gitflow_release_automation.py --version v1.1.0
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### **脚本功能**
|
|
191
|
+
|
|
192
|
+
- ✅ 自动检查前置条件
|
|
193
|
+
- ✅ 自动同步 README 统计
|
|
194
|
+
- ✅ 自动运行测试
|
|
195
|
+
- ✅ 自动创建和准备 release 分支
|
|
196
|
+
- ✅ 自动推送触发 CI/CD
|
|
197
|
+
- ✅ 提供完成后的手动步骤指导
|
|
198
|
+
|
|
199
|
+
## 🔧 **常见问题解决方案**
|
|
200
|
+
|
|
201
|
+
### **问题 1: README 统计检查失败**
|
|
202
|
+
|
|
203
|
+
**症状**: CI 中 "Validate final README content" 失败
|
|
204
|
+
|
|
205
|
+
**原因**: README 文件中的统计信息与实际项目状态不一致
|
|
206
|
+
|
|
207
|
+
**解决方案**:
|
|
208
|
+
```bash
|
|
209
|
+
# 运行 README 更新脚本
|
|
210
|
+
uv run python scripts/improved_readme_updater.py
|
|
211
|
+
|
|
212
|
+
# 检查更改
|
|
213
|
+
git status
|
|
214
|
+
|
|
215
|
+
# 提交更改
|
|
216
|
+
git add README.md README_zh.md README_ja.md
|
|
217
|
+
git commit -m "docs: Fix README statistics"
|
|
218
|
+
git push origin develop
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### **问题 2: 版本号不一致**
|
|
222
|
+
|
|
223
|
+
**症状**: README 中显示的版本号与实际版本不符
|
|
224
|
+
|
|
225
|
+
**解决方案**:
|
|
226
|
+
```bash
|
|
227
|
+
# 检查当前版本
|
|
228
|
+
grep 'version = ' pyproject.toml
|
|
229
|
+
|
|
230
|
+
# 更新所有 README 文件中的版本号
|
|
231
|
+
# 搜索并替换 version-1.0.0 为 version-1.1.0
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### **问题 3: CI/CD 失败**
|
|
235
|
+
|
|
236
|
+
**症状**: GitHub Actions 中的某个任务失败
|
|
237
|
+
|
|
238
|
+
**解决方案**:
|
|
239
|
+
1. 查看失败任务的日志
|
|
240
|
+
2. 修复问题
|
|
241
|
+
3. 重新推送 release 分支
|
|
242
|
+
|
|
243
|
+
## 📋 **检查清单**
|
|
244
|
+
|
|
245
|
+
### **Release 前检查**
|
|
246
|
+
|
|
247
|
+
- [ ] 当前在 `develop` 分支
|
|
248
|
+
- [ ] 工作目录干净
|
|
249
|
+
- [ ] 本地与远程同步
|
|
250
|
+
- [ ] 所有测试通过
|
|
251
|
+
- [ ] README 统计信息一致
|
|
252
|
+
|
|
253
|
+
### **Release 中检查**
|
|
254
|
+
|
|
255
|
+
- [ ] Release 分支创建成功
|
|
256
|
+
- [ ] 版本号更新正确
|
|
257
|
+
- [ ] CHANGELOG 更新完整
|
|
258
|
+
- [ ] 推送成功
|
|
259
|
+
- [ ] CI/CD 开始执行
|
|
260
|
+
|
|
261
|
+
### **Release 后检查**
|
|
262
|
+
|
|
263
|
+
- [ ] CI/CD 全部通过
|
|
264
|
+
- [ ] PR 创建成功
|
|
265
|
+
- [ ] 合并到 main 成功
|
|
266
|
+
- [ ] 版本标签创建成功
|
|
267
|
+
- [ ] 合并回 develop 成功
|
|
268
|
+
- [ ] Release 分支清理完成
|
|
269
|
+
|
|
270
|
+
## 🎯 **最佳实践总结**
|
|
271
|
+
|
|
272
|
+
1. **自动化优先**: 使用自动化脚本减少人为错误
|
|
273
|
+
2. **分步验证**: 每个阶段完成后都要验证
|
|
274
|
+
3. **统计同步**: 确保 README 统计信息始终一致
|
|
275
|
+
4. **测试先行**: 在创建 release 分支前确保所有测试通过
|
|
276
|
+
5. **监控 CI/CD**: 密切关注自动化流程的执行状态
|
|
277
|
+
6. **文档更新**: 及时更新 CHANGELOG 和版本信息
|
|
278
|
+
7. **清理及时**: 完成后及时清理临时分支
|
|
279
|
+
|
|
280
|
+
## 📚 **相关文档**
|
|
281
|
+
|
|
282
|
+
- [GitFlow 分支策略](GITFLOW.md)
|
|
283
|
+
- [CI/CD 配置](../.github/workflows/)
|
|
284
|
+
- [README 更新脚本](../scripts/improved_readme_updater.py)
|
|
285
|
+
- [GitFlow 辅助脚本](../scripts/gitflow_helper.py)
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
*本文档旨在确保 GitFlow 流程的一致性和可靠性,遵循行业最佳实践。*
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
# Release 执行指南
|
|
2
|
+
|
|
3
|
+
## 🎯 **快速开始**
|
|
4
|
+
|
|
5
|
+
本指南提供完整的 release 流程执行步骤,包括问题诊断、修复和自动化执行。
|
|
6
|
+
|
|
7
|
+
## 🚀 **立即执行 - 修复当前问题**
|
|
8
|
+
|
|
9
|
+
### **步骤 1: 快速修复 README 问题**
|
|
10
|
+
|
|
11
|
+
由于当前 README 统计检查失败,我们先运行快速修复脚本:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# 运行快速修复脚本
|
|
15
|
+
python scripts/quick_fix_readme.py
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
这个脚本会:
|
|
19
|
+
- ✅ 自动修复版本号不一致问题
|
|
20
|
+
- ✅ 同步 README 统计信息
|
|
21
|
+
- ✅ 检查并提交更改
|
|
22
|
+
- ✅ 推送到 develop 分支
|
|
23
|
+
|
|
24
|
+
### **步骤 2: 验证修复结果**
|
|
25
|
+
|
|
26
|
+
修复完成后,检查 GitHub Actions 状态:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# 检查当前状态
|
|
30
|
+
git status
|
|
31
|
+
|
|
32
|
+
# 查看最近的提交
|
|
33
|
+
git log --oneline -5
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## 🔧 **完整 Release 流程执行**
|
|
37
|
+
|
|
38
|
+
### **选项 1: 使用自动化脚本(推荐)**
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# 一键执行完整流程
|
|
42
|
+
python scripts/gitflow_release_automation.py --version v1.1.0
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### **选项 2: 手动执行步骤**
|
|
46
|
+
|
|
47
|
+
#### **阶段 1: 准备和验证**
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# 1. 确保在 develop 分支
|
|
51
|
+
git checkout develop
|
|
52
|
+
git pull origin develop
|
|
53
|
+
|
|
54
|
+
# 2. 检查工作目录状态
|
|
55
|
+
git status
|
|
56
|
+
|
|
57
|
+
# 3. 运行测试
|
|
58
|
+
uv run pytest tests/ -v
|
|
59
|
+
|
|
60
|
+
# 4. 同步 README 统计
|
|
61
|
+
uv run python scripts/improved_readme_updater.py
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
#### **阶段 2: 创建 Release 分支**
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# 1. 创建 release 分支
|
|
68
|
+
git checkout -b release/v1.1.0
|
|
69
|
+
|
|
70
|
+
# 2. 更新版本号(如果需要)
|
|
71
|
+
# 编辑 pyproject.toml: version = "1.1.0"
|
|
72
|
+
|
|
73
|
+
# 3. 更新 CHANGELOG.md
|
|
74
|
+
# 添加新版本条目
|
|
75
|
+
|
|
76
|
+
# 4. 提交更改
|
|
77
|
+
git add pyproject.toml CHANGELOG.md
|
|
78
|
+
git commit -m "chore: Prepare release v1.1.0"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
#### **阶段 3: 推送和 CI/CD**
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# 1. 推送 release 分支
|
|
85
|
+
git push origin release/v1.1.0
|
|
86
|
+
|
|
87
|
+
# 2. 监控 GitHub Actions
|
|
88
|
+
# 访问: https://github.com/aimasteracc/tree-sitter-analyzer/actions
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
#### **阶段 4: 完成 Release**
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# 1. 等待 CI/CD 完成
|
|
95
|
+
# 2. 切换到 main 分支
|
|
96
|
+
git checkout main
|
|
97
|
+
git pull origin main
|
|
98
|
+
|
|
99
|
+
# 3. 合并 release 分支
|
|
100
|
+
git merge release/v1.1.0
|
|
101
|
+
|
|
102
|
+
# 4. 打标签
|
|
103
|
+
git tag -a v1.1.0 -m "Release v1.1.0"
|
|
104
|
+
|
|
105
|
+
# 5. 推送 main 和标签
|
|
106
|
+
git push origin main
|
|
107
|
+
git push origin --tags
|
|
108
|
+
|
|
109
|
+
# 6. 切换回 develop
|
|
110
|
+
git checkout develop
|
|
111
|
+
|
|
112
|
+
# 7. 合并 release 分支
|
|
113
|
+
git merge release/v1.1.0
|
|
114
|
+
git push origin develop
|
|
115
|
+
|
|
116
|
+
# 8. 清理 release 分支
|
|
117
|
+
git branch -d release/v1.1.0
|
|
118
|
+
git push origin --delete release/v1.1.0
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## 📋 **执行检查清单**
|
|
122
|
+
|
|
123
|
+
### **修复阶段**
|
|
124
|
+
- [ ] 运行快速修复脚本
|
|
125
|
+
- [ ] 验证 README 文件更新
|
|
126
|
+
- [ ] 检查 git 状态
|
|
127
|
+
- [ ] 提交并推送更改
|
|
128
|
+
|
|
129
|
+
### **Release 阶段**
|
|
130
|
+
- [ ] 创建 release 分支
|
|
131
|
+
- [ ] 更新版本和文档
|
|
132
|
+
- [ ] 推送触发 CI/CD
|
|
133
|
+
- [ ] 监控执行状态
|
|
134
|
+
|
|
135
|
+
### **完成阶段**
|
|
136
|
+
- [ ] CI/CD 全部通过
|
|
137
|
+
- [ ] 合并到 main 分支
|
|
138
|
+
- [ ] 创建版本标签
|
|
139
|
+
- [ ] 合并回 develop
|
|
140
|
+
- [ ] 清理临时分支
|
|
141
|
+
|
|
142
|
+
## 🔍 **问题诊断和解决**
|
|
143
|
+
|
|
144
|
+
### **问题 1: README 统计检查失败**
|
|
145
|
+
|
|
146
|
+
**症状**: `Validate final README content` 失败
|
|
147
|
+
|
|
148
|
+
**解决方案**:
|
|
149
|
+
```bash
|
|
150
|
+
# 运行快速修复脚本
|
|
151
|
+
python scripts/quick_fix_readme.py
|
|
152
|
+
|
|
153
|
+
# 或者手动修复
|
|
154
|
+
uv run python scripts/improved_readme_updater.py
|
|
155
|
+
git add README.md README_zh.md README_ja.md
|
|
156
|
+
git commit -m "fix: Sync README statistics"
|
|
157
|
+
git push origin develop
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### **问题 2: 版本号不一致**
|
|
161
|
+
|
|
162
|
+
**症状**: README 显示旧版本号
|
|
163
|
+
|
|
164
|
+
**解决方案**:
|
|
165
|
+
```bash
|
|
166
|
+
# 检查当前版本
|
|
167
|
+
grep 'version = ' pyproject.toml
|
|
168
|
+
|
|
169
|
+
# 修复 README 中的版本号
|
|
170
|
+
python scripts/quick_fix_readme.py
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### **问题 3: CI/CD 失败**
|
|
174
|
+
|
|
175
|
+
**症状**: GitHub Actions 任务失败
|
|
176
|
+
|
|
177
|
+
**解决方案**:
|
|
178
|
+
1. 查看失败任务日志
|
|
179
|
+
2. 修复问题
|
|
180
|
+
3. 重新推送 release 分支
|
|
181
|
+
|
|
182
|
+
## 📊 **监控和验证**
|
|
183
|
+
|
|
184
|
+
### **GitHub Actions 状态**
|
|
185
|
+
|
|
186
|
+
监控以下任务:
|
|
187
|
+
- ✅ `test` - 测试执行
|
|
188
|
+
- ✅ `build-and-deploy` - 构建和部署
|
|
189
|
+
- ✅ `create-main-pr` - 创建 PR
|
|
190
|
+
|
|
191
|
+
### **验证检查点**
|
|
192
|
+
|
|
193
|
+
1. **推送后**: 确认 CI/CD 开始执行
|
|
194
|
+
2. **测试阶段**: 确认所有测试通过
|
|
195
|
+
3. **构建阶段**: 确认包构建成功
|
|
196
|
+
4. **部署阶段**: 确认 PyPI 发布成功
|
|
197
|
+
5. **PR 创建**: 确认到 main 的 PR 创建成功
|
|
198
|
+
|
|
199
|
+
## 🎯 **最佳实践提示**
|
|
200
|
+
|
|
201
|
+
1. **自动化优先**: 使用提供的脚本减少人为错误
|
|
202
|
+
2. **分步验证**: 每个阶段完成后都要验证
|
|
203
|
+
3. **监控 CI/CD**: 密切关注自动化流程状态
|
|
204
|
+
4. **及时清理**: 完成后及时清理临时分支
|
|
205
|
+
5. **文档同步**: 确保所有文档保持同步
|
|
206
|
+
|
|
207
|
+
## 🚨 **紧急情况处理**
|
|
208
|
+
|
|
209
|
+
### **如果 release 分支有问题**
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
# 删除有问题的 release 分支
|
|
213
|
+
git checkout develop
|
|
214
|
+
git branch -D release/v1.1.0
|
|
215
|
+
git push origin --delete release/v1.1.0
|
|
216
|
+
|
|
217
|
+
# 重新开始流程
|
|
218
|
+
python scripts/gitflow_release_automation.py --version v1.1.0
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### **如果合并失败**
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
# 中止合并
|
|
225
|
+
git merge --abort
|
|
226
|
+
|
|
227
|
+
# 检查冲突
|
|
228
|
+
git status
|
|
229
|
+
|
|
230
|
+
# 解决冲突后重新合并
|
|
231
|
+
git merge release/v1.1.0
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
*本指南确保 release 流程的可靠性和一致性。如有问题,请参考 [GitFlow 最佳实践](GITFLOW_BEST_PRACTICES.md) 文档。*
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "tree-sitter-analyzer"
|
|
7
|
-
version = "1.1.
|
|
7
|
+
version = "1.1.1"
|
|
8
8
|
description = "Extensible multi-language code analyzer framework using Tree-sitter with dynamic plugin architecture"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|