@ngocsangairvds/vsaf 3.1.27 → 3.2.2

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 +65 -39
  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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ngocsangairvds/vsaf",
3
- "version": "3.1.27",
4
- "description": "improve confluence format",
3
+ "version": "3.2.2",
4
+ "description": "add vds script env",
5
5
  "keywords": ["claude", "claude-code", "ai", "sdlc", "framework", "bmad", "gitnexus", "superpowers"],
6
6
  "bin": {
7
7
  "vsaf": "./bin/vsaf.js"
package/src/global.js CHANGED
@@ -4,20 +4,20 @@ const fs = require('fs');
4
4
  const readline = require('readline');
5
5
  const { ok, info, warn, step, hasCommand, exec, copyDir, copyFile, CLAUDE_HOME, CODEX_HOME } = require('./utils');
6
6
 
7
- const PKG_ROOT = path.join(__dirname, '..');
8
- const SKILLS_SRC = path.join(PKG_ROOT, 'tools', 'skills');
9
- const SKILLS_DST = path.join(CLAUDE_HOME, 'skills');
7
+ const PKG_ROOT = path.join(__dirname, '..');
8
+ const SKILLS_SRC = path.join(PKG_ROOT, 'tools', 'skills');
9
+ const SKILLS_DST = path.join(CLAUDE_HOME, 'skills');
10
10
  const CODEX_SKILLS_DST = path.join(CODEX_HOME, 'skills');
11
11
 
12
12
  async function installGlobal() {
13
13
  console.log('\n\x1b[1m╔══════════════════════════════════════════╗\x1b[0m');
14
- console.log( '\x1b[1m║ VSAF — Global Infra ║\x1b[0m');
15
- console.log( '\x1b[1m╚══════════════════════════════════════════╝\x1b[0m');
14
+ console.log('\x1b[1m║ VSAF — Global Infra ║\x1b[0m');
15
+ console.log('\x1b[1m╚══════════════════════════════════════════╝\x1b[0m');
16
16
 
17
17
  installSkills();
18
18
  installBinary('gitnexus', () => exec('npm install -g gitnexus@1.6.4-rc.79'));
19
19
  setupGitnexusMcp();
20
- await setupConfluenceMcp();
20
+ await setupVdsScriptsMcp();
21
21
 
22
22
  console.log('\n\x1b[32m\x1b[1m✓ Global infra ready.\x1b[0m\n');
23
23
  }
@@ -71,49 +71,75 @@ function setupGitnexusMcp() {
71
71
  : warn('MCP setup failed — run manually: claude mcp add gitnexus -- npx -y gitnexus@1.6.4-rc.79 mcp');
72
72
  }
73
73
 
74
- async function setupConfluenceMcp() {
75
- step('Confluence MCP');
74
+
75
+
76
+ async function setupVdsScriptsMcp() {
77
+ step('VDS Scripts MCP');
76
78
 
77
79
  if (!hasCommand('claude')) {
78
- info('Claude Code CLI not foundskip Confluence MCP setup');
80
+ info('Claude Code CLI không tìm thấy bỏ qua thiết lập VDS MCP');
79
81
  return;
80
82
  }
81
83
 
82
- const url = await promptInput(
83
- ' Confluence URL (blank to skip, e.g. http://confluence.company.com): '
84
- );
85
-
86
- if (!url) {
87
- warn('Confluence MCP skipped — run manually later:\n' +
88
- ' claude mcp add confluence -e CONF_MODE=server \\\n' +
89
- ' -e CONF_BASE_URL=<your-url> \\\n' +
90
- ' -e CONF_AUTH_MODE=bearer \\\n' +
91
- ' -e CONF_TOKEN=<your-token> \\\n' +
92
- ' -- npx -y confluence-mcp-server');
84
+ const srcDir = path.join(PKG_ROOT, 'tools', 'vds-scripts');
85
+ const destDir = path.join(CLAUDE_HOME, 'vds-scripts');
86
+ const mcpDir = path.join(destDir, 'mcp_server');
87
+
88
+ info(`Source: ${srcDir}`);
89
+ if (!fs.existsSync(srcDir)) {
90
+ warn('Không tìm thấy source vds-scripts trong package — bỏ qua cài đặt.');
93
91
  return;
94
92
  }
95
93
 
96
- const token = await promptSecret(
97
- ' Confluence Personal Access Token: '
98
- );
99
-
100
- if (!token) {
101
- warn('Confluence MCP skipped token is required');
102
- return;
94
+ fs.mkdirSync(path.dirname(destDir), { recursive: true });
95
+ copyDir(srcDir, destDir);
96
+ ok('Cài đặt thành công.');
97
+
98
+ step('Cấu hình VDS CLI và Credentials');
99
+ const envDir = path.join(require('os').homedir(), '.vds');
100
+ const envFile = path.join(envDir, '.env');
101
+ if (!fs.existsSync(envFile)) {
102
+ fs.mkdirSync(envDir, { recursive: true });
103
+
104
+ info('Vui lòng cung cấp các thông tin xác thực sau (Bắt buộc):');
105
+ let vdsUsername = ''; while (!vdsUsername) vdsUsername = await promptInput(' Nhập VDS_USERNAME: ');
106
+ let vdsPassword = ''; while (!vdsPassword) vdsPassword = await promptSecret(' Nhập VDS_PASSWORD: ');
107
+ let bitbucketToken = ''; while (!bitbucketToken) bitbucketToken = await promptSecret(' Nhập BITBUCKET_TOKEN: ');
108
+ let jiraToken = ''; while (!jiraToken) jiraToken = await promptSecret(' Nhập JIRA_TOKEN: ');
109
+ let confluenceToken = ''; while (!confluenceToken) confluenceToken = await promptSecret(' Nhập INTERNAL_CONFLUENCE_TOKEN: ');
110
+ let extConfluenceToken = ''; while (!extConfluenceToken) extConfluenceToken = await promptSecret(' Nhập EXTERNAL_CONFLUENCE_TOKEN: ');
111
+
112
+ let jiraBaseUrl = ''; while (!jiraBaseUrl) jiraBaseUrl = await promptInput(' Nhập JIRA_BASE_URL (e.g. https://jira.viettelmoney.vn/): ');
113
+ let bitbucketBaseUrl = ''; while (!bitbucketBaseUrl) bitbucketBaseUrl = await promptInput(' Nhập BITBUCKET_BASE_URL (e.g. http://bitbucket.digital.vn): ');
114
+ let confluenceInternalUrl = ''; while (!confluenceInternalUrl) confluenceInternalUrl = await promptInput(' Nhập CONFLUENCE_INTERNAL_URL (e.g. http://10.254.136.35:8090): ');
115
+ let confluenceExternalUrl = ''; while (!confluenceExternalUrl) confluenceExternalUrl = await promptInput(' Nhập CONFLUENCE_EXTERNAL_URL (e.g. http://10.254.136.35:8090): ');
116
+
117
+ const envContent = [
118
+ `VDS_USERNAME=${vdsUsername}`,
119
+ `VDS_PASSWORD=${vdsPassword}`,
120
+ `BITBUCKET_TOKEN=${bitbucketToken}`,
121
+ `JIRA_TOKEN=${jiraToken}`,
122
+ `INTERNAL_CONFLUENCE_TOKEN=${confluenceToken}`,
123
+ `EXTERNAL_CONFLUENCE_TOKEN=${extConfluenceToken}`,
124
+ `JIRA_BASE_URL=${jiraBaseUrl}`,
125
+ `CONFLUENCE_INTERNAL_URL=${confluenceInternalUrl}`,
126
+ `CONFLUENCE_EXTERNAL_URL=${confluenceExternalUrl}`,
127
+ `BITBUCKET_BASE_URL=${bitbucketBaseUrl}`
128
+ ].join('\n') + '\n';
129
+
130
+ fs.writeFileSync(envFile, envContent);
131
+ ok('Đã lưu cấu hình an toàn vào ~/.vds/.env');
132
+ } else {
133
+ ok('Đã tìm thấy file cấu hình ~/.vds/.env');
103
134
  }
104
135
 
105
- const cmd = [
106
- 'claude mcp add confluence',
107
- '-e CONF_MODE=server',
108
- `-e CONF_BASE_URL=${url}`,
109
- '-e CONF_AUTH_MODE=bearer',
110
- `-e CONF_TOKEN=${token}`,
111
- '-- npx -y confluence-mcp-server',
112
- ].join(' ');
113
-
114
- exec(cmd)
115
- ? ok('Confluence MCP configured')
116
- : warn('Confluence MCP setup failed — run manually (see above)');
136
+ const cmd = `claude mcp add vds-orchestrator -- uv run --project "${mcpDir}" vds-mcp-server`;
137
+
138
+ if (exec(cmd)) {
139
+ ok('VDS Scripts MCP đã được cấu hình thành công');
140
+ } else {
141
+ warn('Lỗi thiết lập MCP — vui lòng chạy lệnh thủ công');
142
+ }
117
143
  }
118
144
 
119
145
  function promptInput(question) {
@@ -0,0 +1,6 @@
1
+ {
2
+ "source": "./.agent/skills/vds-scripts-skill",
3
+ "sourceType": "local",
4
+ "localPath": "/Users/vds-ai/Library/Mobile Documents/com~apple~CloudDocs/project/vds/.agent/skills/vds-scripts-skill",
5
+ "installedAt": "2026-01-26T07:07:42.597Z"
6
+ }
@@ -0,0 +1,44 @@
1
+ # Quality Baseline — vds-scripts-skill
2
+
3
+ ## Version History
4
+
5
+ | Version | Date | Score | Evaluator | Notes |
6
+ |---------|------|-------|-----------|-------|
7
+ | 1.0.0 | 2026-03-19 | 3.6/5 | Manual | Initial baseline - needs split |
8
+ | 1.1.0 | 2026-03-23 | pending | Manual | Repositioned as platform-routing skill; pending post-refactor review |
9
+
10
+ ## Evaluation Criteria
11
+
12
+ | Criterion | Weight | Type | Description |
13
+ |-----------|--------|------|-------------|
14
+ | Accuracy | 40% | Scored 1-5 | Commands and routing guidance are correct |
15
+ | Completeness | 25% | Scored 1-5 | Current WHO capabilities are represented through skill text, references, or routing aids |
16
+ | Actionability | 20% | Scored 1-5 | Users can quickly choose the correct command family or specialist skill |
17
+ | Token Efficiency | 10% | Scored 1-5 | Main skill stays concise and relies on progressive disclosure |
18
+ | Schema Validity | 5% | Binary | Skill follows AgentSkills/OpenSkills structure and metadata |
19
+
20
+ ## Current Role
21
+
22
+ `vds-scripts-skill` is the platform-routing skill for the WHO scripts ecosystem.
23
+ It is not the deep specialist runbook for audit workflows or other specialist domains.
24
+
25
+ ## Known Issues
26
+
27
+ - Post-refactor scoring still needs a fresh baseline run.
28
+ - Capability coverage should be validated against the current WHO workspace inventory.
29
+ - Generated/root agent surfaces must be synced after the final skill/doc changes land.
30
+
31
+ ## Validation Checklist
32
+
33
+ - [ ] `SKILL.md` remains concise and activation-oriented
34
+ - [ ] references/ covers the broader capability map
35
+ - [ ] routing matrix maps common intents to the right skill/command family
36
+ - [ ] registry metadata matches the updated role
37
+ - [ ] scripts docs and skills docs tell the same ownership story
38
+
39
+ ## Quality Hypotheses
40
+
41
+ | Date | Hypothesis | Expected | Actual | Score Change |
42
+ |------|------------|----------|--------|--------------|
43
+ | 2026-03-23 | Shift from command dump to platform-routing + references | Token Efficiency up, Completeness up, clearer routing | pending | pending |
44
+ | 2026-03-23 | Add capability index and routing matrix | Completeness 3.5→4.2 | pending | pending |
@@ -0,0 +1,135 @@
1
+ ---
2
+ name: vds-scripts-skill
3
+ description: Use the WHO VDS scripts ecosystem as the platform entrypoint for routed CLI commands, workspace capabilities, and skill delegation. Use when you need to choose the right vds-cli command family, understand the current WHO scripts surface, or route to the correct specialist skill.
4
+ license: Apache-2.0
5
+ metadata:
6
+ version: "1.1.0"
7
+ author: "VDS Platform Team"
8
+ category: "infrastructure"
9
+ tags:
10
+ - cli
11
+ - routing
12
+ - orchestrators
13
+ - platform
14
+ - who
15
+ ---
16
+
17
+ # VDS Scripts Skill
18
+
19
+ Use this skill as the **platform-routing entrypoint** for the WHO scripts ecosystem.
20
+
21
+ `WHO-project` is the canonical VDS ecosystem for both reusable skills and routed scripts:
22
+ - skills live under `WHO-project/vds-skills/skills/`
23
+ - scripts and orchestrators live under `WHO-project/vds-scripts/`
24
+
25
+ This skill helps you:
26
+ - find the right `vds-cli` command family
27
+ - understand the current WHO scripts workspace surface
28
+ - identify whether a task belongs to a platform command or a specialist skill
29
+ - route humans and AI agents to the correct authoritative source
30
+
31
+ ## When to Use
32
+
33
+ Use this skill when you need:
34
+ - a quick map of the WHO scripts ecosystem
35
+ - the right command family for a task
36
+ - the right specialist skill for deeper guidance
37
+ - bootstrap guidance for `vds-cli`, environment checks, and command discovery
38
+ - a capability index for current WHO automation surfaces
39
+
40
+ Do **not** use this skill as the authoritative deep runbook for:
41
+ - audit workflow execution → use `audit-orchestrator-skill`
42
+ - LLM-backed content evaluation → use `llm-analysis-skill`
43
+ - spec authoring/consolidation → use `spec-creation-skill`
44
+ - LSP setup and type-checking workflows → use `lsp-skill`
45
+ - circular dependency analysis → use `circular-dependency-skill`
46
+
47
+ ## Canonical Sources
48
+
49
+ - Scripts workspace: `WHO-project/vds-scripts/`
50
+ - Skills catalog: `WHO-project/vds-skills/skills/`
51
+ - Skill registry: `WHO-project/vds-skills/registry.yaml`
52
+ - Alignment workflow: `WHO-project/vds-skills/ALIGNMENT.md`
53
+
54
+ ## Primary Command Entry Points
55
+
56
+ ```/dev/null/vds-scripts-skill-entrypoints.sh#L1-12
57
+ # Interactive monorepo-root usage
58
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package vds-cli vds-cli --help
59
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package audit_orchestrator vds-audit --help
60
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package spec_orchestrator vds-spec --help
61
+
62
+ # Dedicated vds-scripts worktree usage
63
+ ./scripts/worktree_uv.sh run --package vds_cli vds-cli --help
64
+ ./scripts/worktree_uv.sh run --package audit_orchestrator vds-audit --help
65
+ ./scripts/worktree_uv.sh run --package spec_orchestrator vds-spec --help
66
+
67
+ # Maintained shell scripts must not copy the plain patterns above.
68
+ # They should source scripts/vds_sh_helpers.sh and use vds_uv_run_package
69
+ # / vds_uv_sync_package / vds_uv_sync_all instead.
70
+ ```
71
+
72
+ ## Platform Command Families
73
+
74
+ ### Bootstrap and discovery
75
+ - `vds-cli env ...`
76
+ - `vds-cli status`
77
+ - `vds-cli doctor`
78
+ - `vds-cli docs ...`
79
+
80
+ ### Integrations
81
+ - `vds-cli jira ...`
82
+ - `vds-cli confluence ...`
83
+ - `vds-cli bitbucket ...`
84
+ - `vds-cli git ...`
85
+ - `vds-cli elastic ...`
86
+ - `vds-cli grafana ...`
87
+ - `vds-cli sonarqube ...`
88
+
89
+ ### Documentation and validation
90
+ - `vds-cli openapi ...`
91
+ - `vds-cli links ...`
92
+ - `vds-cli structure ...`
93
+ - `vds-cli schema ...`
94
+ - `vds-cli pdf ...`
95
+ - `vds-cli diagrams ...`
96
+ - `vds-cli excel ...`
97
+ - `vds-cli google-sheets ...`
98
+ - `vds-markdown ...` via `markdown_orchestrator`
99
+
100
+ ### Development and workflow
101
+ - `vds-cli intellij ...`
102
+ - `vds-cli tasks ...`
103
+ - `vds-cli lsp ...`
104
+ - `vds-cli spec ...`
105
+ - `vds-cli audit ...`
106
+ - `vds-cli circular-dependency ...`
107
+
108
+ ## Specialist Routing Map
109
+
110
+ - Audit workflow execution and readiness gates → `audit-orchestrator-skill`
111
+ - LLM-assisted doc/content scoring → `llm-analysis-skill`
112
+ - Spec creation and consolidation → `spec-creation-skill`
113
+ - CLI/orchestrator development standards → `cli-development-skill`
114
+ - LSP configuration and usage → `lsp-skill`
115
+ - Circular dependency analysis → `circular-dependency-skill`
116
+ - Research-backed investigation → `research-skill`
117
+ - Structural graph review → `code-review-graph-skill`
118
+
119
+ ## Progressive Disclosure
120
+
121
+ Use these bundled references for depth:
122
+ - `references/platform-bootstrap.md`
123
+ - `references/capability-index.md`
124
+ - `references/integration-commands.md`
125
+ - `references/validation-commands.md`
126
+ - `references/development-commands.md`
127
+ - `references/specialist-routing.md`
128
+
129
+ ## Notes
130
+
131
+ - Edit this skill only under `WHO-project/vds-skills/skills/vds-scripts-skill/`.
132
+ - Do not edit `.agent/skills/` directly.
133
+ - Keep this file concise and routing-oriented; push deeper command catalogs into `references/`.
134
+ - For integrated `WHO-project/vds-scripts` workspace usage, Python 3.14+ is the preferred baseline for humans and AI agents.
135
+ - After updates, sync generated agent surfaces from the monorepo root.
@@ -0,0 +1,171 @@
1
+ # Audit Commands — VDS Scripts Skill
2
+
3
+ Detailed command reference for audit orchestrator operations.
4
+
5
+ These are interactive/operator command examples. From the umbrella monorepo root, prefer `./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package audit_orchestrator ...`. Inside a dedicated `vds-scripts` worktree, prefer `./scripts/worktree_uv.sh run --package audit_orchestrator ...`. Maintained shell scripts inside `WHO-project/vds-scripts` should source `scripts/vds_sh_helpers.sh` instead of copying raw operator patterns. Preferred integrated baseline for the `vds-scripts` workspace is Python 3.14+.
6
+
7
+ ## Audit Prep Sequence (Hard-Cut State-First)
8
+
9
+ ```/dev/null/audit-commands-prep-sequence.sh#L1-20
10
+ # 1) Seed centralized state from registry
11
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package audit_orchestrator vds-audit parse-registry \
12
+ --registry-page "<REGISTRY_PAGE_URL_OR_ID>"
13
+
14
+ # 2) Sync repositories for code evidence
15
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package audit_orchestrator vds-audit --json-only sync repos \
16
+ --bitbucket-project "<BITBUCKET_PROJECT_KEY>" \
17
+ --project-storage-key "<PROJECT_STORAGE_KEY>"
18
+
19
+ # 3) Materialize docs + code chunks
20
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package audit_orchestrator vds-audit extract-docs \
21
+ --registry-page "<REGISTRY_PAGE_URL_OR_ID>" \
22
+ --project-storage-key "<PROJECT_STORAGE_KEY>" \
23
+ --output-dir "<EVIDENCE_DIR>"
24
+
25
+ # 4) Hard gate before workflow
26
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package audit_orchestrator vds-audit --json-only state readiness \
27
+ --project "<PROJECT_STORAGE_KEY>" --repo "<REPO_SELECTOR>" \
28
+ | jq '{ready, docs_chunk_ready, code_chunk_ready}'
29
+
30
+ # 5) Phase 87 direct project/repo parsing
31
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package audit_orchestrator vds-audit --json-only parse-project \
32
+ --project "<PROJECT_PAGE_ID>" > /tmp/parse-project.json
33
+
34
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package audit_orchestrator vds-audit --json-only parse-repo \
35
+ --project "<PROJECT_PAGE_ID>" --bitbucket-project "<BITBUCKET_PROJECT_KEY>" \
36
+ --repo "<REPO_SELECTOR>" > /tmp/parse-repo.json
37
+
38
+ # 6) Execute workflow with resolved repo seed
39
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package audit_orchestrator vds-audit workflow "<LOCAL_REPO_PATH>" \
40
+ --thread-id "<THREAD_ID>" --canonical-checklist \
41
+ --checklist-profile "<PROFILE_ID>" \
42
+ --seed-payload /tmp/parse-repo.json
43
+ ```
44
+
45
+ ## Selector Notes
46
+
47
+ - `parse-project` / `parse-repo` `--project` accepts only Confluence page-id selectors (numeric or URL with `pageId=<ID>`)
48
+ - Checklist precedence: `--checklist-page-id` > `--checklist-profile` > state profile resolution > canonical fallback `88722450`
49
+ - Phase 102 hard-cut: Legacy `CL-NNN:row_N` tokens not parsed; run `state migrate-row-keys --execute` first
50
+ - Phase 90 selector isolation: `parse-project` rejects Bitbucket keys in `--project`; use `parse-repo --bitbucket-project`
51
+ - `parse-repo` returns `repo_coverage` (project-wide) and `selected_repo_coverage` (filtered); use latter for single-repo seeds
52
+ - `sync repos` selectors: `--local` > `--bitbucket-project` > `--github-org` > `--git-url` (precedence)
53
+
54
+ ## Audit Monitoring (Phase 68)
55
+
56
+ ```/dev/null/audit-commands-monitoring.sh#L1-11
57
+ # Preflight credentials
58
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package audit_orchestrator vds-audit \
59
+ --json-only doctor credentials --require-state-dsn
60
+
61
+ # Dual-source prep gate
62
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package audit_orchestrator vds-audit \
63
+ --json-only state readiness --project "<PROJECT_KEY>" --repo "<REPO_KEY>" \
64
+ | jq '{ready, docs_chunk_ready, code_chunk_ready, hierarchy_ready}'
65
+
66
+ # Follow runtime logs
67
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package audit_orchestrator vds-audit \
68
+ doctor logs-follow --follow --tail 200 --audit-id "<AUDIT_ID>" --json
69
+
70
+ # Crawl diagnostics (Phase 80)
71
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package audit_orchestrator vds-audit \
72
+ doctor crawl-status --project-storage-key "<PROJECT_KEY>"
73
+ ```
74
+
75
+ ## Corpus Lifecycle (Phase 94)
76
+
77
+ ```bash
78
+ # Dry-run purge
79
+ vds-audit --json-only corpus purge --project "<PROJECT_KEY>"
80
+
81
+ # Execute purge with advisory lock
82
+ vds-audit --json-only corpus purge --project "<PROJECT_KEY>" --execute
83
+
84
+ # Keep latest, purge older
85
+ vds-audit corpus purge --project "<PROJECT_KEY>" --keep-latest --execute
86
+
87
+ # Backfill metadata
88
+ vds-audit --json-only corpus backfill-metadata --project "<PROJECT_KEY>"
89
+
90
+ # Health diagnostics
91
+ vds-audit --json-only doctor corpus-status --project "<PROJECT_KEY>"
92
+
93
+ # Force full re-ingest
94
+ vds-audit extract-docs --project-storage-key "<PROJECT_KEY>" \
95
+ --force-full-reingest --execute
96
+ ```
97
+
98
+ ## DSPy Judge & Gold Dataset (Phase 108)
99
+
100
+ DSPy is **enabled by default**. No `--use-dspy` flag needed.
101
+
102
+ ```bash
103
+ # Workflow with DSPy judge (default)
104
+ vds-audit workflow "<REPO_PATH>" --thread-id "<THREAD_ID>" --canonical-checklist
105
+
106
+ # Disable DSPy explicitly
107
+ vds-audit workflow "<REPO_PATH>" --thread-id "<THREAD_ID>" --canonical-checklist --no-use-dspy
108
+
109
+ # Build gold dataset
110
+ vds-audit build-gold-dataset [--search-root <dir>] [--output <path>] \
111
+ [--checklist-aware] [--category-balance] [--benchmark-slice]
112
+ ```
113
+
114
+ **Key Environment Variables**:
115
+ - `VDS_AUDIT_FEATURES__DSPY_ENABLED` (default: `true`)
116
+ - `VDS_AUDIT_DSPY_JUDGE_MAX_INVOCATIONS_PER_RUN` (default: `20`)
117
+ - `VDS_AUDIT_LLM__DSPY_JUDGE_LOW_CONFIDENCE_THRESHOLD` (default: `0.65`)
118
+ - `VDS_AUDIT_DSPY_ASSERTIONS_ENABLED` (default: `true`)
119
+
120
+ ## Multi-Provider Runs (Phase 107)
121
+
122
+ ```/dev/null/audit-commands-multi-provider.sh#L1-21
123
+ # Alibaba-openai (qwen3.5-plus)
124
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package audit_orchestrator \
125
+ vds-audit workflow "<REPO_PATH>" \
126
+ --profile alibaba-openai \
127
+ --project-storage-key "<PROJECT_STORAGE_KEY>" \
128
+ --thread-id "<THREAD_ID>" \
129
+ --canonical-checklist \
130
+ --target "CL-004,CL-001"
131
+
132
+ # Z.ai-openai (glm-5)
133
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package audit_orchestrator \
134
+ vds-audit workflow "<REPO_PATH>" \
135
+ --profile zai-openai \
136
+ --project-storage-key "<PROJECT_STORAGE_KEY>" \
137
+ --thread-id "<THREAD_ID>" \
138
+ --canonical-checklist \
139
+ --target "CL-004,CL-001"
140
+
141
+ # Gemini (via local proxy)
142
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package audit_orchestrator \
143
+ vds-audit workflow "<REPO_PATH>" \
144
+ --profile antigravity-gemini \
145
+ --project-storage-key "<PROJECT_STORAGE_KEY>" \
146
+ --thread-id "<THREAD_ID>" \
147
+ --canonical-checklist \
148
+ --target "CL-004,CL-001"
149
+ ```
150
+
151
+ Non-Claude profiles have increased budgets: `MAX_TURNS=32`, `MAX_TOOL_CALLS=96`.
152
+
153
+ For single-row reruns such as `CL-002`, keep the same workflow shape and pass `--target CL-002`. Do not use unsupported legacy selectors such as `--check-ids` or `--targeted-rows`.
154
+
155
+ ## System Documentation (Phase 106)
156
+
157
+ ```bash
158
+ # Publish 6-page Vietnamese hierarchy
159
+ vds-audit publish-system-doc --project "<PROJECT_ID>" --sync-policy if-changed
160
+
161
+ # Force re-publish
162
+ vds-audit publish-system-doc --project "<PROJECT_ID>" --sync-policy force
163
+ ```
164
+
165
+ Hierarchy pages:
166
+ - Root: Tài liệu Hệ thống Audit
167
+ - 📐 Công nghệ & Kiến trúc
168
+ - ⚙️ Quy trình Vận hành
169
+ - 📊 Kết quả Audit & Chỉ số
170
+ - 🔧 Hướng dẫn Cài đặt & Cấu hình
171
+ - 📖 Tham chiếu Kỹ thuật
@@ -0,0 +1,34 @@
1
+ # Capability Index
2
+
3
+ This index maps the current WHO scripts ecosystem at a platform-routing level.
4
+
5
+ ## Routed command surfaces
6
+
7
+ - bootstrap: `env`, `status`, `doctor`, `docs`
8
+ - integrations: `jira`, `confluence`, `bitbucket`, `git`, `elastic`, `grafana`, `sonarqube`
9
+ - docs/validation: `openapi`, `links`, `structure`, `schema`, `pdf`, `diagrams`, `excel`, `google-sheets`
10
+ - development/workflow: `intellij`, `tasks`, `lsp`, `spec`, `audit`, `circular-dependency`
11
+
12
+ ## Standalone workspace capabilities
13
+
14
+ - `markdown_orchestrator` for markdown lint/format workflows
15
+ - `hexagonal_orchestrator` for architecture/compliance support
16
+ - `mcp_server` for MCP/server-related support
17
+ - `multi_agent_orchestrator` for multi-agent execution support
18
+
19
+ ## Shared/internal support layers
20
+
21
+ - `vds_cli_common`
22
+ - `vds_hooks`
23
+
24
+ ## Skills ecosystem linkage
25
+
26
+ The WHO skills catalog complements the scripts workspace with specialist skills such as:
27
+ - `audit-orchestrator-skill`
28
+ - `llm-analysis-skill`
29
+ - `spec-creation-skill`
30
+ - `research-skill`
31
+ - `lsp-skill`
32
+ - `circular-dependency-skill`
33
+
34
+ Use this index with `specialist-routing.md` and the scripts docs routing matrix.
@@ -0,0 +1,12 @@
1
+ # Development Commands
2
+
3
+ Representative WHO development/workflow command families:
4
+
5
+ - `vds-cli intellij ...`
6
+ - `vds-cli tasks ...`
7
+ - `vds-cli lsp ...`
8
+ - `vds-cli spec ...`
9
+ - `vds-audit ...`
10
+ - `vds-cli circular-dependency ...`
11
+
12
+ These families often route into specialist skills for deeper guidance.
@@ -0,0 +1,73 @@
1
+ # Google Sheets Commands — VDS Scripts Skill
2
+
3
+ Standalone package with 10 commands and full VDS CLI standards.
4
+
5
+ ## Commands
6
+
7
+ ```bash
8
+ # List worksheets
9
+ vds-cli google-sheets list-worksheets \
10
+ --spreadsheet-url <url> --auth-method service_account
11
+
12
+ # Read a worksheet
13
+ vds-cli google-sheets read \
14
+ --spreadsheet-url <url> --sheet-name "Sheet1" --auth-method service_account
15
+
16
+ # Read a limited range
17
+ vds-cli google-sheets read \
18
+ --spreadsheet-url <url> --sheet-name "Sheet1" --range A1:F10
19
+
20
+ # Write values to a range
21
+ vds-cli google-sheets write \
22
+ --spreadsheet-url <url> --sheet-name "Sheet1" --range "A1:B2" \
23
+ --values-json '[["a","b"],["c","d"]]'
24
+
25
+ # Append rows
26
+ vds-cli google-sheets append \
27
+ --spreadsheet-url <url> --sheet-name "Sheet1" --values-json '[["new","row"]]'
28
+
29
+ # Clear a range
30
+ vds-cli google-sheets clear \
31
+ --spreadsheet-url <url> --sheet-name "Sheet1" --range "A1:Z100"
32
+
33
+ # Create spreadsheet
34
+ vds-cli google-sheets create-spreadsheet --title "New Spreadsheet"
35
+
36
+ # Create worksheet
37
+ vds-cli google-sheets create-worksheet \
38
+ --spreadsheet-url <url> --title "NewSheet" --rows 100 --cols 26
39
+
40
+ # Delete worksheet
41
+ vds-cli google-sheets delete-worksheet \
42
+ --spreadsheet-url <url> --sheet-name "SheetToDelete"
43
+
44
+ # Export to CSV/XLSX
45
+ vds-cli google-sheets export \
46
+ --spreadsheet-url <url> --sheet-name "Sheet1" --output data.csv --format csv
47
+
48
+ # JSON output mode (all commands)
49
+ vds-cli google-sheets -- --json-only read \
50
+ --spreadsheet-url <url> --sheet-name "Sheet1"
51
+ ```
52
+
53
+ ## Authentication
54
+
55
+ **Defaults**:
56
+ - Service account credentials: use the explicit path/config option when available; otherwise the active Unix-like default is `~/.vds/google_credentials.json`
57
+ - API key: `VDS_GOOGLE_API_KEY` or, under the active Unix-like default, `~/.vds/google_api_key.txt`
58
+
59
+ **Auth methods**:
60
+ - `service_account` - Uses service account JSON file
61
+ - `api_key` - Uses API key from env or file
62
+
63
+ ## Full Command Prefix
64
+
65
+ Interactive monorepo-root usage commonly uses:
66
+
67
+ ```/dev/null/google-sheets-prefix.sh#L1-1
68
+ ./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package vds-cli vds-cli google-sheets <command>
69
+ ```
70
+
71
+ Inside a dedicated `vds-scripts` worktree, the equivalent form is `./scripts/worktree_uv.sh run --package vds_cli vds-cli google-sheets <command>`.
72
+
73
+ For maintained shell scripts inside `WHO-project/vds-scripts`, do not copy raw operator forms. Source `scripts/vds_sh_helpers.sh` and use the helper contract instead.
@@ -0,0 +1,17 @@
1
+ # Integration Commands
2
+
3
+ vds Representative WHO integration command families.
4
+
5
+ These examples are interactive operator examples. From the umbrella monorepo root, prefer `./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package <uv-package-name> ...`. Inside a dedicated `vds-scripts` worktree, prefer `./scripts/worktree_uv.sh run --package <member-dir> ...`. Maintained shell scripts inside `WHO-project/vds-scripts` should source `scripts/vds_sh_helpers.sh` instead of copying raw operator forms.
6
+
7
+ - `vds-cli jira ...`
8
+ - JQL search example: `./WHO-project/vds-scripts/scripts/worktree_uv.sh run --directory WHO-project/vds-scripts --package jira_orchestrator vds-jira-cli search "project = CBDC ORDER BY updated DESC" --limit 5 --json-only`
9
+ - Note: `vds-jira-cli search` now accepts `--json-only` as a command-local flag after `search`, in addition to the global pre-subcommand form.
10
+ - `vds-cli confluence ...`
11
+ - `vds-cli bitbucket ...`
12
+ - `vds-cli git ...`
13
+ - `vds-cli elastic ...`
14
+ - `vds-cli grafana ...`
15
+ - `vds-cli sonarqube ...`
16
+
17
+ Use the scripts workspace reference docs for deeper command examples.