py-wlcli 0.8.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. py_wlcli-0.8.0.dist-info/METADATA +139 -0
  2. py_wlcli-0.8.0.dist-info/RECORD +320 -0
  3. py_wlcli-0.8.0.dist-info/WHEEL +4 -0
  4. py_wlcli-0.8.0.dist-info/entry_points.txt +2 -0
  5. py_wlcli-0.8.0.dist-info/licenses/LICENSE +21 -0
  6. wl_cli/__init__.py +27 -0
  7. wl_cli/__main__.py +130 -0
  8. wl_cli/capabilities.py +79 -0
  9. wl_cli/cc/__init__.py +5 -0
  10. wl_cli/cc/checks.py +1019 -0
  11. wl_cli/cc/cli.py +370 -0
  12. wl_cli/cc/mutate.py +1350 -0
  13. wl_cli/cli_click.py +156 -0
  14. wl_cli/commands/__init__.py +84 -0
  15. wl_cli/commands/base.py +80 -0
  16. wl_cli/commands/buildcommands/__init__.py +1 -0
  17. wl_cli/commands/buildcommands/build.py +71 -0
  18. wl_cli/commands/buildcommands/build_utils.py +47 -0
  19. wl_cli/commands/buildcommands/builders/__init__.py +18 -0
  20. wl_cli/commands/buildcommands/builders/cleanup.py +35 -0
  21. wl_cli/commands/buildcommands/builders/coordinator.py +122 -0
  22. wl_cli/commands/buildcommands/builders/environment.py +81 -0
  23. wl_cli/commands/buildcommands/builders/rust_builder.py +39 -0
  24. wl_cli/commands/buildcommands/builders/stubs.py +58 -0
  25. wl_cli/commands/buildcommands/dist.py +326 -0
  26. wl_cli/commands/buildcommands/test.py +89 -0
  27. wl_cli/commands/clean/__init__.py +1 -0
  28. wl_cli/commands/clean/build.py +151 -0
  29. wl_cli/commands/clean/clean.py +294 -0
  30. wl_cli/commands/clean/clean_utils.py +77 -0
  31. wl_cli/commands/clean/core.py +236 -0
  32. wl_cli/commands/clean/dead_code/__init__.py +0 -0
  33. wl_cli/commands/clean/dead_code/dead_code_command.py +70 -0
  34. wl_cli/commands/clean/dead_code/detector.py +161 -0
  35. wl_cli/commands/clean/dead_code/fixer.py +176 -0
  36. wl_cli/commands/clean/dead_code/reporter.py +295 -0
  37. wl_cli/commands/clean/dead_code/utils.py +0 -0
  38. wl_cli/commands/clean/lfs.py +215 -0
  39. wl_cli/commands/clean/python.py +81 -0
  40. wl_cli/commands/clean/rust.py +91 -0
  41. wl_cli/commands/clean/utils/__init__.py +34 -0
  42. wl_cli/commands/clean/venv.py +91 -0
  43. wl_cli/commands/cleanup.py +73 -0
  44. wl_cli/commands/click_base.py +79 -0
  45. wl_cli/commands/config/__init__.py +1 -0
  46. wl_cli/commands/config/config.py +291 -0
  47. wl_cli/commands/debug/__init__.py +6 -0
  48. wl_cli/commands/debug/debug.py +309 -0
  49. wl_cli/commands/debug/debug_cache.py +86 -0
  50. wl_cli/commands/debug/debug_subagent.py +156 -0
  51. wl_cli/commands/debug/output_formatter.py +165 -0
  52. wl_cli/commands/debug/source_hasher.py +92 -0
  53. wl_cli/commands/format/__init__.py +13 -0
  54. wl_cli/commands/format/format_cache_adapter.py +125 -0
  55. wl_cli/commands/format/format_command.py +197 -0
  56. wl_cli/commands/format/format_coordinator.py +191 -0
  57. wl_cli/commands/format/format_executor.py +470 -0
  58. wl_cli/commands/format/format_outcome.py +44 -0
  59. wl_cli/commands/format/format_path_handler.py +1016 -0
  60. wl_cli/commands/format/format_progress.py +62 -0
  61. wl_cli/commands/format/format_reporter.py +31 -0
  62. wl_cli/commands/format/python_formatter.py +506 -0
  63. wl_cli/commands/format/rust_formatter.py +106 -0
  64. wl_cli/commands/gate/__init__.py +1 -0
  65. wl_cli/commands/gate/gate_command.py +862 -0
  66. wl_cli/commands/gate/preflight.py +445 -0
  67. wl_cli/commands/git/__init__.py +1 -0
  68. wl_cli/commands/git/config.py +169 -0
  69. wl_cli/commands/git/git_facts.py +60 -0
  70. wl_cli/commands/git/git_flow.py +86 -0
  71. wl_cli/commands/git/hook.py +112 -0
  72. wl_cli/commands/git/policy.py +216 -0
  73. wl_cli/commands/git/push_update.py +82 -0
  74. wl_cli/commands/initenv/__init__.py +1 -0
  75. wl_cli/commands/initenv/common/__init__.py +23 -0
  76. wl_cli/commands/initenv/common/check_git_bash.py +78 -0
  77. wl_cli/commands/initenv/common/error_handler.py +68 -0
  78. wl_cli/commands/initenv/common/exceptions.py +52 -0
  79. wl_cli/commands/initenv/components/__init__.py +4 -0
  80. wl_cli/commands/initenv/components/cargo_sync.py +240 -0
  81. wl_cli/commands/initenv/components/config_manager.py +106 -0
  82. wl_cli/commands/initenv/components/directory_utils.py +71 -0
  83. wl_cli/commands/initenv/components/git/__init__.py +9 -0
  84. wl_cli/commands/initenv/components/git/branch_creator.py +143 -0
  85. wl_cli/commands/initenv/components/git/git_flow_interface.py +24 -0
  86. wl_cli/commands/initenv/components/git/git_flow_manager.py +159 -0
  87. wl_cli/commands/initenv/components/git/git_lfs_manager.py +272 -0
  88. wl_cli/commands/initenv/components/git/git_utility.py +254 -0
  89. wl_cli/commands/initenv/components/git/gitignore_manager.py +53 -0
  90. wl_cli/commands/initenv/components/git_initializer.py +212 -0
  91. wl_cli/commands/initenv/components/i18n_manager.py +104 -0
  92. wl_cli/commands/initenv/components/log_manager.py +241 -0
  93. wl_cli/commands/initenv/components/project_structure/__init__.py +23 -0
  94. wl_cli/commands/initenv/components/project_structure/config_generator.py +360 -0
  95. wl_cli/commands/initenv/components/project_structure/directory_creator.py +184 -0
  96. wl_cli/commands/initenv/components/project_structure/hook_source.py +110 -0
  97. wl_cli/commands/initenv/components/project_structure/hooks_manager.py +995 -0
  98. wl_cli/commands/initenv/components/project_structure/readme_handler.py +56 -0
  99. wl_cli/commands/initenv/components/project_structure/rust_files_handler.py +30 -0
  100. wl_cli/commands/initenv/components/project_structure/setup_handler.py +103 -0
  101. wl_cli/commands/initenv/components/project_structure/sop_generator.py +73 -0
  102. wl_cli/commands/initenv/components/project_structure/template_copier.py +104 -0
  103. wl_cli/commands/initenv/components/project_structure/template_manager.py +195 -0
  104. wl_cli/commands/initenv/components/pyproject_generator.py +194 -0
  105. wl_cli/commands/initenv/components/rust_initializer.py +145 -0
  106. wl_cli/commands/initenv/components/symlink_cleaner.py +99 -0
  107. wl_cli/commands/initenv/components/symlink_manager.py +52 -0
  108. wl_cli/commands/initenv/components/venv_manager.py +118 -0
  109. wl_cli/commands/initenv/initenv.py +169 -0
  110. wl_cli/commands/initenv/services/__init__.py +11 -0
  111. wl_cli/commands/initenv/services/environment_initializer.py +288 -0
  112. wl_cli/commands/initenv/services/git_lfs_initializer.py +26 -0
  113. wl_cli/commands/initenv/services/project_structure_initializer.py +52 -0
  114. wl_cli/commands/lfs/README.md +221 -0
  115. wl_cli/commands/lfs/__init__.py +5 -0
  116. wl_cli/commands/lfs/cli.py +106 -0
  117. wl_cli/commands/lfs/config.py +164 -0
  118. wl_cli/commands/lfs/hook.py +61 -0
  119. wl_cli/commands/lfs/initializer.py +531 -0
  120. wl_cli/commands/lfs/manager.py +95 -0
  121. wl_cli/commands/lfs/policy.py +165 -0
  122. wl_cli/commands/lfs/watcher.py +294 -0
  123. wl_cli/commands/lint/__init__.py +1 -0
  124. wl_cli/commands/lint/lint_command.py +297 -0
  125. wl_cli/commands/lint/lint_executor.py +409 -0
  126. wl_cli/commands/lint/lint_reporter.py +579 -0
  127. wl_cli/commands/lint/lint_run.py +258 -0
  128. wl_cli/commands/lint/mypy_config.py +90 -0
  129. wl_cli/commands/registry.py +103 -0
  130. wl_cli/commands/self/__init__.py +7 -0
  131. wl_cli/commands/self/common/__init__.py +8 -0
  132. wl_cli/commands/self/common/capabilities.py +30 -0
  133. wl_cli/commands/self/common/config.py +27 -0
  134. wl_cli/commands/self/common/version_cache.py +85 -0
  135. wl_cli/commands/self/handlers/__init__.py +19 -0
  136. wl_cli/commands/self/handlers/base_handler.py +28 -0
  137. wl_cli/commands/self/handlers/install_handler.py +85 -0
  138. wl_cli/commands/self/handlers/status_handler.py +66 -0
  139. wl_cli/commands/self/handlers/uninstall_handler.py +58 -0
  140. wl_cli/commands/self/handlers/update_handler.py +102 -0
  141. wl_cli/commands/self/handlers/version_handler.py +16 -0
  142. wl_cli/commands/self/self_command.py +237 -0
  143. wl_cli/commands/self/services/__init__.py +15 -0
  144. wl_cli/commands/self/services/installation_manager.py +187 -0
  145. wl_cli/commands/self/services/local_installer.py +165 -0
  146. wl_cli/commands/self/services/pypi_updater.py +278 -0
  147. wl_cli/commands/self/services/windows_update.py +174 -0
  148. wl_cli/commands/testcommands/__init__.py +8 -0
  149. wl_cli/commands/testcommands/base_dependency_analyzer.py +198 -0
  150. wl_cli/commands/testcommands/batch_processor.py +278 -0
  151. wl_cli/commands/testcommands/cache_manager.py +1156 -0
  152. wl_cli/commands/testcommands/coverage_analyzer.py +955 -0
  153. wl_cli/commands/testcommands/coverage_cache_manager.py +183 -0
  154. wl_cli/commands/testcommands/progress_manager.py +79 -0
  155. wl_cli/commands/testcommands/python_env_detector.py +207 -0
  156. wl_cli/commands/testcommands/report_generator.py +101 -0
  157. wl_cli/commands/testcommands/single_test_executor.py +250 -0
  158. wl_cli/commands/testcommands/speed_checker.py +118 -0
  159. wl_cli/commands/testcommands/test_command_builder.py +165 -0
  160. wl_cli/commands/testcommands/test_commands.py +786 -0
  161. wl_cli/commands/testcommands/test_reporter.py +181 -0
  162. wl_cli/commands/testcommands/test_result_handler.py +96 -0
  163. wl_cli/commands/testcommands/test_runner.py +1343 -0
  164. wl_cli/commands/testcommands/test_utils.py +197 -0
  165. wl_cli/commands/testcommands/utils/__init__.py +17 -0
  166. wl_cli/commands/testcommands/utils/coverage_parser.py +98 -0
  167. wl_cli/commands/testcommands/utils/env_info.py +36 -0
  168. wl_cli/commands/testcommands/utils/junit_parser.py +75 -0
  169. wl_cli/commands/testcommands/utils/markdown_utils.py +20 -0
  170. wl_cli/commands/testcommands/utils/project_root.py +61 -0
  171. wl_cli/commands/update/__init__.py +9 -0
  172. wl_cli/commands/update/services/__init__.py +21 -0
  173. wl_cli/commands/update/services/backup_manager.py +207 -0
  174. wl_cli/commands/update/services/component_manager.py +83 -0
  175. wl_cli/commands/update/services/conflict_resolver.py +189 -0
  176. wl_cli/commands/update/services/vendors_updater.py +85 -0
  177. wl_cli/commands/update/services/version_tracker.py +127 -0
  178. wl_cli/commands/update/update_command.py +270 -0
  179. wl_cli/commands/update/utils/__init__.py +3 -0
  180. wl_cli/commands/version/__init__.py +9 -0
  181. wl_cli/commands/version/version_command.py +155 -0
  182. wl_cli/commands/workflow.py +477 -0
  183. wl_cli/env/__init__.py +5 -0
  184. wl_cli/env/cli.py +167 -0
  185. wl_cli/env_status.py +157 -0
  186. wl_cli/envelope.py +91 -0
  187. wl_cli/exceptions.py +85 -0
  188. wl_cli/lib/__init__.py +3 -0
  189. wl_cli/lib/rust_utils.py +35 -0
  190. wl_cli/mcp/__init__.py +6 -0
  191. wl_cli/mcp/capabilities.py +19 -0
  192. wl_cli/mcp/cli.py +22 -0
  193. wl_cli/mcp/gitlab.py +553 -0
  194. wl_cli/mcp/k8s.py +344 -0
  195. wl_cli/mcp/protocol.py +159 -0
  196. wl_cli/platform.py +139 -0
  197. wl_cli/quality/__init__.py +18 -0
  198. wl_cli/utils/__init__.py +7 -0
  199. wl_cli/utils/cache.py +491 -0
  200. wl_cli/utils/cache_ledger.py +355 -0
  201. wl_cli/utils/cache_store.py +546 -0
  202. wl_cli/utils/config/__init__.py +27 -0
  203. wl_cli/utils/config/config_loader.py +163 -0
  204. wl_cli/utils/config/core.py +862 -0
  205. wl_cli/utils/config/defaults.py +142 -0
  206. wl_cli/utils/config/env_exporter.py +86 -0
  207. wl_cli/utils/config/env_parser.py +108 -0
  208. wl_cli/utils/config/validation.py +280 -0
  209. wl_cli/utils/error_handler.py +165 -0
  210. wl_cli/utils/file_copier.py +56 -0
  211. wl_cli/utils/file_operations.py +506 -0
  212. wl_cli/utils/language_utils.py +122 -0
  213. wl_cli/utils/lazy_import.py +240 -0
  214. wl_cli/utils/log_levels.py +35 -0
  215. wl_cli/utils/log_rotators.py +74 -0
  216. wl_cli/utils/logging.py +458 -0
  217. wl_cli/utils/output_context.py +142 -0
  218. wl_cli/utils/performance/__init__.py +1 -0
  219. wl_cli/utils/performance/decorators.py +111 -0
  220. wl_cli/utils/performance/exporter.py +38 -0
  221. wl_cli/utils/performance/models.py +16 -0
  222. wl_cli/utils/performance/monitor.py +161 -0
  223. wl_cli/utils/performance_monitor.py +32 -0
  224. wl_cli/utils/platform_adapter.py +131 -0
  225. wl_cli/utils/pre_commit.py +266 -0
  226. wl_cli/utils/pre_commit_config.py +72 -0
  227. wl_cli/utils/root.py +521 -0
  228. wl_cli/utils/root_fallback.py +256 -0
  229. wl_cli/utils/run_evidence.py +236 -0
  230. wl_cli/utils/structured_logger.py +18 -0
  231. wl_cli/utils/structured_logging/__init__.py +19 -0
  232. wl_cli/utils/structured_logging/config.py +337 -0
  233. wl_cli/utils/structured_logging/core.py +177 -0
  234. wl_cli/utils/structured_logging/env.py +56 -0
  235. wl_cli/utils/structured_logging/filtering.py +75 -0
  236. wl_cli/utils/structured_logging/filters.py +55 -0
  237. wl_cli/utils/structured_logging/formatters.py +251 -0
  238. wl_cli/utils/structured_logging/handlers.py +308 -0
  239. wl_cli/utils/structured_logging/logger.py +354 -0
  240. wl_cli/utils/subprocess.py +71 -0
  241. wl_cli/utils/subprocess_utils.py +260 -0
  242. wl_cli/utils/test_utils/__init__.py +5 -0
  243. wl_cli/utils/test_utils/test_filter.py +36 -0
  244. wl_cli/utils/uv_run.py +79 -0
  245. wl_cli/utils/uv_tool.py +117 -0
  246. wl_cli/utils/uv_tree.py +71 -0
  247. wl_cli/utils/uv_workspace.py +174 -0
  248. wl_cli/utils/version/__init__.py +15 -0
  249. wl_cli/utils/version/pypi_version_checker.py +95 -0
  250. wl_cli/utils/version/version_comparator.py +133 -0
  251. wl_cli/utils/version/version_detectors.py +312 -0
  252. wl_cli/utils/version/version_service.py +131 -0
  253. wl_cli/utils/version/version_updater.py +198 -0
  254. wl_cli/utils/wl_dir_updater.py +1440 -0
  255. wl_cli/utils/workspace_detector/__init__.py +28 -0
  256. wl_cli/utils/workspace_detector/core.py +161 -0
  257. wl_cli/utils/workspace_detector/detection_strategies.py +107 -0
  258. wl_cli/utils/workspace_detector/exceptions.py +5 -0
  259. wl_cli/utils/workspace_detector/types.py +17 -0
  260. wl_cli/utils/workspace_detector/venv_resolver.py +84 -0
  261. wl_cli/vendors/config/.codespellrc +2 -0
  262. wl_cli/vendors/config/dependencies.toml +10 -0
  263. wl_cli/vendors/config/mypy.ini +62 -0
  264. wl_cli/vendors/config/pyproject_defaults.toml +28 -0
  265. wl_cli/vendors/config/template_config.toml +24 -0
  266. wl_cli/vendors/config/tool_configs.toml +76 -0
  267. wl_cli/vendors/git/.gitignore +122 -0
  268. wl_cli/vendors/git/.pre-commit-config.yaml +37 -0
  269. wl_cli/vendors/hooks/applypatch-msg.sample +15 -0
  270. wl_cli/vendors/hooks/commit-msg.sample +24 -0
  271. wl_cli/vendors/hooks/fsmonitor-watchman.sample +174 -0
  272. wl_cli/vendors/hooks/post-update.sample +8 -0
  273. wl_cli/vendors/hooks/pre-applypatch.sample +14 -0
  274. wl_cli/vendors/hooks/pre-commit +45 -0
  275. wl_cli/vendors/hooks/pre-commit.legacy +31 -0
  276. wl_cli/vendors/hooks/pre-commit.sample +49 -0
  277. wl_cli/vendors/hooks/pre-merge-commit.sample +13 -0
  278. wl_cli/vendors/hooks/pre-push.sample +60 -0
  279. wl_cli/vendors/hooks/pre-rebase.sample +169 -0
  280. wl_cli/vendors/hooks/pre-receive.sample +24 -0
  281. wl_cli/vendors/hooks/prepare-commit-msg.sample +42 -0
  282. wl_cli/vendors/hooks/push-to-checkout.sample +78 -0
  283. wl_cli/vendors/hooks/sendemail-validate.sample +77 -0
  284. wl_cli/vendors/hooks/unix/applypatch-msg.sample +15 -0
  285. wl_cli/vendors/hooks/unix/check_lockfile.py +58 -0
  286. wl_cli/vendors/hooks/unix/check_lockfile.sh +36 -0
  287. wl_cli/vendors/hooks/unix/commit-msg.sample +24 -0
  288. wl_cli/vendors/hooks/unix/fsmonitor-watchman.sample +174 -0
  289. wl_cli/vendors/hooks/unix/post-update.sample +8 -0
  290. wl_cli/vendors/hooks/unix/pre-applypatch.sample +14 -0
  291. wl_cli/vendors/hooks/unix/pre-commit +190 -0
  292. wl_cli/vendors/hooks/unix/pre-commit.legacy +31 -0
  293. wl_cli/vendors/hooks/unix/pre-commit.py +81 -0
  294. wl_cli/vendors/hooks/unix/pre-commit.sample +49 -0
  295. wl_cli/vendors/hooks/unix/pre-merge-commit.sample +13 -0
  296. wl_cli/vendors/hooks/unix/pre-push +417 -0
  297. wl_cli/vendors/hooks/unix/pre-push.sample +53 -0
  298. wl_cli/vendors/hooks/unix/pre-rebase.sample +169 -0
  299. wl_cli/vendors/hooks/unix/pre-receive.sample +24 -0
  300. wl_cli/vendors/hooks/unix/prepare-commit-msg.sample +42 -0
  301. wl_cli/vendors/hooks/update.sample +128 -0
  302. wl_cli/vendors/hooks/win/work.bat +63 -0
  303. wl_cli/vendors/project/.gitignore +90 -0
  304. wl_cli/vendors/project/.python-version +1 -0
  305. wl_cli/vendors/project/LICENSE +21 -0
  306. wl_cli/vendors/project/README.md +0 -0
  307. wl_cli/vendors/project/pyproject.toml +27 -0
  308. wl_cli/vendors/project/pyproject_no_workspace.toml +16 -0
  309. wl_cli/vendors/project/pyproject_workspace.toml +14 -0
  310. wl_cli/vendors/readme/README.md +120 -0
  311. wl_cli/vendors/rust/Cargo.toml +14 -0
  312. wl_cli/vendors/rust/lib/__init__.py +3 -0
  313. wl_cli/vendors/rust/lib/rust_utils.py +31 -0
  314. wl_cli/vendors/rust/src/lib.rs +13 -0
  315. wl_cli/vendors/rust/src/main.rs +3 -0
  316. wl_cli/vendors/rust/tests/test_rust_fallback.py +40 -0
  317. wl_cli/vendors/sop_doc/git-dev-sop.md +220 -0
  318. wl_cli/vendors/sop_doc/industrial-standard-sop.md +145 -0
  319. wl_cli/vendors/sop_doc/python-sop.md +342 -0
  320. wl_cli/vendors/sop_doc/rust-readme.md +219 -0
@@ -0,0 +1,139 @@
1
+ Metadata-Version: 2.5
2
+ Name: py_wlcli
3
+ Version: 0.8.0
4
+ Summary: wl_cli - Python项目
5
+ Project-URL: Homepage, https://gitlab.gewinnrobo.com/Humuyuan/wl-cli
6
+ Project-URL: Issues, https://gitlab.gewinnrobo.com/Humuyuan/wl-cli/-/issues
7
+ Author-email: WL Admin <wl.admin@example.com>
8
+ License-Expression: MIT
9
+ License-File: LICENSE
10
+ Requires-Python: >=3.11
11
+ Requires-Dist: click>=8.1.0
12
+ Requires-Dist: pre-commit>=4.5.1
13
+ Requires-Dist: toml>=0.10.2
14
+ Requires-Dist: tqdm>=4.66.0
15
+ Provides-Extra: dev
16
+ Requires-Dist: mypy>=1.18.2; extra == 'dev'
17
+ Requires-Dist: pytest-xdist>=3.8.0; extra == 'dev'
18
+ Requires-Dist: ruff==0.15.21; extra == 'dev'
19
+ Requires-Dist: twine>=6.2.0; extra == 'dev'
20
+ Requires-Dist: types-toml>=0.10.8.20240310; extra == 'dev'
21
+ Requires-Dist: types-tqdm>=4.67.0.20250809; extra == 'dev'
22
+ Provides-Extra: lfs
23
+ Requires-Dist: pyyaml>=6.0.0; extra == 'lfs'
24
+ Requires-Dist: watchdog>=6.0.0; extra == 'lfs'
25
+ Provides-Extra: test
26
+ Requires-Dist: pytest-asyncio>=1.3.0; extra == 'test'
27
+ Requires-Dist: pytest-cov>=7.0.0; extra == 'test'
28
+ Requires-Dist: pytest>=9.0.3; extra == 'test'
29
+ Requires-Dist: pyyaml>=6.0.0; extra == 'test'
30
+ Requires-Dist: watchdog>=6.0.0; extra == 'test'
31
+ Description-Content-Type: text/markdown
32
+
33
+ # wl_cli(`wl` CLI)
34
+
35
+ `wl_cli` 是一个以 Click 构建的命令行工具(入口 `wl`),面向 Python 项目的初始化、构建、
36
+ 测试、格式化、lint、清理与质量门等日常开发工作流。发行物是纯 Python wheel
37
+ (`py3-none-any`),安装与运行都不需要 Rust 工具链;Rust 扩展是可选的诊断件,
38
+ 缺失时自动回落纯 Python 实现。
39
+
40
+ ## 功能概览
41
+
42
+ | 命令 | 用途 |
43
+ |------|------|
44
+ | `wl init` | 初始化项目环境(Git、虚拟环境、i18n、Rust 子模块等) |
45
+ | `wl build` | 执行构建任务,支持 Python 包构建与分发 |
46
+ | `wl test` | 运行测试(支持缓存、覆盖率、逐步模式) |
47
+ | `wl format` | 格式化 Python 与 Rust 代码 |
48
+ | `wl lint` | 代码质量检查(ruff/mypy 等) |
49
+ | `wl clean` | 清理构建产物与临时文件 |
50
+ | `wl debug` | (已弃用)质量门 — 改用 `wl test -s` 与 `wl format -s` |
51
+ | `wl self` | 自管理命令 |
52
+
53
+ 命令行别名:`b`→build、`c`→clean、`f`→format、`i`→init。
54
+ 完整命令参考见 [CLI_COMMANDS.md](https://github.com/CharlieZi/wl-cli/blob/main/CLI_COMMANDS.md)。
55
+
56
+ ## 环境要求
57
+
58
+ - Python >= 3.11(纯 Python 路径,安装与运行都不需要 Rust/cargo)
59
+ - 包管理器推荐 [uv](https://docs.astral.sh/uv/)
60
+
61
+ ### 平台支持矩阵
62
+
63
+ | 平台 | 架构 | 支持 |
64
+ |------|------|------|
65
+ | macOS | x86_64 / arm64 | ✅ |
66
+ | Linux(glibc) | x86_64 / aarch64 | ✅ |
67
+ | Linux(musl) | x86_64 / aarch64 | ✅ |
68
+ | Windows | x64 / arm64 | ✅ |
69
+
70
+ 同一个 `py3-none-any` wheel 覆盖以上全部平台。平台报告由
71
+ `wl_cli.platform.platform_payload()` 统一产出
72
+ (`platform` / `python` / `native_extension` / `supported` / `reason`),
73
+ 其中 `native_extension` 只作诊断——Rust 扩展可选,缺失不影响 `supported`。
74
+
75
+ ## 安装
76
+
77
+ ### 稳定版(PyPI)
78
+
79
+ ```bash
80
+ pip install py-wlcli
81
+ ```
82
+
83
+ 按需安装可选 extra:`pip install "py-wlcli[lfs]"`(LFS watch)、
84
+ `pip install "py-wlcli[test]"`(测试套件)、`pip install "py-wlcli[dev]"`(开发工具)。
85
+ 详见[安装文档](https://github.com/CharlieZi/wl-cli/blob/main/docs/user/installation.md)。
86
+
87
+ ### 开发版(从源码)
88
+
89
+ ```bash
90
+ # 以 GitLab 为主仓(origin),GitHub 为镜像
91
+ git clone https://gitlab.gewinnrobo.com/Humuyuan/wl-cli.git
92
+ cd wl_cli
93
+ uv pip install -e ".[dev,test]"
94
+ ```
95
+
96
+ GitHub 镜像:<https://github.com/CharlieZi/wl-cli.git>
97
+
98
+ ## 快速开始
99
+
100
+ ```bash
101
+ wl --help # 查看帮助
102
+ wl init # 初始化项目
103
+ wl build # 构建
104
+ wl test # 运行测试
105
+ wl format # 格式化代码
106
+ wl lint # 代码质量检查
107
+ ```
108
+
109
+ ## 测试与质量门
110
+
111
+ ```bash
112
+ wl test # 运行全部测试
113
+ wl test --cover # 覆盖率(阈值 70%)
114
+ wl test -s # 逐个测试文件运行,首个失败即停
115
+ pytest tests/ -v # 指定文件(pytest 直跑)
116
+ ```
117
+
118
+ 提交前请确保 pre-commit 通过(ruff、codespell、lockfile 一致性等)。
119
+ 开发约束详见 [CLAUDE.md](https://github.com/CharlieZi/wl-cli/blob/main/CLAUDE.md),
120
+ 贡献流程见 [CONTRIBUTING.md](https://github.com/CharlieZi/wl-cli/blob/main/CONTRIBUTING.md)。
121
+
122
+ ## 文档
123
+
124
+ - [CLI_COMMANDS.md](https://github.com/CharlieZi/wl-cli/blob/main/CLI_COMMANDS.md) — 命令参考
125
+ - [CONTEXT.md](https://github.com/CharlieZi/wl-cli/blob/main/CONTEXT.md) — 架构术语(Click 迁移语境)
126
+ - [docs/](https://github.com/CharlieZi/wl-cli/tree/main/docs) — 设计、ADR、章节与 CICD/发布文档
127
+ - [安装文档](https://github.com/CharlieZi/wl-cli/blob/main/docs/user/installation.md) — 安装细节与 shell 补全
128
+
129
+ ## 架构速览
130
+
131
+ Click CLI([src/wl_cli/cli_click.py](https://github.com/CharlieZi/wl-cli/blob/main/src/wl_cli/cli_click.py)
132
+ 经 `setup_commands()` 直接注册)→ 各命令实现(`commands/<group>/`)→ 业务逻辑。
133
+ Rust 扩展是可选的诊断件:`src/wl_cli/lib/rust_utils.py` 在 `wl_cli_native`
134
+ 不可用时回落纯 Python;发行 wheel 不包含任何原生二进制。
135
+ 架构演进背景见 [Click 迁移设计](https://github.com/CharlieZi/wl-cli/blob/main/docs/superpowers/specs/2026-06-02-full-click-migration-design.md)。
136
+
137
+ ## 许可证
138
+
139
+ MIT,见 [LICENSE](https://github.com/CharlieZi/wl-cli/blob/main/LICENSE)。
@@ -0,0 +1,320 @@
1
+ wl_cli/__init__.py,sha256=7u6mPGgfA0L5uE-kTUFdcems1h8CSAOye9QT6RcXIBU,733
2
+ wl_cli/__main__.py,sha256=OW9ruScaKPXzr9ImMvaEtPS6_uJmLe2_nTH1oiCNorc,4066
3
+ wl_cli/capabilities.py,sha256=UOmi-iZfXZUFwuvII7ynLa3j1-cVtza7zpC1rB56MIQ,3268
4
+ wl_cli/cli_click.py,sha256=RTWF0-N8DlqJRl3NmUIYzXQTnr8p0uFTyMhxsepkwj8,5077
5
+ wl_cli/env_status.py,sha256=Lw2z_GvQKCuoi_cHZHII4uGtPTuIhZXPDDJkGUcMAKQ,6314
6
+ wl_cli/envelope.py,sha256=hedBZY_fXnjDtQojYxcAfvmWwTBgA_KTADj1fmMAo68,3383
7
+ wl_cli/exceptions.py,sha256=kHnzw-oVltst7VmRfRzEcwTgAu4RWFNavc1PTXdydI8,2347
8
+ wl_cli/platform.py,sha256=DVmHqNGjP6dEHXazW6prSRxraPXun7_SkzEZi0wo1TI,4815
9
+ wl_cli/cc/__init__.py,sha256=2OZhZriEVmMIaA5O_-xiTC-Y5eJHfUhhjrPhkBFKT48,139
10
+ wl_cli/cc/checks.py,sha256=diVuJNn3ElrmUM-n-yUde6rMHJTBuRzaGsyC9RpOVkg,38061
11
+ wl_cli/cc/cli.py,sha256=18teHcQXvDXrT-EmKfA0Tr8vJVrtGWGAWh62CttwyGI,13333
12
+ wl_cli/cc/mutate.py,sha256=VdmZUaTTQluYcikxEaBZNYQ4UiDSj6om5pwpiowGTfM,50602
13
+ wl_cli/commands/__init__.py,sha256=trYxTquI9ZprJhhpCMmhS9oe6q_58ZZWrcdfl_oVrLs,2051
14
+ wl_cli/commands/base.py,sha256=mW7Oz9t3kpDNWgl_93wgpKj4nqrBp752ZLVJD9fWT4U,2395
15
+ wl_cli/commands/cleanup.py,sha256=srltLrwuNm6q78CDO0ujmVfgtWLuIu_mAKPiB1qhjV4,1485
16
+ wl_cli/commands/click_base.py,sha256=cJEOba_GI-DzfPtC-yUz5vpthG54PWBG7-rtRlFHiaM,2321
17
+ wl_cli/commands/registry.py,sha256=LsX20guIF4UtdFFpDLK_DDShgNWOvt_M7TJTnJqXoII,4336
18
+ wl_cli/commands/workflow.py,sha256=QlljxRP8iYjJVyzpBVxHUljG-nXEb_alVOmxR19tjHg,15242
19
+ wl_cli/commands/buildcommands/__init__.py,sha256=FFdJUJAeRkub1luvm1CSF0Y3Nnc3RBEfCB01-xs6rx0,68
20
+ wl_cli/commands/buildcommands/build.py,sha256=0q2r2wtvonBIGZNws1gjufoYVGYjoKsRYywgcNmvM08,1626
21
+ wl_cli/commands/buildcommands/build_utils.py,sha256=_OzA7lUeCW34IrsKWerVuCK5bKR4JYDi5LwBaRB8shc,1314
22
+ wl_cli/commands/buildcommands/dist.py,sha256=XMmRd2Dc0p1S87CDMAo2ceUpSM649EpwLa1unBpG9QU,12781
23
+ wl_cli/commands/buildcommands/test.py,sha256=lo9qzouQeOdyIpqwtDIW3uE6CNsw2SjSGxmd1dlkoWg,2810
24
+ wl_cli/commands/buildcommands/builders/__init__.py,sha256=FXKIF1B-DMypTfs9UnZIiz5_7Nfi7xPB6Y8I9bzEV1U,462
25
+ wl_cli/commands/buildcommands/builders/cleanup.py,sha256=LdNR6j-ukMXpReVkPMZEZLBfGbAHLQoTjQ4D7NSkie0,1088
26
+ wl_cli/commands/buildcommands/builders/coordinator.py,sha256=8ln0X8B9Au6ueVSjwR9dI-pNO-6d3utrRKXCyAVCXQA,4381
27
+ wl_cli/commands/buildcommands/builders/environment.py,sha256=pPZ_YCPZIXYQ14LRjW7KsCALSVkevA1PnGIkXwRC6TU,2919
28
+ wl_cli/commands/buildcommands/builders/rust_builder.py,sha256=x4kWbs4FgQ7D-vpXrH6r_-VYSnD9uSgW6BzlaaeTV1I,1432
29
+ wl_cli/commands/buildcommands/builders/stubs.py,sha256=wi_oufuvcbomaYf8OUyGvwY3ojkZYaAUZRE0wdZY_EU,2177
30
+ wl_cli/commands/clean/__init__.py,sha256=0BuQiuyZxj8b12ToguKfJ56KEIHaZ3PrDi67VcMrU7Q,28
31
+ wl_cli/commands/clean/build.py,sha256=Y-KGC0cIYmMdpeCua3Zbhw_BDBsnNlWaqxqlgE0xxnE,4312
32
+ wl_cli/commands/clean/clean.py,sha256=-slawVnOPtiy2UIORB55X3NDRRqHPkDryciSdwjZzh0,9431
33
+ wl_cli/commands/clean/clean_utils.py,sha256=-ZIMlrXQM02Abp-0uZwAwTqsKoUxXncGw65CYAKmRhQ,2504
34
+ wl_cli/commands/clean/core.py,sha256=5IDNowUeITKsfadXxTYj4kyWFyNhcnZ1s06Y6epPXiU,8411
35
+ wl_cli/commands/clean/lfs.py,sha256=e8Y8K35tXxuVWTlIESdeK8JW5p_NxlCENtfKcJSgFv0,7686
36
+ wl_cli/commands/clean/python.py,sha256=Vflfw9HBmhs55sHEX-UxFjK9bxYZG9tOwn25AxUSKHQ,2971
37
+ wl_cli/commands/clean/rust.py,sha256=hY9vlKf-h7sOcUDbGNSYLpKgmqth6DiZqCuxKvaKdGY,3568
38
+ wl_cli/commands/clean/venv.py,sha256=KjVVfWWjg0ySQvphX9iGnVd_3dL_34D3lw68AAIJgXg,3123
39
+ wl_cli/commands/clean/dead_code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
+ wl_cli/commands/clean/dead_code/dead_code_command.py,sha256=cMqqQIPvRGPm3PLMefjLwfx6QLkhgQ2iijFLOsokwgY,2434
41
+ wl_cli/commands/clean/dead_code/detector.py,sha256=Aj9oIYemZ3kyP6iT6Lmrohyl0V06BUtrdWKky5AjjLU,5285
42
+ wl_cli/commands/clean/dead_code/fixer.py,sha256=LZww_gBsx_rC_JB2ml6EEtWVsjaAPQcKC3jp3t_RhJ8,6962
43
+ wl_cli/commands/clean/dead_code/reporter.py,sha256=zSqzSmavm9zI--EPv8c-DYnEWLB1ogN8D5KndsRsHMM,9588
44
+ wl_cli/commands/clean/dead_code/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
+ wl_cli/commands/clean/utils/__init__.py,sha256=iw-Ln0pqPp7-mvp7OC4ULTKeHIvXdQqB8I9YS5ULDIg,958
46
+ wl_cli/commands/config/__init__.py,sha256=7fxD7-0vdqBRVJy6RaZNbAJbFMtC9INxpT2ZDltOEOs,31
47
+ wl_cli/commands/config/config.py,sha256=g6GO-lrrBzUIPwu-GyXMYaQmlhaOVZmtQbMUUzSpDFo,9911
48
+ wl_cli/commands/debug/__init__.py,sha256=raTa8jbXD5d_OkFL7oofpzGK96JFsLhth9wydUNmJjw,257
49
+ wl_cli/commands/debug/debug.py,sha256=cUbCAdTbLEborBqVuRyojy33vwX6BanJ5gI0ya08HNA,10286
50
+ wl_cli/commands/debug/debug_cache.py,sha256=Z1ZppDlvyAt_tAxYgnIE_07eApQlBz_2zNNyE8YoNxk,3265
51
+ wl_cli/commands/debug/debug_subagent.py,sha256=pj5rwW5keN0m9FhhwEodh-3VImaYuSdh1xN5GuElNrw,4274
52
+ wl_cli/commands/debug/output_formatter.py,sha256=YfQo9-Jy1dIlM6SXfFmIRl3rIU7AvK8lscV2qcX5ZCI,5407
53
+ wl_cli/commands/debug/source_hasher.py,sha256=-seRprvxj1V3jwTzy27WVLSjOEWx4v6qx-IGExBIAks,3094
54
+ wl_cli/commands/format/__init__.py,sha256=2DzveTByq3BSsLoKACPnwDWlz17k7AKZImW9jMbp2ok,606
55
+ wl_cli/commands/format/format_cache_adapter.py,sha256=aqjkD9OqHusb7yOuUehxTyXb6fsOWZ0rebdX_7sbBYI,5408
56
+ wl_cli/commands/format/format_command.py,sha256=QpFQK0k0EQ-DizuxXFqqdc8PJsJrXDLVvFc1vCwmzRo,6194
57
+ wl_cli/commands/format/format_coordinator.py,sha256=Y6Ai1r9fz9IYay8xal5e5Hnm1pPsZI4NtihnxZ6Qd7c,8323
58
+ wl_cli/commands/format/format_executor.py,sha256=p6Xx-GuTZfw-H7jK4LgvUNYzVtmBwbt2FZ78uVyuA4E,18967
59
+ wl_cli/commands/format/format_outcome.py,sha256=-CFv2YW3Xo9zg_LKsDFOFhLygOZSY0KE68V21GNAlrU,1400
60
+ wl_cli/commands/format/format_path_handler.py,sha256=RJ9zlpMb0ju2vevmOgl2on9wf-wLV-W4tUtInbPLfJg,43025
61
+ wl_cli/commands/format/format_progress.py,sha256=vVNKPT8IgLyV2KnkFZu5uehe2D9UXvpAa7D_VB3AjY0,2040
62
+ wl_cli/commands/format/format_reporter.py,sha256=zvzmSHD7EI1A9CgGwutDEq1TZs7pizQLrfbmmVuLoqE,1009
63
+ wl_cli/commands/format/python_formatter.py,sha256=gKBRn-SJqQajPA3SMcsn3qGq0C5OjXvaVHJCAisbaIE,21062
64
+ wl_cli/commands/format/rust_formatter.py,sha256=OyxAh07XJeIH-XmGEyyfiWM0fOtUk8yVwKLScBU_t4A,3803
65
+ wl_cli/commands/gate/__init__.py,sha256=wAc5taP8W-Q2kR73Z69U02wDmA3JPxeYbzmkE5GdQ5k,28
66
+ wl_cli/commands/gate/gate_command.py,sha256=bWIwRzvgAEulzXxjiRzbt13Z_pxRn2Dz7O7lkixW3uA,41221
67
+ wl_cli/commands/gate/preflight.py,sha256=PLjj8aM9sp997uETNhZx-J3NK3vje7fC7HRQLPHOf2g,18038
68
+ wl_cli/commands/git/__init__.py,sha256=zTr6ask3xeakkzxPB7KGShywOiTd2oCgEDICSFEWKxQ,44
69
+ wl_cli/commands/git/config.py,sha256=EWC2wuAnIFhCOHO7xQs2PXTndp2Y0hFGd8ooGXgw8-o,6226
70
+ wl_cli/commands/git/git_facts.py,sha256=blqb9XMUCyI0BklTSPsXAyq2xLDuylGYpg6Nz4NCxvQ,1656
71
+ wl_cli/commands/git/git_flow.py,sha256=jVOGu52RPt2ODjZuSnR_TTyBkaZMxcy1uuVbvJw75qs,2678
72
+ wl_cli/commands/git/hook.py,sha256=3wbHklo6IgVP4oYndBEJM3eXGZeNwLlBx6Z1vRyf4r4,3284
73
+ wl_cli/commands/git/policy.py,sha256=YLYMpughh0Xm1_gsSH2MwL6LbWB1Udke1REYeszaVbM,8427
74
+ wl_cli/commands/git/push_update.py,sha256=1n_E-a2aKivqnCKjaNZUtqSZkYs5vpTLzZ6seFOHqgo,2677
75
+ wl_cli/commands/initenv/__init__.py,sha256=XVgpPFc9AEFHTwwbqOGqxKOHUjT6bxBQwhiiy-S6yiQ,59
76
+ wl_cli/commands/initenv/initenv.py,sha256=4NvgI4c72t_ClYoTzkSORo0iXHrjrM86dESwggM8Hok,5235
77
+ wl_cli/commands/initenv/common/__init__.py,sha256=LVPIts8sYqhwjDg7ZSfjDhDyK5nHImzoby4atPMowys,454
78
+ wl_cli/commands/initenv/common/check_git_bash.py,sha256=eGCVHs4GUvdQWc2xoC0-xwSODIXTclQyXfpS68Aiot4,2539
79
+ wl_cli/commands/initenv/common/error_handler.py,sha256=0AtyKb65qoi-hqmKgskbMdjNIWBbHFWRjvQbL2qhCsc,2085
80
+ wl_cli/commands/initenv/common/exceptions.py,sha256=CLD9waab7DDkKZlLu4ezqLWO_2djzi4kivM1enBpNY4,1270
81
+ wl_cli/commands/initenv/components/__init__.py,sha256=OujbEvIqM_X3KgrH8Q-Rqt8c5rNJw8IWfIJkUV7V5Ew,109
82
+ wl_cli/commands/initenv/components/cargo_sync.py,sha256=bQ5ZVJ3OubHu4waBfxqj4PXWVhiSn9JH7GlR8PxAvjs,8785
83
+ wl_cli/commands/initenv/components/config_manager.py,sha256=8CB0Oo6zmQd_YlGF8qSW3m3mxUF4hWqIe4bavEFdMyU,4278
84
+ wl_cli/commands/initenv/components/directory_utils.py,sha256=fHQx8B_Y7umekKxRPnASgeviGMSFFz0KKT_AClPuK2E,1810
85
+ wl_cli/commands/initenv/components/git_initializer.py,sha256=3-lzZDm4KRvLxDi9Yh-aAJbYWpBXFeoCCDwlyXhZawI,8573
86
+ wl_cli/commands/initenv/components/i18n_manager.py,sha256=WsJVy5TW4bwxqo9KxWo9S63jZazXXtySbwR8WIjyR2A,3934
87
+ wl_cli/commands/initenv/components/log_manager.py,sha256=lSK2g731T0vpj3l94tbUIoFau_m3ru7vKTvcuJef1Jc,7577
88
+ wl_cli/commands/initenv/components/pyproject_generator.py,sha256=gaccaGpZ86tnVcsJpj39bCX0J_ZzY_vODOuc-Tkn-Ic,7525
89
+ wl_cli/commands/initenv/components/rust_initializer.py,sha256=7cq6zz4JxLkcJFXYr7KoUhxbUQW0RiFh1NAPFmw0KVI,5927
90
+ wl_cli/commands/initenv/components/symlink_cleaner.py,sha256=70B-Ygg2pUnotMA2URw2weYD-H_5M74OvE0PAGqQq2o,2936
91
+ wl_cli/commands/initenv/components/symlink_manager.py,sha256=L-XFSiwPs6YVwTkd3Qqz2knGVNqIm21_9H-1ac-r_bc,1499
92
+ wl_cli/commands/initenv/components/venv_manager.py,sha256=-iC6ih8tj76__zmFehYV8Mu8xeKFXn_azhTgk2WNK00,4271
93
+ wl_cli/commands/initenv/components/git/__init__.py,sha256=KfdQpCfPQiGku7PS3YscL7FnXvXhKlQ6dc7wdtXSJIY,178
94
+ wl_cli/commands/initenv/components/git/branch_creator.py,sha256=cwJLtQGpetZHg2luQBOKlzH79mCA8K3G5dqqaN42krg,5390
95
+ wl_cli/commands/initenv/components/git/git_flow_interface.py,sha256=8JcyVfKFnE9Jqc4--qBs6TJTOQAy1jd-xH3OZSkE8Uk,570
96
+ wl_cli/commands/initenv/components/git/git_flow_manager.py,sha256=hNg08RYT9s9e3Jn54l7qNnSZAM4U8i9H8Z2s5DzBgCw,6077
97
+ wl_cli/commands/initenv/components/git/git_lfs_manager.py,sha256=qj-mZOn5xJcmUrJHkoADfVxjr7ZL8YFKhE_0ix9hTTc,9736
98
+ wl_cli/commands/initenv/components/git/git_utility.py,sha256=wZj4o5RNDYfkk4xCSNZe4uQ7eg-Xy0-fOHh4iConECQ,8052
99
+ wl_cli/commands/initenv/components/git/gitignore_manager.py,sha256=o1X_pbIgwMusp5WcENnY03gSD6OpPWOJyNirz3vlnkw,1858
100
+ wl_cli/commands/initenv/components/project_structure/__init__.py,sha256=ywGppEXcWOkocT1fdHlX3RF8sp9iGVBHkoC2FlaL-wU,568
101
+ wl_cli/commands/initenv/components/project_structure/config_generator.py,sha256=yhb4Lb7TeQ8NsAmfOmvUM8Z2wTyPVD75MvAumY7Whpo,16726
102
+ wl_cli/commands/initenv/components/project_structure/directory_creator.py,sha256=9Br4go3RssZ_3uwaEUyXwuj7Jgv8AfJ9uFyj88MQVEA,5471
103
+ wl_cli/commands/initenv/components/project_structure/hook_source.py,sha256=ieawzARH51j5UB8OrIvCsjAuvMCmUny9gTmdQHt5INk,5999
104
+ wl_cli/commands/initenv/components/project_structure/hooks_manager.py,sha256=Tozr8hrv9-Z-PGDvKgOc8q7mEu17Q3WCUgnugs0i6JI,45777
105
+ wl_cli/commands/initenv/components/project_structure/readme_handler.py,sha256=ya1gQL-vLXdY4JT0YzMzShhOSE5xhgKEJD3g5it3Zl4,2329
106
+ wl_cli/commands/initenv/components/project_structure/rust_files_handler.py,sha256=hzrr4H_kN-UTbRlwuUaxN1HJsGP9N7H_JwafcadDDMY,1159
107
+ wl_cli/commands/initenv/components/project_structure/setup_handler.py,sha256=YN8qnsbBC6JoO9E4955890THwg_m5ZpUia1_-BafrPY,4508
108
+ wl_cli/commands/initenv/components/project_structure/sop_generator.py,sha256=eL8PqFzHaxP66fhabfTY0UbmxTGQv_QMzl4H4p-eRUA,3081
109
+ wl_cli/commands/initenv/components/project_structure/template_copier.py,sha256=UKFjWaVfUHFrKvt4BJ5L8MOosBO4fyPq2iFx_9oI3JI,4337
110
+ wl_cli/commands/initenv/components/project_structure/template_manager.py,sha256=WbV_iHCTGZfMt73y-TE6Z7lM8Te3erMGqPLXAU6Jabo,8248
111
+ wl_cli/commands/initenv/services/__init__.py,sha256=UQZFfUYqmZcSVYwFHfcTkjnovf7kTrLRv5nYFi2karU,332
112
+ wl_cli/commands/initenv/services/environment_initializer.py,sha256=U3TpgQxetg9MdqXsfVI4Jo9aG86MgqfyOIm5QRZGKOU,10642
113
+ wl_cli/commands/initenv/services/git_lfs_initializer.py,sha256=9jQX8U-2IVaYN7g0wDd9mVZLhvWDFnzssdYQyHbfH98,788
114
+ wl_cli/commands/initenv/services/project_structure_initializer.py,sha256=cRFJL-UhPVXuy83uuNHopY99mGVv7yo8qCrPA69JX5Y,1959
115
+ wl_cli/commands/lfs/README.md,sha256=lpd8UqfK4Z5JBB_sRKu6C2qr1Thh365zIXzyir1M2fI,7488
116
+ wl_cli/commands/lfs/__init__.py,sha256=ji_tS3Yf88Em2MxXeldp3TL4nuGD6PShc8b36mIMK2M,90
117
+ wl_cli/commands/lfs/cli.py,sha256=KEnnay9qMf3ifp2RCVhC9W9SgEzYV9oxrWGVHslJqDc,3490
118
+ wl_cli/commands/lfs/config.py,sha256=KKAsqZI7RAcyn32fSLGX90UCEWEkcKjzMws8fevY9lM,4984
119
+ wl_cli/commands/lfs/hook.py,sha256=vtpn0jlSg8erLO6TaQcKnNhQ7-5aVbMu8gOHpyQ7H58,2033
120
+ wl_cli/commands/lfs/initializer.py,sha256=jHQhjQURhEfIo9ytiOPDZTcEJDXaciX2PH3krFP6yh4,19707
121
+ wl_cli/commands/lfs/manager.py,sha256=Tp19xxtUpKdTICAR9SSpvWkPWcqZk0YxP2idz11KqoQ,3730
122
+ wl_cli/commands/lfs/policy.py,sha256=I7fU0-3vVSEK7wnPxHhyeysLtHtljmpYhYT1J42axf0,5607
123
+ wl_cli/commands/lfs/watcher.py,sha256=IIQ9PF2MMxLxK4qs5UsyrGy-iXICK4D6krViDn34M0M,10669
124
+ wl_cli/commands/lint/__init__.py,sha256=WUeiQGe2N2Qaq34J5Eei5wC5CrKySB2CVIE0PxHBaLM,28
125
+ wl_cli/commands/lint/lint_command.py,sha256=Jb0CjHkKYEKzuE0W1kqDzIFGmNkVnzRKHY9XIF4v75I,12187
126
+ wl_cli/commands/lint/lint_executor.py,sha256=uyHK5lgnmIhtZDHBvkA-f09tfeNn3zO2oPIHZH6rK8g,18195
127
+ wl_cli/commands/lint/lint_reporter.py,sha256=HFz40RfVjp-DEmwtCydQx51IHqS7ar4tsKnR9aCHHss,23959
128
+ wl_cli/commands/lint/lint_run.py,sha256=jSjdOSL038yrL1EIMuruaJdnbONQ8w6ADHr0raajYow,11133
129
+ wl_cli/commands/lint/mypy_config.py,sha256=9kZzp6roviHYvhCZ5yC0ZbtCeunFij8_R7xYZfxKrz8,4048
130
+ wl_cli/commands/self/__init__.py,sha256=Y5dvcqG1ekqD6Q3Tp0izETEeJA72jD29ktQrQcorZjM,96
131
+ wl_cli/commands/self/self_command.py,sha256=HBuhfnVThJbtMmtdmVoQImNpHlOrfBkqFg7PoTgBhZg,8087
132
+ wl_cli/commands/self/common/__init__.py,sha256=d_qY5APRunLR_rHuZ3lBSM7y41bDfiQkWhsrEMSb4Sk,164
133
+ wl_cli/commands/self/common/capabilities.py,sha256=poYDBYK9GlBdPoh6sWZzYnRI6WCXEekDgoUPU63B1yc,847
134
+ wl_cli/commands/self/common/config.py,sha256=U96EpKHbsxQGOmdCGnwPq_uZbU7ZiA9gKF6Eu8gkBN0,677
135
+ wl_cli/commands/self/common/version_cache.py,sha256=tLk4fGlY7E2WeOdwo5KvxeKKlJHSJ-qkOV6oB1GV214,2167
136
+ wl_cli/commands/self/handlers/__init__.py,sha256=7EtNlci77UqdTJGmduRfi64Qtu9XbJ0SJ0xP5DMaZ7A,449
137
+ wl_cli/commands/self/handlers/base_handler.py,sha256=0Uib8a46RAfcj6rZl0VmSFnpZYJfpeg3Egw0uzRfQtw,705
138
+ wl_cli/commands/self/handlers/install_handler.py,sha256=yPwCXIFVYG2PKT0FOGNR4DiGqxTnctmnvgDetFFQSS8,2940
139
+ wl_cli/commands/self/handlers/status_handler.py,sha256=zNH0_CnVlal2qfCTwTwWGNWyYmtExJwD-3vXNdCVxJ0,2395
140
+ wl_cli/commands/self/handlers/uninstall_handler.py,sha256=olMQthxqQoP0RUTzlIgrngYaq3iYL-Dn_co8I1W78dc,1977
141
+ wl_cli/commands/self/handlers/update_handler.py,sha256=vHGVJt_sEWIYUOV-gsFMuu0s2Ty2wjV7rdUkmt2BI50,3872
142
+ wl_cli/commands/self/handlers/version_handler.py,sha256=5OUbtumedt4oFlQG4synJ4TptNob4w4cpoKOJDgPIyA,429
143
+ wl_cli/commands/self/services/__init__.py,sha256=1rpZX10B6_TAz3Myl3yDkLpC1MUv1M8SKljU_dbLTac,326
144
+ wl_cli/commands/self/services/installation_manager.py,sha256=y8CShkJycMx3-qVxqN3e08jLGqfZbbx9jYCsmy8gBSM,6634
145
+ wl_cli/commands/self/services/local_installer.py,sha256=NZymhCPycUJ2-A4Cc5gUzik1rx-OGX2WFT--Qx-J5k0,5757
146
+ wl_cli/commands/self/services/pypi_updater.py,sha256=agPWiDVDZM54yuJiO5KwNYg9J39E-ATqSLjKmebH9RM,10169
147
+ wl_cli/commands/self/services/windows_update.py,sha256=5c7lTVKtpV1_w2OG33AldGez4ReVIsACODgMneoNK0s,7040
148
+ wl_cli/commands/testcommands/__init__.py,sha256=AY9D1CR6g8dguMc1j_RUu3UeiSIdYJzOMxRv6D37kno,154
149
+ wl_cli/commands/testcommands/base_dependency_analyzer.py,sha256=PZBeMx3Vg-DnX9toEzn0K8aIkUSkKUqo11GndZYbu6E,8171
150
+ wl_cli/commands/testcommands/batch_processor.py,sha256=yEPEQXgpjCCHcN_JFAY0Uiya94yMQjgxwC-yGayRaZ0,9013
151
+ wl_cli/commands/testcommands/cache_manager.py,sha256=3IayaVp593nVP1tmUu3yPC72TIGVh-eOiVotH4eQZYs,45954
152
+ wl_cli/commands/testcommands/coverage_analyzer.py,sha256=Bziq7kKqUpF65tsDMOfQU1581oRsT2UNwbApP20KC-k,35620
153
+ wl_cli/commands/testcommands/coverage_cache_manager.py,sha256=WWruG2a377JpsX8Do-ZljgpSOZSJEGFeddxaceF5CSA,6936
154
+ wl_cli/commands/testcommands/progress_manager.py,sha256=eEtOW0F3xoJ-Qz5HIu6eLHhbM1L-O6jWCgiPVMuBIiA,2750
155
+ wl_cli/commands/testcommands/python_env_detector.py,sha256=RdhCJGA1wzX-WS4fq1JxbrvdPt0NPACY5u9La6GElYo,7386
156
+ wl_cli/commands/testcommands/report_generator.py,sha256=jHk_00caeqjuOSoboD49Vn_iyighl5fYIA8FmIBJNP8,3137
157
+ wl_cli/commands/testcommands/single_test_executor.py,sha256=1-PocBMfyIc0QXvewZBEm65xesWyx-K67tWGXNpXcwQ,10512
158
+ wl_cli/commands/testcommands/speed_checker.py,sha256=hVMUhjh3MmhIs_Tdrd3RdPpsr2QVpnWTO_0RS65ICAo,3078
159
+ wl_cli/commands/testcommands/test_command_builder.py,sha256=uFFJBPsa3i3ViviqfhDCvgqNL8v7i4LiWlIRm9uF8-4,7325
160
+ wl_cli/commands/testcommands/test_commands.py,sha256=AjnnlQIYsjV1iRaVQRUAcnMy0O0K5oCsAC9R0GTqM3s,28715
161
+ wl_cli/commands/testcommands/test_reporter.py,sha256=tGsgtUpt1BvE0-XjaPBr4onozswAVPoe34f_fKkdxrA,5573
162
+ wl_cli/commands/testcommands/test_result_handler.py,sha256=WYLTUASub7BYVHRUuNi10m2574CdiHtOpQauoQEw_Ak,3708
163
+ wl_cli/commands/testcommands/test_runner.py,sha256=kMDviUE5QKwUESS600wWYZagNcyfUqnJIn1fp42hLXw,53582
164
+ wl_cli/commands/testcommands/test_utils.py,sha256=OVJVYXhIvcrcfKz_WbjCBeNpFn3uRstzvS81g9sB5Do,6785
165
+ wl_cli/commands/testcommands/utils/__init__.py,sha256=ii6_GUchzxO5EhVcHFzh4q3kf8QjyCXsaabP6ZVD0Zc,396
166
+ wl_cli/commands/testcommands/utils/coverage_parser.py,sha256=klrho0DroRlw0KC9sc5RLnmNAEhFzLEKKhzeGSsAr-w,3378
167
+ wl_cli/commands/testcommands/utils/env_info.py,sha256=IegEF8plFvqbpFOLqI7pfRsef-BcGw73rUk6rac-imM,828
168
+ wl_cli/commands/testcommands/utils/junit_parser.py,sha256=DoYWfKL0MVZDcM1TD3JlnovBKHvVzKL_Nsq1YEesf6E,2678
169
+ wl_cli/commands/testcommands/utils/markdown_utils.py,sha256=vZlhRtLrABRFixukLYLDFnnr4Zf462e7J3Y6Y7WcHQM,475
170
+ wl_cli/commands/testcommands/utils/project_root.py,sha256=aZcmuJS2M_o5E5SXxCp_MxFaDv0gDqeIve6uYwznCL0,2788
171
+ wl_cli/commands/update/__init__.py,sha256=8wqW3BrJnb6kzRoUAkA0237-LskIRRYwG_kKDPcWk38,170
172
+ wl_cli/commands/update/update_command.py,sha256=g-mATi9YECyeGvzsC9EZNjVpU-1FHePaC0PAe4d1KA8,9699
173
+ wl_cli/commands/update/services/__init__.py,sha256=LPKB6R3ZVYn4m7gF5r-YycdpWtWwXEFnym634XIkIRA,606
174
+ wl_cli/commands/update/services/backup_manager.py,sha256=DOFHT_2T-1PDjCMfPb3O69atj0xUQdSlhpojKGLwRQ0,7048
175
+ wl_cli/commands/update/services/component_manager.py,sha256=-Z9KxjNqiNqBQCMucHy2DpPFiF-lNFzHnngtBw079JE,2388
176
+ wl_cli/commands/update/services/conflict_resolver.py,sha256=59WKtakHtHj1nLZBnI0MkAFko3splLFzfqtArHUfPhk,5969
177
+ wl_cli/commands/update/services/vendors_updater.py,sha256=Do9ofjY2K_UerVjjY1ejr93p-luoMX8HlpBloTPt1TA,2604
178
+ wl_cli/commands/update/services/version_tracker.py,sha256=5ltt2dRuKDYCVVuhvzU-EGir_D1boGKQovH7gChsVDQ,3822
179
+ wl_cli/commands/update/utils/__init__.py,sha256=si2mKbx2onYklMD0Agrb1TesBm7rKOFgFlTdnR_0KdE,38
180
+ wl_cli/commands/version/__init__.py,sha256=sjhhopTgs7sd7ZQ-MZxC4-tbUE47B0oCTI5p0NQ55pg,194
181
+ wl_cli/commands/version/version_command.py,sha256=l_lWT1yTgJSkQUNKzt99MkTHNAe0T90X9eb8EQC5cHY,4724
182
+ wl_cli/env/__init__.py,sha256=YPcxcKc657FaotNZ8Gu1NvbfHk-yav22QAZr3JTrqUc,138
183
+ wl_cli/env/cli.py,sha256=D2iEGKDEWlDs3P7fg5NkI55S9mn3di4raCrRqjUlvpk,5740
184
+ wl_cli/lib/__init__.py,sha256=64Y4fxJYGh96T5ufJ0j_yvvOBKEnH8XWOskDCviHCxc,109
185
+ wl_cli/lib/rust_utils.py,sha256=1fqIQGmXAVcpCP-8BX8jE_iooFSDm_EpekLjhpRKX98,919
186
+ wl_cli/mcp/__init__.py,sha256=vvfsG3lUdqK9AVQd_-S-xu6YNrCtEjzPw_4A3C5RQ_0,152
187
+ wl_cli/mcp/capabilities.py,sha256=ERGnkRjZYZv1KWSnnPk-Xde4qbB-Xy6IL08Als0VDlk,721
188
+ wl_cli/mcp/cli.py,sha256=Wy0I8OEmCrJOzirnrYAcmNPeftJyRQ6kZGt09zWgKO4,511
189
+ wl_cli/mcp/gitlab.py,sha256=tfP6ZCdnFSpyPHfZH3SVNnMWfIimmM-2ZlB68Scnen0,17600
190
+ wl_cli/mcp/k8s.py,sha256=OVPxkLUw6ZxvJoUcIQQhnzlQ6uSMkVKoHI8NH5aI8rQ,11072
191
+ wl_cli/mcp/protocol.py,sha256=H1LxOGlrTbcVzem-fL3OCugWPNP__v0f77SRolNQLns,5562
192
+ wl_cli/quality/__init__.py,sha256=F6ww0N7xvmVeD9kHUfqJtIXEVjirsLfX53GMWwzvOGg,713
193
+ wl_cli/utils/__init__.py,sha256=78NvOd7TI-j36LjQWUkBuBPdnQzdJXlUbkk_dPfniLY,169
194
+ wl_cli/utils/cache.py,sha256=QExpx4oxveS6Ko_QzUgKf_HR5NBk7aBFmXb5a-nzck4,13560
195
+ wl_cli/utils/cache_ledger.py,sha256=8ee8hdsi2kUMRPZYGb5Vi4-LVhc_mnriX6hKYkh0-gk,14208
196
+ wl_cli/utils/cache_store.py,sha256=61Irg7Jgqv_y0TaEK9LQ-FMyqpSg6O96p75nEvM-sSI,22402
197
+ wl_cli/utils/error_handler.py,sha256=ugMSG7-f7Df8Vz3PIg_7sQuYLVh3pClnEKqHBTOdgnU,5296
198
+ wl_cli/utils/file_copier.py,sha256=7QzBgGg9gOHA85BZkGeDdd1yzuiC__byNFCclUGLiVo,1637
199
+ wl_cli/utils/file_operations.py,sha256=Tb0Phw_8ZS4AwSeOG2Bmtv4YnZ4_FCZ8zpCr_UZEZ7c,16417
200
+ wl_cli/utils/language_utils.py,sha256=8i0R1YOPnEcZVr1wNle5SNm9cTFB2wVXmLts8AK_324,4064
201
+ wl_cli/utils/lazy_import.py,sha256=xFWI-06c9h3Iq8RRYFaknv1Bi5K1xdW1iAjJtwwilOM,7189
202
+ wl_cli/utils/log_levels.py,sha256=ZJEZnlcBZC-ZNTIUhQuW8W_1bCDQGdnZDWNuH0Evr6A,698
203
+ wl_cli/utils/log_rotators.py,sha256=m2zpWgcOI--ZHU_7qkbLl4jGsn4q5sSfbi7m93HWPaM,2395
204
+ wl_cli/utils/logging.py,sha256=DOCGQ1qP_FPGHqtO9opTjMC_zINwdCfj4q8ebEqCz88,16316
205
+ wl_cli/utils/output_context.py,sha256=8lQbBZQyCVdcrl-GDqWKBO0RRw9qVg-CvpCHzVZynSo,4410
206
+ wl_cli/utils/performance_monitor.py,sha256=8QjlQZn7dEgOLqFPfQCFRuSjA82OH1QsbjGY6D2p5r8,857
207
+ wl_cli/utils/platform_adapter.py,sha256=WR6nploUrMQhh8zXjpSDVO4zXPiJNt75F-CgZ6YjkMI,3845
208
+ wl_cli/utils/pre_commit.py,sha256=DRbeJ1k4lt-vf3jrmWq3lvpXdss9HW5L7lqSuIbYSMw,11288
209
+ wl_cli/utils/pre_commit_config.py,sha256=RKHyhqCdBEqCsF5gVGi7OudoBT2Yv-2Svjwec1IPruc,4184
210
+ wl_cli/utils/root.py,sha256=nRsPufH7obAtUR0s3KU4g5R0adPsiKIiIHJih7LYeeY,21462
211
+ wl_cli/utils/root_fallback.py,sha256=6ZQowQsMTz9g2Fo9QSL5_1gJZUgaJ5L4nHxC6jigAN4,12982
212
+ wl_cli/utils/run_evidence.py,sha256=lneUEzL8CyylEa_67Ec-AKX1_3zeVjSTJwVU13bJT2I,9235
213
+ wl_cli/utils/structured_logger.py,sha256=7vJfLTxLnQ2FFWf2HJyV71yClXjAv_NX9Q2O2ekRyAw,525
214
+ wl_cli/utils/subprocess.py,sha256=2yF38hHYKooYOqr34Y6JShlFMmVROcOvpCrFWhEG8kQ,2217
215
+ wl_cli/utils/subprocess_utils.py,sha256=_w30EsPr0AR0bDWjYvg7j8FLY2-M49hngp1qguqXYiw,10701
216
+ wl_cli/utils/uv_run.py,sha256=ruZlo_P_a-cOYrOGJk-bE2yYGJlzJ9bUeb0GjOTJP0o,3029
217
+ wl_cli/utils/uv_tool.py,sha256=yhQ6aZ3Ihf3lJuiqT7QBkcs_xd-1joJZ1LpPjf7ts1E,3285
218
+ wl_cli/utils/uv_tree.py,sha256=SLlMNGE6oNJNw35o50Hv6NIJl7pcXzGJcDeYXeWZ_6k,2756
219
+ wl_cli/utils/uv_workspace.py,sha256=drkG9dS2BPhGNQ7RTamhPSiuQBOK4HYJ9DlCva-Kf-g,6065
220
+ wl_cli/utils/wl_dir_updater.py,sha256=K44ZU5tkRLQgY8kUZjq1S_Q88M3-pd19H7vJX4aX9Ws,60854
221
+ wl_cli/utils/config/__init__.py,sha256=leYPRMoDmjkjyZ8ZwVR_DQDU4TlJsufeJznGX2if_KY,491
222
+ wl_cli/utils/config/config_loader.py,sha256=a4K7xJI2AtsUQH128OyMC2Eo6LVn6FUf5IiaZNVkFaA,6001
223
+ wl_cli/utils/config/core.py,sha256=P3l2Q_sf5n9bj9a0c3d9jjmpA_bSQ7Z5zajqWTBGQbk,32821
224
+ wl_cli/utils/config/defaults.py,sha256=xYnhB4CslVaJ-pcug7zNcsq4O2LsQIplqjBGcXTwRSU,4979
225
+ wl_cli/utils/config/env_exporter.py,sha256=AcVzBEpwwZhoYk_6VGLuSaDF4JRu7lLptckMw7h3ZeY,2720
226
+ wl_cli/utils/config/env_parser.py,sha256=lKiHTerYUPPfbGtF-FjJwo4Y7whk1HU6dx27g0EnMwU,3658
227
+ wl_cli/utils/config/validation.py,sha256=IhmAuHrH7ywQcJsgVzCLyP8FjClIPOC0jTitadXIK5Q,9714
228
+ wl_cli/utils/performance/__init__.py,sha256=0ED3MdtnbWEMBUI7XJ1RFOhVPwMFIiZ4gNnpu9J_0qQ,48
229
+ wl_cli/utils/performance/decorators.py,sha256=tszsCTBNVVnDCmBFkXG18ucvrg1gAUediXD3WZ5tQEk,2952
230
+ wl_cli/utils/performance/exporter.py,sha256=tPSj1wX9_S9C7ItAujQKmjBH8C5it_3gH7XObYlGh4w,1276
231
+ wl_cli/utils/performance/models.py,sha256=0dCs6NIHMkSuwWHRL6IsKpz-c78RAUbqovo5ojod2g0,377
232
+ wl_cli/utils/performance/monitor.py,sha256=bORoojGNssw-FhLGM3LAbfBYVDbkz9sT0eF_O7rHEFU,4792
233
+ wl_cli/utils/structured_logging/__init__.py,sha256=8PJymJV1-7XAC53jSUXWP3VNgSdlsDKQWoshOkxb4nw,488
234
+ wl_cli/utils/structured_logging/config.py,sha256=6E2KlLnQTVN1NwE0EfRS30O1n0E-rAcTqYpT_FHwjxY,11277
235
+ wl_cli/utils/structured_logging/core.py,sha256=A6UoVo9bem7yNquA6RqnUMeSF5HvpEe_EzThqYGvKEQ,6260
236
+ wl_cli/utils/structured_logging/env.py,sha256=rTMrJpTSUx_SIQb4KHuqTG0Aza9u0rPnNLUNc392joo,2002
237
+ wl_cli/utils/structured_logging/filtering.py,sha256=SUxEdynCCNXPsIMIMzSh5VQUi_jYBhflMB1zLFUZJWA,2034
238
+ wl_cli/utils/structured_logging/filters.py,sha256=46YFe3SpzfE4FzqoXaKtDDcJO-zNwvTIdFc0v1iUXI4,1637
239
+ wl_cli/utils/structured_logging/formatters.py,sha256=ZTT6qiae0f3tB7tGnZY53gltwwIMqjwXAg1f4mBm0AU,10115
240
+ wl_cli/utils/structured_logging/handlers.py,sha256=AD187xet4cTDHYrCmKw-Y4TDxZybGPuvh0O_Qm_Pd48,12133
241
+ wl_cli/utils/structured_logging/logger.py,sha256=5TX7Z_ByCPcTLBtr5N-4nq0G76LnAkKKVtgvbdCEEdY,13953
242
+ wl_cli/utils/test_utils/__init__.py,sha256=QVndb_2GjVAFwak-LrE6GkpR-JOOAZoloCZ85Yu5s9o,113
243
+ wl_cli/utils/test_utils/test_filter.py,sha256=QkWQmnXZS9PLreOQj9yu4GwhxIC5em50UpmN4zYTQ18,1191
244
+ wl_cli/utils/version/__init__.py,sha256=78lxSd0JJKQ6N9K6K6fP6fWmeHGaU8kAaRt2hYMKbic,406
245
+ wl_cli/utils/version/pypi_version_checker.py,sha256=CIwn49MMsDIBlZOCAlw_9ab_4dI_ETvgc3-hsxajYgY,3578
246
+ wl_cli/utils/version/version_comparator.py,sha256=cKjEQBBeKeaIP3s8D_o9bIHTn4UFVeaRnP7d3NQqzv4,5385
247
+ wl_cli/utils/version/version_detectors.py,sha256=Sy0ndjoZrbUtRKssQ1YINSRsP_BsrzrTaavZGSPgjR0,12326
248
+ wl_cli/utils/version/version_service.py,sha256=tZDG-_qvobeAFZIdV9JV8DdnE60ssy7x7DtxlQcqx3I,5290
249
+ wl_cli/utils/version/version_updater.py,sha256=OJcB68LvZINWmRDQmkaKLmXD0ywkRyI6h3NdNQ63OJ0,8522
250
+ wl_cli/utils/workspace_detector/__init__.py,sha256=2J63JhBzBZsIyxiH9JIQMsp-Hr5r1CmFV95AIXCy-7Y,809
251
+ wl_cli/utils/workspace_detector/core.py,sha256=bomRIKqCoZe4_luqgo7qwY3wnl_-EmbbKbJC-mfU5Zc,5935
252
+ wl_cli/utils/workspace_detector/detection_strategies.py,sha256=v2g7D3IxuJWMdcZoOKA22vGZzekBxADd_S2LrOgcfsc,4088
253
+ wl_cli/utils/workspace_detector/exceptions.py,sha256=IQwpq_8_uVNQONE-E5SFqBsP279o0lUZGsOk6g8f0P4,164
254
+ wl_cli/utils/workspace_detector/types.py,sha256=LVMbxLV2R5qN-tJBtf05TWnZ5Fub1cTenOwsqjyp6WU,331
255
+ wl_cli/utils/workspace_detector/venv_resolver.py,sha256=SvKG5I8QkW7GPedj8c5O8dHYZe6QdAuFUfE_eAgH9p0,2723
256
+ wl_cli/vendors/config/.codespellrc,sha256=bwdXDDAq53T_xUj51-C8eFldv74o-KLRQrIcQUJ5hl4,47
257
+ wl_cli/vendors/config/dependencies.toml,sha256=zUv7FbwN8TZ4w4QLKsEFmAt3NpUpU27TrQ3CQMfPDgI,190
258
+ wl_cli/vendors/config/mypy.ini,sha256=lBGOGy49eHwJiyS0pRwcCSWJ-OoiAKAaphbfsvUaANE,2489
259
+ wl_cli/vendors/config/pyproject_defaults.toml,sha256=kzf97xH6ZE1-p85xKbMCbEfDLmI8FPqobduytAbgJ0A,748
260
+ wl_cli/vendors/config/template_config.toml,sha256=f5iV5lmDAbNiz96-O6f7JeKmGaa_HySMvE245mDiRFk,1301
261
+ wl_cli/vendors/config/tool_configs.toml,sha256=cYyTlRpe_Iq3G26PeVb9COmPI1D0sE6DMKzoRXeHDl0,1245
262
+ wl_cli/vendors/git/.gitignore,sha256=zPLvqPwe4q3VNZ6VJgMNWp7xaCsmImtsBPW2cr97gWw,1378
263
+ wl_cli/vendors/git/.pre-commit-config.yaml,sha256=V3JYccbjiImeLY6URBxDnxQ6llMXDT3zfWrlqOhZjqE,956
264
+ wl_cli/vendors/hooks/applypatch-msg.sample,sha256=AiNJeguLAzqlijpSG4YphpOGz3qw4vEBlj0yiqYhk_c,478
265
+ wl_cli/vendors/hooks/commit-msg.sample,sha256=H3TV6SkpebVz69WXQdRsuT_zkazdCD00C5Q3B1PZJDc,896
266
+ wl_cli/vendors/hooks/fsmonitor-watchman.sample,sha256=4FSZZOk4l7UZvY4zPAN-Uf_w-IuhPghqMxWSv4AfodA,4726
267
+ wl_cli/vendors/hooks/post-update.sample,sha256=gXZa8trvMjBh3LxeYfwWSBy3SzusmtihdLGGUjWG9sU,189
268
+ wl_cli/vendors/hooks/pre-applypatch.sample,sha256=4VxbRp6j4KaVvqbyyCvPjmKCEHSTnd2Ft34AB_8WVHU,424
269
+ wl_cli/vendors/hooks/pre-commit,sha256=OOreKXP55ryrA50Ri-7oodV1HrFoH5rMPcyUHBOjdVk,1526
270
+ wl_cli/vendors/hooks/pre-commit.legacy,sha256=2mtK1nnhVcWSCtewM1nlBIFHfj-Qn1vKZpGerG94oOU,970
271
+ wl_cli/vendors/hooks/pre-commit.sample,sha256=Vxhbe58FI516tS2wRfW4nrMTSNeyF36rIU9euHLhlxs,1649
272
+ wl_cli/vendors/hooks/pre-merge-commit.sample,sha256=04JacDN5QOu9ClwHKYThMkWSDN-ImL0iXI0npt_Jy1M,416
273
+ wl_cli/vendors/hooks/pre-push.sample,sha256=oN2fok4H73Yaz2xgb9w88O5jxBqJLecau2ZH_qtF3kI,1673
274
+ wl_cli/vendors/hooks/pre-rebase.sample,sha256=T-vOhneQBSM4B29OZsxH77FIedGAl9HWHIJhhZ6qp7M,4898
275
+ wl_cli/vendors/hooks/pre-receive.sample,sha256=pMPSuce7P9jRRBwxvU7nGlldZrRPz0ndsxAlIyAWmYk,544
276
+ wl_cli/vendors/hooks/prepare-commit-msg.sample,sha256=6d3KpBif3dJe2X_Ix4nsp7bKFjkLI5KuMnbwyOGqRhk,1492
277
+ wl_cli/vendors/hooks/push-to-checkout.sample,sha256=pT0HQXmLKHxt16-mSu5HPzBeZdP0lGO7nXQI7DsSv18,2783
278
+ wl_cli/vendors/hooks/sendemail-validate.sample,sha256=ROv8kj3FRmvACWAvDs8Ge5xlRZq_6IaN3Em3jmztepI,2308
279
+ wl_cli/vendors/hooks/update.sample,sha256=jV8vqD4QPPCLV-qmdSHfkZT0XL28s32lKtWGCXoU0QY,3650
280
+ wl_cli/vendors/hooks/unix/applypatch-msg.sample,sha256=AiNJeguLAzqlijpSG4YphpOGz3qw4vEBlj0yiqYhk_c,478
281
+ wl_cli/vendors/hooks/unix/check_lockfile.py,sha256=Gk9wPEjt6Yl2m4El0R5Q8ns1Wv7llofjZZsNGu8d_Ks,1710
282
+ wl_cli/vendors/hooks/unix/check_lockfile.sh,sha256=x8IGk-IgAI2FO3A0IalcvprDZZHnL_zgahOyZ8YtsSk,800
283
+ wl_cli/vendors/hooks/unix/commit-msg.sample,sha256=H3TV6SkpebVz69WXQdRsuT_zkazdCD00C5Q3B1PZJDc,896
284
+ wl_cli/vendors/hooks/unix/fsmonitor-watchman.sample,sha256=4FSZZOk4l7UZvY4zPAN-Uf_w-IuhPghqMxWSv4AfodA,4726
285
+ wl_cli/vendors/hooks/unix/post-update.sample,sha256=gXZa8trvMjBh3LxeYfwWSBy3SzusmtihdLGGUjWG9sU,189
286
+ wl_cli/vendors/hooks/unix/pre-applypatch.sample,sha256=4VxbRp6j4KaVvqbyyCvPjmKCEHSTnd2Ft34AB_8WVHU,424
287
+ wl_cli/vendors/hooks/unix/pre-commit,sha256=o5lGv1SwgX3FofENHvkjH6S8OYApNcM-UVgnefmpNJQ,6272
288
+ wl_cli/vendors/hooks/unix/pre-commit.legacy,sha256=2mtK1nnhVcWSCtewM1nlBIFHfj-Qn1vKZpGerG94oOU,970
289
+ wl_cli/vendors/hooks/unix/pre-commit.py,sha256=EAgj4xX8H4b3xe1I7nJWmxyXtquure0nkAgQTq6i0aY,2056
290
+ wl_cli/vendors/hooks/unix/pre-commit.sample,sha256=Vxhbe58FI516tS2wRfW4nrMTSNeyF36rIU9euHLhlxs,1649
291
+ wl_cli/vendors/hooks/unix/pre-merge-commit.sample,sha256=04JacDN5QOu9ClwHKYThMkWSDN-ImL0iXI0npt_Jy1M,416
292
+ wl_cli/vendors/hooks/unix/pre-push,sha256=Ov3Y9WJmNSpjEXuVOJWfQPscB0Ex1GCDCvMYxtX0G80,14921
293
+ wl_cli/vendors/hooks/unix/pre-push.sample,sha256=7M6cfgTT9d2ditqBdT3R1UmpY0smdwBCtY3aACF9CGo,1374
294
+ wl_cli/vendors/hooks/unix/pre-rebase.sample,sha256=T-vOhneQBSM4B29OZsxH77FIedGAl9HWHIJhhZ6qp7M,4898
295
+ wl_cli/vendors/hooks/unix/pre-receive.sample,sha256=pMPSuce7P9jRRBwxvU7nGlldZrRPz0ndsxAlIyAWmYk,544
296
+ wl_cli/vendors/hooks/unix/prepare-commit-msg.sample,sha256=6d3KpBif3dJe2X_Ix4nsp7bKFjkLI5KuMnbwyOGqRhk,1492
297
+ wl_cli/vendors/hooks/win/work.bat,sha256=4KCl7gDGrD7n7y5_WmR6pBeHj3assMijaibpPzlQC74,1503
298
+ wl_cli/vendors/project/.gitignore,sha256=lyN2Jrz7nPfIuZIA2v_YLkbTD69CRjUwtYyyleYgCik,1101
299
+ wl_cli/vendors/project/.python-version,sha256=e1X45ntWI8S-8_ppEojalDfXnTq6FW3kjUgdsyrH0W0,5
300
+ wl_cli/vendors/project/LICENSE,sha256=eLXqu4UZlL2avR1n2yBJLjcRGiNxsBLto1kKViIuQxU,1067
301
+ wl_cli/vendors/project/README.md,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
302
+ wl_cli/vendors/project/pyproject.toml,sha256=Urpqg00VvFmvV-gM6sTPsSO2M8JZAazzLe9jAdMcKKQ,522
303
+ wl_cli/vendors/project/pyproject_no_workspace.toml,sha256=UrPJ341iAcOJ9WRDBTCFGsBIzYLnL_x76EQsRar5hl8,347
304
+ wl_cli/vendors/project/pyproject_workspace.toml,sha256=w2Wfc4qOqsTLcpIJorNZb92CxJSzexZUwXUrKSp7bd0,289
305
+ wl_cli/vendors/readme/README.md,sha256=5zEOdE9CNOeMxlNxdnR_4BFZhy467-NI1qTW0JUlPa8,2604
306
+ wl_cli/vendors/rust/Cargo.toml,sha256=er499C0D85PW4-VYr6-XG8-z-RNWackDSkOt6gP-Rp0,299
307
+ wl_cli/vendors/rust/lib/__init__.py,sha256=64Y4fxJYGh96T5ufJ0j_yvvOBKEnH8XWOskDCviHCxc,109
308
+ wl_cli/vendors/rust/lib/rust_utils.py,sha256=9Zdw3LlxbH3LDprdmKlDI_IqbqLgeaiRkFKuBR118Fw,919
309
+ wl_cli/vendors/rust/src/lib.rs,sha256=TbOw2xK-Jt66ZW2Lpev4-mb_FKYC8wwgoI8_6Ml2DJc,311
310
+ wl_cli/vendors/rust/src/main.rs,sha256=yOBYNpS7HgGI2-KP4NZawRMHI8VflotiYrkGwUf3JUk,45
311
+ wl_cli/vendors/rust/tests/test_rust_fallback.py,sha256=-oQJiOrWPWIvvVvufaQU97IjJHysrsj65JvNdG4yc54,1259
312
+ wl_cli/vendors/sop_doc/git-dev-sop.md,sha256=A0EqN65FtzGDtiouJBzNsVtX1URa5G8nEvgpSXnS4ng,14343
313
+ wl_cli/vendors/sop_doc/industrial-standard-sop.md,sha256=XcN5_H3QOKMdmLWDwSdaAdXer6NWetQZJdwd9fkqmnA,10528
314
+ wl_cli/vendors/sop_doc/python-sop.md,sha256=XiX1WSbaOVHGTdapxQSsJS5ijNEqqXNXbCtWOAsegTw,7920
315
+ wl_cli/vendors/sop_doc/rust-readme.md,sha256=oV0ywCMpAIFdqcoRjq4wNu_Sxo3v2GpATTKwLpA_n94,5689
316
+ py_wlcli-0.8.0.dist-info/METADATA,sha256=avzVHfUfu9ZzRTr0CMesQpxAfi0ODwP0BFadV9rOi14,5472
317
+ py_wlcli-0.8.0.dist-info/WHEEL,sha256=2iZrJkDIkeDh0k9SikKMqFuRP-ua6mb4Ir1AsER4BEw,87
318
+ py_wlcli-0.8.0.dist-info/entry_points.txt,sha256=Kyf8wbsitebZXuwbTd5dizfbTsrwpOwi_UnFb0OfHkE,44
319
+ py_wlcli-0.8.0.dist-info/licenses/LICENSE,sha256=O_YWnOtPIMR6ph7POHnGlPhZUsgoSRx-D0WiPhffZaw,1065
320
+ py_wlcli-0.8.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.33.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ wl = wl_cli.__main__:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 WL Admin
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
wl_cli/__init__.py ADDED
@@ -0,0 +1,27 @@
1
+ """
2
+ WL Commands - Command line interface for project management
3
+ """
4
+
5
+ from pathlib import Path
6
+
7
+
8
+ def _read_version_from_file() -> str:
9
+ """Read version from VERSION file or importlib.metadata."""
10
+ import importlib.metadata
11
+
12
+ try:
13
+ return importlib.metadata.version("py_wlcli")
14
+ except (importlib.metadata.PackageNotFoundError, Exception):
15
+ pass
16
+ version_file = Path(__file__).parent.parent.parent / "VERSION"
17
+ if version_file.exists():
18
+ try:
19
+ return version_file.read_text(encoding="utf-8").strip()
20
+ except Exception:
21
+ pass
22
+ return "0.0.0"
23
+
24
+
25
+ __version__ = _read_version_from_file()
26
+
27
+ from .commands import Command # noqa: F401 # public re-export: wl_cli.Command