tree-sitter-analyzer 1.1.0__tar.gz → 1.1.2__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 (147) hide show
  1. tree_sitter_analyzer-1.1.2/.pre-commit-hooks.yaml +13 -0
  2. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/AI_COLLABORATION_GUIDE.md +2 -2
  3. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/CHANGELOG.md +35 -0
  4. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/CONTRIBUTING.md +1 -1
  5. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/DEPLOYMENT_GUIDE.md +1 -1
  6. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/LLM_CODING_GUIDELINES.md +1 -1
  7. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/MCP_SETUP_DEVELOPERS.md +1 -1
  8. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/PKG-INFO +6 -6
  9. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/README.md +5 -5
  10. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/README_ja.md +4 -4
  11. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/README_zh.md +4 -4
  12. tree_sitter_analyzer-1.1.2/docs/GITFLOW_BEST_PRACTICES.md +289 -0
  13. tree_sitter_analyzer-1.1.2/docs/RELEASE_EXECUTION_GUIDE.md +236 -0
  14. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/pyproject.toml +1 -1
  15. tree_sitter_analyzer-1.1.2/scripts/README.md +117 -0
  16. tree_sitter_analyzer-1.1.2/scripts/gitflow_release_automation.py +364 -0
  17. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/scripts/readme_config.py +17 -2
  18. tree_sitter_analyzer-1.1.2/scripts/sync_version.py +194 -0
  19. tree_sitter_analyzer-1.1.2/scripts/sync_version_minimal.py +140 -0
  20. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/__init__.py +1 -1
  21. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/mcp/__init__.py +1 -1
  22. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/mcp/resources/__init__.py +0 -1
  23. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/mcp/tools/__init__.py +0 -2
  24. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/mcp/utils/__init__.py +0 -1
  25. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/uv.lock +2 -2
  26. tree_sitter_analyzer-1.1.0/scripts/automated_release.py +0 -251
  27. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/.gitignore +0 -0
  28. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/.kiro/steering/product.md +0 -0
  29. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/.kiro/steering/structure.md +0 -0
  30. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/.kiro/steering/tech.md +0 -0
  31. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/.pre-commit-config.yaml +0 -0
  32. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/CODE_STYLE_GUIDE.md +0 -0
  33. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/GITFLOW.md +0 -0
  34. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/GITFLOW_ja.md +0 -0
  35. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/GITFLOW_zh.md +0 -0
  36. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/LANGUAGE_GUIDELINES.md +0 -0
  37. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/MCP_SETUP_USERS.md +0 -0
  38. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/PROJECT_ROOT_CONFIG.md +0 -0
  39. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/PYPI_RELEASE_GUIDE.md +0 -0
  40. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/build_standalone.py +0 -0
  41. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/check_quality.py +0 -0
  42. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/docs/api.md +0 -0
  43. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/examples/BigService.java +0 -0
  44. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/examples/BigService.json +0 -0
  45. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/examples/BigService.summary.json +0 -0
  46. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/examples/JavaDocTest.java +0 -0
  47. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/examples/MultiClass.java +0 -0
  48. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/examples/Sample.java +0 -0
  49. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/examples/calculate_token_comparison.py +0 -0
  50. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/examples/project_root_demo.py +0 -0
  51. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/examples/sample.py +0 -0
  52. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/examples/security_demo.py +0 -0
  53. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/examples/security_integration_demo.py +0 -0
  54. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/llm_code_checker.py +0 -0
  55. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/pypirc_example.txt +0 -0
  56. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/pytest.ini +0 -0
  57. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/scripts/gitflow_helper.py +0 -0
  58. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/scripts/improved_readme_updater.py +0 -0
  59. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/start_mcp_server.py +0 -0
  60. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/training/01_onboarding.md +0 -0
  61. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/training/02_architecture_map.md +0 -0
  62. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/training/03_cli_cheatsheet.md +0 -0
  63. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/training/04_mcp_cheatsheet.md +0 -0
  64. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/training/05_plugin_tutorial.md +0 -0
  65. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/training/06_quality_workflow.md +0 -0
  66. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/training/07_troubleshooting.md +0 -0
  67. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/training/08_prompt_library.md +0 -0
  68. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/training/09_tasks.md +0 -0
  69. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/training/10_glossary.md +0 -0
  70. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/training/11_takeover_plan.md +0 -0
  71. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/training/CLI_COMMAND_CORRECTIONS.md +0 -0
  72. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/training/IMPROVEMENT_SUMMARY.md +0 -0
  73. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/training/README.md +0 -0
  74. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/__main__.py +0 -0
  75. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/api.py +0 -0
  76. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/cli/__init__.py +0 -0
  77. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/cli/__main__.py +0 -0
  78. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/cli/commands/__init__.py +0 -0
  79. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/cli/commands/advanced_command.py +0 -0
  80. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/cli/commands/base_command.py +0 -0
  81. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/cli/commands/default_command.py +0 -0
  82. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/cli/commands/partial_read_command.py +0 -0
  83. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/cli/commands/query_command.py +0 -0
  84. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/cli/commands/structure_command.py +0 -0
  85. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/cli/commands/summary_command.py +0 -0
  86. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/cli/commands/table_command.py +0 -0
  87. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/cli/info_commands.py +0 -0
  88. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/cli_main.py +0 -0
  89. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/core/__init__.py +0 -0
  90. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/core/analysis_engine.py +0 -0
  91. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/core/cache_service.py +0 -0
  92. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/core/engine.py +0 -0
  93. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/core/parser.py +0 -0
  94. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/core/query.py +0 -0
  95. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/core/query_filter.py +0 -0
  96. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/core/query_service.py +0 -0
  97. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/encoding_utils.py +0 -0
  98. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/exceptions.py +0 -0
  99. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/file_handler.py +0 -0
  100. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/formatters/__init__.py +0 -0
  101. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/formatters/base_formatter.py +0 -0
  102. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/formatters/formatter_factory.py +0 -0
  103. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/formatters/java_formatter.py +0 -0
  104. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/formatters/python_formatter.py +0 -0
  105. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/interfaces/__init__.py +0 -0
  106. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/interfaces/cli.py +0 -0
  107. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/interfaces/cli_adapter.py +0 -0
  108. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/interfaces/mcp_adapter.py +0 -0
  109. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/interfaces/mcp_server.py +0 -0
  110. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/language_detector.py +0 -0
  111. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/language_loader.py +0 -0
  112. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/languages/__init__.py +0 -0
  113. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/languages/java_plugin.py +0 -0
  114. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/languages/javascript_plugin.py +0 -0
  115. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/languages/python_plugin.py +0 -0
  116. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/mcp/resources/code_file_resource.py +0 -0
  117. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/mcp/resources/project_stats_resource.py +0 -0
  118. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/mcp/server.py +0 -0
  119. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +0 -0
  120. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py +0 -0
  121. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/mcp/tools/base_tool.py +0 -0
  122. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/mcp/tools/query_tool.py +0 -0
  123. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/mcp/tools/read_partial_tool.py +0 -0
  124. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/mcp/tools/table_format_tool.py +0 -0
  125. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +0 -0
  126. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/mcp/utils/error_handler.py +0 -0
  127. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/mcp/utils/path_resolver.py +0 -0
  128. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/models.py +0 -0
  129. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/output_manager.py +0 -0
  130. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/plugins/__init__.py +0 -0
  131. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/plugins/base.py +0 -0
  132. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/plugins/manager.py +0 -0
  133. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/project_detector.py +0 -0
  134. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/queries/__init__.py +0 -0
  135. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/queries/java.py +0 -0
  136. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/queries/javascript.py +0 -0
  137. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/queries/python.py +0 -0
  138. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/queries/typescript.py +0 -0
  139. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/query_loader.py +0 -0
  140. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/security/__init__.py +0 -0
  141. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/security/boundary_manager.py +0 -0
  142. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/security/regex_checker.py +0 -0
  143. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/security/validator.py +0 -0
  144. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/table_formatter.py +0 -0
  145. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/tree_sitter_analyzer/utils.py +0 -0
  146. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/upload_interactive.py +0 -0
  147. {tree_sitter_analyzer-1.1.0 → tree_sitter_analyzer-1.1.2}/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: uv run python scripts/sync_version.py --check
8
+ language: system
9
+ files: ^(pyproject\.toml|README.*\.md)$
10
+ pass_filenames: false
11
+ always_run: true
12
+ stages: [commit, push]
13
+ description: "Ensure version numbers are consistent across pyproject.toml and README files"
@@ -16,7 +16,7 @@ uv run python check_quality.py --new-code-only
16
16
  uv run python llm_code_checker.py --check-all
17
17
 
18
18
  # 3. Review test coverage
19
- uv run pytest tests/ --cov=tree_sitter_analyzer --cov-report=term-missing
19
+ uv run pytest tests/ --cov=tree_sitter_analyzer --cov-report=term-missing --cov-report=html
20
20
 
21
21
  # 4. Check current project structure
22
22
  find tree_sitter_analyzer -name "*.py" | head -20
@@ -206,7 +206,7 @@ AI-generated code should achieve:
206
206
 
207
207
  | Metric | Target | Command |
208
208
  |--------|--------|---------|
209
- | Test Coverage | ≥90% | `uv run pytest --cov=tree_sitter_analyzer` |
209
+ | Test Coverage | ≥74% | `uv run pytest tests/ --cov=tree_sitter_analyzer --cov-report=term-missing` |
210
210
  | Type Coverage | 100% | `uv run mypy tree_sitter_analyzer/` |
211
211
  | Linting Score | 0 errors | `uv run ruff check .` |
212
212
  | Security Score | 0 issues | `bandit -r tree_sitter_analyzer/` |
@@ -1,5 +1,40 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.1.2] - 2025-08-24
4
+
5
+ ### Release: v1.1.2
6
+
7
+ #### 🔧 Coverage Calculation Unification
8
+ - **Standardized coverage commands**: Unified pytest coverage commands across all documentation and CI workflows
9
+ - **Increased tolerance**: Set coverage tolerance to 0.5% to prevent CI failures from minor variations
10
+ - **Simplified configuration**: Streamlined coverage command in readme_config.py to avoid timeouts
11
+ - **Consistent reporting**: All environments now use `--cov-report=term-missing` for consistent output
12
+
13
+ #### 🧹 Branch Management
14
+ - **Cleaned up merged branches**: Removed obsolete feature and release branches following GitFlow best practices
15
+ - **Branch consistency**: Ensured all local branches align with GitFlow strategy
16
+ - **Documentation alignment**: Updated workflows to match current branch structure
17
+
18
+ #### 📚 Documentation Updates
19
+ - **Updated all README files**: Consistent coverage commands in README.md, README_zh.md, README_ja.md
20
+ - **CI workflow improvements**: Enhanced GitHub Actions workflows for better reliability
21
+ - **Developer guides**: Updated CONTRIBUTING.md, DEPLOYMENT_GUIDE.md, and MCP_SETUP_DEVELOPERS.md
22
+
23
+ ---
24
+
25
+ ## [1.1.1] - 2025-08-24
26
+
27
+ ### Release: v1.1.1
28
+
29
+ - Fixed duplicate version release issue
30
+ - Cleaned up CHANGELOG.md
31
+ - Enhanced GitFlow automation scripts
32
+ - Improved encoding handling in automation scripts
33
+ - Implemented minimal version management (only essential files)
34
+ - Removed unnecessary version information from submodules
35
+
36
+ ---
37
+
3
38
  ## [1.1.0] - 2025-08-24
4
39
 
5
40
  ### 🚀 Major Release: GitFlow CI/CD Restructuring & Enhanced Automation
@@ -27,7 +27,7 @@ uv run python -c "import tree_sitter_analyzer; print('Setup OK')"
27
27
  uv run pytest tests/ -v
28
28
 
29
29
  # Run with coverage
30
- uv run pytest tests/ --cov=tree_sitter_analyzer
30
+ uv run pytest tests/ --cov=tree_sitter_analyzer --cov-report=term-missing
31
31
 
32
32
  # Run specific test file
33
33
  uv run pytest tests/test_mcp_tools.py -v
@@ -166,7 +166,7 @@ Before each release:
166
166
  2. **Quality Checks**
167
167
  - [ ] Run full test suite: `uv run pytest tests/ -v`
168
168
  - [ ] Check code quality: `uv run python check_quality.py`
169
- - [ ] Verify coverage: `uv run pytest tests/ --cov=tree_sitter_analyzer`
169
+ - [ ] Verify coverage: `uv run pytest tests/ --cov=tree_sitter_analyzer --cov-report=term-missing`
170
170
 
171
171
  3. **Build and Test**
172
172
  - [ ] Test build: `uv build`
@@ -558,7 +558,7 @@ uv run mypy tree_sitter_analyzer/
558
558
  uv run pytest tests/ -v
559
559
 
560
560
  # 5. Check coverage
561
- uv run pytest tests/ --cov=tree_sitter_analyzer --cov-report=html
561
+ uv run pytest tests/ --cov=tree_sitter_analyzer --cov-report=html --cov-report=term-missing
562
562
 
563
563
  # 6. Security scan
564
564
  uv run bandit -r tree_sitter_analyzer/
@@ -292,7 +292,7 @@ pytest tests/ -v
292
292
  pytest tests/test_mcp_tools.py -v
293
293
 
294
294
  # Run with coverage
295
- pytest tests/ --cov=tree_sitter_analyzer
295
+ uv run pytest tests/ --cov=tree_sitter_analyzer --cov-report=term-missing
296
296
  ```
297
297
 
298
298
  ### Integration Tests
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tree-sitter-analyzer
3
- Version: 1.1.0
3
+ Version: 1.1.2
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
  [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
165
165
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
166
166
  [![Tests](https://img.shields.io/badge/1504-brightgreen.svg)](#quality-assurance)
167
- [![Coverage](https://img.shields.io/badge/coverage-74.30%25-green.svg)](#quality-assurance)
167
+ [![Coverage](https://img.shields.io/badge/coverage-74.40%25-green.svg)](#quality-assurance)
168
168
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
169
169
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
170
- [![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
170
+ [![Version](https://img.shields.io/badge/version-1.1.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
171
171
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
172
172
 
173
173
  ## 🚀 Break Through LLM Token Limits, Let AI Understand Code Files of Any Size
@@ -582,12 +582,12 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
582
582
  ## 🏆 Quality Assurance
583
583
 
584
584
  ### 📊 **Quality Metrics**
585
- - **1,1504** - 100% pass rate ✅
585
+ - **1,504** - 100% pass rate ✅
586
586
  - **74.44% Code Coverage** - Industry-leading level
587
587
  - **Zero Test Failures** - Complete CI/CD ready
588
588
  - **Cross-platform Compatible** - Windows, macOS, Linux
589
589
 
590
- ### ⚡ **Latest Quality Achievements (v1.0.0)**
590
+ ### ⚡ **Latest Quality Achievements (v1.1.2)**
591
591
  - ✅ **Cross-Platform Path Compatibility** - Fixed Windows short path names and macOS symlink differences
592
592
  - ✅ **Windows Environment** - Implemented robust path normalization using Windows API
593
593
  - ✅ **macOS Environment** - Fixed `/var` vs `/private/var` symlink differences
@@ -600,7 +600,7 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
600
600
  uv run pytest tests/ -v
601
601
 
602
602
  # Generate coverage report
603
- uv run pytest tests/ --cov=tree_sitter_analyzer --cov-report=html
603
+ uv run pytest tests/ --cov=tree_sitter_analyzer --cov-report=html --cov-report=term-missing
604
604
 
605
605
  # Run specific tests
606
606
  uv run pytest tests/test_mcp_server_initialization.py -v
@@ -3,10 +3,10 @@
3
3
  [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
4
4
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
5
5
  [![Tests](https://img.shields.io/badge/1504-brightgreen.svg)](#quality-assurance)
6
- [![Coverage](https://img.shields.io/badge/coverage-74.30%25-green.svg)](#quality-assurance)
6
+ [![Coverage](https://img.shields.io/badge/coverage-74.40%25-green.svg)](#quality-assurance)
7
7
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
8
8
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
9
- [![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
9
+ [![Version](https://img.shields.io/badge/version-1.1.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
10
10
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
11
11
 
12
12
  ## 🚀 Break Through LLM Token Limits, Let AI Understand Code Files of Any Size
@@ -421,12 +421,12 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
421
421
  ## 🏆 Quality Assurance
422
422
 
423
423
  ### 📊 **Quality Metrics**
424
- - **1,1504** - 100% pass rate ✅
424
+ - **1,504** - 100% pass rate ✅
425
425
  - **74.44% Code Coverage** - Industry-leading level
426
426
  - **Zero Test Failures** - Complete CI/CD ready
427
427
  - **Cross-platform Compatible** - Windows, macOS, Linux
428
428
 
429
- ### ⚡ **Latest Quality Achievements (v1.0.0)**
429
+ ### ⚡ **Latest Quality Achievements (v1.1.2)**
430
430
  - ✅ **Cross-Platform Path Compatibility** - Fixed Windows short path names and macOS symlink differences
431
431
  - ✅ **Windows Environment** - Implemented robust path normalization using Windows API
432
432
  - ✅ **macOS Environment** - Fixed `/var` vs `/private/var` symlink differences
@@ -439,7 +439,7 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
439
439
  uv run pytest tests/ -v
440
440
 
441
441
  # Generate coverage report
442
- uv run pytest tests/ --cov=tree_sitter_analyzer --cov-report=html
442
+ uv run pytest tests/ --cov=tree_sitter_analyzer --cov-report=html --cov-report=term-missing
443
443
 
444
444
  # Run specific tests
445
445
  uv run pytest tests/test_mcp_server_initialization.py -v
@@ -3,10 +3,10 @@
3
3
  [![Pythonバージョン](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
4
4
  [![ライセンス](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
5
5
  [![テスト](https://img.shields.io/badge/1504-brightgreen.svg)](#品質保証)
6
- [![カバレッジ](https://img.shields.io/badge/coverage-74.30%25-green.svg)](#品質保証)
6
+ [![カバレッジ](https://img.shields.io/badge/coverage-74.40%25-green.svg)](#品質保証)
7
7
  [![品質](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#品質保証)
8
8
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
9
- [![バージョン](https://img.shields.io/badge/version-1.0.0-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
9
+ [![バージョン](https://img.shields.io/badge/version-1.1.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
10
10
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
11
11
 
12
12
  ## 🚀 LLMトークン制限を突破し、AIにあらゆるサイズのコードファイルを理解させる
@@ -426,7 +426,7 @@ Tree-sitter Analyzerは自動的にプロジェクト境界を検出・保護:
426
426
  - **ゼロテスト失敗** - 完全なCI/CD対応
427
427
  - **クロスプラットフォーム対応** - Windows、macOS、Linux
428
428
 
429
- ### ⚡ **最新の品質成果(v1.0.0)**
429
+ ### ⚡ **最新の品質成果(v1.1.2)**
430
430
  - ✅ **クロスプラットフォームパス互換性** - Windows短パス名とmacOSシンボリックリンクの違いを修正
431
431
  - ✅ **Windows環境** - Windows APIを使用した堅牢なパス正規化を実装
432
432
  - ✅ **macOS環境** - `/var`と`/private/var`シンボリックリンクの違いを修正
@@ -439,7 +439,7 @@ Tree-sitter Analyzerは自動的にプロジェクト境界を検出・保護:
439
439
  uv run pytest tests/ -v
440
440
 
441
441
  # カバレッジレポート生成
442
- uv run pytest tests/ --cov=tree_sitter_analyzer --cov-report=html
442
+ uv run pytest tests/ --cov=tree_sitter_analyzer --cov-report=html --cov-report=term-missing
443
443
 
444
444
  # 特定のテストを実行
445
445
  uv run pytest tests/test_mcp_server_initialization.py -v
@@ -3,10 +3,10 @@
3
3
  [![Python版本](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
4
4
  [![许可证](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
5
5
  [![测试](https://img.shields.io/badge/1504-brightgreen.svg)](#质量保证)
6
- [![覆盖率](https://img.shields.io/badge/coverage-74.30%25-green.svg)](#质量保证)
6
+ [![覆盖率](https://img.shields.io/badge/coverage-74.40%25-green.svg)](#质量保证)
7
7
  [![质量](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#质量保证)
8
8
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
9
- [![版本](https://img.shields.io/badge/version-1.0.0-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
9
+ [![版本](https://img.shields.io/badge/version-1.1.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
10
10
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
11
11
 
12
12
  ## 🚀 突破LLM token限制,让AI理解任意大小的代码文件
@@ -426,7 +426,7 @@ Tree-sitter Analyzer自动检测和保护项目边界:
426
426
  - **零测试失败** - 完全CI/CD就绪
427
427
  - **跨平台兼容** - Windows、macOS、Linux
428
428
 
429
- ### ⚡ **最新质量成就(v1.0.0)**
429
+ ### ⚡ **最新质量成就(v1.1.2)**
430
430
  - ✅ **跨平台路径兼容性** - 修复Windows短路径名称和macOS符号链接差异
431
431
  - ✅ **Windows环境** - 使用Windows API实现稳健的路径标准化
432
432
  - ✅ **macOS环境** - 修复`/var`与`/private/var`符号链接差异
@@ -439,7 +439,7 @@ Tree-sitter Analyzer自动检测和保护项目边界:
439
439
  uv run pytest tests/ -v
440
440
 
441
441
  # 生成覆盖率报告
442
- uv run pytest tests/ --cov=tree_sitter_analyzer --cov-report=html
442
+ uv run pytest tests/ --cov=tree_sitter_analyzer --cov-report=html --cov-report=term-missing
443
443
 
444
444
  # 运行特定测试
445
445
  uv run pytest tests/test_mcp_server_initialization.py -v
@@ -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 流程的一致性和可靠性,遵循行业最佳实践。*