odx-cli 0.0.4__tar.gz → 0.0.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. {odx_cli-0.0.4 → odx_cli-0.0.6}/Cargo.lock +30 -24
  2. {odx_cli-0.0.4 → odx_cli-0.0.6}/Cargo.toml +19 -18
  3. odx_cli-0.0.6/PKG-INFO +118 -0
  4. odx_cli-0.0.6/README.md +94 -0
  5. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/git-aggregate-rs/README.md +5 -0
  6. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/git-aggregate-rs/pyproject.toml +4 -1
  7. odx_cli-0.0.6/crates/odx-aggregate/README.md +19 -0
  8. odx_cli-0.0.6/crates/odx-analyze/README.md +19 -0
  9. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/Cargo.toml +1 -0
  10. odx_cli-0.0.6/crates/odx-cli/README.md +94 -0
  11. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cli.rs +74 -24
  12. odx_cli-0.0.6/crates/odx-cli/src/cmd/checkout.rs +206 -0
  13. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/dashboard.rs +192 -9
  14. odx_cli-0.0.6/crates/odx-cli/src/cmd/env.rs +133 -0
  15. odx_cli-0.0.6/crates/odx-cli/src/cmd/env_diff.rs +364 -0
  16. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/migrate.rs +1 -0
  17. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/mod.rs +7 -0
  18. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/port.rs +1 -0
  19. odx_cli-0.0.6/crates/odx-cli/src/cmd/promote.rs +539 -0
  20. odx_cli-0.0.6/crates/odx-cli/src/cmd/promote_apply.rs +431 -0
  21. odx_cli-0.0.6/crates/odx-cli/src/cmd/promote_forge.rs +136 -0
  22. odx_cli-0.0.6/crates/odx-cli/src/cmd/promote_rollback.rs +216 -0
  23. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/propose.rs +7 -1
  24. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/suggest.rs +8 -11
  25. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/sweep.rs +1 -0
  26. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/verdict.rs +1 -0
  27. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/lib.rs +6 -1
  28. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/cli.rs +3 -5
  29. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/dashboard.rs +2 -2
  30. odx_cli-0.0.6/crates/odx-cli/tests/env.rs +543 -0
  31. odx_cli-0.0.6/crates/odx-cli/tests/promote.rs +1586 -0
  32. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-dashboard-act.snap +7 -4
  33. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-dashboard.snap +1 -1
  34. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-env-diff.snap +14 -3
  35. odx_cli-0.0.6/crates/odx-cli/tests/snapshots/cli__odx-env-list.snap +44 -0
  36. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-env.snap +3 -2
  37. odx_cli-0.0.6/crates/odx-cli/tests/snapshots/cli__odx-promote.snap +101 -0
  38. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx.snap +1 -1
  39. odx_cli-0.0.6/crates/odx-config/README.md +19 -0
  40. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/deps.rs +155 -0
  41. odx_cli-0.0.6/crates/odx-config/src/environments.rs +634 -0
  42. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/lib.rs +1 -0
  43. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/load.rs +31 -9
  44. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/tests/schema.rs +15 -6
  45. odx_cli-0.0.6/crates/odx-core/README.md +19 -0
  46. odx_cli-0.0.6/crates/odx-dashboard/README.md +19 -0
  47. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-dashboard/src/lib.rs +13 -3
  48. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-dashboard/src/tui.rs +28 -7
  49. odx_cli-0.0.6/crates/odx-dev/README.md +19 -0
  50. odx_cli-0.0.6/crates/odx-env/Cargo.toml +21 -0
  51. odx_cli-0.0.6/crates/odx-env/README.md +19 -0
  52. odx_cli-0.0.6/crates/odx-env/src/copy.rs +311 -0
  53. odx_cli-0.0.6/crates/odx-env/src/lib.rs +431 -0
  54. odx_cli-0.0.6/crates/odx-env/src/promote.rs +577 -0
  55. odx_cli-0.0.6/crates/odx-env/src/search.rs +202 -0
  56. odx_cli-0.0.6/crates/odx-forge/README.md +19 -0
  57. odx_cli-0.0.6/crates/odx-git/README.md +19 -0
  58. odx_cli-0.0.6/crates/odx-index/README.md +19 -0
  59. odx_cli-0.0.6/crates/odx-lint/README.md +19 -0
  60. odx_cli-0.0.6/crates/odx-platform/README.md +19 -0
  61. odx_cli-0.0.6/crates/odx-port/README.md +19 -0
  62. odx_cli-0.0.6/crates/odx-sync/README.md +19 -0
  63. odx_cli-0.0.6/crates/odx-vendor/README.md +19 -0
  64. odx_cli-0.0.6/crates/odx-verdicts/README.md +19 -0
  65. {odx_cli-0.0.4 → odx_cli-0.0.6}/pyproject.toml +3 -1
  66. odx_cli-0.0.4/PKG-INFO +0 -256
  67. odx_cli-0.0.4/README.md +0 -234
  68. odx_cli-0.0.4/crates/odx-aggregate/README.md +0 -234
  69. odx_cli-0.0.4/crates/odx-analyze/README.md +0 -234
  70. odx_cli-0.0.4/crates/odx-cli/README.md +0 -234
  71. odx_cli-0.0.4/crates/odx-cli/tests/snapshots/cli__odx-promote.snap +0 -72
  72. odx_cli-0.0.4/crates/odx-config/README.md +0 -234
  73. odx_cli-0.0.4/crates/odx-core/README.md +0 -234
  74. odx_cli-0.0.4/crates/odx-dashboard/README.md +0 -234
  75. odx_cli-0.0.4/crates/odx-dev/README.md +0 -234
  76. odx_cli-0.0.4/crates/odx-forge/README.md +0 -234
  77. odx_cli-0.0.4/crates/odx-git/README.md +0 -234
  78. odx_cli-0.0.4/crates/odx-index/README.md +0 -234
  79. odx_cli-0.0.4/crates/odx-lint/README.md +0 -234
  80. odx_cli-0.0.4/crates/odx-platform/README.md +0 -234
  81. odx_cli-0.0.4/crates/odx-port/README.md +0 -234
  82. odx_cli-0.0.4/crates/odx-sync/README.md +0 -234
  83. odx_cli-0.0.4/crates/odx-vendor/README.md +0 -234
  84. odx_cli-0.0.4/crates/odx-verdicts/README.md +0 -234
  85. {odx_cli-0.0.4 → odx_cli-0.0.6}/LICENSE +0 -0
  86. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/git-aggregate-rs/Cargo.toml +0 -0
  87. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/git-aggregate-rs/src/aggregate.rs +0 -0
  88. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/git-aggregate-rs/src/dirmatch.rs +0 -0
  89. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/git-aggregate-rs/src/lib.rs +0 -0
  90. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/git-aggregate-rs/src/main.rs +0 -0
  91. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/git-aggregate-rs/src/prs.rs +0 -0
  92. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/git-aggregate-rs/tests/aggregate.rs +0 -0
  93. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/git-aggregate-rs/tests/cli.rs +0 -0
  94. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/git-aggregate-rs/tests/prs.rs +0 -0
  95. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/git-aggregate-rs/tests/snapshots/cli__help_snapshot.snap +0 -0
  96. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-aggregate/Cargo.toml +0 -0
  97. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-aggregate/src/aggregation.rs +0 -0
  98. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-aggregate/src/guard.rs +0 -0
  99. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-aggregate/src/lib.rs +0 -0
  100. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-aggregate/src/locking.rs +0 -0
  101. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-aggregate/src/packages.rs +0 -0
  102. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-aggregate/src/pipeline.rs +0 -0
  103. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-aggregate/src/plan.rs +0 -0
  104. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-aggregate/src/repos_yaml.rs +0 -0
  105. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-analyze/Cargo.toml +0 -0
  106. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-analyze/data/core/16.0.txt +0 -0
  107. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-analyze/data/core/17.0.txt +0 -0
  108. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-analyze/data/core/18.0.txt +0 -0
  109. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-analyze/data/core/19.0.txt +0 -0
  110. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-analyze/src/core.rs +0 -0
  111. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-analyze/src/lib.rs +0 -0
  112. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-analyze/src/manifest.rs +0 -0
  113. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-analyze/src/sniff.rs +0 -0
  114. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-analyze/src/stats.rs +0 -0
  115. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/aggregate.rs +0 -0
  116. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/auth.rs +0 -0
  117. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/autoupdate.rs +0 -0
  118. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/build.rs +0 -0
  119. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/check_deps.rs +0 -0
  120. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/compat.rs +0 -0
  121. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/daemon.rs +0 -0
  122. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/deps.rs +0 -0
  123. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/dev.rs +0 -0
  124. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/doctor.rs +0 -0
  125. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/edit.rs +0 -0
  126. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/hooks.rs +0 -0
  127. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/lint.rs +0 -0
  128. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/pin.rs +0 -0
  129. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/sniff.rs +0 -0
  130. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/stats.rs +0 -0
  131. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/status.rs +0 -0
  132. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/sync.rs +0 -0
  133. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/unpin.rs +0 -0
  134. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/update.rs +0 -0
  135. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/upgrade.rs +0 -0
  136. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/vendor.rs +0 -0
  137. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/cmd/verify.rs +0 -0
  138. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/src/main.rs +0 -0
  139. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/aggregate.rs +0 -0
  140. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/auth.rs +0 -0
  141. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/autoupdate.rs +0 -0
  142. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/build.rs +0 -0
  143. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/check_deps.rs +0 -0
  144. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/compat.rs +0 -0
  145. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/daemon.rs +0 -0
  146. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/dev.rs +0 -0
  147. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/doctor.rs +0 -0
  148. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/edit.rs +0 -0
  149. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/guard.rs +0 -0
  150. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/hooks.rs +0 -0
  151. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/installed.rs +0 -0
  152. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/interrupt.rs +0 -0
  153. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/lint.rs +0 -0
  154. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/migrate.rs +0 -0
  155. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/packages.rs +0 -0
  156. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/port.rs +0 -0
  157. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/aggregate__aggregate_builds_the_working_tree-2.snap +0 -0
  158. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/aggregate__aggregate_builds_the_working_tree.snap +0 -0
  159. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-add.snap +0 -0
  160. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-aggregate.snap +0 -0
  161. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-auth-login.snap +0 -0
  162. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-auth-logout.snap +0 -0
  163. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-auth-status.snap +0 -0
  164. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-auth.snap +0 -0
  165. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-bot-run.snap +0 -0
  166. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-bot.snap +0 -0
  167. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-build.snap +0 -0
  168. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-cache-detach.snap +0 -0
  169. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-cache-gc.snap +0 -0
  170. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-cache-info.snap +0 -0
  171. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-cache.snap +0 -0
  172. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-check-deps.snap +0 -0
  173. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-completions.snap +0 -0
  174. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-daemon-install.snap +0 -0
  175. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-daemon-run.snap +0 -0
  176. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-daemon-status.snap +0 -0
  177. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-daemon-uninstall.snap +0 -0
  178. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-daemon.snap +0 -0
  179. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-dev.snap +0 -0
  180. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-doctor.snap +0 -0
  181. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-drop.snap +0 -0
  182. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-export.snap +0 -0
  183. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-git-aggregate.snap +0 -0
  184. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-import.snap +0 -0
  185. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-lint.snap +0 -0
  186. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-lock.snap +0 -0
  187. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-migrate-addon.snap +0 -0
  188. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-migrate-own.snap +0 -0
  189. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-migrate-pin.snap +0 -0
  190. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-migrate-plan.snap +0 -0
  191. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-migrate-pr.snap +0 -0
  192. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-migrate-unpin.snap +0 -0
  193. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-migrate-update.snap +0 -0
  194. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-migrate.snap +0 -0
  195. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-port-addon.snap +0 -0
  196. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-port-blacklist.snap +0 -0
  197. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-port-pr.snap +0 -0
  198. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-port-sweep.snap +0 -0
  199. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-port.snap +0 -0
  200. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-sniff.snap +0 -0
  201. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-stats.snap +0 -0
  202. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-status.snap +0 -0
  203. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-suggest.snap +0 -0
  204. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-sync.snap +0 -0
  205. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-upgrade.snap +0 -0
  206. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-vendor.snap +0 -0
  207. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-verdict-add.snap +0 -0
  208. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-verdict-confirm.snap +0 -0
  209. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-verdict-list.snap +0 -0
  210. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-verdict-revoke.snap +0 -0
  211. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-verdict-show.snap +0 -0
  212. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-verdict-sync.snap +0 -0
  213. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-verdict-upstream.snap +0 -0
  214. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-verdict.snap +0 -0
  215. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/cli__odx-verify.snap +0 -0
  216. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/compat__export_writes_both_files.snap +0 -0
  217. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/compat__import_prints_toml_and_reads_sibling_addons.snap +0 -0
  218. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/snapshots/lint__lint-github.snap +0 -0
  219. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/sniff.rs +0 -0
  220. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/stats.rs +0 -0
  221. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/status.rs +0 -0
  222. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/submodules.rs +0 -0
  223. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/suggest.rs +0 -0
  224. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/sync.rs +0 -0
  225. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/upgrade.rs +0 -0
  226. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/vendor.rs +0 -0
  227. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-cli/tests/verdict.rs +0 -0
  228. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/Cargo.toml +0 -0
  229. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/compat/addons.rs +0 -0
  230. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/compat/env.rs +0 -0
  231. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/compat/export.rs +0 -0
  232. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/compat/import.rs +0 -0
  233. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/compat/mod.rs +0 -0
  234. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/compat/ordered.rs +0 -0
  235. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/compat/repos.rs +0 -0
  236. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/duration.rs +0 -0
  237. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/edit/doc.rs +0 -0
  238. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/edit/doc_tests.rs +0 -0
  239. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/edit/mod.rs +0 -0
  240. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/edit/spec.rs +0 -0
  241. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/error.rs +0 -0
  242. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/lock.rs +0 -0
  243. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/lock_tests.rs +0 -0
  244. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/mutes.rs +0 -0
  245. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/packages.rs +0 -0
  246. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/schema.rs +0 -0
  247. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/snapshots/odx_config__lock__tests__canonical_layout.snap +0 -0
  248. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/user.rs +0 -0
  249. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/src/uvlock.rs +0 -0
  250. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/tests/fixtures/full.toml +0 -0
  251. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/tests/fixtures/real/client-four-groups.toml +0 -0
  252. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/tests/fixtures/real/hatch-odoo.toml +0 -0
  253. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/tests/fixtures/real/oca-addon-whool.toml +0 -0
  254. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/tests/fixtures/real/oca-repo-root.toml +0 -0
  255. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/tests/fixtures/real/uvault.toml +0 -0
  256. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-config/tests/real_fixtures.rs +0 -0
  257. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-core/Cargo.toml +0 -0
  258. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-core/src/clock.rs +0 -0
  259. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-core/src/env.rs +0 -0
  260. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-core/src/exit.rs +0 -0
  261. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-core/src/fake.rs +0 -0
  262. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-core/src/fs.rs +0 -0
  263. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-core/src/lib.rs +0 -0
  264. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-core/src/process.rs +0 -0
  265. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-core/src/redact.rs +0 -0
  266. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-core/src/system.rs +0 -0
  267. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-core/src/url.rs +0 -0
  268. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-dashboard/Cargo.toml +0 -0
  269. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-dev/Cargo.toml +0 -0
  270. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-dev/src/lib.rs +0 -0
  271. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-forge/Cargo.toml +0 -0
  272. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-forge/src/admin.rs +0 -0
  273. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-forge/src/cache.rs +0 -0
  274. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-forge/src/ci.rs +0 -0
  275. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-forge/src/client.rs +0 -0
  276. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-forge/src/contribute.rs +0 -0
  277. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-forge/src/http.rs +0 -0
  278. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-forge/src/lib.rs +0 -0
  279. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-forge/src/listing.rs +0 -0
  280. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-forge/src/pulls.rs +0 -0
  281. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-forge/src/secrets.rs +0 -0
  282. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-forge/src/testing.rs +0 -0
  283. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-forge/src/url.rs +0 -0
  284. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-git/Cargo.toml +0 -0
  285. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-git/src/backend.rs +0 -0
  286. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-git/src/cache.rs +0 -0
  287. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-git/src/clones.rs +0 -0
  288. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-git/src/fetch.rs +0 -0
  289. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-git/src/fetch_tests.rs +0 -0
  290. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-git/src/lib.rs +0 -0
  291. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-git/src/lock.rs +0 -0
  292. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-git/src/merge.rs +0 -0
  293. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-git/src/merge_tests.rs +0 -0
  294. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-git/src/refs.rs +0 -0
  295. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-git/src/run.rs +0 -0
  296. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-git/src/run_tests.rs +0 -0
  297. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-git/src/vault.rs +0 -0
  298. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-git/tests/daemon.rs +0 -0
  299. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-git/tests/mergiraf.rs +0 -0
  300. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-index/Cargo.toml +0 -0
  301. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-index/src/lib.rs +0 -0
  302. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-index/src/sources.rs +0 -0
  303. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-lint/Cargo.toml +0 -0
  304. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-lint/src/lib.rs +0 -0
  305. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-lint/src/project.rs +0 -0
  306. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-platform/Cargo.toml +0 -0
  307. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-platform/data/provided/odoo-standard-16.0.txt +0 -0
  308. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-platform/data/provided/odoo-standard-17.0.txt +0 -0
  309. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-platform/data/provided/odoo-standard-18.0.txt +0 -0
  310. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-platform/data/provided/odoo-standard-19.0.txt +0 -0
  311. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-platform/src/autoupdate.rs +0 -0
  312. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-platform/src/export.rs +0 -0
  313. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-platform/src/installed.rs +0 -0
  314. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-platform/src/lib.rs +0 -0
  315. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-platform/src/provided.rs +0 -0
  316. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-platform/src/requirements.rs +0 -0
  317. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-platform/src/wheel.rs +0 -0
  318. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-port/Cargo.toml +0 -0
  319. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-port/src/analysis.rs +0 -0
  320. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-port/src/blacklist.rs +0 -0
  321. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-port/src/git.rs +0 -0
  322. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-port/src/lib.rs +0 -0
  323. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-port/src/migrate.rs +0 -0
  324. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-port/src/port.rs +0 -0
  325. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-port/src/squash.rs +0 -0
  326. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-port/src/testing.rs +0 -0
  327. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-port/src/update.rs +0 -0
  328. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-sync/Cargo.toml +0 -0
  329. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-sync/src/lib.rs +0 -0
  330. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-sync/src/schedule.rs +0 -0
  331. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-vendor/Cargo.toml +0 -0
  332. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-vendor/src/archive.rs +0 -0
  333. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-vendor/src/content.rs +0 -0
  334. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-vendor/src/lib.rs +0 -0
  335. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-vendor/src/plan.rs +0 -0
  336. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-vendor/src/record.rs +0 -0
  337. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-verdicts/Cargo.toml +0 -0
  338. {odx_cli-0.0.4 → odx_cli-0.0.6}/crates/odx-verdicts/src/lib.rs +0 -0
@@ -727,7 +727,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
727
727
  checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c"
728
728
  dependencies = [
729
729
  "lazy_static",
730
- "windows-sys 0.52.0",
730
+ "windows-sys 0.48.0",
731
731
  ]
732
732
 
733
733
  [[package]]
@@ -1541,7 +1541,7 @@ dependencies = [
1541
1541
 
1542
1542
  [[package]]
1543
1543
  name = "git-aggregate-rs"
1544
- version = "0.0.4"
1544
+ version = "0.0.6"
1545
1545
  dependencies = [
1546
1546
  "assert_cmd",
1547
1547
  "clap",
@@ -2658,7 +2658,7 @@ dependencies = [
2658
2658
 
2659
2659
  [[package]]
2660
2660
  name = "odx-aggregate"
2661
- version = "0.0.4"
2661
+ version = "0.0.6"
2662
2662
  dependencies = [
2663
2663
  "odx-config",
2664
2664
  "odx-core",
@@ -2671,7 +2671,7 @@ dependencies = [
2671
2671
 
2672
2672
  [[package]]
2673
2673
  name = "odx-analyze"
2674
- version = "0.0.4"
2674
+ version = "0.0.6"
2675
2675
  dependencies = [
2676
2676
  "serde",
2677
2677
  "tempfile",
@@ -2680,11 +2680,11 @@ dependencies = [
2680
2680
 
2681
2681
  [[package]]
2682
2682
  name = "odx-bot"
2683
- version = "0.0.4"
2683
+ version = "0.0.6"
2684
2684
 
2685
2685
  [[package]]
2686
2686
  name = "odx-cli"
2687
- version = "0.0.4"
2687
+ version = "0.0.6"
2688
2688
  dependencies = [
2689
2689
  "assert_cmd",
2690
2690
  "clap",
@@ -2697,6 +2697,7 @@ dependencies = [
2697
2697
  "odx-core",
2698
2698
  "odx-dashboard",
2699
2699
  "odx-dev",
2700
+ "odx-env",
2700
2701
  "odx-forge",
2701
2702
  "odx-git",
2702
2703
  "odx-index",
@@ -2717,7 +2718,7 @@ dependencies = [
2717
2718
 
2718
2719
  [[package]]
2719
2720
  name = "odx-config"
2720
- version = "0.0.4"
2721
+ version = "0.0.6"
2721
2722
  dependencies = [
2722
2723
  "insta",
2723
2724
  "odx-core",
@@ -2732,11 +2733,11 @@ dependencies = [
2732
2733
 
2733
2734
  [[package]]
2734
2735
  name = "odx-core"
2735
- version = "0.0.4"
2736
+ version = "0.0.6"
2736
2737
 
2737
2738
  [[package]]
2738
2739
  name = "odx-dashboard"
2739
- version = "0.0.4"
2740
+ version = "0.0.6"
2740
2741
  dependencies = [
2741
2742
  "ratatui",
2742
2743
  "serde",
@@ -2745,7 +2746,7 @@ dependencies = [
2745
2746
 
2746
2747
  [[package]]
2747
2748
  name = "odx-dev"
2748
- version = "0.0.4"
2749
+ version = "0.0.6"
2749
2750
  dependencies = [
2750
2751
  "odx-config",
2751
2752
  "serde",
@@ -2755,11 +2756,16 @@ dependencies = [
2755
2756
 
2756
2757
  [[package]]
2757
2758
  name = "odx-env"
2758
- version = "0.0.4"
2759
+ version = "0.0.6"
2760
+ dependencies = [
2761
+ "odx-config",
2762
+ "pep440_rs",
2763
+ "toml_edit 0.25.17+spec-1.1.0",
2764
+ ]
2759
2765
 
2760
2766
  [[package]]
2761
2767
  name = "odx-forge"
2762
- version = "0.0.4"
2768
+ version = "0.0.6"
2763
2769
  dependencies = [
2764
2770
  "apple-native-keyring-store",
2765
2771
  "keyring-core",
@@ -2775,7 +2781,7 @@ dependencies = [
2775
2781
 
2776
2782
  [[package]]
2777
2783
  name = "odx-git"
2778
- version = "0.0.4"
2784
+ version = "0.0.6"
2779
2785
  dependencies = [
2780
2786
  "futures-util",
2781
2787
  "odx-core",
@@ -2787,7 +2793,7 @@ dependencies = [
2787
2793
 
2788
2794
  [[package]]
2789
2795
  name = "odx-index"
2790
- version = "0.0.4"
2796
+ version = "0.0.6"
2791
2797
  dependencies = [
2792
2798
  "odx-analyze",
2793
2799
  "odx-core",
@@ -2800,7 +2806,7 @@ dependencies = [
2800
2806
 
2801
2807
  [[package]]
2802
2808
  name = "odx-lint"
2803
- version = "0.0.4"
2809
+ version = "0.0.6"
2804
2810
  dependencies = [
2805
2811
  "odoo-lint",
2806
2812
  "tempfile",
@@ -2808,7 +2814,7 @@ dependencies = [
2808
2814
 
2809
2815
  [[package]]
2810
2816
  name = "odx-platform"
2811
- version = "0.0.4"
2817
+ version = "0.0.6"
2812
2818
  dependencies = [
2813
2819
  "odx-analyze",
2814
2820
  "odx-config",
@@ -2823,7 +2829,7 @@ dependencies = [
2823
2829
 
2824
2830
  [[package]]
2825
2831
  name = "odx-port"
2826
- version = "0.0.4"
2832
+ version = "0.0.6"
2827
2833
  dependencies = [
2828
2834
  "odx-core",
2829
2835
  "regex",
@@ -2834,7 +2840,7 @@ dependencies = [
2834
2840
 
2835
2841
  [[package]]
2836
2842
  name = "odx-sync"
2837
- version = "0.0.4"
2843
+ version = "0.0.6"
2838
2844
  dependencies = [
2839
2845
  "serde",
2840
2846
  "serde_json",
@@ -2844,7 +2850,7 @@ dependencies = [
2844
2850
 
2845
2851
  [[package]]
2846
2852
  name = "odx-vendor"
2847
- version = "0.0.4"
2853
+ version = "0.0.6"
2848
2854
  dependencies = [
2849
2855
  "odx-analyze",
2850
2856
  "odx-config",
@@ -2861,7 +2867,7 @@ dependencies = [
2861
2867
 
2862
2868
  [[package]]
2863
2869
  name = "odx-verdicts"
2864
- version = "0.0.4"
2870
+ version = "0.0.6"
2865
2871
  dependencies = [
2866
2872
  "serde",
2867
2873
  "tempfile",
@@ -4026,9 +4032,9 @@ checksum = "eec689c0bc40ff2458a5977b6619cb718087084a18e02a131c599b62d05e1a5f"
4026
4032
 
4027
4033
  [[package]]
4028
4034
  name = "rustls-webpki"
4029
- version = "0.103.15"
4035
+ version = "0.103.16"
4030
4036
  source = "registry+https://github.com/rust-lang/crates.io-index"
4031
- checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2"
4037
+ checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281"
4032
4038
  dependencies = [
4033
4039
  "ring",
4034
4040
  "rustls-pki-types",
@@ -5278,9 +5284,9 @@ dependencies = [
5278
5284
 
5279
5285
  [[package]]
5280
5286
  name = "webpki-root-certs"
5281
- version = "1.0.9"
5287
+ version = "1.0.10"
5282
5288
  source = "registry+https://github.com/rust-lang/crates.io-index"
5283
- checksum = "b96554aa2acc8ccdb7e1c9a58a7a68dd5d13bccc69cd124cb09406db612a1c9b"
5289
+ checksum = "58ec80e73fd8baf57bf0d9615554c75348bda990d6d5bbeab964dd068319fecb"
5284
5290
  dependencies = [
5285
5291
  "rustls-pki-types",
5286
5292
  ]
@@ -3,35 +3,36 @@ resolver = "3"
3
3
  members = ["crates/*"]
4
4
 
5
5
  [workspace.package]
6
- version = "0.0.4"
6
+ version = "0.0.6"
7
7
  edition = "2024"
8
8
  rust-version = "1.97"
9
9
  license = "MIT"
10
10
  authors = ["Strategic Efficiency B.V."]
11
11
  repository = "https://github.com/getfluvo/odx"
12
- homepage = "https://github.com/getfluvo/odx"
12
+ homepage = "https://odx.readthedocs.io"
13
13
  readme = "README.md"
14
14
  keywords = ["odoo", "oca", "git", "workspace", "cli"]
15
15
  categories = ["command-line-utilities", "development-tools"]
16
16
 
17
17
  [workspace.dependencies]
18
18
  # Internal crates.
19
- odx-core = { path = "crates/odx-core", version = "0.0.4" }
20
- git-aggregate-rs = { path = "crates/git-aggregate-rs", version = "0.0.4" }
21
- odx-config = { path = "crates/odx-config", version = "0.0.4" }
22
- odx-git = { path = "crates/odx-git", version = "0.0.4" }
23
- odx-aggregate = { path = "crates/odx-aggregate", version = "0.0.4" }
24
- odx-forge = { path = "crates/odx-forge", version = "0.0.4" }
25
- odx-analyze = { path = "crates/odx-analyze", version = "0.0.4" }
26
- odx-dashboard = { path = "crates/odx-dashboard", version = "0.0.4" }
27
- odx-index = { path = "crates/odx-index", version = "0.0.4" }
28
- odx-port = { path = "crates/odx-port", version = "0.0.4" }
29
- odx-lint = { path = "crates/odx-lint", version = "0.0.4" }
30
- odx-verdicts = { path = "crates/odx-verdicts", version = "0.0.4" }
31
- odx-platform = { path = "crates/odx-platform", version = "0.0.4" }
32
- odx-vendor = { path = "crates/odx-vendor", version = "0.0.4" }
33
- odx-dev = { path = "crates/odx-dev", version = "0.0.4" }
34
- odx-sync = { path = "crates/odx-sync", version = "0.0.4" }
19
+ odx-core = { path = "crates/odx-core", version = "0.0.6" }
20
+ git-aggregate-rs = { path = "crates/git-aggregate-rs", version = "0.0.6" }
21
+ odx-config = { path = "crates/odx-config", version = "0.0.6" }
22
+ odx-git = { path = "crates/odx-git", version = "0.0.6" }
23
+ odx-aggregate = { path = "crates/odx-aggregate", version = "0.0.6" }
24
+ odx-forge = { path = "crates/odx-forge", version = "0.0.6" }
25
+ odx-analyze = { path = "crates/odx-analyze", version = "0.0.6" }
26
+ odx-dashboard = { path = "crates/odx-dashboard", version = "0.0.6" }
27
+ odx-index = { path = "crates/odx-index", version = "0.0.6" }
28
+ odx-port = { path = "crates/odx-port", version = "0.0.6" }
29
+ odx-lint = { path = "crates/odx-lint", version = "0.0.6" }
30
+ odx-verdicts = { path = "crates/odx-verdicts", version = "0.0.6" }
31
+ odx-platform = { path = "crates/odx-platform", version = "0.0.6" }
32
+ odx-vendor = { path = "crates/odx-vendor", version = "0.0.6" }
33
+ odx-dev = { path = "crates/odx-dev", version = "0.0.6" }
34
+ odx-sync = { path = "crates/odx-sync", version = "0.0.6" }
35
+ odx-env = { path = "crates/odx-env", version = "0.0.6" }
35
36
 
36
37
  # External crates. Versions are pinned in Cargo.lock.
37
38
  clap = { version = "4.5", features = ["derive"] }
odx_cli-0.0.6/PKG-INFO ADDED
@@ -0,0 +1,118 @@
1
+ Metadata-Version: 2.4
2
+ Name: odx-cli
3
+ Version: 0.0.6
4
+ Classifier: Development Status :: 2 - Pre-Alpha
5
+ Classifier: Environment :: Console
6
+ Classifier: Framework :: Odoo
7
+ Classifier: Intended Audience :: Developers
8
+ Classifier: Programming Language :: Rust
9
+ Classifier: Topic :: Software Development :: Build Tools
10
+ License-File: LICENSE
11
+ Summary: Rust-native workspace manager for Odoo projects
12
+ Keywords: odoo,oca,git,workspace,cli
13
+ Home-Page: https://odx.readthedocs.io
14
+ Author: Strategic Efficiency B.V.
15
+ License-Expression: MIT
16
+ Requires-Python: >=3.10
17
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
18
+ Project-URL: Changelog, https://github.com/getfluvo/odx/releases
19
+ Project-URL: Documentation, https://odx.readthedocs.io/
20
+ Project-URL: Homepage, https://odx.readthedocs.io/
21
+ Project-URL: Issues, https://github.com/getfluvo/odx/issues
22
+ Project-URL: Source, https://github.com/getfluvo/odx
23
+
24
+ <p align="center">
25
+ <img src="https://raw.githubusercontent.com/getfluvo/odx/main/docs/_static/logo.svg" alt="odx logo" width="160">
26
+ </p>
27
+
28
+ <h1 align="center">odx</h1>
29
+
30
+ <p align="center">
31
+ <a href="https://pypi.org/project/odx-cli/"><img src="https://img.shields.io/pypi/v/odx-cli?style=flat-square&logo=pypi&logoColor=white&label=PyPI&color=ef662f" alt="PyPI"></a>
32
+ <a href="https://crates.io/crates/odx-cli"><img src="https://img.shields.io/crates/v/odx-cli?style=flat-square&logo=rust&logoColor=white&label=crates.io&color=ef662f" alt="crates.io"></a>
33
+ <a href="https://github.com/getfluvo/odx/actions/workflows/tests.yml"><img src="https://img.shields.io/github/actions/workflow/status/getfluvo/odx/tests.yml?branch=main&style=flat-square&logo=githubactions&logoColor=white&label=tests" alt="Tests"></a>
34
+ <a href="https://odx.readthedocs.io/"><img src="https://img.shields.io/readthedocs/odx?style=flat-square&logo=readthedocs&logoColor=white&label=docs" alt="Documentation"></a>
35
+ <a href="https://github.com/getfluvo/odx/blob/main/LICENSE"><img src="https://img.shields.io/github/license/getfluvo/odx?style=flat-square&color=7e5a8c" alt="License: MIT"></a>
36
+ </p>
37
+
38
+ <!-- start-docs -->
39
+
40
+ **Odoo Developer eXtension**: one Rust CLI for Odoo projects, driven by a
41
+ single `[tool.odx]` table in `pyproject.toml`.
42
+
43
+ odx builds a project's addon repositories from upstream branches plus the
44
+ pull requests you need, pins and vaults every commit so rebuilds never break,
45
+ keeps an eye on what upstream merged, ports fixes across Odoo series, migrates
46
+ addons the OCA way, and lints with project context. It replaces
47
+ git-aggregator, uvault and a handful of scripts with one fast binary.
48
+
49
+ ## Install
50
+
51
+ ```console
52
+ $ uv tool install odx-cli # or: pipx install odx-cli
53
+ $ cargo install odx-cli
54
+ ```
55
+
56
+ Binary wheels are published for Linux (glibc and musl, x86_64 and aarch64),
57
+ macOS (Intel and Apple silicon) and Windows; no Rust toolchain needed.
58
+
59
+ ## Quick start
60
+
61
+ ```console
62
+ $ odx import repos.yaml --write # start from an existing git-aggregator setup
63
+ $ odx aggregate # fetch and build every repository
64
+ $ odx lock # pin and vault every merged commit
65
+ $ odx status # what upstream merged, what changed
66
+ $ odx lint --only-changed # odoo-lint with the project's context
67
+ ```
68
+
69
+ ## What it does
70
+
71
+ | Area | Commands |
72
+ |---|---|
73
+ | Aggregate and lock | `aggregate`, `lock`, `verify`, `add`, `drop`, `import`, `export` |
74
+ | Packages and deployment | `vendor`, `build`, platform profiles (wheels, vendored source, Odoo.sh) |
75
+ | Local development | `dev`, `doctor`, `auth`, `sync`, `cache`, `daemon` |
76
+ | Upstream insight | `status`, `suggest`, `verdict`, `dashboard`, `check-deps`, `upgrade`, `sniff`, `stats` |
77
+ | Porting and migration | `port pr/addon/sweep`, `migrate plan/addon/pr/update/pin/unpin/own` |
78
+ | Linting | `lint`, with odoo-lint built in and project rules on top |
79
+
80
+ Every command supports `--json`. The full reference, configuration and
81
+ compatibility notes are on [Read the Docs](https://odx.readthedocs.io/).
82
+
83
+ The aggregation engine is also available as a drop-in replacement for
84
+ git-aggregator's `gitaggregate`: `odx git-aggregate`, or the standalone
85
+ [`git-aggregate-rs`](https://pypi.org/project/git-aggregate-rs/) package.
86
+
87
+ ## Status
88
+
89
+ Pre-alpha (0.0.x): the configuration and the CLI may still change between
90
+ releases. Environment promotion (`odx promote`, `odx env`) and the CI bot
91
+ (`odx bot`) are planned.
92
+
93
+ <!-- github-only -->
94
+
95
+ ## Packages
96
+
97
+ | Package | Registry | Purpose |
98
+ |---|---|---|
99
+ | `odx-cli` | [PyPI](https://pypi.org/project/odx-cli/), [crates.io](https://crates.io/crates/odx-cli) | the `odx` command |
100
+ | `git-aggregate-rs` | [PyPI](https://pypi.org/project/git-aggregate-rs/), [crates.io](https://crates.io/crates/git-aggregate-rs) | the gitaggregate drop-in |
101
+ | `odx-*` | [crates.io](https://crates.io/search?q=odx-) | the libraries odx is built from; no stable API |
102
+
103
+ ## Contributing
104
+
105
+ Contributions are welcome: see
106
+ [CONTRIBUTING.md](https://github.com/getfluvo/odx/blob/main/CONTRIBUTING.md)
107
+ for the development setup and the quality gates (clippy pedantic, 100%
108
+ coverage, MSRV 1.97). This project follows the
109
+ [Contributor Covenant](https://github.com/getfluvo/odx/blob/main/CODE_OF_CONDUCT.md).
110
+
111
+ ## License
112
+
113
+ MIT, see [LICENSE](https://github.com/getfluvo/odx/blob/main/LICENSE).
114
+ Maintained by Strategic Efficiency B.V. under the
115
+ [getfluvo](https://github.com/getfluvo) organization.
116
+
117
+ Built with Rust & AI-accelerated engineering
118
+
@@ -0,0 +1,94 @@
1
+ <p align="center">
2
+ <img src="https://raw.githubusercontent.com/getfluvo/odx/main/docs/_static/logo.svg" alt="odx logo" width="160">
3
+ </p>
4
+
5
+ <h1 align="center">odx</h1>
6
+
7
+ <p align="center">
8
+ <a href="https://pypi.org/project/odx-cli/"><img src="https://img.shields.io/pypi/v/odx-cli?style=flat-square&logo=pypi&logoColor=white&label=PyPI&color=ef662f" alt="PyPI"></a>
9
+ <a href="https://crates.io/crates/odx-cli"><img src="https://img.shields.io/crates/v/odx-cli?style=flat-square&logo=rust&logoColor=white&label=crates.io&color=ef662f" alt="crates.io"></a>
10
+ <a href="https://github.com/getfluvo/odx/actions/workflows/tests.yml"><img src="https://img.shields.io/github/actions/workflow/status/getfluvo/odx/tests.yml?branch=main&style=flat-square&logo=githubactions&logoColor=white&label=tests" alt="Tests"></a>
11
+ <a href="https://odx.readthedocs.io/"><img src="https://img.shields.io/readthedocs/odx?style=flat-square&logo=readthedocs&logoColor=white&label=docs" alt="Documentation"></a>
12
+ <a href="https://github.com/getfluvo/odx/blob/main/LICENSE"><img src="https://img.shields.io/github/license/getfluvo/odx?style=flat-square&color=7e5a8c" alt="License: MIT"></a>
13
+ </p>
14
+
15
+ <!-- start-docs -->
16
+
17
+ **Odoo Developer eXtension**: one Rust CLI for Odoo projects, driven by a
18
+ single `[tool.odx]` table in `pyproject.toml`.
19
+
20
+ odx builds a project's addon repositories from upstream branches plus the
21
+ pull requests you need, pins and vaults every commit so rebuilds never break,
22
+ keeps an eye on what upstream merged, ports fixes across Odoo series, migrates
23
+ addons the OCA way, and lints with project context. It replaces
24
+ git-aggregator, uvault and a handful of scripts with one fast binary.
25
+
26
+ ## Install
27
+
28
+ ```console
29
+ $ uv tool install odx-cli # or: pipx install odx-cli
30
+ $ cargo install odx-cli
31
+ ```
32
+
33
+ Binary wheels are published for Linux (glibc and musl, x86_64 and aarch64),
34
+ macOS (Intel and Apple silicon) and Windows; no Rust toolchain needed.
35
+
36
+ ## Quick start
37
+
38
+ ```console
39
+ $ odx import repos.yaml --write # start from an existing git-aggregator setup
40
+ $ odx aggregate # fetch and build every repository
41
+ $ odx lock # pin and vault every merged commit
42
+ $ odx status # what upstream merged, what changed
43
+ $ odx lint --only-changed # odoo-lint with the project's context
44
+ ```
45
+
46
+ ## What it does
47
+
48
+ | Area | Commands |
49
+ |---|---|
50
+ | Aggregate and lock | `aggregate`, `lock`, `verify`, `add`, `drop`, `import`, `export` |
51
+ | Packages and deployment | `vendor`, `build`, platform profiles (wheels, vendored source, Odoo.sh) |
52
+ | Local development | `dev`, `doctor`, `auth`, `sync`, `cache`, `daemon` |
53
+ | Upstream insight | `status`, `suggest`, `verdict`, `dashboard`, `check-deps`, `upgrade`, `sniff`, `stats` |
54
+ | Porting and migration | `port pr/addon/sweep`, `migrate plan/addon/pr/update/pin/unpin/own` |
55
+ | Linting | `lint`, with odoo-lint built in and project rules on top |
56
+
57
+ Every command supports `--json`. The full reference, configuration and
58
+ compatibility notes are on [Read the Docs](https://odx.readthedocs.io/).
59
+
60
+ The aggregation engine is also available as a drop-in replacement for
61
+ git-aggregator's `gitaggregate`: `odx git-aggregate`, or the standalone
62
+ [`git-aggregate-rs`](https://pypi.org/project/git-aggregate-rs/) package.
63
+
64
+ ## Status
65
+
66
+ Pre-alpha (0.0.x): the configuration and the CLI may still change between
67
+ releases. Environment promotion (`odx promote`, `odx env`) and the CI bot
68
+ (`odx bot`) are planned.
69
+
70
+ <!-- github-only -->
71
+
72
+ ## Packages
73
+
74
+ | Package | Registry | Purpose |
75
+ |---|---|---|
76
+ | `odx-cli` | [PyPI](https://pypi.org/project/odx-cli/), [crates.io](https://crates.io/crates/odx-cli) | the `odx` command |
77
+ | `git-aggregate-rs` | [PyPI](https://pypi.org/project/git-aggregate-rs/), [crates.io](https://crates.io/crates/git-aggregate-rs) | the gitaggregate drop-in |
78
+ | `odx-*` | [crates.io](https://crates.io/search?q=odx-) | the libraries odx is built from; no stable API |
79
+
80
+ ## Contributing
81
+
82
+ Contributions are welcome: see
83
+ [CONTRIBUTING.md](https://github.com/getfluvo/odx/blob/main/CONTRIBUTING.md)
84
+ for the development setup and the quality gates (clippy pedantic, 100%
85
+ coverage, MSRV 1.97). This project follows the
86
+ [Contributor Covenant](https://github.com/getfluvo/odx/blob/main/CODE_OF_CONDUCT.md).
87
+
88
+ ## License
89
+
90
+ MIT, see [LICENSE](https://github.com/getfluvo/odx/blob/main/LICENSE).
91
+ Maintained by Strategic Efficiency B.V. under the
92
+ [getfluvo](https://github.com/getfluvo) organization.
93
+
94
+ Built with Rust & AI-accelerated engineering
@@ -6,6 +6,11 @@ same flags (`-c`, `-p`, `-d`, `-e`, `--env-file`, `-f`, `-j`, `--log-level`,
6
6
  `--no-color`), with opt-in extensions: `--allow-shell`, `--rebase`, `--mergiraf`
7
7
  and `--json`.
8
8
 
9
+ ```console
10
+ $ uv tool install git-aggregate-rs # or: pipx install git-aggregate-rs
11
+ $ cargo install git-aggregate-rs
12
+ ```
13
+
9
14
  ```console
10
15
  $ git-aggregate-rs -c repos.yaml
11
16
  $ git-aggregate-rs -c repos.yaml -d '*/sale-*' -j 8
@@ -19,8 +19,11 @@ classifiers = [
19
19
  dynamic = ["version"]
20
20
 
21
21
  [project.urls]
22
- Homepage = "https://github.com/getfluvo/odx"
22
+ Homepage = "https://odx.readthedocs.io/compatibility.html"
23
+ Documentation = "https://odx.readthedocs.io/compatibility.html"
24
+ Source = "https://github.com/getfluvo/odx/tree/main/crates/git-aggregate-rs"
23
25
  Issues = "https://github.com/getfluvo/odx/issues"
26
+ Changelog = "https://github.com/getfluvo/odx/releases"
24
27
 
25
28
  [tool.maturin]
26
29
  bindings = "bin"
@@ -0,0 +1,19 @@
1
+ # odx-aggregate
2
+
3
+ Aggregation, locking, vaulting, the force-push guard rail, auto-update and verification for odx.
4
+
5
+ Part of [odx](https://github.com/getfluvo/odx), the Odoo Developer eXtension.
6
+ This crate is one of the building blocks of the `odx` command
7
+ ([`odx-cli`](https://crates.io/crates/odx-cli)); its API follows what odx needs
8
+ and is not stable. To use odx, install the command:
9
+
10
+ ```console
11
+ $ uv tool install odx-cli
12
+ $ cargo install odx-cli
13
+ ```
14
+
15
+ - User documentation: [odx.readthedocs.io](https://odx.readthedocs.io/)
16
+ - API documentation: [docs.rs/odx-aggregate](https://docs.rs/odx-aggregate)
17
+ - Source and issues: [github.com/getfluvo/odx](https://github.com/getfluvo/odx)
18
+
19
+ MIT licensed. Built with Rust & AI-accelerated engineering.
@@ -0,0 +1,19 @@
1
+ # odx-analyze
2
+
3
+ Odoo manifest analysis for odx: check-deps, stats, sniff, status, suggest and upgrade readiness.
4
+
5
+ Part of [odx](https://github.com/getfluvo/odx), the Odoo Developer eXtension.
6
+ This crate is one of the building blocks of the `odx` command
7
+ ([`odx-cli`](https://crates.io/crates/odx-cli)); its API follows what odx needs
8
+ and is not stable. To use odx, install the command:
9
+
10
+ ```console
11
+ $ uv tool install odx-cli
12
+ $ cargo install odx-cli
13
+ ```
14
+
15
+ - User documentation: [odx.readthedocs.io](https://odx.readthedocs.io/)
16
+ - API documentation: [docs.rs/odx-analyze](https://docs.rs/odx-analyze)
17
+ - Source and issues: [github.com/getfluvo/odx](https://github.com/getfluvo/odx)
18
+
19
+ MIT licensed. Built with Rust & AI-accelerated engineering.
@@ -28,6 +28,7 @@ odx-aggregate.workspace = true
28
28
  odx-analyze.workspace = true
29
29
  odx-config.workspace = true
30
30
  odx-dev.workspace = true
31
+ odx-env.workspace = true
31
32
  odx-core = { workspace = true, features = ["system"] }
32
33
  odx-forge.workspace = true
33
34
  odx-git.workspace = true
@@ -0,0 +1,94 @@
1
+ <p align="center">
2
+ <img src="https://raw.githubusercontent.com/getfluvo/odx/main/docs/_static/logo.svg" alt="odx logo" width="160">
3
+ </p>
4
+
5
+ <h1 align="center">odx</h1>
6
+
7
+ <p align="center">
8
+ <a href="https://pypi.org/project/odx-cli/"><img src="https://img.shields.io/pypi/v/odx-cli?style=flat-square&logo=pypi&logoColor=white&label=PyPI&color=ef662f" alt="PyPI"></a>
9
+ <a href="https://crates.io/crates/odx-cli"><img src="https://img.shields.io/crates/v/odx-cli?style=flat-square&logo=rust&logoColor=white&label=crates.io&color=ef662f" alt="crates.io"></a>
10
+ <a href="https://github.com/getfluvo/odx/actions/workflows/tests.yml"><img src="https://img.shields.io/github/actions/workflow/status/getfluvo/odx/tests.yml?branch=main&style=flat-square&logo=githubactions&logoColor=white&label=tests" alt="Tests"></a>
11
+ <a href="https://odx.readthedocs.io/"><img src="https://img.shields.io/readthedocs/odx?style=flat-square&logo=readthedocs&logoColor=white&label=docs" alt="Documentation"></a>
12
+ <a href="https://github.com/getfluvo/odx/blob/main/LICENSE"><img src="https://img.shields.io/github/license/getfluvo/odx?style=flat-square&color=7e5a8c" alt="License: MIT"></a>
13
+ </p>
14
+
15
+ <!-- start-docs -->
16
+
17
+ **Odoo Developer eXtension**: one Rust CLI for Odoo projects, driven by a
18
+ single `[tool.odx]` table in `pyproject.toml`.
19
+
20
+ odx builds a project's addon repositories from upstream branches plus the
21
+ pull requests you need, pins and vaults every commit so rebuilds never break,
22
+ keeps an eye on what upstream merged, ports fixes across Odoo series, migrates
23
+ addons the OCA way, and lints with project context. It replaces
24
+ git-aggregator, uvault and a handful of scripts with one fast binary.
25
+
26
+ ## Install
27
+
28
+ ```console
29
+ $ uv tool install odx-cli # or: pipx install odx-cli
30
+ $ cargo install odx-cli
31
+ ```
32
+
33
+ Binary wheels are published for Linux (glibc and musl, x86_64 and aarch64),
34
+ macOS (Intel and Apple silicon) and Windows; no Rust toolchain needed.
35
+
36
+ ## Quick start
37
+
38
+ ```console
39
+ $ odx import repos.yaml --write # start from an existing git-aggregator setup
40
+ $ odx aggregate # fetch and build every repository
41
+ $ odx lock # pin and vault every merged commit
42
+ $ odx status # what upstream merged, what changed
43
+ $ odx lint --only-changed # odoo-lint with the project's context
44
+ ```
45
+
46
+ ## What it does
47
+
48
+ | Area | Commands |
49
+ |---|---|
50
+ | Aggregate and lock | `aggregate`, `lock`, `verify`, `add`, `drop`, `import`, `export` |
51
+ | Packages and deployment | `vendor`, `build`, platform profiles (wheels, vendored source, Odoo.sh) |
52
+ | Local development | `dev`, `doctor`, `auth`, `sync`, `cache`, `daemon` |
53
+ | Upstream insight | `status`, `suggest`, `verdict`, `dashboard`, `check-deps`, `upgrade`, `sniff`, `stats` |
54
+ | Porting and migration | `port pr/addon/sweep`, `migrate plan/addon/pr/update/pin/unpin/own` |
55
+ | Linting | `lint`, with odoo-lint built in and project rules on top |
56
+
57
+ Every command supports `--json`. The full reference, configuration and
58
+ compatibility notes are on [Read the Docs](https://odx.readthedocs.io/).
59
+
60
+ The aggregation engine is also available as a drop-in replacement for
61
+ git-aggregator's `gitaggregate`: `odx git-aggregate`, or the standalone
62
+ [`git-aggregate-rs`](https://pypi.org/project/git-aggregate-rs/) package.
63
+
64
+ ## Status
65
+
66
+ Pre-alpha (0.0.x): the configuration and the CLI may still change between
67
+ releases. Environment promotion (`odx promote`, `odx env`) and the CI bot
68
+ (`odx bot`) are planned.
69
+
70
+ <!-- github-only -->
71
+
72
+ ## Packages
73
+
74
+ | Package | Registry | Purpose |
75
+ |---|---|---|
76
+ | `odx-cli` | [PyPI](https://pypi.org/project/odx-cli/), [crates.io](https://crates.io/crates/odx-cli) | the `odx` command |
77
+ | `git-aggregate-rs` | [PyPI](https://pypi.org/project/git-aggregate-rs/), [crates.io](https://crates.io/crates/git-aggregate-rs) | the gitaggregate drop-in |
78
+ | `odx-*` | [crates.io](https://crates.io/search?q=odx-) | the libraries odx is built from; no stable API |
79
+
80
+ ## Contributing
81
+
82
+ Contributions are welcome: see
83
+ [CONTRIBUTING.md](https://github.com/getfluvo/odx/blob/main/CONTRIBUTING.md)
84
+ for the development setup and the quality gates (clippy pedantic, 100%
85
+ coverage, MSRV 1.97). This project follows the
86
+ [Contributor Covenant](https://github.com/getfluvo/odx/blob/main/CODE_OF_CONDUCT.md).
87
+
88
+ ## License
89
+
90
+ MIT, see [LICENSE](https://github.com/getfluvo/odx/blob/main/LICENSE).
91
+ Maintained by Strategic Efficiency B.V. under the
92
+ [getfluvo](https://github.com/getfluvo) organization.
93
+
94
+ Built with Rust & AI-accelerated engineering