@ngocsangairvds/vsaf 3.1.27 → 3.2.1

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.
Files changed (303) hide show
  1. package/package.json +2 -2
  2. package/src/global.js +70 -10
  3. package/tools/skills/vds-scripts-skill/.openskills.json +6 -0
  4. package/tools/skills/vds-scripts-skill/QUALITY.md +44 -0
  5. package/tools/skills/vds-scripts-skill/SKILL.md +135 -0
  6. package/tools/skills/vds-scripts-skill/references/audit-commands.md +171 -0
  7. package/tools/skills/vds-scripts-skill/references/capability-index.md +34 -0
  8. package/tools/skills/vds-scripts-skill/references/development-commands.md +12 -0
  9. package/tools/skills/vds-scripts-skill/references/google-sheets.md +73 -0
  10. package/tools/skills/vds-scripts-skill/references/integration-commands.md +17 -0
  11. package/tools/skills/vds-scripts-skill/references/platform-bootstrap.md +31 -0
  12. package/tools/skills/vds-scripts-skill/references/specialist-routing.md +14 -0
  13. package/tools/skills/vds-scripts-skill/references/validation-commands.md +15 -0
  14. package/tools/skills/vsaf-build/SKILL.md +32 -2
  15. package/tools/skills/vsaf-ship/SKILL.md +41 -10
  16. package/tools/skills/vsaf-test/SKILL.md +8 -0
  17. package/tools/vds-scripts/.mcp.json +11 -0
  18. package/tools/vds-scripts/.secrets.baseline +133 -0
  19. package/tools/vds-scripts/AGENTS.md +152 -0
  20. package/tools/vds-scripts/CLAUDE.md +101 -0
  21. package/tools/vds-scripts/CLI_COMMAND_OPTIMIZATION.md +156 -0
  22. package/tools/vds-scripts/PACKAGE_P125B_IMPLEMENTATION_SUMMARY.md +131 -0
  23. package/tools/vds-scripts/PROJECT_COMPLETION_SUMMARY.md +45 -0
  24. package/tools/vds-scripts/README.md +97 -0
  25. package/tools/vds-scripts/bitbucket_manifest_mapping.toml +34 -0
  26. package/tools/vds-scripts/bitbucket_orchestrator/ARCHITECTURE_ANALYSIS.md +258 -0
  27. package/tools/vds-scripts/bitbucket_orchestrator/BITBUCKET_API_PRACTICES.md +393 -0
  28. package/tools/vds-scripts/bitbucket_orchestrator/EVALUATION_REPORT.md +61 -0
  29. package/tools/vds-scripts/bitbucket_orchestrator/FEATURES.md +908 -0
  30. package/tools/vds-scripts/bitbucket_orchestrator/README.md +687 -0
  31. package/tools/vds-scripts/bitbucket_orchestrator/pyproject.toml +40 -0
  32. package/tools/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/__init__.py +20 -0
  33. package/tools/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/async_client.py +657 -0
  34. package/tools/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/cli.py +2108 -0
  35. package/tools/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/client.py +2534 -0
  36. package/tools/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/config.py +171 -0
  37. package/tools/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/errors.py +67 -0
  38. package/tools/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/factory.py +185 -0
  39. package/tools/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/protocols.py +244 -0
  40. package/tools/vds-scripts/bitbucket_orchestrator/tests/__init__.py +8 -0
  41. package/tools/vds-scripts/bitbucket_orchestrator/tests/conftest.py +65 -0
  42. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_advanced_search.py +151 -0
  43. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_async_client.py +546 -0
  44. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_branch_permissions.py +145 -0
  45. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_cli.py +115 -0
  46. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_client.py +157 -0
  47. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_client_branch_conditions.py +79 -0
  48. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_client_code_advanced.py +163 -0
  49. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_client_code_file.py +32 -0
  50. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_client_deployment_environments.py +194 -0
  51. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_client_issues.py +164 -0
  52. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_client_pipelines_advanced.py +179 -0
  53. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_client_pr_blockers.py +119 -0
  54. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_client_repository_variables.py +156 -0
  55. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_code.py +98 -0
  56. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_code_advanced.py +282 -0
  57. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_code_insights.py +335 -0
  58. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_conditions.py +147 -0
  59. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_config.py +131 -0
  60. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_deployment_env.py +352 -0
  61. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_factory.py +371 -0
  62. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_fork_operations.py +204 -0
  63. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_issue_cli.py +261 -0
  64. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_pipeline_advanced.py +270 -0
  65. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_pr_blocker.py +204 -0
  66. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_protocols.py +334 -0
  67. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_repo_settings.py +343 -0
  68. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_repo_variables.py +270 -0
  69. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_webhooks.py +189 -0
  70. package/tools/vds-scripts/bitbucket_orchestrator/tests/test_workspace.py +233 -0
  71. package/tools/vds-scripts/bitbucket_orchestrator/uv.lock +742 -0
  72. package/tools/vds-scripts/confluence_orchestrator/Dockerfile +19 -0
  73. package/tools/vds-scripts/confluence_orchestrator/README.md +412 -0
  74. package/tools/vds-scripts/confluence_orchestrator/SYNC_SCRIPTS.md +127 -0
  75. package/tools/vds-scripts/confluence_orchestrator/SYNC_STANDARDIZATION.md +108 -0
  76. package/tools/vds-scripts/confluence_orchestrator/pyproject.toml +48 -0
  77. package/tools/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/__init__.py +20 -0
  78. package/tools/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/cli.py +2532 -0
  79. package/tools/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/config.py +175 -0
  80. package/tools/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/content.py +290 -0
  81. package/tools/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/content_v2.py +94 -0
  82. package/tools/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/crawl_tree.py +1835 -0
  83. package/tools/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/errors.py +80 -0
  84. package/tools/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/eventing.py +109 -0
  85. package/tools/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/http.py +1114 -0
  86. package/tools/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/orchestration.py +165 -0
  87. package/tools/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/reporting.py +78 -0
  88. package/tools/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/tree.py +121 -0
  89. package/tools/vds-scripts/confluence_orchestrator/sync_pdfs_from_markdown.py +213 -0
  90. package/tools/vds-scripts/confluence_orchestrator/sync_pdfs_to_confluence.py +305 -0
  91. package/tools/vds-scripts/confluence_orchestrator/sync_png_attachments.py +305 -0
  92. package/tools/vds-scripts/confluence_orchestrator/tests/__init__.py +0 -0
  93. package/tools/vds-scripts/confluence_orchestrator/tests/conftest.py +8 -0
  94. package/tools/vds-scripts/confluence_orchestrator/tests/test_advanced_content.py +224 -0
  95. package/tools/vds-scripts/confluence_orchestrator/tests/test_advanced_search.py +188 -0
  96. package/tools/vds-scripts/confluence_orchestrator/tests/test_cache_management.py +247 -0
  97. package/tools/vds-scripts/confluence_orchestrator/tests/test_cli.py +499 -0
  98. package/tools/vds-scripts/confluence_orchestrator/tests/test_config.py +83 -0
  99. package/tools/vds-scripts/confluence_orchestrator/tests/test_content.py +186 -0
  100. package/tools/vds-scripts/confluence_orchestrator/tests/test_content_flags.py +27 -0
  101. package/tools/vds-scripts/confluence_orchestrator/tests/test_crawl_tree.py +2250 -0
  102. package/tools/vds-scripts/confluence_orchestrator/tests/test_draft_management.py +223 -0
  103. package/tools/vds-scripts/confluence_orchestrator/tests/test_eventing.py +71 -0
  104. package/tools/vds-scripts/confluence_orchestrator/tests/test_eventing_chaos.py +37 -0
  105. package/tools/vds-scripts/confluence_orchestrator/tests/test_eventing_rate_limit.py +44 -0
  106. package/tools/vds-scripts/confluence_orchestrator/tests/test_eventing_timeout.py +49 -0
  107. package/tools/vds-scripts/confluence_orchestrator/tests/test_export.py +230 -0
  108. package/tools/vds-scripts/confluence_orchestrator/tests/test_history.py +204 -0
  109. package/tools/vds-scripts/confluence_orchestrator/tests/test_http.py +117 -0
  110. package/tools/vds-scripts/confluence_orchestrator/tests/test_orchestration.py +91 -0
  111. package/tools/vds-scripts/confluence_orchestrator/tests/test_reporting.py +24 -0
  112. package/tools/vds-scripts/confluence_orchestrator/tests/test_search_cql.py +34 -0
  113. package/tools/vds-scripts/confluence_orchestrator/tests/test_space_management.py +237 -0
  114. package/tools/vds-scripts/confluence_orchestrator/tests/test_space_permissions.py +332 -0
  115. package/tools/vds-scripts/confluence_orchestrator/tests/test_user_group_management.py +388 -0
  116. package/tools/vds-scripts/confluence_orchestrator/uv.lock +1023 -0
  117. package/tools/vds-scripts/git_orchestrator/ENHANCEMENT_SUMMARY.md +119 -0
  118. package/tools/vds-scripts/git_orchestrator/README.md +280 -0
  119. package/tools/vds-scripts/git_orchestrator/VERIFICATION_REPORT.md +152 -0
  120. package/tools/vds-scripts/git_orchestrator/pyproject.toml +35 -0
  121. package/tools/vds-scripts/git_orchestrator/src/vds_git_orchestrator/__init__.py +7 -0
  122. package/tools/vds-scripts/git_orchestrator/src/vds_git_orchestrator/__main__.py +4 -0
  123. package/tools/vds-scripts/git_orchestrator/src/vds_git_orchestrator/cli.py +847 -0
  124. package/tools/vds-scripts/git_orchestrator/src/vds_git_orchestrator/logging_config.py +63 -0
  125. package/tools/vds-scripts/git_orchestrator/src/vds_git_orchestrator/manifest.py +129 -0
  126. package/tools/vds-scripts/git_orchestrator/src/vds_git_orchestrator/orchestrator.py +819 -0
  127. package/tools/vds-scripts/git_orchestrator/src/vds_git_orchestrator/reporting.py +53 -0
  128. package/tools/vds-scripts/git_orchestrator/tests/__init__.py +0 -0
  129. package/tools/vds-scripts/git_orchestrator/tests/test_cli_settings.py +21 -0
  130. package/tools/vds-scripts/git_orchestrator/tests/test_integration.py +74 -0
  131. package/tools/vds-scripts/git_orchestrator/tests/test_manifest.py +79 -0
  132. package/tools/vds-scripts/git_orchestrator/tests/test_orchestrator.py +204 -0
  133. package/tools/vds-scripts/git_orchestrator/tests/test_public_api.py +236 -0
  134. package/tools/vds-scripts/git_orchestrator/tests/test_resilience.py +345 -0
  135. package/tools/vds-scripts/git_orchestrator/uv.lock +271 -0
  136. package/tools/vds-scripts/jira_orchestrator/README.md +770 -0
  137. package/tools/vds-scripts/jira_orchestrator/pyproject.toml +39 -0
  138. package/tools/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/__init__.py +1 -0
  139. package/tools/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/adapter.py +1320 -0
  140. package/tools/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/cli.py +2271 -0
  141. package/tools/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/config.py +138 -0
  142. package/tools/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/errors.py +67 -0
  143. package/tools/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/reporting.py +65 -0
  144. package/tools/vds-scripts/jira_orchestrator/tests/__init__.py +1 -0
  145. package/tools/vds-scripts/jira_orchestrator/tests/conftest.py +86 -0
  146. package/tools/vds-scripts/jira_orchestrator/tests/test_adapter_agile_list_payloads.py +54 -0
  147. package/tools/vds-scripts/jira_orchestrator/tests/test_adapter_bulk_operations.py +69 -0
  148. package/tools/vds-scripts/jira_orchestrator/tests/test_adapter_components.py +57 -0
  149. package/tools/vds-scripts/jira_orchestrator/tests/test_adapter_createmeta.py +45 -0
  150. package/tools/vds-scripts/jira_orchestrator/tests/test_adapter_dashboard.py +117 -0
  151. package/tools/vds-scripts/jira_orchestrator/tests/test_adapter_issue_properties.py +54 -0
  152. package/tools/vds-scripts/jira_orchestrator/tests/test_adapter_permissions_compat.py +42 -0
  153. package/tools/vds-scripts/jira_orchestrator/tests/test_adapter_reindex.py +42 -0
  154. package/tools/vds-scripts/jira_orchestrator/tests/test_adapter_remote_links.py +76 -0
  155. package/tools/vds-scripts/jira_orchestrator/tests/test_adapter_transitions.py +91 -0
  156. package/tools/vds-scripts/jira_orchestrator/tests/test_adapter_user_management.py +110 -0
  157. package/tools/vds-scripts/jira_orchestrator/tests/test_adapter_version_management.py +133 -0
  158. package/tools/vds-scripts/jira_orchestrator/tests/test_adapter_watchers.py +41 -0
  159. package/tools/vds-scripts/jira_orchestrator/tests/test_advanced_search.py +164 -0
  160. package/tools/vds-scripts/jira_orchestrator/tests/test_agile.py +256 -0
  161. package/tools/vds-scripts/jira_orchestrator/tests/test_application_properties.py +193 -0
  162. package/tools/vds-scripts/jira_orchestrator/tests/test_backlog.py +91 -0
  163. package/tools/vds-scripts/jira_orchestrator/tests/test_bulk_operations.py +277 -0
  164. package/tools/vds-scripts/jira_orchestrator/tests/test_cli.py +106 -0
  165. package/tools/vds-scripts/jira_orchestrator/tests/test_components.py +106 -0
  166. package/tools/vds-scripts/jira_orchestrator/tests/test_config.py +164 -0
  167. package/tools/vds-scripts/jira_orchestrator/tests/test_dashboard.py +122 -0
  168. package/tools/vds-scripts/jira_orchestrator/tests/test_discover_fields.py +207 -0
  169. package/tools/vds-scripts/jira_orchestrator/tests/test_filter_management.py +333 -0
  170. package/tools/vds-scripts/jira_orchestrator/tests/test_issue_archiving.py +164 -0
  171. package/tools/vds-scripts/jira_orchestrator/tests/test_issue_links.py +257 -0
  172. package/tools/vds-scripts/jira_orchestrator/tests/test_issue_properties.py +171 -0
  173. package/tools/vds-scripts/jira_orchestrator/tests/test_link_types.py +314 -0
  174. package/tools/vds-scripts/jira_orchestrator/tests/test_parse_set.py +37 -0
  175. package/tools/vds-scripts/jira_orchestrator/tests/test_permissions.py +273 -0
  176. package/tools/vds-scripts/jira_orchestrator/tests/test_reindex.py +81 -0
  177. package/tools/vds-scripts/jira_orchestrator/tests/test_remote_links.py +254 -0
  178. package/tools/vds-scripts/jira_orchestrator/tests/test_security_schemes.py +170 -0
  179. package/tools/vds-scripts/jira_orchestrator/tests/test_transitions_changelog.py +114 -0
  180. package/tools/vds-scripts/jira_orchestrator/tests/test_user_management.py +226 -0
  181. package/tools/vds-scripts/jira_orchestrator/tests/test_version_management.py +339 -0
  182. package/tools/vds-scripts/jira_orchestrator/tests/test_watchers.py +101 -0
  183. package/tools/vds-scripts/jira_orchestrator/tests/test_worklog.py +223 -0
  184. package/tools/vds-scripts/jira_orchestrator/uv.lock +738 -0
  185. package/tools/vds-scripts/mcp_server/Dockerfile +34 -0
  186. package/tools/vds-scripts/mcp_server/README.md +140 -0
  187. package/tools/vds-scripts/mcp_server/pyproject.toml +42 -0
  188. package/tools/vds-scripts/mcp_server/src/vds_mcp_server/__init__.py +4 -0
  189. package/tools/vds-scripts/mcp_server/src/vds_mcp_server/config.py +36 -0
  190. package/tools/vds-scripts/mcp_server/src/vds_mcp_server/server.py +66 -0
  191. package/tools/vds-scripts/mcp_server/src/vds_mcp_server/tools/__init__.py +14 -0
  192. package/tools/vds-scripts/mcp_server/src/vds_mcp_server/tools/bitbucket_tools.py +47 -0
  193. package/tools/vds-scripts/mcp_server/src/vds_mcp_server/tools/confluence_tools.py +59 -0
  194. package/tools/vds-scripts/mcp_server/src/vds_mcp_server/tools/git_tools.py +71 -0
  195. package/tools/vds-scripts/mcp_server/src/vds_mcp_server/tools/jira_tools.py +63 -0
  196. package/tools/vds-scripts/mcp_server/tests/__init__.py +2 -0
  197. package/tools/vds-scripts/mcp_server/tests/conftest.py +29 -0
  198. package/tools/vds-scripts/mcp_server/tests/unit/__init__.py +2 -0
  199. package/tools/vds-scripts/mcp_server/tests/unit/test_bitbucket_tools.py +25 -0
  200. package/tools/vds-scripts/mcp_server/tests/unit/test_confluence_tools.py +25 -0
  201. package/tools/vds-scripts/mcp_server/tests/unit/test_git_tools.py +32 -0
  202. package/tools/vds-scripts/mcp_server/tests/unit/test_jira_tools.py +32 -0
  203. package/tools/vds-scripts/mcp_server/tests/verification/__init__.py +2 -0
  204. package/tools/vds-scripts/mcp_server/tests/verification/test_mcp_confluence_tools.py +40 -0
  205. package/tools/vds-scripts/mcp_server/tests/verification/test_mcp_jira_tools.py +37 -0
  206. package/tools/vds-scripts/mcp_server/tests/verification/test_mcp_tool_registration.py +47 -0
  207. package/tools/vds-scripts/mcp_server/uv.lock +1032 -0
  208. package/tools/vds-scripts/mypy.ini +5 -0
  209. package/tools/vds-scripts/pyproject.toml +29 -0
  210. package/tools/vds-scripts/repo-manifest.yaml +273 -0
  211. package/tools/vds-scripts/repo-manifest.yaml.example +25 -0
  212. package/tools/vds-scripts/scripts/BRD-Validation-API.postman_collection.json +706 -0
  213. package/tools/vds-scripts/scripts/BRD-Validation-README.md +308 -0
  214. package/tools/vds-scripts/scripts/README.md +162 -0
  215. package/tools/vds-scripts/scripts/bootstrap_uv.sh +30 -0
  216. package/tools/vds-scripts/scripts/brd-validation-environment.json +51 -0
  217. package/tools/vds-scripts/scripts/brd-validation-test-results.json +13023 -0
  218. package/tools/vds-scripts/scripts/brd_coverage_report.json +276 -0
  219. package/tools/vds-scripts/scripts/create_memory_session.py +35 -0
  220. package/tools/vds-scripts/scripts/deployment/load_docker_images_offline.sh +90 -0
  221. package/tools/vds-scripts/scripts/final_completion_report.md +139 -0
  222. package/tools/vds-scripts/scripts/folder_structure_report.json +321 -0
  223. package/tools/vds-scripts/scripts/generate_completion_report.py +125 -0
  224. package/tools/vds-scripts/scripts/generate_intellij_modules.py +150 -0
  225. package/tools/vds-scripts/scripts/link_integrity_report.json +807 -0
  226. package/tools/vds-scripts/scripts/move_audit_artifact_pages.py +255 -0
  227. package/tools/vds-scripts/scripts/move_audit_artifact_pages_rest.py +165 -0
  228. package/tools/vds-scripts/scripts/move_wrong_dept_pages.py +216 -0
  229. package/tools/vds-scripts/scripts/save_intellij_memories.py +120 -0
  230. package/tools/vds-scripts/scripts/save_memories_to_vds_ai.py +83 -0
  231. package/tools/vds-scripts/scripts/save_memories_vds_style.py +129 -0
  232. package/tools/vds-scripts/scripts/search_intellij_memories.py +50 -0
  233. package/tools/vds-scripts/scripts/setup_intellij_workspace.py +65 -0
  234. package/tools/vds-scripts/scripts/target-state-automation/README.md +89 -0
  235. package/tools/vds-scripts/scripts/target-state-automation/confluence_sync_coordinator.sh +27 -0
  236. package/tools/vds-scripts/scripts/target-state-automation/coordination.sh +114 -0
  237. package/tools/vds-scripts/scripts/target-state-automation/diagram_coordinator.sh +25 -0
  238. package/tools/vds-scripts/scripts/target-state-automation/docs_root.sh +22 -0
  239. package/tools/vds-scripts/scripts/target-state-automation/generate_diagrams.sh +22 -0
  240. package/tools/vds-scripts/scripts/target-state-automation/markdown_coordinator.sh +25 -0
  241. package/tools/vds-scripts/scripts/target-state-automation/progress_dashboard.sh +17 -0
  242. package/tools/vds-scripts/scripts/target-state-automation/schema_coordinator.sh +25 -0
  243. package/tools/vds-scripts/scripts/target-state-automation/sync_confluence.sh +30 -0
  244. package/tools/vds-scripts/scripts/target-state-automation/update_dependencies.sh +19 -0
  245. package/tools/vds-scripts/scripts/target-state-automation/validate_links.sh +86 -0
  246. package/tools/vds-scripts/scripts/target-state-automation/validate_markdown.sh +52 -0
  247. package/tools/vds-scripts/scripts/target-state-automation/validate_schemas.sh +26 -0
  248. package/tools/vds-scripts/scripts/target-state-automation/validate_structure.sh +98 -0
  249. package/tools/vds-scripts/scripts/update_modules_xml.py +190 -0
  250. package/tools/vds-scripts/scripts/uv-workspace-alignment-verification-2026-03-25.md +128 -0
  251. package/tools/vds-scripts/scripts/validate_brd_coverage.py +179 -0
  252. package/tools/vds-scripts/scripts/validate_folder_structure.py +240 -0
  253. package/tools/vds-scripts/scripts/validate_link_integrity.py +272 -0
  254. package/tools/vds-scripts/scripts/vds_sh_helpers.sh +180 -0
  255. package/tools/vds-scripts/scripts/verification/phase2_portable_paths_ubuntu_docker.sh +26 -0
  256. package/tools/vds-scripts/scripts/worktree_uv.sh +48 -0
  257. package/tools/vds-scripts/uv.lock +8 -0
  258. package/tools/vds-scripts/vds_cli/README.md +126 -0
  259. package/tools/vds-scripts/vds_cli/VERIFICATION_REPORT.md +41 -0
  260. package/tools/vds-scripts/vds_cli/pyproject.toml +38 -0
  261. package/tools/vds-scripts/vds_cli/src/vds_cli/__init__.py +3 -0
  262. package/tools/vds-scripts/vds_cli/src/vds_cli/cli.py +173 -0
  263. package/tools/vds-scripts/vds_cli/src/vds_cli/docs_sync.py +1203 -0
  264. package/tools/vds-scripts/vds_cli/src/vds_cli/env.py +41 -0
  265. package/tools/vds-scripts/vds_cli/src/vds_cli/google_sheets_orchestrator/__init__.py +3 -0
  266. package/tools/vds-scripts/vds_cli/src/vds_cli/google_sheets_orchestrator/google_sheets_orchestrator.py +198 -0
  267. package/tools/vds-scripts/vds_cli/src/vds_cli/router.py +93 -0
  268. package/tools/vds-scripts/vds_cli/src/vds_cli/sync_api.py +647 -0
  269. package/tools/vds-scripts/vds_cli/src/vds_cli/sync_service.py +266 -0
  270. package/tools/vds-scripts/vds_cli/tests/__init__.py +2 -0
  271. package/tools/vds-scripts/vds_cli/tests/conftest.py +49 -0
  272. package/tools/vds-scripts/vds_cli/tests/unit/__init__.py +2 -0
  273. package/tools/vds-scripts/vds_cli/tests/unit/test_cli.py +143 -0
  274. package/tools/vds-scripts/vds_cli/tests/unit/test_docs_sync.py +422 -0
  275. package/tools/vds-scripts/vds_cli/tests/unit/test_env.py +51 -0
  276. package/tools/vds-scripts/vds_cli/tests/unit/test_router.py +72 -0
  277. package/tools/vds-scripts/vds_cli/tests/unit/test_sync_api.py +357 -0
  278. package/tools/vds-scripts/vds_cli/tests/unit/test_sync_service.py +160 -0
  279. package/tools/vds-scripts/vds_cli/tests/verification/__init__.py +2 -0
  280. package/tools/vds-scripts/vds_cli/tests/verification/test_bitbucket_real.py +33 -0
  281. package/tools/vds-scripts/vds_cli/tests/verification/test_confluence_real.py +35 -0
  282. package/tools/vds-scripts/vds_cli/tests/verification/test_jira_real.py +41 -0
  283. package/tools/vds-scripts/vds_cli/uv.lock +524 -0
  284. package/tools/vds-scripts/vds_cli_common/README.md +190 -0
  285. package/tools/vds-scripts/vds_cli_common/pyproject.toml +92 -0
  286. package/tools/vds-scripts/vds_cli_common/src/vds_cli_common/__init__.py +34 -0
  287. package/tools/vds-scripts/vds_cli_common/src/vds_cli_common/completers.py +139 -0
  288. package/tools/vds-scripts/vds_cli_common/src/vds_cli_common/context.py +201 -0
  289. package/tools/vds-scripts/vds_cli_common/src/vds_cli_common/env.py +119 -0
  290. package/tools/vds-scripts/vds_cli_common/src/vds_cli_common/errors.py +318 -0
  291. package/tools/vds-scripts/vds_cli_common/src/vds_cli_common/output.py +284 -0
  292. package/tools/vds-scripts/vds_cli_common/src/vds_cli_common/paths.py +78 -0
  293. package/tools/vds-scripts/vds_cli_common/src/vds_cli_common/testing.py +213 -0
  294. package/tools/vds-scripts/vds_cli_common/src/vds_cli_common/version.py +85 -0
  295. package/tools/vds-scripts/vds_cli_common/tests/__init__.py +1 -0
  296. package/tools/vds-scripts/vds_cli_common/tests/test_completers.py +148 -0
  297. package/tools/vds-scripts/vds_cli_common/tests/test_context.py +192 -0
  298. package/tools/vds-scripts/vds_cli_common/tests/test_env.py +102 -0
  299. package/tools/vds-scripts/vds_cli_common/tests/test_errors.py +186 -0
  300. package/tools/vds-scripts/vds_cli_common/tests/test_output.py +229 -0
  301. package/tools/vds-scripts/vds_cli_common/tests/test_paths.py +61 -0
  302. package/tools/vds-scripts/vds_cli_common/tests/test_testing.py +138 -0
  303. package/tools/vds-scripts/vds_cli_common/tests/test_version.py +64 -0
@@ -0,0 +1,908 @@
1
+ # VDS Bitbucket Orchestrator - Complete Feature Overview
2
+
3
+ **Last Updated**: 2026-01-21
4
+ **Version**: Current (with PR management enhancements)
5
+ **Status**: Production-ready (manual API validation pending)
6
+
7
+ ---
8
+
9
+ ## Overview
10
+
11
+ The VDS Bitbucket Orchestrator is a comprehensive Python toolkit for Bitbucket operations using the `atlassian-python-api` SDK. It provides a unified CLI interface for repository management, pull requests, pipelines, permissions, and Bitbucket automation across both **Bitbucket Server/Data Center** and **Bitbucket Cloud**.
12
+
13
+ **Key Capabilities**:
14
+ - ✅ **34 CLI commands** covering all major Bitbucket operations
15
+ - ✅ **Full PR lifecycle management** (create, approve, merge, decline, comment, diff, activities)
16
+ - ✅ **Dual mode support** (Server/Data Center + Cloud)
17
+ - ✅ **Agent-friendly output** (JSON, markdown reports, structured logging)
18
+ - ✅ **Comprehensive error handling** with retry logic
19
+ - ✅ **289/289 tests passing**
20
+
21
+ ---
22
+
23
+ ## Feature Categories
24
+
25
+ ### 1. Project Operations (2 commands)
26
+
27
+ #### `projects`
28
+ List all Bitbucket projects with filtering and pagination.
29
+
30
+ **Features**:
31
+ - Filter by keyword
32
+ - Limit results
33
+ - JSON output support
34
+ - Markdown reports
35
+
36
+ **Example**:
37
+ ```bash
38
+ uv run --project vds_cli vds-cli bitbucket projects --limit 50
39
+ ```
40
+
41
+ #### `create-project`
42
+ Create a new Bitbucket project.
43
+
44
+ **Features**:
45
+ - Project key and name
46
+ - Optional description
47
+ - JSON output
48
+ - Markdown reports
49
+
50
+ **Example**:
51
+ ```bash
52
+ uv run --project vds_cli vds-cli bitbucket create-project PROJECT_KEY "Project Name" \
53
+ --description "Project description"
54
+ ```
55
+
56
+ ---
57
+
58
+ ### 2. Repository Operations (3 commands)
59
+
60
+ #### `repositories`
61
+ List repositories in a project with filtering and pagination.
62
+
63
+ **Features**:
64
+ - Filter by keyword
65
+ - Limit results
66
+ - JSON output
67
+ - Markdown reports
68
+
69
+ **Example**:
70
+ ```bash
71
+ uv run --project vds_cli vds-cli bitbucket repositories PROJECT_KEY --limit 25
72
+ ```
73
+
74
+ #### Repository Management (Python Client)
75
+ Full CRUD operations via `BitbucketClient`:
76
+ - `create_repository()` - Create repository
77
+ - `get_repository()` - Get repository details
78
+ - `update_repository()` - Update repository settings
79
+ - `delete_repository()` - Delete repository (dangerous!)
80
+
81
+ #### `fork`
82
+ Fork repository operations.
83
+
84
+ **Features**:
85
+ - Fork within same project
86
+ - Fork to new project
87
+ - List forks of a repository
88
+ - Requires `--yes` for confirmation
89
+
90
+ **Example**:
91
+ ```bash
92
+ # Fork within same project
93
+ uv run --project vds_cli vds-cli bitbucket fork create PROJECT_KEY REPO_SLUG \
94
+ --new-repo REPO_FORK --yes
95
+
96
+ # Fork to new project
97
+ uv run --project vds_cli vds-cli bitbucket fork create PROJECT_KEY REPO_SLUG \
98
+ --new-project NEW_PROJECT_KEY --new-repo NEW_REPO_SLUG --yes
99
+
100
+ # List forks
101
+ uv run --project vds_cli vds-cli bitbucket fork list PROJECT_KEY REPO_SLUG
102
+ ```
103
+
104
+ ---
105
+
106
+ ### 3. Pull Request Operations (12 commands)
107
+
108
+ #### `pull-requests`
109
+ List pull requests with filtering.
110
+
111
+ **Features**:
112
+ - Filter by state (OPEN, MERGED, DECLINED)
113
+ - Sort order (newest, oldest)
114
+ - Limit results
115
+ - JSON output
116
+
117
+ **Example**:
118
+ ```bash
119
+ uv run --project vds_cli vds-cli bitbucket pull-requests PROJECT_KEY REPO_SLUG \
120
+ --state OPEN --order newest --limit 100
121
+ ```
122
+
123
+ #### `create-pr` ⭐ **Enhanced**
124
+ Create pull requests with full workflow support.
125
+
126
+ **Features**:
127
+ - Same-project and cross-project PRs
128
+ - Draft PR support (best-effort with fallback)
129
+ - Include required reviewers from policy
130
+ - Custom reviewers list
131
+ - Title, description, source/target branches
132
+ - JSON output with PR ID and URL
133
+ - Markdown reports with timestamps
134
+
135
+ **Enhancements Beyond Spec**:
136
+ - `--include-required-reviewers` flag (auto-include required reviewers)
137
+
138
+ **Example**:
139
+ ```bash
140
+ # Standard PR
141
+ uv run --project vds_cli vds-cli bitbucket create-pr EKYC ekyc-business \
142
+ "Fix boundary timers" fix/ekyc-psj-fix-001 \
143
+ --target release --description "Fixes ENGINE-09005" --reviewers "user1,user2"
144
+
145
+ # Draft PR with required reviewers
146
+ uv run --project vds_cli vds-cli bitbucket create-pr EKYC ekyc-business \
147
+ "Draft: Payment validation" feature/payment-validation \
148
+ --target develop --draft --include-required-reviewers
149
+
150
+ # Cross-project PR
151
+ uv run --project vds_cli vds-cli bitbucket create-pr EKYC ekyc-business \
152
+ "Cross project PR" feature/branch \
153
+ --source-project PLATFORM --source-repo platform-repo \
154
+ --dest-project INSURANCE --dest-repo insurance-repo --target release
155
+ ```
156
+
157
+ #### `get-pr` ⭐ **Enhanced**
158
+ Get detailed PR information with mergeability status.
159
+
160
+ **Features**:
161
+ - Full PR metadata (title, description, author, reviewers, state)
162
+ - Mergeability status (can merge, conflicts, vetoes)
163
+ - Optional commit list expansion (best-effort)
164
+ - Commit limit control
165
+ - JSON output
166
+ - Markdown reports
167
+
168
+ **Example**:
169
+ ```bash
170
+ # Basic PR details
171
+ uv run --project vds_cli vds-cli bitbucket get-pr EKYC ekyc-business 154
172
+
173
+ # With commit list
174
+ uv run --project vds_cli vds-cli bitbucket get-pr EKYC ekyc-business 154 \
175
+ --include-commits --commit-limit 20
176
+ ```
177
+
178
+ #### `approve-pr` ⭐ **Enhanced**
179
+ Approve pull requests.
180
+
181
+ **Features**:
182
+ - Requires `--yes` flag for safety
183
+ - JSON output
184
+ - Markdown reports with ISO 8601 timestamps (`approved_at`)
185
+
186
+ **Example**:
187
+ ```bash
188
+ uv run --project vds_cli vds-cli bitbucket approve-pr EKYC ekyc-business 154 --yes
189
+ ```
190
+
191
+ #### `unapprove-pr` ⭐ **Enhanced**
192
+ Remove approval from pull requests.
193
+
194
+ **Features**:
195
+ - Requires `--yes` flag for safety
196
+ - JSON output
197
+ - Markdown reports with ISO 8601 timestamps (`unapproved_at`)
198
+
199
+ **Example**:
200
+ ```bash
201
+ uv run --project vds_cli vds-cli bitbucket unapprove-pr EKYC ekyc-business 154 --yes
202
+ ```
203
+
204
+ #### `merge-pr` ⭐ **Enhanced**
205
+ Merge pull requests with strategy selection and safety checks.
206
+
207
+ **Features**:
208
+ - Merge strategies: `merge-commit`, `squash`, `fast-forward`, `rebase` (best-effort)
209
+ - Pre-merge approval check (warns if no approvals)
210
+ - Server-side validation (conflicts, permissions, build status)
211
+ - Optimistic locking via version parameter
212
+ - Custom merge commit message
213
+ - Auto-close source branch option
214
+ - Requires `--yes` flag
215
+ - JSON output
216
+ - Markdown reports
217
+
218
+ **Enhancements Beyond Spec**:
219
+ - `--message` / `-m` for custom merge commit message
220
+ - `--close-source-branch` to close source branch after merge
221
+ - `rebase` strategy (best-effort alias for fast-forward with warning)
222
+
223
+ **Example**:
224
+ ```bash
225
+ # Standard merge
226
+ uv run --project vds_cli vds-cli bitbucket merge-pr EKYC ekyc-business 154 --yes
227
+
228
+ # Squash merge with custom message and close branch
229
+ uv run --project vds_cli vds-cli bitbucket merge-pr EKYC ekyc-business 154 \
230
+ --strategy squash --message "Squash merge PR #154" --close-source-branch --yes
231
+
232
+ # Skip approval check (not recommended)
233
+ uv run --project vds_cli vds-cli bitbucket merge-pr EKYC ekyc-business 154 \
234
+ --skip-approval-check --yes
235
+ ```
236
+
237
+ #### `decline-pr` ⭐ **Enhanced**
238
+ Decline/reject pull requests.
239
+
240
+ **Features**:
241
+ - Optional decline reason/comment (adds comment before declining)
242
+ - Requires `--yes` flag
243
+ - JSON output
244
+ - Markdown reports with ISO 8601 timestamps (`declined_at`)
245
+
246
+ **Example**:
247
+ ```bash
248
+ uv run --project vds_cli vds-cli bitbucket decline-pr EKYC ekyc-business 154 \
249
+ --reason "Not meeting requirements" --yes
250
+ ```
251
+
252
+ #### `comment-pr` ⭐ **Best-Effort**
253
+ Add comments to pull requests.
254
+
255
+ **Features**:
256
+ - General PR comments
257
+ - Inline comments (best-effort: `--file` + `--line`, falls back to general comment with context)
258
+ - Reply to comments (best-effort: `--reply-to`, falls back to general comment)
259
+ - Markdown formatting support
260
+ - JSON output with comment ID
261
+ - Markdown reports
262
+
263
+ **Example**:
264
+ ```bash
265
+ # General comment
266
+ uv run --project vds_cli vds-cli bitbucket comment-pr EKYC ekyc-business 154 \
267
+ --text "LGTM! Ready to merge."
268
+
269
+ # Inline-style comment (best-effort)
270
+ uv run --project vds_cli vds-cli bitbucket comment-pr EKYC ekyc-business 154 \
271
+ --text "Fix this typo" --file "src/main.java" --line 42
272
+
273
+ # Reply to comment (best-effort)
274
+ uv run --project vds_cli vds-cli bitbucket comment-pr EKYC ekyc-business 154 \
275
+ --text "Good catch!" --reply-to 123
276
+ ```
277
+
278
+ #### `pr-comments`
279
+ List PR comments (simple version, derived from activities).
280
+
281
+ **Features**:
282
+ - Limit results
283
+ - JSON output
284
+ - Markdown reports
285
+
286
+ **Example**:
287
+ ```bash
288
+ uv run --project vds_cli vds-cli bitbucket pr-comments EKYC ekyc-business 154 --limit 20
289
+ ```
290
+
291
+ #### `list-pr-comments`
292
+ List PR comments with threaded fields (parent, severity, etc.).
293
+
294
+ **Features**:
295
+ - Limit results
296
+ - Threaded comment fields when available
297
+ - JSON output
298
+ - Markdown reports
299
+
300
+ **Example**:
301
+ ```bash
302
+ uv run --project vds_cli vds-cli bitbucket list-pr-comments EKYC ekyc-business 154 --limit 20
303
+ ```
304
+
305
+ #### `pr-diff` ⭐ **Best-Effort**
306
+ View PR diffs with multiple output formats.
307
+
308
+ **Features**:
309
+ - Summary format (default): File-level change list + UI URL
310
+ - Unified diff format (best-effort: `--unified`, only when API provides hunks)
311
+ - File-specific filtering (`--file`)
312
+ - Context lines control (`--context`)
313
+ - Output to file (`--output`: JSON for summary, plain text for unified)
314
+ - Color control (`--no-color`)
315
+ - JSON output
316
+
317
+ **Example**:
318
+ ```bash
319
+ # Summary format
320
+ uv run --project vds_cli vds-cli bitbucket pr-diff EKYC ekyc-business 154
321
+
322
+ # File-specific with JSON output
323
+ uv run --project vds_cli vds-cli bitbucket pr-diff EKYC ekyc-business 154 \
324
+ --file "src/main/resources/application.yml" --output /tmp/pr_154_diff.json --no-color
325
+
326
+ # Unified diff (best-effort)
327
+ uv run --project vds_cli vds-cli bitbucket pr-diff EKYC ekyc-business 154 \
328
+ --unified --context 3 --no-color --output /tmp/pr_154.patch
329
+ ```
330
+
331
+ #### `pr-activities`
332
+ List PR activities with filtering.
333
+
334
+ **Features**:
335
+ - Filter by activity type (`--type`: COMMENTED, APPROVED, MERGED, etc.)
336
+ - Limit results
337
+ - JSON output
338
+ - Markdown reports
339
+
340
+ **Example**:
341
+ ```bash
342
+ # All activities
343
+ uv run --project vds_cli vds-cli bitbucket pr-activities EKYC ekyc-business 154 --limit 10
344
+
345
+ # Only comments
346
+ uv run --project vds_cli vds-cli bitbucket pr-activities EKYC ekyc-business 154 \
347
+ --type COMMENTED --limit 10
348
+ ```
349
+
350
+ ---
351
+
352
+ ### 4. User and Group Management (3 commands)
353
+
354
+ #### `groups`
355
+ List all Bitbucket groups.
356
+
357
+ **Features**:
358
+ - Filter by keyword
359
+ - Limit results
360
+ - JSON output
361
+
362
+ **Example**:
363
+ ```bash
364
+ uv run --project vds_cli vds-cli bitbucket groups --filter "developers" --limit 50
365
+ ```
366
+
367
+ #### `project-users`
368
+ List users with permissions for a project.
369
+
370
+ **Features**:
371
+ - Filter by keyword
372
+ - Limit results
373
+ - JSON output
374
+
375
+ **Example**:
376
+ ```bash
377
+ uv run --project vds_cli vds-cli bitbucket project-users PROJECT_KEY \
378
+ --filter "john" --limit 25
379
+ ```
380
+
381
+ #### `project-groups`
382
+ List groups with permissions for a project.
383
+
384
+ **Features**:
385
+ - Filter by keyword
386
+ - Limit results
387
+ - JSON output
388
+
389
+ **Example**:
390
+ ```bash
391
+ uv run --project vds_cli vds-cli bitbucket project-groups PROJECT_KEY \
392
+ --filter "developers" --limit 25
393
+ ```
394
+
395
+ ---
396
+
397
+ ### 5. Permission Management (3 commands)
398
+
399
+ #### `grant-group-repo`
400
+ Grant group permissions to a repository.
401
+
402
+ **Features**:
403
+ - Permission levels (read, write, admin)
404
+ - JSON output
405
+
406
+ **Example**:
407
+ ```bash
408
+ uv run --project vds_cli vds-cli bitbucket grant-group-repo PROJECT_KEY REPO_SLUG \
409
+ GROUP_NAME write
410
+ ```
411
+
412
+ #### `branch-permissions`
413
+ Branch permissions management.
414
+
415
+ **Features**:
416
+ - Get permission by ID
417
+ - Set permissions (matcher type, matcher value, permission type)
418
+ - Delete permissions
419
+ - Requires `--yes` for write operations
420
+
421
+ **Example**:
422
+ ```bash
423
+ # Get permission
424
+ uv run --project vds_cli vds-cli bitbucket branch-permissions get PROJECT_KEY --permission-id 1
425
+
426
+ # Set permission
427
+ uv run --project vds_cli vds-cli bitbucket branch-permissions set PROJECT_KEY \
428
+ --matcher-type BRANCH --matcher-value "refs/heads/master" \
429
+ --permission-type READ_ONLY --yes
430
+
431
+ # Delete permission
432
+ uv run --project vds_cli vds-cli bitbucket branch-permissions delete PROJECT_KEY \
433
+ --permission-id 1 --yes
434
+ ```
435
+
436
+ #### `conditions`
437
+ Conditions-Reviewers management.
438
+
439
+ **Features**:
440
+ - List conditions (project-level or repo-level)
441
+ - Get condition by ID
442
+ - Create condition from JSON file
443
+ - Delete condition
444
+ - Requires `--yes` for write operations
445
+
446
+ **Example**:
447
+ ```bash
448
+ # List project conditions
449
+ uv run --project vds_cli vds-cli bitbucket conditions list PROJECT_KEY
450
+
451
+ # Get condition
452
+ uv run --project vds_cli vds-cli bitbucket conditions get PROJECT_KEY --condition-id 1
453
+
454
+ # Create condition
455
+ uv run --project vds_cli vds-cli bitbucket conditions create PROJECT_KEY \
456
+ --condition-file condition.json --yes
457
+
458
+ # List repo conditions
459
+ uv run --project vds_cli vds-cli bitbucket conditions list PROJECT_KEY --repo REPO_SLUG
460
+ ```
461
+
462
+ ---
463
+
464
+ ### 6. Code Operations (2 commands)
465
+
466
+ #### `code`
467
+ Basic code/file content operations.
468
+
469
+ **Features**:
470
+ - Get file content (`file` action)
471
+ - List commits (`commits` action)
472
+ - Get diff between commits (`diff` action)
473
+ - Get changelog between refs (`changelog` action)
474
+
475
+ **Example**:
476
+ ```bash
477
+ # Get file content
478
+ uv run --project vds_cli vds-cli bitbucket code file PROJECT_KEY REPO_SLUG \
479
+ --file "path/to/file.py"
480
+
481
+ # List commits
482
+ uv run --project vds_cli vds-cli bitbucket code commits PROJECT_KEY REPO_SLUG --limit 50
483
+
484
+ # Get diff
485
+ uv run --project vds_cli vds-cli bitbucket code diff PROJECT_KEY REPO_SLUG \
486
+ --file "path/to/file.py" --hash-oldest abc123 --hash-newest def456
487
+
488
+ # Get changelog
489
+ uv run --project vds_cli vds-cli bitbucket code changelog PROJECT_KEY REPO_SLUG \
490
+ --ref-from master --ref-to develop
491
+ ```
492
+
493
+ #### `code-advanced`
494
+ Advanced code operations.
495
+
496
+ **Features**:
497
+ - List files in repository (`file-list` action)
498
+ - Get commit information (`commit-info` action)
499
+ - Get commit changes (`commit-changes` action)
500
+ - Search code (Cloud-only: `search` action)
501
+ - Advanced code search with repository filter (Cloud-only: `search-advanced` action)
502
+
503
+ **Example**:
504
+ ```bash
505
+ # List files
506
+ uv run --project vds_cli vds-cli bitbucket code-advanced file-list \
507
+ --project-key PROJECT_KEY --repository-slug REPO_SLUG \
508
+ --sub-folder "src" --query "*.py" --start 0 --limit 100
509
+
510
+ # Get commit info
511
+ uv run --project vds_cli vds-cli bitbucket code-advanced commit-info \
512
+ --project-key PROJECT_KEY --repository-slug REPO_SLUG \
513
+ --commit "abc123" --path "file.py"
514
+
515
+ # Search code (Cloud-only)
516
+ uv run --project vds_cli vds-cli bitbucket code-advanced search \
517
+ --team "workspace" --search-query "def test_function" --page 1 --limit 20
518
+ ```
519
+
520
+ ---
521
+
522
+ ### 7. Pipeline Operations (2 commands) - Cloud Only
523
+
524
+ #### `pipelines`
525
+ List pipelines.
526
+
527
+ **Features**:
528
+ - Filter by state
529
+ - Limit results
530
+ - JSON output
531
+
532
+ **Example**:
533
+ ```bash
534
+ uv run --project vds_cli vds-cli bitbucket pipelines WORKSPACE REPOSITORY --limit 10
535
+ ```
536
+
537
+ #### `pipeline-advanced`
538
+ Advanced pipeline operations.
539
+
540
+ **Features**:
541
+ - Get pipeline details (`get` action)
542
+ - List pipeline steps (`steps` action)
543
+ - Get specific step (`step` action)
544
+ - Fetch step logs (`log` action) with byte range support
545
+ - Stop running pipeline (`stop` action, requires `--yes`)
546
+
547
+ **Example**:
548
+ ```bash
549
+ # Get pipeline details
550
+ uv run --project vds_cli vds-cli bitbucket pipeline-advanced get \
551
+ --workspace team-slug --repo-slug repo-slug --pipeline-uuid {uuid} --no-markdown
552
+
553
+ # Get step log
554
+ uv run --project vds_cli vds-cli bitbucket pipeline-advanced log \
555
+ --workspace team-slug --repo-slug repo-slug \
556
+ --pipeline-uuid {uuid} --step-uuid {step-uuid} \
557
+ --start 0 --end 5000 --output ./logs/{uuid}-{step-uuid}.log
558
+
559
+ # Stop pipeline
560
+ uv run --project vds_cli vds-cli bitbucket pipeline-advanced stop \
561
+ --workspace team-slug --repo-slug repo-slug --pipeline-uuid {uuid} --yes
562
+ ```
563
+
564
+ ---
565
+
566
+ ### 8. Webhook Management (1 command) - Cloud Only
567
+
568
+ #### `webhooks`
569
+ Manage repository webhooks.
570
+
571
+ **Features**:
572
+ - List webhooks (filter by event, include statistics)
573
+ - Create webhook (requires `--yes`)
574
+ - Update webhook (name, URL, events, active/inactive)
575
+ - Delete webhook (requires `--yes`)
576
+
577
+ **Example**:
578
+ ```bash
579
+ # List webhooks
580
+ uv run --project vds_cli vds-cli bitbucket webhooks list PROJECT_KEY REPO_SLUG \
581
+ --filter-event "repo:push"
582
+
583
+ # Create webhook
584
+ uv run --project vds_cli vds-cli bitbucket webhooks create PROJECT_KEY REPO_SLUG \
585
+ --name "CI Hook" --url "https://ci.example.com/bitbucket" \
586
+ --event repo:push --event pr:opened --yes
587
+
588
+ # Update webhook
589
+ uv run --project vds_cli vds-cli bitbucket webhooks update PROJECT_KEY REPO_SLUG \
590
+ --webhook-id 42 --name "Updated Hook" --set-inactive --yes
591
+
592
+ # Delete webhook
593
+ uv run --project vds_cli vds-cli bitbucket webhooks delete PROJECT_KEY REPO_SLUG \
594
+ --webhook-id 42 --yes
595
+ ```
596
+
597
+ ---
598
+
599
+ ### 9. Cloud Workspace Operations (1 command) - Cloud Only
600
+
601
+ #### `workspace`
602
+ Manage Cloud workspaces.
603
+
604
+ **Features**:
605
+ - List all workspaces
606
+ - Get workspace details
607
+ - Get workspace permissions
608
+ - Get repository permissions in workspace
609
+ - List projects in workspace
610
+ - Get specific project from workspace
611
+
612
+ **Example**:
613
+ ```bash
614
+ # List workspaces
615
+ uv run --project vds_cli vds-cli bitbucket workspace list
616
+
617
+ # Get workspace details
618
+ uv run --project vds_cli vds-cli bitbucket workspace get --workspace-slug workspace1
619
+
620
+ # Get workspace permissions
621
+ uv run --project vds_cli vds-cli bitbucket workspace permissions --workspace-slug workspace1
622
+
623
+ # List projects in workspace
624
+ uv run --project vds_cli vds-cli bitbucket workspace projects --workspace-slug workspace1
625
+ ```
626
+
627
+ ---
628
+
629
+ ### 10. Repository Variables (1 command) - Cloud Only
630
+
631
+ #### `repo-variables`
632
+ Manage repository-level pipeline variables.
633
+
634
+ **Features**:
635
+ - List variables (`list` action)
636
+ - Get variable by UUID (`get` action)
637
+ - Create variable (`create` action, requires `--yes`)
638
+ - Update variable (`update` action, requires `--yes`)
639
+ - Delete variable (`delete` action, requires `--yes`)
640
+ - Support for secured variables
641
+
642
+ **Example**:
643
+ ```bash
644
+ # List variables
645
+ uv run --project vds_cli vds-cli bitbucket repo-variables list \
646
+ --workspace team-slug --repo-slug repo-slug --no-markdown
647
+
648
+ # Create secured variable
649
+ uv run --project vds_cli vds-cli bitbucket repo-variables create \
650
+ --workspace team-slug --repo-slug repo-slug \
651
+ --key API_TOKEN --value "super-secret" --secured true --yes --no-markdown
652
+
653
+ # Update variable
654
+ uv run --project vds_cli vds-cli bitbucket repo-variables update \
655
+ --workspace team-slug --repo-slug repo-slug \
656
+ --uuid {variable-uuid} --value "rotate-me" --yes --no-markdown
657
+ ```
658
+
659
+ ---
660
+
661
+ ### 11. Deployment Environments (1 command) - Cloud Only
662
+
663
+ #### `deployment-env`
664
+ Manage deployment environments and their variables.
665
+
666
+ **Features**:
667
+ - List environments (`list` action)
668
+ - Get environment (`get` action)
669
+ - Manage environment variables (`vars` sub-action):
670
+ - List variables (`list`)
671
+ - Create variable (`create`, requires `--yes`)
672
+ - Update variable (`update`, requires `--yes`)
673
+ - Delete variable (`delete`, requires `--yes`)
674
+
675
+ **Example**:
676
+ ```bash
677
+ # List environments
678
+ uv run --project vds_cli vds-cli bitbucket deployment-env list \
679
+ --workspace team-slug --repo-slug repo-slug
680
+
681
+ # Create environment variable
682
+ uv run --project vds_cli vds-cli bitbucket deployment-env vars create \
683
+ --workspace team-slug --repo-slug repo-slug --env-uuid {env-uuid} \
684
+ --key DB_HOST --value "db.example.com" --yes
685
+ ```
686
+
687
+ ---
688
+
689
+ ### 12. Repository Issues (1 command) - Cloud Only
690
+
691
+ #### `issue`
692
+ Manage repository issues when Bitbucket Issues tracker is enabled.
693
+
694
+ **Features**:
695
+ - List issues (`list` action) with query/sort
696
+ - Get issue (`get` action)
697
+ - Create issue (`create` action)
698
+ - Update issue (`update` action: title, state, kind, priority, description)
699
+ - Delete issue (`delete` action, requires `--yes`)
700
+
701
+ **Example**:
702
+ ```bash
703
+ # List issues
704
+ uv run --project vds_cli vds-cli bitbucket issue list \
705
+ --workspace team-slug --repo-slug repo-slug \
706
+ --query 'state = "open"' --sort -updated_on --no-markdown
707
+
708
+ # Create issue
709
+ uv run --project vds_cli vds-cli bitbucket issue create \
710
+ --workspace team-slug --repo-slug repo-slug \
711
+ --title "Production bug" --description "Steps to reproduce..." \
712
+ --kind bug --priority critical --no-markdown
713
+
714
+ # Update issue
715
+ uv run --project vds_cli vds-cli bitbucket issue update \
716
+ --workspace team-slug --repo-slug repo-slug --issue-id 123 \
717
+ --state resolved --no-markdown
718
+ ```
719
+
720
+ ---
721
+
722
+ ### 13. Pull Request Blockers (1 command) - Cloud Only
723
+
724
+ #### `pr-blocker`
725
+ Manage blocker comments on pull requests.
726
+
727
+ **Features**:
728
+ - List blockers (`list` action)
729
+ - Add blocker (`add` action) with optional reason/severity
730
+ - Delete blocker (`delete` action, requires `--yes`)
731
+
732
+ **Example**:
733
+ ```bash
734
+ # List blockers
735
+ uv run --project vds_cli vds-cli bitbucket pr-blocker list \
736
+ --workspace team-slug --repo-slug repo-slug --pull-request-id 123 --no-markdown
737
+
738
+ # Add blocker
739
+ uv run --project vds_cli vds-cli bitbucket pr-blocker add \
740
+ --workspace team-slug --repo-slug repo-slug --pull-request-id 123 \
741
+ --message "Pending security review" --reason "Security" --severity HIGH --no-markdown
742
+
743
+ # Delete blocker
744
+ uv run --project vds_cli vds-cli bitbucket pr-blocker delete \
745
+ --workspace team-slug --repo-slug repo-slug --pull-request-id 123 \
746
+ --blocker-uuid {blocker-uuid} --yes --no-markdown
747
+ ```
748
+
749
+ ---
750
+
751
+ ### 14. Code Insights (1 command) - Cloud Only
752
+
753
+ #### `code-insights`
754
+ Manage Code Insights reports.
755
+
756
+ **Features**:
757
+ - Get report (`get` action)
758
+ - Create report (`create` action, requires `--yes`)
759
+ - Add annotations to report (`annotate` action, requires `--yes`)
760
+ - Delete report (`delete` action, requires `--yes`)
761
+
762
+ **Example**:
763
+ ```bash
764
+ # Get report
765
+ uv run --project vds_cli vds-cli bitbucket code-insights get PROJECT_KEY REPO_SLUG COMMIT_ID \
766
+ --report-key "test-report"
767
+
768
+ # Create report
769
+ uv run --project vds_cli vds-cli bitbucket code-insights create PROJECT_KEY REPO_SLUG COMMIT_ID \
770
+ --report-key "coverage-report" --title "Coverage Report" \
771
+ --reporter "coverage-tool" --result "PASSED" \
772
+ --data-file coverage-data.json --report-type "COVERAGE" --yes
773
+
774
+ # Add annotations
775
+ uv run --project vds_cli vds-cli bitbucket code-insights annotate PROJECT_KEY REPO_SLUG COMMIT_ID \
776
+ --report-key "test-report" --annotations-file annotations.json --yes
777
+ ```
778
+
779
+ ---
780
+
781
+ ### 15. Repository Settings (1 command)
782
+
783
+ #### `repo-settings`
784
+ Manage repository settings.
785
+
786
+ **Features**:
787
+ - Branching model (`branching-model` sub-action):
788
+ - Get model
789
+ - Set model from JSON file
790
+ - Enable/disable model
791
+ - Default branch (`default-branch` sub-action):
792
+ - Get default branch
793
+ - Set default branch
794
+ - Repository hooks (`hooks` sub-action):
795
+ - List hooks
796
+ - Enable/disable hooks
797
+ - Git LFS (`lfs` sub-action):
798
+ - Get LFS status
799
+ - Enable/disable LFS
800
+
801
+ **Example**:
802
+ ```bash
803
+ # Get branching model
804
+ uv run --project vds_cli vds-cli bitbucket repo-settings branching-model get PROJECT_KEY REPO_SLUG
805
+
806
+ # Set default branch
807
+ uv run --project vds_cli vds-cli bitbucket repo-settings default-branch set PROJECT_KEY REPO_SLUG \
808
+ --branch "main" --yes
809
+
810
+ # Enable hook
811
+ uv run --project vds_cli vds-cli bitbucket repo-settings hooks enable PROJECT_KEY REPO_SLUG \
812
+ --hook-key "com.atlassian.bitbucket.server.bitbucket-bundle:force-push-hook" --yes
813
+ ```
814
+
815
+ ---
816
+
817
+ ## Core Infrastructure Features
818
+
819
+ ### Dual Mode Support
820
+ - **Bitbucket Server/Data Center**: Full support for on-premises deployments
821
+ - **Bitbucket Cloud**: Full support for cloud workspaces
822
+ - Automatic mode detection based on URL and configuration
823
+
824
+ ### Authentication
825
+ - HTTP Basic Auth (username/password)
826
+ - Bearer Token authentication
827
+ - Automatic credential loading from the shared VDS env file (`VDS_ENV_FILE` or `<config-root>/.env`, with `~/.vds/.env` as the active Unix-like default)
828
+ - Secure credential handling (no exposure in logs)
829
+
830
+ ### Error Handling
831
+ - Comprehensive error hierarchy:
832
+ - `BitbucketClientError` (base)
833
+ - `BitbucketAuthError` (401)
834
+ - `BitbucketNotFoundError` (404)
835
+ - `BitbucketConflictError` (409)
836
+ - `BitbucketRateLimitedError` (429)
837
+ - `BitbucketTransportError` (network)
838
+ - `BitbucketRetryError` (retry exhaustion)
839
+ - Automatic retry with exponential backoff
840
+ - Context-aware error messages
841
+
842
+ ### Output Formats
843
+ - **JSON Output**: Clean JSON via `--json-only` flag
844
+ - **Markdown Reports**: Automatic report generation (unless `--no-reports`)
845
+ - **Structured Logging**: Optional JSON logs via `--structured-logs`
846
+ - **Color Control**: `--no-color` / `--color` flags
847
+
848
+ ### Agent-Friendly Features
849
+ - Non-interactive by default
850
+ - `--yes` flags required for destructive operations
851
+ - Consistent exit codes
852
+ - Machine-readable JSON output
853
+ - Comprehensive error messages
854
+
855
+ ### Testing
856
+ - **289/289 tests passing** (scoped to `bitbucket_orchestrator/tests`)
857
+ - Comprehensive unit test coverage
858
+ - Integration test scenarios
859
+ - Error handling test coverage
860
+
861
+ ---
862
+
863
+ ## Summary Statistics
864
+
865
+ | Category | Commands | Status |
866
+ |----------|----------|--------|
867
+ | **Project Operations** | 2 | ✅ Complete |
868
+ | **Repository Operations** | 3 | ✅ Complete |
869
+ | **Pull Request Operations** | 12 | ✅ Complete (with enhancements) |
870
+ | **User/Group Management** | 3 | ✅ Complete |
871
+ | **Permission Management** | 3 | ✅ Complete |
872
+ | **Code Operations** | 2 | ✅ Complete |
873
+ | **Pipeline Operations** | 2 | ✅ Complete (Cloud only) |
874
+ | **Webhook Management** | 1 | ✅ Complete (Cloud only) |
875
+ | **Workspace Operations** | 1 | ✅ Complete (Cloud only) |
876
+ | **Repository Variables** | 1 | ✅ Complete (Cloud only) |
877
+ | **Deployment Environments** | 1 | ✅ Complete (Cloud only) |
878
+ | **Repository Issues** | 1 | ✅ Complete (Cloud only) |
879
+ | **PR Blockers** | 1 | ✅ Complete (Cloud only) |
880
+ | **Code Insights** | 1 | ✅ Complete (Cloud only) |
881
+ | **Repository Settings** | 1 | ✅ Complete |
882
+ | **Total CLI Commands** | **34** | ✅ **All Complete** |
883
+
884
+ ---
885
+
886
+ ## Best Practices
887
+
888
+ 1. **Always use `--yes` for destructive operations** (merge, decline, delete)
889
+ 2. **Use `--json-only` for automation** (clean JSON output, no reports)
890
+ 3. **Use `--no-reports` for interactive use** (keeps console output, avoids filesystem writes)
891
+ 4. **Check mergeability before merging** (`get-pr` shows conflicts/vetoes)
892
+ 5. **Use best-effort features gracefully** (draft PRs, inline comments, unified diff may fallback)
893
+ 6. **Leverage cross-project PRs** for complex workflows
894
+ 7. **Use `--include-required-reviewers`** to respect branch policies automatically
895
+
896
+ ---
897
+
898
+ ## Documentation References
899
+
900
+ - **Main README**: `README.md` (this directory)
901
+ - **API Practices**: `BITBUCKET_API_PRACTICES.md`
902
+ - **Architecture Analysis**: `ARCHITECTURE_ANALYSIS.md`
903
+ - **PR Management Spec**: `../../../.kiro/specs/bitbucket-pr-management-cli/`
904
+
905
+ ---
906
+
907
+ **Last Updated**: 2026-01-21
908
+ **Maintainer**: VDS Platform Team