avr-cli 0.7.0__py3-none-win_amd64.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 (168) hide show
  1. avr_cli-0.7.0.data/data/share/avr/LICENSE +201 -0
  2. avr_cli-0.7.0.data/data/share/avr/README.md +461 -0
  3. avr_cli-0.7.0.data/data/share/avr/SECURITY.md +58 -0
  4. avr_cli-0.7.0.data/data/share/avr/THIRD-PARTY-NOTICES.txt +1541 -0
  5. avr_cli-0.7.0.data/data/share/avr/completions/_avr +25 -0
  6. avr_cli-0.7.0.data/data/share/avr/completions/avr.bash +38 -0
  7. avr_cli-0.7.0.data/data/share/avr/completions/avr.fish +17 -0
  8. avr_cli-0.7.0.data/data/share/avr/docs/INSTALL.md +115 -0
  9. avr_cli-0.7.0.data/data/share/avr/docs/REFERENCE.md +3632 -0
  10. avr_cli-0.7.0.data/data/share/avr/docs/reference.json +14874 -0
  11. avr_cli-0.7.0.data/data/share/avr/install-method +1 -0
  12. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-artifact-delete.1 +35 -0
  13. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-artifact-download.1 +35 -0
  14. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-artifact-get.1 +32 -0
  15. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-artifact-list.1 +38 -0
  16. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-artifact.1 +48 -0
  17. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-audit-events-list.1 +50 -0
  18. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-audit-events.1 +36 -0
  19. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-auth-device-login.1 +21 -0
  20. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-auth-login.1 +23 -0
  21. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-auth-logout.1 +16 -0
  22. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-auth-status.1 +26 -0
  23. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-auth-switch.1 +27 -0
  24. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-auth.1 +52 -0
  25. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-billing-invoices-download.1 +25 -0
  26. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-billing-invoices-list.1 +37 -0
  27. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-billing-invoices-show.1 +35 -0
  28. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-billing-invoices.1 +29 -0
  29. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-billing-payment-methods-add.1 +32 -0
  30. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-billing-payment-methods-list.1 +32 -0
  31. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-billing-payment-methods-remove.1 +26 -0
  32. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-billing-payment-methods-set-default.1 +23 -0
  33. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-billing-payment-methods.1 +33 -0
  34. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-billing-settings.1 +33 -0
  35. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-billing-summary.1 +32 -0
  36. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-billing-update-settings.1 +48 -0
  37. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-billing.1 +52 -0
  38. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-cache-delete.1 +45 -0
  39. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-cache-list.1 +69 -0
  40. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-cache-usage.1 +41 -0
  41. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-cache.1 +44 -0
  42. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-config-get.1 +25 -0
  43. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-config-list.1 +15 -0
  44. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-config-set.1 +36 -0
  45. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-config-unset.1 +32 -0
  46. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-config.1 +48 -0
  47. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-firewall-add.1 +47 -0
  48. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-firewall-delete.1 +29 -0
  49. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-firewall-flow-summaries.1 +47 -0
  50. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-firewall-list.1 +28 -0
  51. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-firewall-move.1 +32 -0
  52. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-firewall-set-default.1 +28 -0
  53. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-firewall-show.1 +28 -0
  54. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-firewall.1 +60 -0
  55. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-health.1 +46 -0
  56. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-job-list.1 +77 -0
  57. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-job-logs.1 +52 -0
  58. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-job-metrics.1 +48 -0
  59. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-job-ssh.1 +28 -0
  60. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-job-view.1 +61 -0
  61. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-job-watch.1 +33 -0
  62. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-job.1 +56 -0
  63. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-log-search.1 +59 -0
  64. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-log.1 +36 -0
  65. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-create.1 +34 -0
  66. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-email-domain-claim.1 +46 -0
  67. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-email-domain-list.1 +32 -0
  68. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-email-domain-set.1 +35 -0
  69. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-email-domain-verify.1 +46 -0
  70. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-email-domain.1 +34 -0
  71. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-install-add.1 +85 -0
  72. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-install-list.1 +32 -0
  73. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-install-remove.1 +41 -0
  74. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-install-rotate.1 +48 -0
  75. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-install-runner-create.1 +45 -0
  76. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-install-runner-delete.1 +43 -0
  77. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-install-runner-list.1 +34 -0
  78. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-install-runner-set.1 +45 -0
  79. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-install-runner.1 +34 -0
  80. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-install-set-selection.1 +49 -0
  81. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-install.1 +42 -0
  82. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-list.1 +39 -0
  83. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-members.1 +42 -0
  84. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-saml-configure.1 +73 -0
  85. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-saml-enforcement.1 +40 -0
  86. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-saml-remove.1 +25 -0
  87. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-saml-show.1 +36 -0
  88. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-saml-sp-metadata.1 +30 -0
  89. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-saml-test.1 +33 -0
  90. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org-saml.1 +42 -0
  91. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-org.1 +56 -0
  92. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-pr-list.1 +57 -0
  93. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-pr.1 +36 -0
  94. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo-clone.1 +44 -0
  95. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo-list.1 +43 -0
  96. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo-mirror-create.1 +57 -0
  97. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo-mirror-disable.1 +53 -0
  98. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo-mirror-enable.1 +50 -0
  99. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo-mirror-locations.1 +44 -0
  100. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo-mirror-place.1 +54 -0
  101. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo-mirror-status.1 +49 -0
  102. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo-mirror-unplace.1 +57 -0
  103. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo-mirror.1 +44 -0
  104. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo-public-mirror-cancel.1 +52 -0
  105. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo-public-mirror-check.1 +51 -0
  106. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo-public-mirror-request.1 +53 -0
  107. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo-public-mirror-requests.1 +44 -0
  108. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo-public-mirror-view.1 +47 -0
  109. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo-public-mirror.1 +36 -0
  110. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-repo.1 +48 -0
  111. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-run-cancel.1 +38 -0
  112. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-run-diagnose.1 +40 -0
  113. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-run-list.1 +86 -0
  114. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-run-logs.1 +55 -0
  115. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-run-rerun.1 +51 -0
  116. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-run-view.1 +83 -0
  117. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-run-watch.1 +58 -0
  118. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-run.1 +60 -0
  119. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-sbom-download.1 +45 -0
  120. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-sbom-generate.1 +62 -0
  121. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-sbom-list.1 +52 -0
  122. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-sbom-view.1 +59 -0
  123. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-sbom.1 +48 -0
  124. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-settings-list.1 +53 -0
  125. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-settings-reset.1 +35 -0
  126. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-settings-schema.1 +44 -0
  127. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-settings-set.1 +40 -0
  128. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-settings.1 +48 -0
  129. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-status.1 +44 -0
  130. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-tests-list.1 +55 -0
  131. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-tests.1 +37 -0
  132. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-token-create.1 +63 -0
  133. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-token-list.1 +46 -0
  134. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-token-revoke.1 +35 -0
  135. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-token-view.1 +47 -0
  136. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-token.1 +49 -0
  137. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-bootstrap.1 +87 -0
  138. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-capabilities.1 +36 -0
  139. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-create.1 +108 -0
  140. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-delete.1 +50 -0
  141. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-fork.1 +53 -0
  142. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-list.1 +51 -0
  143. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-metrics.1 +52 -0
  144. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-pause.1 +50 -0
  145. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-port-forward.1 +57 -0
  146. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-rdp.1 +50 -0
  147. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-resume.1 +50 -0
  148. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-rotate-https-label.1 +41 -0
  149. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-show.1 +40 -0
  150. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-ssh-config.1 +61 -0
  151. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-ssh.1 +63 -0
  152. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-update.1 +62 -0
  153. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-usage.1 +43 -0
  154. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm-vnc.1 +50 -0
  155. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-vm.1 +104 -0
  156. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-workflow-list.1 +52 -0
  157. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-workflow-run.1 +60 -0
  158. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-workflow-view.1 +59 -0
  159. avr_cli-0.7.0.data/data/share/avr/man/man1/avr-workflow.1 +44 -0
  160. avr_cli-0.7.0.data/data/share/avr/man/man1/avr.1 +108 -0
  161. avr_cli-0.7.0.data/data/share/avr/manifest.json +172 -0
  162. avr_cli-0.7.0.data/scripts/avr-cli.exe +0 -0
  163. avr_cli-0.7.0.data/scripts/avr.exe +0 -0
  164. avr_cli-0.7.0.dist-info/METADATA +13 -0
  165. avr_cli-0.7.0.dist-info/RECORD +168 -0
  166. avr_cli-0.7.0.dist-info/WHEEL +4 -0
  167. avr_cli-0.7.0.dist-info/licenses/LICENSE +201 -0
  168. avr_cli-0.7.0.dist-info/licenses/THIRD-PARTY-NOTICES.txt +1541 -0
@@ -0,0 +1,3632 @@
1
+ # avr(1) — Avrea command-line client
2
+
3
+ Reference for `avr` v0.7.0. Generated from the source tree — do not edit by hand. Run `make -C avr-cli docs` to regenerate.
4
+
5
+ ## Name
6
+
7
+ `avr` — Avrea on the command line.
8
+
9
+ ## Synopsis
10
+
11
+ ```sh
12
+ avr [GLOBAL OPTIONS] COMMAND [ARGS]...
13
+ ```
14
+
15
+ **Global options**
16
+
17
+ - `--version, -V` — Show the version and exit.
18
+ - `--no-color` — Disable colored output. Also honors NO_COLOR=1.
19
+ - `--verbose, -v` — Show debug information including HTTP requests.
20
+ - `--links / --no-links` — Make IDs clickable via OSC 8 hyperlinks. Auto-disabled off-TTY. Also honors AVR_LINKS=0. _(default: `True` · env: `AVR_LINKS`)_
21
+
22
+ ## Aliases
23
+
24
+ - `jobs` → `job`
25
+ - `logs` → `log`
26
+ - `orgs` → `org`
27
+ - `prs` → `pr`
28
+ - `repos` → `repo`
29
+ - `tokens` → `token`
30
+ - `vms` → `vm`
31
+ - `workflows` → `workflow`
32
+
33
+ ## Commands
34
+
35
+ ### Core Commands
36
+
37
+ - [`avr artifact`](#avr-artifact) — Manage workflow artifacts.
38
+ - [`avr status`](#avr-status) — Show recent runs, performance stats, and cache health.
39
+ - [`avr run`](#avr-run) — View and manage CI workflow runs.
40
+ - [`avr pr`](#avr-pr) — View pull requests.
41
+ - [`avr job`](#avr-job) — Inspect Avrea job VMs (SSH, metrics, logs).
42
+ - [`avr vm`](#avr-vm) — Manage long-running VMs (SSH/RDP/VNC).
43
+ - [`avr workflow`](#avr-workflow) — List and view workflow definitions.
44
+ - [`avr cache`](#avr-cache) — Inspect and manage the Avrea build cache.
45
+ - [`avr tests`](#avr-tests) — Read a job's tests, timings and recorded failure messages.
46
+ - [`avr sbom`](#avr-sbom) — View, generate, and download repository SBOMs.
47
+ - [`avr log`](#avr-log) — Search across runner execution logs.
48
+
49
+ ### Setup & Config
50
+
51
+ - [`avr auth`](#avr-auth) — Authenticate and manage credentials.
52
+ - [`avr token`](#avr-token) — Create and manage scoped access tokens.
53
+ - [`avr config`](#avr-config) — View and manage CLI configuration.
54
+ - [`avr settings`](#avr-settings) — View and toggle cache and runner settings.
55
+ - [`avr firewall`](#avr-firewall) — Manage the egress firewall rule list for orgs and repositories.
56
+ - [`avr billing`](#avr-billing) — Manage billing, invoices, and payment methods.
57
+ - [`avr audit-events`](#avr-audit-events) — View audit events for organization writes.
58
+
59
+ ### Additional Commands
60
+
61
+ - [`avr repo`](#avr-repo) — Manage repositories, git mirrors, and public mirrors.
62
+ - [`avr org`](#avr-org) — Manage organizations and installations.
63
+ - [`avr health`](#avr-health) — Check Avrea platform status.
64
+
65
+ ## Reference
66
+
67
+ ### `avr artifact`
68
+
69
+ Manage workflow artifacts.
70
+
71
+ ```sh
72
+ avr artifact [OPTIONS] COMMAND [ARGS]...
73
+ ```
74
+
75
+ #### `avr artifact delete`
76
+
77
+ Delete ART_ID from the selected repository.
78
+
79
+ ```sh
80
+ avr artifact delete [OPTIONS] ART_ID
81
+ ```
82
+
83
+ **Arguments**
84
+
85
+ - `ARTIFACT_ID`
86
+
87
+ **Options**
88
+
89
+ - `--org <TEXT>` — Organization ID or slug; defaults to the configured organization.
90
+ - `--repo <TEXT>` — Repository name or ID; defaults to the current git repository.
91
+ - `--yes, -y` — Skip confirmation.
92
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
93
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
94
+
95
+ #### `avr artifact download`
96
+
97
+ Download ART_ID and verify its size and SHA-256 before replacing the destination.
98
+
99
+ ```sh
100
+ avr artifact download [OPTIONS] ART_ID
101
+ ```
102
+
103
+ **Arguments**
104
+
105
+ - `ARTIFACT_ID`
106
+
107
+ **Options**
108
+
109
+ - `--org <TEXT>` — Organization ID or slug; defaults to the configured organization.
110
+ - `--repo <TEXT>` — Repository name or ID; defaults to the current git repository.
111
+ - `--path <PATH>` — Destination directory or filename. ZIPs stay archived. _(default: `.`)_
112
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
113
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
114
+
115
+ #### `avr artifact get`
116
+
117
+ Get metadata for ART_ID in the selected repository.
118
+
119
+ ```sh
120
+ avr artifact get [OPTIONS] ART_ID
121
+ ```
122
+
123
+ **Arguments**
124
+
125
+ - `ARTIFACT_ID`
126
+
127
+ **Options**
128
+
129
+ - `--org <TEXT>` — Organization ID or slug; defaults to the configured organization.
130
+ - `--repo <TEXT>` — Repository name or ID; defaults to the current git repository.
131
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
132
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
133
+
134
+ #### `avr artifact list`
135
+
136
+ List artifacts in REPO, optionally restricted to one run.
137
+
138
+ ```sh
139
+ avr artifact list [OPTIONS] REPO
140
+ ```
141
+
142
+ **Arguments**
143
+
144
+ - `REPO`
145
+
146
+ **Options**
147
+
148
+ - `--org <TEXT>` — Organization ID or slug.
149
+ - `--run-id <TEXT>` — Numeric GitHub run ID, run- ID, or native awr- ID.
150
+ - `--limit <INTEGER RANGE>` — Maximum artifacts per page. _(default: `50`)_
151
+ - `--cursor <TEXT>` — Continue from a previous page's cursor.
152
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
153
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
154
+
155
+ ### `avr status`
156
+
157
+ Show recent runs, performance stats, and cache health.
158
+
159
+ ```sh
160
+ avr status [OPTIONS]
161
+ ```
162
+
163
+ **Options**
164
+
165
+ - `--org <TEXT>` — Organization ID or slug.
166
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git remote if omitted.
167
+ - `--since <TEXT>` — Time window for stats panels: '7d', '24h', etc. _(default: `7d`)_
168
+ - `--json` — Output raw JSON.
169
+
170
+ ### `avr run`
171
+
172
+ View and manage CI workflow runs.
173
+
174
+ ```sh
175
+ avr run [OPTIONS] COMMAND [ARGS]...
176
+ ```
177
+
178
+ #### `avr run cancel`
179
+
180
+ Cancel an in-progress or queued workflow run.
181
+
182
+ ```sh
183
+ avr run cancel [OPTIONS] RUN
184
+ ```
185
+
186
+ RUN accepts the same Avrea IDs, GitHub run IDs, and run URLs as
187
+ `avr run view`.
188
+
189
+ ```sh
190
+ Examples:
191
+ avr run cancel run-019e5a2e474e71c297e452279d4bcdea
192
+ avr run cancel run-019e5a2e474e71c297e452279d4bcdea --yes
193
+ ```
194
+
195
+ **Arguments**
196
+
197
+ - `RUN`
198
+
199
+ **Options**
200
+
201
+ - `--org <TEXT>` — Organization ID or slug.
202
+ - `-y, --yes` — Skip the confirmation prompt.
203
+
204
+ #### `avr run diagnose`
205
+
206
+ Explain a failed or unexpectedly slow workflow run.
207
+
208
+ ```sh
209
+ avr run diagnose [OPTIONS] RUN
210
+ ```
211
+
212
+ RUN accepts the same Avrea IDs, GitHub run IDs, and run URLs as
213
+ `avr run view`. A job URL selects that job's attempt; the report still
214
+ covers the whole attempt. The report combines jobs and failed steps, bounded
215
+ failed-job log tails, queue/execution timings, runner metrics, and a
216
+ prior-success workflow baseline.
217
+
218
+ ```sh
219
+ Examples:
220
+ avr run diagnose run-019e5a2e474e71c297e452279d4bcdea
221
+ avr run diagnose 123456789 --json
222
+ avr run diagnose https://github.com/acme/widgets/actions/runs/123456789
223
+ avr run diagnose https://github.com/acme/widgets/actions/runs/123456789/job/987654321
224
+ ```
225
+
226
+ **Arguments**
227
+
228
+ - `RUN`
229
+
230
+ **Options**
231
+
232
+ - `--org <TEXT>` — Organization ID or slug.
233
+ - `--json` — Output the diagnostic report as JSON.
234
+
235
+ #### `avr run list`
236
+
237
+ List workflow runs for an organization.
238
+
239
+ ```sh
240
+ avr run list [OPTIONS]
241
+ ```
242
+
243
+ ```sh
244
+ Examples:
245
+ avr run list
246
+ avr run list --status failure --limit 5
247
+ avr run list --status in_progress --json status,conclusion,head_branch
248
+ avr run list --branch main --status completed
249
+ avr run list --since 24h
250
+ avr run list --json '?' # list available fields
251
+ avr run list --json '*' # all fields
252
+ avr run list --json status,conclusion -q '[.[] | select(.status == "completed")]'
253
+ ```
254
+
255
+ ```sh
256
+ JSON FIELDS
257
+ ci_provider, workflow_name, workflow_path, conclusion, created_at, display_title, duration_seconds, event,
258
+ head_branch, head_sha, platform_run_id, repository, run_attempt, run_id,
259
+ run_number, status, triggering_actor, updated_at, workflow, workflow_id
260
+ ```
261
+
262
+ **Options**
263
+
264
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
265
+ - `--repo <TEXT>` — Filter by repository (org/repo or rep-xxx). Pass --repo more than once to filter multiple repositories. Auto-detected from git remote if omitted. _(repeatable)_
266
+ - `--status <CHOICE>` — Filter by state (queued, in_progress, completed) or conclusion (success, failure, ...). Repeatable. _(choices: `action_required`, `cancelled`, `completed`, `failure`, `in_progress`, `neutral`, `queued`, `skipped`, `stale`, `startup_failure`, `success`, `timed_out` · repeatable)_
267
+ - `--branch <TEXT>` — Filter by head branch (repeatable). _(repeatable)_
268
+ - `--ci-provider <CHOICE>` — Filter by CI engine. _(choices: `github_actions`, `gitlab_ci`, `avrea_ci`)_
269
+ - `-w, --workflow <TEXT>` — Filter by workflow ID (wfl- or awf-, repeatable). _(repeatable)_
270
+ - `--since <TEXT>` — Relative time window: '7d', '24h', etc. Sugar for --created-after.
271
+ - `--from, --created-after <TEXT>` — Only runs created after this ISO timestamp.
272
+ - `--to, --created-before <TEXT>` — Only runs created before this ISO timestamp.
273
+ - `-L, --limit <INTEGER RANGE>` — Max runs to return. _(default: `20`)_
274
+ - `--cursor <TEXT>` — Pagination cursor from a previous response.
275
+ - `--order <CHOICE>` — Sort order. _(choices: `created_at.desc`, `created_at.asc` · default: `created_at.desc`)_
276
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
277
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
278
+ - `--web` — Open in browser.
279
+
280
+ #### `avr run logs`
281
+
282
+ Fetch logs for a workflow run's jobs.
283
+
284
+ ```sh
285
+ avr run logs [OPTIONS] RUN
286
+ ```
287
+
288
+ RUN accepts the same Avrea IDs, GitHub run IDs, and run URLs as
289
+ `avr run view`. A GitHub job URL shows only that job's logs.
290
+
291
+ Long-form alternative to `avr run view --log[-failed]`. Use --follow to
292
+ tail logs in real time for an in-progress job; pass --job to scope to a
293
+ specific job when a run has many.
294
+
295
+ ```sh
296
+ Examples:
297
+ avr run logs run-019e5a2e474e71c297e452279d4bcdea
298
+ avr run logs run-019e5a2e474e71c297e452279d4bcdea --failed
299
+ avr run logs run-019e5a2e474e71c297e452279d4bcdea --job test
300
+ avr run logs run-019e5a2e474e71c297e452279d4bcdea --follow
301
+ avr run logs https://github.com/acme/widgets/actions/runs/123456789/job/987654321
302
+ ```
303
+
304
+ **Arguments**
305
+
306
+ - `RUN`
307
+
308
+ **Options**
309
+
310
+ - `--org <TEXT>` — Organization ID or slug.
311
+ - `--job <TEXT>` — Restrict to GitHub jobs whose name contains this string.
312
+ - `-f, --follow` — Tail logs as they appear (running jobs only).
313
+ - `--failed` — Show only logs from failed jobs.
314
+ - `--all-levels` — Include diagnostic-level lines (off by default).
315
+ - `--no-pager` — Print directly to stdout instead of paging through `less`. Same as setting AVR_PAGER=''.
316
+
317
+ #### `avr run rerun`
318
+
319
+ Re-run a completed workflow run.
320
+
321
+ ```sh
322
+ avr run rerun [OPTIONS] RUN
323
+ ```
324
+
325
+ RUN accepts the same Avrea IDs, GitHub run IDs, and run URLs as
326
+ `avr run view`.
327
+
328
+ Avrea CI keeps the original revision. Use --failed for failed/cancelled
329
+ jobs or repeat --job for selected jobs. Their downstream dependents also
330
+ rerun; other results are retained. The new attempt can be watched immediately.
331
+
332
+ ```sh
333
+ Examples:
334
+ avr run rerun run-019e5a2e474e71c297e452279d4bcdea
335
+ avr run rerun run-019e5a2e474e71c297e452279d4bcdea --failed
336
+ avr run rerun run-019e5a2e474e71c297e452279d4bcdea --yes
337
+ avr run rerun awr-019e5a2e474e71c297e452279d4bcdea --job build --job test
338
+ ```
339
+
340
+ **Arguments**
341
+
342
+ - `RUN`
343
+
344
+ **Options**
345
+
346
+ - `--org <TEXT>` — Organization ID or slug.
347
+ - `--failed` — Re-run failed jobs and dependents; includes cancelled jobs for Avrea CI.
348
+ - `--job <TEXT>` — Avrea job name or ID to rerun with dependents; repeat for multiple jobs. _(repeatable)_
349
+ - `--idempotency-key <UUID>` — Reuse a previous Avrea CI rerun request UUID.
350
+ - `-y, --yes` — Skip the confirmation prompt.
351
+
352
+ #### `avr run view`
353
+
354
+ View a workflow run with its jobs.
355
+
356
+ ```sh
357
+ avr run view [OPTIONS] [RUN]
358
+ ```
359
+
360
+ ```sh
361
+ RUN accepts an Avrea run ID, a positive GitHub run ID, a GitHub Actions
362
+ run or job URL, or an Avrea console run URL. A job URL opens the attempt
363
+ that job belongs to. Without RUN, shows 10 most recent runs.
364
+ ```
365
+
366
+ ```sh
367
+ Examples:
368
+ avr run view
369
+ avr run view run-019e5a2e474e71c297e452279d4bcdea
370
+ avr run view 123456789
371
+ avr run view https://github.com/acme/widgets/actions/runs/123456789
372
+ avr run view https://github.com/acme/widgets/actions/runs/123456789/job/987654321
373
+ avr run view run-019e5a2e474e71c297e452279d4bcdea --steps
374
+ avr run view run-019e5a2e474e71c297e452279d4bcdea --log-failed
375
+ avr run view run-019e5a2e474e71c297e452279d4bcdea --job Build
376
+ avr run view run-019e5a2e474e71c297e452279d4bcdea --json conclusion,jobs
377
+ avr run view run-019e5a2e474e71c297e452279d4bcdea --json '*' --jq '.jobs[].job_name'
378
+ ```
379
+
380
+ ```sh
381
+ JSON FIELDS
382
+ ci_provider, workflow_name, workflow_path, conclusion, created_at, display_title, duration_seconds, event,
383
+ head_branch, head_sha, jobs, platform_run_id, repository, run_attempt,
384
+ run_id, run_number, status, triggering_actor, updated_at, workflow,
385
+ workflow_id
386
+ ```
387
+
388
+ **Arguments**
389
+
390
+ - `[RUN]`
391
+
392
+ **Options**
393
+
394
+ - `--org <TEXT>` — Organization ID or slug.
395
+ - `--steps` — Expand each job to show its individual steps.
396
+ - `--log` — Print full logs for all jobs.
397
+ - `--log-failed` — Print logs only for failed steps.
398
+ - `--job <TEXT>` — Restrict view and logs to jobs whose name contains this string.
399
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
400
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
401
+ - `--web` — Open in browser.
402
+ - `--no-pager` — Print logs directly to stdout instead of paging through `less`. Same as setting AVR_PAGER=''.
403
+
404
+ #### `avr run watch`
405
+
406
+ Watch a workflow run until it completes.
407
+
408
+ ```sh
409
+ avr run watch [OPTIONS] [RUN]
410
+ ```
411
+
412
+ ```sh
413
+ RUN accepts the same Avrea IDs, GitHub run IDs, and run URLs as
414
+ `avr run view`. Without RUN, auto-selects the latest in-progress run.
415
+ Pass --repo (repeatable) to scope the auto-select to specific repositories.
416
+ ```
417
+
418
+ NDJSON job and run completion events include ci_provider
419
+ (github_actions, gitlab_ci, or avrea_ci). Native jobs have a null
420
+ platform_job_id; correlate events using run_id and avrea_job_id.
421
+
422
+ ```sh
423
+ Examples:
424
+ avr run watch
425
+ avr run watch --repo acme/web
426
+ avr run watch --repo a/x --repo b/y
427
+ avr run watch run-019e5a2e474e71c297e452279d4bcdea --exit-status
428
+ avr run watch run-019e5a2e474e71c297e452279d4bcdea --ndjson | jq -c .
429
+ ```
430
+
431
+ **Arguments**
432
+
433
+ - `[RUN]`
434
+
435
+ **Options**
436
+
437
+ - `--org <TEXT>` — Organization ID or slug.
438
+ - `--repo <TEXT>` — Scope the auto-select to a repo (org/name or rep-xxx, repeatable). Auto-detected from git remote if omitted. _(repeatable)_
439
+ - `--exit-status` — Exit non-zero if run failed.
440
+ - `--interval <INTEGER>` — Refresh interval in seconds. _(default: `3`)_
441
+ - `--ndjson` — Force NDJSON event stream (default when stdout isn't a TTY).
442
+
443
+ ### `avr pr`
444
+
445
+ View pull requests.
446
+
447
+ ```sh
448
+ avr pr [OPTIONS] COMMAND [ARGS]...
449
+ ```
450
+
451
+ #### `avr pr list`
452
+
453
+ List pull requests across repositories.
454
+
455
+ ```sh
456
+ avr pr list [OPTIONS]
457
+ ```
458
+
459
+ ```sh
460
+ Examples:
461
+ avr pr list
462
+ avr pr list --scope authored
463
+ avr pr list --repo acme/widgets --state merged
464
+ avr pr list --json number,title,mergeability
465
+ avr pr list --json '?' # list available fields
466
+ avr pr list --json '*' # all fields
467
+ ```
468
+
469
+ ```sh
470
+ JSON FIELDS
471
+ author_login, base_ref, base_sha, check_status, comment_count, created_at,
472
+ draft, head_ref, head_sha, mergeability, merged, number, repository_full_name,
473
+ repository_id, state, title, unresolved_thread_count, updated_at
474
+ ```
475
+
476
+ **Options**
477
+
478
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
479
+ - `--repo <TEXT>` — Filter by repository (org/repo or rep-xxx). Pass --repo more than once to filter multiple repositories. Auto-detected from git remote if omitted. _(repeatable)_
480
+ - `--scope <CHOICE>` — List all, authored, involved, rest, or attention PRs. Attention requires open state. _(choices: `all`, `authored`, `involved`, `rest`, `attention` · default: `all`)_
481
+ - `--state <CHOICE>` — Filter by pull request state. 'all' removes the state filter. _(choices: `open`, `closed`, `merged`, `all` · default: `open`)_
482
+ - `-L, --limit <INTEGER RANGE>` — Max PRs to return. _(default: `20`)_
483
+ - `--cursor <TEXT>` — Pagination cursor from a previous response.
484
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
485
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
486
+
487
+ ### `avr job`
488
+
489
+ Inspect Avrea job VMs (SSH, metrics, logs).
490
+
491
+ ```sh
492
+ avr job [OPTIONS] COMMAND [ARGS]...
493
+ ```
494
+
495
+ #### `avr job list`
496
+
497
+ List jobs for an organization.
498
+
499
+ ```sh
500
+ avr job list [OPTIONS]
501
+ ```
502
+
503
+ ```sh
504
+ Examples:
505
+ avr job list
506
+ avr job list --status failure --limit 5
507
+ avr job list --status in_progress --json job_name,state,conclusion
508
+ avr job list --since 24h
509
+ avr job list --json '?' # list available fields
510
+ avr job list --json '*' # all fields
511
+ ```
512
+
513
+ ```sh
514
+ JSON FIELDS
515
+ ci_provider, run_id, completed_at, conclusion, created_at, duration_seconds, platform_job_id,
516
+ platform_run_id, platform, job_id, job_name, labels, repository, repository_id,
517
+ running_on_avrea, started_at, state
518
+ ```
519
+
520
+ **Options**
521
+
522
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
523
+ - `--repo <TEXT>` — Filter by repository (org/repo or rep-xxx). Pass --repo more than once to filter multiple repositories. Auto-detected from git remote if omitted. _(repeatable)_
524
+ - `--name <TEXT>` — Filter by job name (repeatable). _(repeatable)_
525
+ - `--status <CHOICE>` — Filter by state (queued, in_progress, completed) or conclusion (success, failure, ...). Repeatable. _(choices: `action_required`, `cancelled`, `completed`, `failure`, `in_progress`, `neutral`, `queued`, `skipped`, `stale`, `startup_failure`, `success`, `timed_out` · repeatable)_
526
+ - `--on-avrea / --shadowing` — Filter by Avrea-run vs shadowing jobs.
527
+ - `--ci-provider <CHOICE>` — Filter by CI engine. _(choices: `github_actions`, `gitlab_ci`, `avrea_ci`)_
528
+ - `-w, --workflow <TEXT>` — Filter by workflow ID (wfl- or awf-, repeatable). _(repeatable)_
529
+ - `--since <TEXT>` — Relative time window: '7d', '24h', etc.
530
+ - `-L, --limit <INTEGER RANGE>` — Max jobs to return. _(default: `20`)_
531
+ - `--cursor <TEXT>` — Pagination cursor from a previous response.
532
+ - `--order <CHOICE>` — Sort order. _(choices: `created_at.desc`, `created_at.asc` · default: `created_at.desc`)_
533
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
534
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
535
+
536
+ #### `avr job logs`
537
+
538
+ View logs for a job, grouped by step.
539
+
540
+ ```sh
541
+ avr job logs [OPTIONS] JOB_ID
542
+ ```
543
+
544
+ ```sh
545
+ Examples:
546
+ avr job logs job-abc123
547
+ avr job logs job-abc123 --failed
548
+ avr job logs job-abc123 --step "Build" --level error
549
+ avr job logs job-abc123 --follow
550
+ ```
551
+
552
+ **Arguments**
553
+
554
+ - `JOB_ID`
555
+
556
+ **Options**
557
+
558
+ - `--org <TEXT>` — Organization ID or slug.
559
+ - `--failed` — Only show logs from failed steps.
560
+ - `--step <TEXT>` — Filter to a specific step by name.
561
+ - `--level <CHOICE>` — Filter by log level. _(choices: `debug`, `info`, `notice`, `warning`, `error`)_
562
+ - `--follow, -f` — Follow logs for in-progress jobs.
563
+ - `--all-levels` — Include diagnostic-level lines (hidden by default).
564
+ - `--no-pager` — Print directly to stdout instead of paging through `less`. Same as setting AVR_PAGER=''.
565
+
566
+ #### `avr job metrics`
567
+
568
+ Show CPU/memory/IO gauges for a job's VM.
569
+
570
+ ```sh
571
+ avr job metrics [OPTIONS] JOB_ID
572
+ ```
573
+
574
+ ```sh
575
+ Examples:
576
+ avr job metrics job-abc123
577
+ avr job metrics job-abc123 --source cpu --source network
578
+ avr job metrics job-abc123 --watch
579
+ ```
580
+
581
+ **Arguments**
582
+
583
+ - `JOB_ID`
584
+
585
+ **Options**
586
+
587
+ - `--org <TEXT>` — Organization ID or slug.
588
+ - `--source <CHOICE>` — Metric source (repeatable). Defaults to cpu and memory. _(choices: `cpu`, `memory`, `filesystem`, `load`, `disk-io`, `disk-ops`, `network` · repeatable)_
589
+ - `--start <INTEGER>` — Start time (Unix seconds). Single-shot only; defaults to execution start.
590
+ - `--end <INTEGER>` — End time (Unix seconds). Single-shot only; defaults to execution end or now.
591
+ - `-w, --watch` — Stream live metrics until completion (Ctrl-C to exit).
592
+ - `--json` — Output raw metrics responses as JSON.
593
+
594
+ #### `avr job ssh`
595
+
596
+ SSH into a running job's VM.
597
+
598
+ ```sh
599
+ avr job ssh [OPTIONS] JOB_ID
600
+ ```
601
+
602
+ **Arguments**
603
+
604
+ - `JOB_ID`
605
+
606
+ **Options**
607
+
608
+ - `--print-command` — Print the SSH command instead of connecting.
609
+ - `--show-password` — Display the SSH password (use with caution).
610
+
611
+ #### `avr job view`
612
+
613
+ View a single job with its steps.
614
+
615
+ ```sh
616
+ avr job view [OPTIONS] JOB_ID
617
+ ```
618
+
619
+ ```sh
620
+ Examples:
621
+ avr job view job-abc123
622
+ avr job view job-abc123 --log-failed
623
+ avr job view job-abc123 --json conclusion,steps
624
+ avr job view job-abc123 --json '*' --jq '.steps[] | select(.conclusion=="failure")'
625
+ ```
626
+
627
+ ```sh
628
+ JSON FIELDS
629
+ ci_provider, run_id, completed_at, conclusion, created_at, duration_seconds, platform_job_id,
630
+ platform_run_id, platform, job_id, job_name, labels, repository, repository_id,
631
+ running_on_avrea, started_at, state, steps, workflow_run
632
+ ```
633
+
634
+ **Arguments**
635
+
636
+ - `JOB_ID`
637
+
638
+ **Options**
639
+
640
+ - `--org <TEXT>` — Organization ID or slug.
641
+ - `--log` — Print full logs for the job.
642
+ - `--log-failed` — Print logs only for failed steps.
643
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
644
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
645
+ - `--web` — Open in browser.
646
+ - `--no-pager` — Print logs directly to stdout instead of paging through `less`. Same as setting AVR_PAGER=''.
647
+
648
+ #### `avr job watch`
649
+
650
+ Watch active jobs with auto-refresh (Ctrl+C to stop).
651
+
652
+ ```sh
653
+ avr job watch [OPTIONS]
654
+ ```
655
+
656
+ **Options**
657
+
658
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified.
659
+ - `--repo <TEXT>` — Filter by repository (org/repo or rep-xxx). Pass --repo more than once to filter multiple repositories. Auto-detected from git remote if omitted. _(repeatable)_
660
+ - `--name <TEXT>` — Filter by job name (repeatable). _(repeatable)_
661
+ - `--interval <INTEGER>` — Refresh interval in seconds. _(default: `5`)_
662
+ - `--ndjson` — Emit one JSON object per refresh (default when stdout isn't a TTY).
663
+
664
+ ### `avr vm`
665
+
666
+ Manage long-running VMs (SSH/RDP/VNC).
667
+
668
+ ```sh
669
+ avr vm [OPTIONS] COMMAND [ARGS]...
670
+ ```
671
+
672
+ #### `avr vm bootstrap`
673
+
674
+ Set up a RUNNING VM with your dev essentials over SSH.
675
+
676
+ ```sh
677
+ avr vm bootstrap [OPTIONS] VM_ID_OR_NAME
678
+ ```
679
+
680
+ ```sh
681
+ Each selected step runs on the VM and streams its output; bootstrap stops at
682
+ the first failure. Secrets (GitHub token, forwarded env values, agent
683
+ credentials) ride SSH stdin, never argv. A forwarded CLAUDE_CODE_OAUTH_TOKEN
684
+ is a year-long, subscription-wide bearer, so it is only carried under the
685
+ explicit --forward-agent-creds opt-in. Bootstrap changes survive pause
686
+ and resume on the preserved disk. Example:
687
+ ```
688
+
689
+ ```sh
690
+ avr vm bootstrap cvm-abc123 --setup-github --install claude,codex \
691
+ --repo https://github.com/me/project --env AWS_REGION=eu-north-1
692
+ ```
693
+
694
+ **Arguments**
695
+
696
+ - `VM_ID`
697
+
698
+ **Options**
699
+
700
+ - `--org <TEXT>` — Organization ID. Uses default org if not specified (see: avr config set org).
701
+ - `-i, --identity <PATH>` — Private key file to pass to ssh as -i.
702
+ - `--setup-github / --no-setup-github` — Forward your local `gh auth token` into the VM (gh auth login --with-token + gh auth setup-git).
703
+ - `--install <TEXT>` — Install an agent CLI (repeatable or comma-separated): claude, codex. _(repeatable)_
704
+ - `--forward-agent-creds` — Forward the installed agents' credentials from your environment (ANTHROPIC_API_KEY / CLAUDE_CODE_OAUTH_TOKEN / OPENAI_API_KEY). If claude has none, offers to run `claude setup-token`.
705
+ - `--install-avr` — Install the native avr release matching this CLI in ~/.local/bin (requires curl, tar and SHA-256 tooling).
706
+ - `--repo <TEXT>` — Clone this git repo into the VM's home directory.
707
+ - `--ref <TEXT>` — Branch to check out after cloning (requires --repo). Tags, PR refs, and raw SHAs are unsupported.
708
+ - `--dotfiles <TEXT>` — Clone this dotfiles repo and run its installer.
709
+ - `--env <TEXT>` — Set an env var in the VM: KEY=VALUE, or a bare KEY to forward it from your environment. Repeatable. _(repeatable)_
710
+ - `--run <TEXT>` — Run a custom script last: an inline script, or @path to a file.
711
+ - `--print` — Print the ordered plan (secrets redacted) without running.
712
+
713
+ #### `avr vm capabilities`
714
+
715
+ List available operating systems, architectures, sizes, and quotas.
716
+
717
+ ```sh
718
+ avr vm capabilities [OPTIONS]
719
+ ```
720
+
721
+ **Options**
722
+
723
+ - `--org <TEXT>` — Organization ID or slug.
724
+ - `--json` — Emit capabilities and quotas as JSON.
725
+
726
+ #### `avr vm create`
727
+
728
+ Create a long-running VM.
729
+
730
+ ```sh
731
+ avr vm create [OPTIONS]
732
+ ```
733
+
734
+ ```sh
735
+ Provisioning is asynchronous: poll `avr vm show <id>` until the state is
736
+ RUNNING and endpoints are populated, or pass --wait to block until then and
737
+ print a ready-to-paste connect command with the password baked in. The
738
+ response carries a one-time password for the VM's local account; save it
739
+ now, it is never stored.
740
+ ```
741
+
742
+ ```sh
743
+ With --from-spawn-script it creates an agent sandbox for a coding-agent
744
+ vendor's work order instead, for that vendor's controller to run. For
745
+ example, as Claude Code's spawn-runner hook:
746
+ exec avr vm create --from-spawn-script claude-code --org <org-id>
747
+ ```
748
+
749
+ **Options**
750
+
751
+ - `--org <TEXT>` — Organization ID. Uses default org if not specified (see: avr config set org).
752
+ - `--name <TEXT>` — Unique VM name. Generated by the server when omitted.
753
+ - `--os <CHOICE>` — Guest operating system. Required unless --from-spawn-script, which is always linux. _(choices: `linux`, `macos`, `windows`)_
754
+ - `--arch <TEXT>` — CPU architecture (see: avr vm capabilities). Defaults to the selected OS's default.
755
+ - `--idempotency-key <TEXT>` — Retry creates safely with the same organization-scoped key.
756
+ - `--https-port <INTEGER RANGE>` — Publish a guest port as public HTTPS. Repeatable; the first is default. _(repeatable)_
757
+ - `--os-version <TEXT>` — Guest OS version (e.g. ubuntu-26.04; see: avr vm capabilities). Defaults to the latest version for the chosen --os.
758
+ - `--size <TEXT>` — Hardware tier, e.g. 2-vcpu (see: avr vm capabilities). Availability: linux x86_64 1-32 vCPU, linux arm64 up to 16, macos 8/16, windows 2-16. Required unless --from-spawn-script, which defaults to 4-vcpu.
759
+ - `--ssh-key <TEXT>` — SSH public key, or @path to read one from a file. Repeatable. _(repeatable)_
760
+ - `--remote-desktop / --no-remote-desktop` — Enable a remote desktop: RDP (Windows, Linux) or VNC (macOS Screen Sharing). Availability depends on OS version; the server validates.
761
+ - `--ttl <TEXT>` — TTL before pause, or deletion when pause is unavailable (e.g. 8h, 7d, 1800s). Default 8h, max 7d.
762
+ - `--egress-rules <TEXT>` — Per-VM egress firewall rules as a JSON array, or @path to a JSON file.
763
+ - `--repo <TEXT>` — Git repository (owner/repo) to preload into the VM at boot. Best-effort; the checkout is warmed from Avrea's mirror when available.
764
+ - `--ref <TEXT>` — Branch to preload (default: the repository's default branch). Requires --repo. Tags, pull-request refs, and raw commit SHAs are not supported.
765
+ - `--fetch-depth <INTEGER RANGE>` — Git history to preload with --repo, like actions/checkout fetch-depth: 1 (default) = branch tip, N = N commits, 0 = all branches and tags.
766
+ - `--disable-cache <TEXT>` — Disable a build/CI cache on this VM (repeatable, or comma-separated). Narrowing only: a VM can turn off an inherited cache but not turn one on. e.g. gha, packages, bazel, gradle, maven, turbo, nx, go-build (or a raw cache.&lt;name&gt;.enabled key). Repository-scoped caches require --repo. _(repeatable)_
767
+ - `--wait` — Wait until the VM is RUNNING, then print a ready-to-paste connect command with the password baked in.
768
+ - `--wait-timeout <INTEGER>` — Seconds to wait when --wait is set. _(default: `300`)_
769
+ - `--json` — Emit the raw API response (VM plus one-time password) as JSON.
770
+ - `--from-spawn-script <CHOICE>` — Run as a coding-agent vendor controller's spawn script: read the work order the controller passes in its environment, create an agent sandbox that starts the vendor's worker, print its ID, and exit 0 when created or already created, 1 to have the vendor retry, 2 or higher when refused. Needs an organization ID (org-...) from --org or the default org. _(choices: `claude-code`)_
771
+
772
+ #### `avr vm delete`
773
+
774
+ Delete a VM.
775
+
776
+ ```sh
777
+ avr vm delete [OPTIONS] VM_ID_OR_NAME
778
+ ```
779
+
780
+ Delete a VM. Asynchronous while live: shows DELETING until the node confirms the stop.
781
+
782
+ **Arguments**
783
+
784
+ - `VM_ID`
785
+
786
+ **Options**
787
+
788
+ - `--org <TEXT>` — Organization ID. Uses default org if not specified (see: avr config set org).
789
+ - `--yes, -y` — Skip the confirmation prompt.
790
+ - `--wait` — Wait until the VM is fully deleted before returning.
791
+ - `--wait-timeout <INTEGER>` — Seconds to wait when --wait is set. _(default: `300`)_
792
+ - `--json` — Emit the raw API response as JSON.
793
+
794
+ #### `avr vm fork`
795
+
796
+ Boot a copy of a PAUSED VM's disk; the source remains paused.
797
+
798
+ ```sh
799
+ avr vm fork [OPTIONS] VM_ID_OR_NAME
800
+ ```
801
+
802
+ Copies the source's machine configuration and disk, including its SSH host
803
+ keys and password, but discards memory state. A scoped-token password may
804
+ be replaced without returning its replacement. No password is returned; use
805
+ update --rotate-password if needed. Requires admin access to the source.
806
+
807
+ **Arguments**
808
+
809
+ - `VM_ID`
810
+
811
+ **Options**
812
+
813
+ - `--name <TEXT>` — Fork name. Defaults to a name derived from the source.
814
+ - `--ttl <TEXT>` — Fork TTL (e.g. 8h, 7d). Default 8h, max 7d.
815
+ - `--org <TEXT>` — Organization ID or slug.
816
+ - `--wait` — Wait for the fork to become connectable.
817
+ - `--wait-timeout <INTEGER RANGE>` — Seconds to wait when --wait is set. _(default: `300`)_
818
+ - `--json` — Emit the fork VM as JSON.
819
+
820
+ #### `avr vm list`
821
+
822
+ List the organization's VMs, newest first (deleted ones excluded).
823
+
824
+ ```sh
825
+ avr vm list [OPTIONS]
826
+ ```
827
+
828
+ **Options**
829
+
830
+ - `--org <TEXT>` — Organization ID. Uses default org if not specified (see: avr config set org).
831
+ - `--state <CHOICE>` — Filter by lifecycle state. _(choices: `PENDING`, `STARTING`, `RUNNING`, `PAUSING`, `PAUSED`, `STOPPING`, `DELETING`, `FAILED`)_
832
+ - `--scope <CHOICE>` — Visible VMs or only your own. _(choices: `all`, `mine` · default: `all`)_
833
+ - `--sandbox / --no-sandbox` — Agent sandboxes only, or human-created VMs only.
834
+ - `-L, --limit <INTEGER RANGE>` — Max VMs to return. _(default: `50`)_
835
+ - `--cursor <TEXT>` — Pagination cursor from a previous response.
836
+ - `--json` — Emit the VM list as JSON.
837
+
838
+ #### `avr vm metrics`
839
+
840
+ Show CPU/memory/IO metrics for a VM's current or last run.
841
+
842
+ ```sh
843
+ avr vm metrics [OPTIONS] VM_ID_OR_NAME
844
+ ```
845
+
846
+ **Arguments**
847
+
848
+ - `VM_ID`
849
+
850
+ **Options**
851
+
852
+ - `--org <TEXT>` — Organization ID or slug.
853
+ - `--source <CHOICE>` — Metric source. Repeatable; defaults to cpu and memory. _(choices: `cpu`, `memory`, `filesystem`, `load`, `disk-io`, `disk-ops`, `network` · repeatable)_
854
+ - `--start <INTEGER>` — Start time in Unix seconds (single-shot only).
855
+ - `--end <INTEGER>` — End time in Unix seconds (single-shot only).
856
+ - `--watch, -w` — Stream live metrics until the run completes; Ctrl-C to exit.
857
+ - `--json` — Emit metrics JSON; watch emits one snapshot per line.
858
+
859
+ #### `avr vm pause`
860
+
861
+ Pause a RUNNING Linux x86_64 VM while preserving its disk.
862
+
863
+ ```sh
864
+ avr vm pause [OPTIONS] VM_ID_OR_NAME
865
+ ```
866
+
867
+ By default the snapshot is disk-only: the filesystem survives, but resume
868
+ performs a fresh boot and running processes do not. Pass --memory to also
869
+ preserve guest memory and continue processes from where they stopped.
870
+
871
+ **Arguments**
872
+
873
+ - `VM_ID`
874
+
875
+ **Options**
876
+
877
+ - `--org <TEXT>` — Organization ID. Uses default org if not specified (see: avr config set org).
878
+ - `--memory` — Include guest memory and device state so running processes continue on resume.
879
+ - `--wait` — Wait until the VM reaches PAUSED before returning.
880
+ - `--wait-timeout <INTEGER>` — Seconds to wait when --wait is set. _(default: `300`)_
881
+ - `--json` — Emit the raw API response as JSON.
882
+
883
+ #### `avr vm port-forward`
884
+
885
+ Forward one or more local ports to TCP ports on the VM over SSH.
886
+
887
+ ```sh
888
+ avr vm port-forward [OPTIONS] VM_ID_OR_NAME
889
+ ```
890
+
891
+ The generic primitive behind `avr vm rdp` / `avr vm vnc`: opens
892
+ 127.0.0.1:&lt;local&gt; -&gt; &lt;VM&gt;:&lt;guest&gt; through the VM's SSH endpoint for each
893
+ --port, and holds them open until Ctrl-C. Bring your own client.
894
+
895
+ ```sh
896
+ avr vm port-forward cvm-abc123 --port 8080
897
+ avr vm port-forward cvm-abc123 --port 8080 --port 5432 --port 9000:3000
898
+ ```
899
+
900
+ **Arguments**
901
+
902
+ - `VM_ID`
903
+
904
+ **Options**
905
+
906
+ - `--org <TEXT>` — Organization ID. Uses default org if not specified (see: avr config set org).
907
+ - `--port <TEXT>` — Guest TCP port to forward, optionally with a local bind port (e.g. 8080 or 9000:8080). Repeatable. _(repeatable · required)_
908
+ - `--local-port <INTEGER RANGE>` — Local port to bind for a single bare --port (with multiple ports, use --port LOCAL:GUEST instead).
909
+ - `-i, --identity <PATH>` — Private key file to pass to ssh as -i.
910
+ - `--print` — Print the ssh command and exit, without opening the tunnel.
911
+
912
+ #### `avr vm rdp`
913
+
914
+ Open an RDP desktop on a Windows or Linux VM over an SSH tunnel.
915
+
916
+ ```sh
917
+ avr vm rdp [OPTIONS] VM_ID_OR_NAME
918
+ ```
919
+
920
+ Forwards a local port to the guest's RDP service (:3389) through the VM's
921
+ SSH endpoint, so the desktop is never exposed publicly. Holds the tunnel
922
+ open until Ctrl-C; pass --launch to also start a local RDP client.
923
+
924
+ **Arguments**
925
+
926
+ - `VM_ID`
927
+
928
+ **Options**
929
+
930
+ - `--org <TEXT>` — Organization ID. Uses default org if not specified (see: avr config set org).
931
+ - `--local-port <INTEGER RANGE>` — Local port to bind (default: an unused port).
932
+ - `-i, --identity <PATH>` — Private key file to pass to ssh as -i.
933
+ - `--launch / --no-launch` — Also start a local RDP client, instead of just printing the connect command.
934
+ - `--print` — Print the tunnel and client commands and exit, without opening the tunnel.
935
+
936
+ #### `avr vm resume`
937
+
938
+ Resume a PAUSED VM from its preserved snapshot.
939
+
940
+ ```sh
941
+ avr vm resume [OPTIONS] VM_ID_OR_NAME
942
+ ```
943
+
944
+ The existing password remains unless resume withdraws credentials supplied
945
+ to a scoped token. Use update --rotate-password to obtain a fresh one.
946
+ If a memory restore cannot complete,
947
+ retry with --discard-memory to boot the preserved disk without restoring
948
+ running processes.
949
+
950
+ **Arguments**
951
+
952
+ - `VM_ID`
953
+
954
+ **Options**
955
+
956
+ - `--org <TEXT>` — Organization ID. Uses default org if not specified (see: avr config set org).
957
+ - `--discard-memory` — Ignore saved memory state and fresh-boot the preserved disk (recovery for a stuck memory restore).
958
+ - `--wait` — Wait until the VM is RUNNING and connectable.
959
+ - `--wait-timeout <INTEGER>` — Seconds to wait when --wait is set. _(default: `300`)_
960
+ - `--json` — Emit the raw API response as JSON.
961
+
962
+ #### `avr vm rotate-https-label`
963
+
964
+ Replace public HTTPS URLs to invalidate leaked URLs.
965
+
966
+ ```sh
967
+ avr vm rotate-https-label [OPTIONS] VM_ID_OR_NAME
968
+ ```
969
+
970
+ Routes change once ingress applies the rotation. On a running VM,
971
+ AVREA_SANDBOX_URL (in new login shells) and /vm/info follow within seconds;
972
+ a paused VM picks up the new URLs at resume.
973
+
974
+ **Arguments**
975
+
976
+ - `VM_ID`
977
+
978
+ **Options**
979
+
980
+ - `--org <TEXT>` — Organization ID or slug.
981
+ - `--json` — Emit the updated VM as JSON.
982
+
983
+ #### `avr vm show`
984
+
985
+ Show a VM's details, including connection endpoints and egress rules.
986
+
987
+ ```sh
988
+ avr vm show [OPTIONS] VM_ID_OR_NAME
989
+ ```
990
+
991
+ **Arguments**
992
+
993
+ - `VM_ID`
994
+
995
+ **Options**
996
+
997
+ - `--org <TEXT>` — Organization ID. Uses default org if not specified (see: avr config set org).
998
+ - `--json` — Emit the full VM record (with egress rules) as JSON.
999
+
1000
+ #### `avr vm ssh`
1001
+
1002
+ Open an SSH session to a RUNNING VM, or run a command on it.
1003
+
1004
+ ```sh
1005
+ avr vm ssh [OPTIONS] VM_ID_OR_NAME [SSH_ARGS]...
1006
+ ```
1007
+
1008
+ With no extra arguments this opens an interactive session. Anything after
1009
+ `--` is run as a remote command instead, e.g.:
1010
+
1011
+ avr vm ssh cvm-abc123 -- uname -a
1012
+
1013
+ A one-off `-- <cmd>` runs in a non-login shell that sources no startup files,
1014
+ so it won't see env forwarded by `avr vm bootstrap`. Pass `--login` to run it
1015
+ in a login shell instead (e.g. so `claude` finds its subscription token):
1016
+
1017
+ avr vm ssh cvm-abc123 --login -- claude -p 'summarize the repo'
1018
+
1019
+ Pass `--session <name>` to attach to (or create) a persistent tmux session,
1020
+ so the shell and any long-running process in it survive a dropped
1021
+ connection; reconnect with the same name to resume where you left off. A
1022
+ `-- <cmd>` given with --session runs only when the session is first created;
1023
+ reattaching to an existing session resumes it and does not rerun the command.
1024
+
1025
+ When the VM's endpoint publishes a host key it is pinned, so the first
1026
+ connect neither prompts nor is spoofable. If the endpoint has no host key,
1027
+ `avr` prints a warning and falls back to trust-on-first-use, so this
1028
+ spoofing protection is conditional rather than guaranteed. For
1029
+ port-forwarding use `avr vm port-forward`.
1030
+
1031
+ **Arguments**
1032
+
1033
+ - `VM_ID`
1034
+ - `[SSH_ARGS...]`
1035
+
1036
+ **Options**
1037
+
1038
+ - `--org <TEXT>` — Organization ID. Uses default org if not specified (see: avr config set org).
1039
+ - `-i, --identity <PATH>` — Private key file to pass to ssh as -i.
1040
+ - `--session <TEXT>` — Attach to (or create) a persistent tmux session by this name, so the shell and any long-running process in it survive a dropped connection. Reconnect with the same --session. A `-- <cmd>` runs only when the session is created, not on reattach.
1041
+ - `--login` — Run the `-- <cmd>` in a login shell (bash -lc) so it sees bootstrap-forwarded env like CLAUDE_CODE_OAUTH_TOKEN. Needed for a non-interactive command; a plain `ssh host cmd` shell sources nothing.
1042
+ - `--print` — Print the ssh command instead of running it.
1043
+
1044
+ #### `avr vm ssh-config`
1045
+
1046
+ Print (or --append) an ssh_config Host block for a RUNNING VM.
1047
+
1048
+ ```sh
1049
+ avr vm ssh-config [OPTIONS] VM_ID_OR_NAME
1050
+ ```
1051
+
1052
+ Reach the VM with plain `ssh`, scp/rsync, and VS Code / Cursor Remote-SSH,
1053
+ host key pinned, without wrapping each tool. Redirect it yourself:
1054
+
1055
+ avr vm ssh-config cvm-abc123 >> ~/.ssh/config
1056
+
1057
+ or let --append manage the block for you (idempotent — re-run after a
1058
+ resume to refresh the endpoint in place):
1059
+
1060
+ avr vm ssh-config cvm-abc123 --append
1061
+
1062
+ The block references a dedicated known_hosts file that this command writes
1063
+ the pinned host key into (one entry per VM). If the endpoint publishes no
1064
+ host key, the block falls back to accept-new (trust-on-first-use) and a
1065
+ warning is printed.
1066
+
1067
+ **Arguments**
1068
+
1069
+ - `VM_ID`
1070
+
1071
+ **Options**
1072
+
1073
+ - `--org <TEXT>` — Organization ID. Uses default org if not specified (see: avr config set org).
1074
+ - `-i, --identity <PATH>` — IdentityFile to write into the block.
1075
+ - `--host-alias <TEXT>` — Host alias for the block (default: avr-&lt;vm-id&gt;).
1076
+ - `--known-hosts-file <PATH>` — Where to pin the host key (default: ~/.ssh/avr_known_hosts).
1077
+ - `--append` — Write the block into your SSH config (default: ~/.ssh/config) instead of printing it, replacing any prior block for the same alias in place.
1078
+ - `--config-file <PATH>` — SSH config file for --append (default: ~/.ssh/config).
1079
+
1080
+ #### `avr vm update`
1081
+
1082
+ Update a VM's name, TTL, or SSH keys, or rotate its password.
1083
+
1084
+ ```sh
1085
+ avr vm update [OPTIONS] VM_ID_OR_NAME
1086
+ ```
1087
+
1088
+ Use avr vm pause, avr vm resume, or avr vm delete for lifecycle changes.
1089
+
1090
+ **Arguments**
1091
+
1092
+ - `VM_ID`
1093
+
1094
+ **Options**
1095
+
1096
+ - `--org <TEXT>` — Organization ID. Uses default org if not specified (see: avr config set org).
1097
+ - `--name <TEXT>` — New display name.
1098
+ - `--ttl <TEXT>` — Extend the TTL window from now (e.g. 8h, 7d). Max 7d.
1099
+ - `--ssh-key <TEXT>` — Replace stored SSH public keys (literal or @path). Repeatable. Applies live on a RUNNING VM, otherwise at next resume. _(repeatable)_
1100
+ - `--rotate-password` — Provision a fresh one-time password (returned in the response).
1101
+ - `--egress-rules <TEXT>` — Replace the per-VM egress rules with this JSON array (or @path to a file).
1102
+ - `--json` — Emit the raw API response as JSON.
1103
+ - `--https-port <INTEGER RANGE>` — Replace public HTTPS ports. Repeatable; applies live on a RUNNING VM, otherwise at next start or resume. _(repeatable)_
1104
+ - `--clear-https-ports` — Publish no HTTPS ports. Applies live on a RUNNING VM, otherwise at next start or resume.
1105
+
1106
+ #### `avr vm usage`
1107
+
1108
+ Show usage metering (runtime / vCPU / memory seconds) per VM.
1109
+
1110
+ ```sh
1111
+ avr vm usage [OPTIONS]
1112
+ ```
1113
+
1114
+ Each power-on cycle's window is clipped to the requested period and summed.
1115
+ Deleted VMs are included: usage survives deletion.
1116
+
1117
+ **Options**
1118
+
1119
+ - `--org <TEXT>` — Organization ID. Uses default org if not specified (see: avr config set org).
1120
+ - `--start <DATETIME>` — Inclusive period start (default: 30 days ago).
1121
+ - `--end <DATETIME>` — Exclusive period end (default: now).
1122
+ - `--json` — Emit the usage report as JSON.
1123
+
1124
+ #### `avr vm vnc`
1125
+
1126
+ Open a VNC desktop on a macOS VM (Screen Sharing) over an SSH tunnel.
1127
+
1128
+ ```sh
1129
+ avr vm vnc [OPTIONS] VM_ID_OR_NAME
1130
+ ```
1131
+
1132
+ Forwards a local port to the guest's Screen Sharing service (:5900) through
1133
+ the VM's SSH endpoint, so the desktop is never exposed publicly. Holds the
1134
+ tunnel open until Ctrl-C; pass --launch to also open Screen Sharing.
1135
+
1136
+ **Arguments**
1137
+
1138
+ - `VM_ID`
1139
+
1140
+ **Options**
1141
+
1142
+ - `--org <TEXT>` — Organization ID. Uses default org if not specified (see: avr config set org).
1143
+ - `--local-port <INTEGER RANGE>` — Local port to bind (default: an unused port).
1144
+ - `-i, --identity <PATH>` — Private key file to pass to ssh as -i.
1145
+ - `--launch / --no-launch` — Also start a local VNC client (macOS Screen Sharing), instead of just printing the connect command.
1146
+ - `--print` — Print the tunnel and client commands and exit, without opening the tunnel.
1147
+
1148
+ ### `avr workflow`
1149
+
1150
+ List and view workflow definitions.
1151
+
1152
+ ```sh
1153
+ avr workflow [OPTIONS] COMMAND [ARGS]...
1154
+ ```
1155
+
1156
+ #### `avr workflow list`
1157
+
1158
+ List workflows with aggregate run stats.
1159
+
1160
+ ```sh
1161
+ avr workflow list [OPTIONS]
1162
+ ```
1163
+
1164
+ ```sh
1165
+ Examples:
1166
+ avr workflow list
1167
+ avr workflow list --repo acme/web
1168
+ avr workflow list --since 7d
1169
+ avr workflow list --limit 5
1170
+ avr workflow list --since all
1171
+ avr workflow list --json name,runs,median_duration_seconds
1172
+ ```
1173
+
1174
+ ```sh
1175
+ JSON FIELDS
1176
+ completed_runs, failure_count, flaked_count, median_duration_seconds, name,
1177
+ path, platform_workflow_id, repository, runs, workflow_id
1178
+ ```
1179
+
1180
+ **Options**
1181
+
1182
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
1183
+ - `--repo <TEXT>` — Filter by repository (org/repo or rep-xxx ID, repeatable). _(repeatable)_
1184
+ - `--since <TEXT>` — Time window: '30d', '7d', '24h', or 'all'. _(default: `30d`)_
1185
+ - `-L, --limit <INTEGER RANGE>` — Max workflows to show. _(default: `20`)_
1186
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
1187
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
1188
+
1189
+ #### `avr workflow run`
1190
+
1191
+ Trigger a workflow_dispatch event.
1192
+
1193
+ ```sh
1194
+ avr workflow run [OPTIONS] WORKFLOW
1195
+ ```
1196
+
1197
+ WORKFLOW can be an Avrea workflow ID (wfl-... or awf-...), a GitHub
1198
+ numeric workflow ID, a workflow path, or the workflow's display name.
1199
+ Bare filenames (build.yml) select GitHub Actions; use the full
1200
+ .avrea/workflows/build.yml path for Avrea CI.
1201
+
1202
+ Native -f inputs use the workflow's declared types. JSON preserves
1203
+ booleans and numbers. A receipt identifies the exact native run. If a
1204
+ response is lost, use the printed retry command to recover the same
1205
+ invocation with its resolved ref, inputs and --idempotency-key.
1206
+ --no-watch prints the accepted ref and commit plus a command to resume
1207
+ following a pending native dispatch.
1208
+
1209
+ ```sh
1210
+ Examples:
1211
+ avr workflow run build.yml
1212
+ avr workflow run "Build and Deploy" --ref feat/x
1213
+ avr workflow run wfl-abc123 -f env=prod -f region=eu
1214
+ echo '{"env":"prod"}' | avr workflow run build.yml --json
1215
+ avr workflow run build.yml --watch --exit-status
1216
+ ```
1217
+
1218
+ **Arguments**
1219
+
1220
+ - `WORKFLOW_IDENTIFIER`
1221
+
1222
+ **Options**
1223
+
1224
+ - `--org <TEXT>` — Organization ID or slug.
1225
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git remote if omitted.
1226
+ - `-r, --ref <TEXT>` — Branch or tag to run at. Defaults to the repository's default branch.
1227
+ - `-f, --raw-field <TEXT>` — Workflow input: key=value (repeatable). _(repeatable)_
1228
+ - `--json` — Read a JSON object of inputs from stdin.
1229
+ - `--idempotency-key <UUID>` — For Avrea CI, reuse this key to retry the same invocation.
1230
+ - `-w, --watch / -W, --no-watch` — Poll for the new run and watch it until completion. Pass --no-watch / -W to return immediately. _(default: `True`)_
1231
+ - `--exit-status` — With --watch, exit non-zero if the run failed.
1232
+ - `--interval <INTEGER>` — With --watch, refresh interval in seconds. _(default: `3`)_
1233
+
1234
+ #### `avr workflow view`
1235
+
1236
+ View a workflow with aggregate stats and per-job breakdown.
1237
+
1238
+ ```sh
1239
+ avr workflow view [OPTIONS] WORKFLOW
1240
+ ```
1241
+
1242
+ WORKFLOW can be an Avrea workflow ID (wfl-...), a GitHub numeric
1243
+ workflow ID (the integer in the GH URL), a workflow filename
1244
+ (build.yml), or the workflow's display name. All forms except wfl-...
1245
+ need a repository — pass --repo or run from inside the repo's git
1246
+ checkout.
1247
+
1248
+ ```sh
1249
+ Examples:
1250
+ avr workflow view wfl-abc123
1251
+ avr workflow view 200589168
1252
+ avr workflow view ci.yml
1253
+ avr workflow view "Build and Deploy" --since 7d
1254
+ avr workflow view ci --json runs,median_duration_seconds
1255
+ avr workflow view wfl-abc123 --json '*' --jq '.jobs[].job.name'
1256
+ ```
1257
+
1258
+ ```sh
1259
+ JSON FIELDS
1260
+ completed_runs, failure_count, flaked_count, jobs, median_duration_seconds,
1261
+ name, p95_duration_seconds, path, platform_workflow_id, repository, runs,
1262
+ workflow_id
1263
+ ```
1264
+
1265
+ **Arguments**
1266
+
1267
+ - `WORKFLOW_IDENTIFIER`
1268
+
1269
+ **Options**
1270
+
1271
+ - `--org <TEXT>` — Organization ID or slug.
1272
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git remote when WORKFLOW is a filename or display name.
1273
+ - `--since <TEXT>` — Time window: '30d', '7d', '24h', or 'all'. _(default: `30d`)_
1274
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
1275
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
1276
+ - `--web` — Open in browser.
1277
+
1278
+ ### `avr cache`
1279
+
1280
+ Inspect and manage the Avrea build cache.
1281
+
1282
+ ```sh
1283
+ avr cache [OPTIONS] COMMAND [ARGS]...
1284
+ ```
1285
+
1286
+ #### `avr cache delete`
1287
+
1288
+ Delete cache entries by key name or all entries.
1289
+
1290
+ ```sh
1291
+ avr cache delete [OPTIONS]
1292
+ ```
1293
+
1294
+ Exactly one of --key or --all must be provided.
1295
+ When using --key, --type is required to scope the deletion.
1296
+ With --all, the purge runs asynchronously; the command reports its status.
1297
+
1298
+ ```sh
1299
+ Examples:
1300
+ avr cache delete --repo rep-abc123 --type gha --key "node_modules" --ref refs/heads/main --yes
1301
+ avr cache delete --repo rep-abc123 --all --yes
1302
+ ```
1303
+
1304
+ **Options**
1305
+
1306
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git remote if omitted.
1307
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
1308
+ - `--type <TEXT>` — Cache type (required with --key, e.g. gha, bazel, sccache).
1309
+ - `--key <TEXT>` — Delete entries matching this cache key name.
1310
+ - `--ref <TEXT>` — Ref to narrow deletion scope (used by gha).
1311
+ - `--all` — Delete ALL cache entries for the repository.
1312
+ - `--yes, -y` — Skip confirmation prompt.
1313
+
1314
+ #### `avr cache list`
1315
+
1316
+ List cache entries for a repository.
1317
+
1318
+ ```sh
1319
+ avr cache list [OPTIONS]
1320
+ ```
1321
+
1322
+ List cache entries for a repository.
1323
+ Large caches use cursor pagination; follow the next-page hint on stderr.
1324
+ Sort order and offsets apply only to smaller, sorted result sets.
1325
+
1326
+ ```sh
1327
+ Examples:
1328
+ avr cache list --repo rep-abc123
1329
+ avr cache list --repo rep-abc123 --type gha --limit 50
1330
+ avr cache list --repo rep-abc123 --key "node_modules" --ref refs/heads/main
1331
+ avr cache list --repo rep-abc123 --json key,size_bytes,created_at
1332
+ ```
1333
+
1334
+ ```sh
1335
+ JSON FIELDS
1336
+ cache_type, created_at, hit_count, key, last_accessed_at, ref, size_bytes, version
1337
+ ```
1338
+
1339
+ **Options**
1340
+
1341
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git remote if omitted.
1342
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
1343
+ - `--type <TEXT>` — Filter by cache type (e.g. gha, bazel, turbo, rclone).
1344
+ - `--key <TEXT>` — Filter by key prefix.
1345
+ - `--ref <TEXT>` — Filter by exact ref match.
1346
+ - `-L, --limit <INTEGER RANGE>` — Max entries to return. _(default: `100`)_
1347
+ - `--offset <INTEGER RANGE>` — Number of entries to skip in sorted results. _(default: `0`)_
1348
+ - `--cursor <TEXT>` — Pagination cursor for large caches. Cannot combine with --offset.
1349
+ - `--order <CHOICE>` — Sort order. _(choices: `created_at.desc`, `created_at.asc` · default: `created_at.desc`)_
1350
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
1351
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
1352
+ - `--web` — Open in browser.
1353
+
1354
+ #### `avr cache usage`
1355
+
1356
+ Show cache usage summary for a repository.
1357
+
1358
+ ```sh
1359
+ avr cache usage [OPTIONS]
1360
+ ```
1361
+
1362
+ ```sh
1363
+ Examples:
1364
+ avr cache usage --repo rep-abc123
1365
+ avr cache usage --repo rep-abc123 --json '*'
1366
+ ```
1367
+
1368
+ ```sh
1369
+ JSON FIELDS
1370
+ by_type, over_quota, quota_bytes, total_size_bytes
1371
+ ```
1372
+
1373
+ **Options**
1374
+
1375
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git remote if omitted.
1376
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
1377
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
1378
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
1379
+
1380
+ ### `avr tests`
1381
+
1382
+ Read a job's tests, timings and recorded failure messages.
1383
+
1384
+ ```sh
1385
+ avr tests [OPTIONS] COMMAND [ARGS]...
1386
+ ```
1387
+
1388
+ Use avr tests RUN_OR_JOB (or avr tests list RUN_OR_JOB). Accepts Avrea
1389
+ run/job IDs, GitHub run IDs and run URLs, and Avrea console run URLs.
1390
+ A single-job run is selected automatically. Use --job NAME to select
1391
+ one job from a run with several jobs.
1392
+
1393
+ #### `avr tests list`
1394
+
1395
+ Read one job's latest confirmed execution, including repeated tests.
1396
+
1397
+ ```sh
1398
+ avr tests list [OPTIONS] RUN_OR_JOB
1399
+ ```
1400
+
1401
+ RUN_OR_JOB accepts the same run references as avr run view, or an Avrea
1402
+ job ID (job- or awj-). A run selects one job, never combines all jobs.
1403
+ --job NAME must match exactly one job; without it a run must have one job.
1404
+
1405
+ Names, outcomes, recorded durations and available failure messages are
1406
+ shown together. A failed test is data, not a command error. Missing,
1407
+ pending, partial and expired evidence are reported explicitly; an older
1408
+ execution is never substituted. Complete describes collected reports.
1409
+
1410
+ Use --json '*' for the complete response or --json FIELDS to select
1411
+ fields. Continue with --cursor when pagination.next_cursor is present.
1412
+ Filters match literally and are combined with AND. Every matching
1413
+ occurrence is retained, including duplicate names. A continuation means
1414
+ more of the report remains to be searched, not necessarily more matches.
1415
+ API refusal or a changed report fails the command without partial output.
1416
+
1417
+ **Arguments**
1418
+
1419
+ - `TARGET`
1420
+
1421
+ **Options**
1422
+
1423
+ - `--job <TEXT>` — Select one run job by case-insensitive name substring.
1424
+ - `--org <TEXT>` — Organization ID or slug. Defaults to the configured organization.
1425
+ - `--repo <TEXT>` — Repository (owner/name or rep-ID). Defaults to the job's repository.
1426
+ - `-L, --limit <INTEGER RANGE>` — Maximum occurrences to return; short pages are followed, up to 20 result pages. _(default: `100`)_
1427
+ - `--cursor <TEXT>` — Continue from a previous response's next_cursor with the same filters.
1428
+ - `--test <TEXT>` — Exact test name (case-sensitive; no wildcards).
1429
+ - `--suite <TEXT>` — Exact suite name; combined with other filters using AND.
1430
+ - `--class <TEXT>` — Exact nonempty class name.
1431
+ - `--status <CHOICE>` — Recorded test outcome. _(choices: `passed`, `failed`, `skipped`, `errored`)_
1432
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
1433
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
1434
+
1435
+ ### `avr sbom`
1436
+
1437
+ View, generate, and download repository SBOMs.
1438
+
1439
+ ```sh
1440
+ avr sbom [OPTIONS] COMMAND [ARGS]...
1441
+ ```
1442
+
1443
+ #### `avr sbom download`
1444
+
1445
+ Download an SBOM artifact (CycloneDX, SPDX, or dependency inventory).
1446
+
1447
+ ```sh
1448
+ avr sbom download [OPTIONS] [COMMIT]
1449
+ ```
1450
+
1451
+ COMMIT is the commit of a recorded SBOM, as a full SHA or a unique prefix
1452
+ of at least 7 characters such as the one `avr sbom list` shows. Defaults to
1453
+ the latest SBOM.
1454
+
1455
+ ```sh
1456
+ Examples:
1457
+ avr sbom download --repo acme/api
1458
+ avr sbom download --repo acme/api --format spdx --out api.spdx.json
1459
+ avr sbom download 3f2c9a1b7d04 --repo acme/api --out - | jq .components
1460
+ ```
1461
+
1462
+ **Arguments**
1463
+
1464
+ - `[COMMIT]`
1465
+
1466
+ **Options**
1467
+
1468
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git remote if omitted.
1469
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
1470
+ - `--commit <TEXT>` — Same as the COMMIT argument.
1471
+ - `--format <CHOICE>` — Artifact to download. _(choices: `cyclonedx`, `inventory`, `spdx` · default: `cyclonedx`)_
1472
+ - `--out <TEXT>` — Output file path, or "-" for stdout. Defaults to the artifact filename in the current directory.
1473
+
1474
+ #### `avr sbom generate`
1475
+
1476
+ Start SBOM generation for a repository.
1477
+
1478
+ ```sh
1479
+ avr sbom generate [OPTIONS] [REF]
1480
+ ```
1481
+
1482
+ REF is the branch, tag, or commit SHA to analyse; an abbreviated SHA such
1483
+ as the one `avr sbom list` shows works too. Defaults to the default-branch
1484
+ tip. Without --wait, commit_sha is the full SHA of the commit the run
1485
+ analyses when REF is a full SHA or one the API expanded.
1486
+
1487
+ One analysis runs per repository at a time. A request for the same ref as
1488
+ the analysis already running joins it; a request for a different ref is
1489
+ rejected (HTTP 409) until that analysis finishes. Once an SBOM has been
1490
+ recorded for the repository, a new run is refused (HTTP 429) for a
1491
+ cooldown period, and the error says how many seconds remain.
1492
+
1493
+ With --wait and a REF that names a commit, success means a new SBOM for
1494
+ that commit is downloadable, whatever the analysis task's own outcome
1495
+ (task_status); commit_sha and recorded_at identify it. A failed analysis
1496
+ can still deliver its SBOM later, so such a wait runs to --wait-timeout
1497
+ before reporting failure. For a branch, tag, or the default branch the API
1498
+ does not say which commit the run resolved, so --wait reports the analysis
1499
+ task's outcome only. Transient errors while waiting are retried until
1500
+ --wait-timeout; a wait that times out leaves the analysis running.
1501
+
1502
+ ```sh
1503
+ Examples:
1504
+ avr sbom generate --repo acme/api
1505
+ avr sbom generate v1.4.0 --repo acme/api
1506
+ avr sbom generate 3f2c9a1b7d04 --repo acme/api --wait
1507
+ ```
1508
+
1509
+ ```sh
1510
+ JSON FIELDS
1511
+ ai_task_id, commit_sha, error_code, recorded_at, status, task_status
1512
+ ```
1513
+
1514
+ **Arguments**
1515
+
1516
+ - `[REF]`
1517
+
1518
+ **Options**
1519
+
1520
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git remote if omitted.
1521
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
1522
+ - `--ref <TEXT>` — Same as the REF argument.
1523
+ - `--wait` — Wait until generation finishes before returning.
1524
+ - `--wait-timeout <INTEGER RANGE>` — Seconds to wait when --wait is set. _(default: `900`)_
1525
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
1526
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
1527
+
1528
+ #### `avr sbom list`
1529
+
1530
+ List the repository's recorded SBOMs, newest first.
1531
+
1532
+ ```sh
1533
+ avr sbom list [OPTIONS]
1534
+ ```
1535
+
1536
+ Counts shown as "?" were not recorded by the SBOM's schema version.
1537
+
1538
+ ```sh
1539
+ Examples:
1540
+ avr sbom list --repo acme/api
1541
+ avr sbom list --repo acme/api --json commit_sha,copyleft_count
1542
+ ```
1543
+
1544
+ ```sh
1545
+ JSON FIELDS
1546
+ artifacts, branch, commit_sha, copyleft_count, generated_at,
1547
+ is_release, recorded_at, schema_version, total_dependencies,
1548
+ unresolved
1549
+ ```
1550
+
1551
+ **Options**
1552
+
1553
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git remote if omitted.
1554
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
1555
+ - `-L, --limit <INTEGER RANGE>` — Max SBOMs to return. _(default: `50`)_
1556
+ - `--cursor <TEXT>` — Opaque cursor from a previous response's next_cursor.
1557
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
1558
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
1559
+
1560
+ #### `avr sbom view`
1561
+
1562
+ Show an SBOM's summary: dependency counts, licenses, and artifacts.
1563
+
1564
+ ```sh
1565
+ avr sbom view [OPTIONS] [COMMIT]
1566
+ ```
1567
+
1568
+ COMMIT is the commit of a recorded SBOM, as a full SHA or a unique prefix
1569
+ of at least 7 characters such as the one `avr sbom list` shows. Defaults to
1570
+ the latest SBOM.
1571
+
1572
+ A long license table is cut to the most common licenses and a long copyleft
1573
+ list to its first names; --full lists all of them. Long license names are
1574
+ clipped; the summary in --json carries them whole.
1575
+
1576
+ ```sh
1577
+ Examples:
1578
+ avr sbom view --repo acme/api
1579
+ avr sbom view 3f2c9a1b7d04 --repo acme/api
1580
+ avr sbom view --repo acme/api --full
1581
+ avr sbom view --repo acme/api --json summary --jq .summary.licenses
1582
+ ```
1583
+
1584
+ ```sh
1585
+ JSON FIELDS
1586
+ artifacts, branch, commit_sha, generated_at, is_release, recorded_at,
1587
+ schema_version, summary
1588
+ ```
1589
+
1590
+ **Arguments**
1591
+
1592
+ - `[COMMIT]`
1593
+
1594
+ **Options**
1595
+
1596
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git remote if omitted.
1597
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
1598
+ - `--commit <TEXT>` — Same as the COMMIT argument.
1599
+ - `--full` — List every license and copyleft dependency in the summary. Long lists are otherwise cut to the 10 most common licenses and the first 10 copyleft dependencies.
1600
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
1601
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
1602
+
1603
+ ### `avr log`
1604
+
1605
+ Search across runner execution logs.
1606
+
1607
+ ```sh
1608
+ avr log [OPTIONS] COMMAND [ARGS]...
1609
+ ```
1610
+
1611
+ #### `avr log search`
1612
+
1613
+ Search logs for a repository.
1614
+
1615
+ ```sh
1616
+ avr log search [OPTIONS]
1617
+ ```
1618
+
1619
+ Performs full-text search when --query is provided, otherwise returns
1620
+ logs sorted by line number. Results are filtered to logs from repositories
1621
+ you have access to.
1622
+
1623
+ ```sh
1624
+ Examples:
1625
+ avr log search --repo acme/web --query "error"
1626
+ avr log search --repo rep-abc123 --level error --limit 50
1627
+ avr log search --repo rep-abc123 --vm-id vm-xyz --stream stderr
1628
+ avr log search --repo rep-abc123 --query "OOM" --json content,timestamp,vm_id
1629
+ ```
1630
+
1631
+ ```sh
1632
+ JSON FIELDS
1633
+ content, group_name, id, level, line_number, repository_id, score,
1634
+ step_name, step_record_id, stream, timestamp, vm_id
1635
+ ```
1636
+
1637
+ **Options**
1638
+
1639
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git remote if omitted.
1640
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified.
1641
+ - `--query <TEXT>` — Full-text search query
1642
+ - `--stream <CHOICE>` — Filter by output stream _(choices: `stdout`, `stderr`)_
1643
+ - `--level <CHOICE>` — Filter by log level _(choices: `debug`, `info`, `warning`, `error`)_
1644
+ - `--vm-id <TEXT>` — Filter by execution/VM ID
1645
+ - `-L, --limit <INTEGER>` — Maximum results to return _(default: `100`)_
1646
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
1647
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
1648
+
1649
+ ### `avr auth`
1650
+
1651
+ Authenticate and manage credentials.
1652
+
1653
+ ```sh
1654
+ avr auth [OPTIONS] COMMAND [ARGS]...
1655
+ ```
1656
+
1657
+ #### `avr auth device-login`
1658
+
1659
+ Sign in from a remote machine using a browser on any device.
1660
+
1661
+ ```sh
1662
+ avr auth device-login [OPTIONS]
1663
+ ```
1664
+
1665
+ Open the displayed link or scan the QR code, confirm the code, and approve
1666
+ access. The CLI waits for approval and saves your credentials. No browser
1667
+ is opened on this machine. QR codes appear only in compatible terminals
1668
+ wide enough to display them. Requires device-login support on the server.
1669
+
1670
+ **Options**
1671
+
1672
+ - `--no-qr` — Hide the terminal QR code; still display the sign-in link.
1673
+
1674
+ #### `avr auth login`
1675
+
1676
+ Authenticate via browser and store credentials.
1677
+
1678
+ ```sh
1679
+ avr auth login [OPTIONS]
1680
+ ```
1681
+
1682
+ **Options**
1683
+
1684
+ - `--provider <CHOICE>` — OAuth provider to use for CLI login. _(choices: `google`, `github`, `gitlab` · default: `github`)_
1685
+ - `--email <TEXT>` — Work email. Routes through your company's SSO if its domain requires it, ignoring --provider.
1686
+
1687
+ #### `avr auth logout`
1688
+
1689
+ Revoke the current API key and remove stored credentials.
1690
+
1691
+ ```sh
1692
+ avr auth logout [OPTIONS]
1693
+ ```
1694
+
1695
+ #### `avr auth status`
1696
+
1697
+ Display the authenticated user and connection state.
1698
+
1699
+ ```sh
1700
+ avr auth status [OPTIONS]
1701
+ ```
1702
+
1703
+ **Options**
1704
+
1705
+ - `--show-token` — Display the auth token in plain text.
1706
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
1707
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
1708
+
1709
+ #### `avr auth switch`
1710
+
1711
+ Switch the default host used when AVR_HOST isn't set.
1712
+
1713
+ ```sh
1714
+ avr auth switch [OPTIONS] [HOST]
1715
+ ```
1716
+
1717
+ ```sh
1718
+ Examples:
1719
+ avr auth switch # show current default + all hosts
1720
+ avr auth switch https://api.avrea.com
1721
+ ```
1722
+
1723
+ **Arguments**
1724
+
1725
+ - `[HOST]`
1726
+
1727
+ ### `avr token`
1728
+
1729
+ Create and manage scoped access tokens.
1730
+
1731
+ ```sh
1732
+ avr token [OPTIONS] COMMAND [ARGS]...
1733
+ ```
1734
+
1735
+ A scoped access token is a credential bound to one organization that
1736
+ expires within seven days. It reaches only the repositories and VMs it
1737
+ names, and it cannot create further tokens. To use one, set AVR_TOKEN to
1738
+ the credential and AVR_ORG to the organization ID.
1739
+
1740
+ #### `avr token create`
1741
+
1742
+ Create a scoped token and print its credential.
1743
+
1744
+ ```sh
1745
+ avr token create [OPTIONS]
1746
+ ```
1747
+
1748
+ The credential is shown once and cannot be retrieved later. A token needs
1749
+ at least one of --repo, --vm or --allow-vm-create. Repository grants are
1750
+ read-only and VM grants are admin; an optional level suffix
1751
+ (--repo acme/api:read, --vm cvm-abc123:admin) must name that level.
1752
+
1753
+ ```sh
1754
+ Examples:
1755
+ avr token create --name ci-read --repo acme/api --repo acme/web
1756
+ avr token create --name agent --vm cvm-abc123 --ttl 30m
1757
+ avr token create --name sandbox --allow-vm-create --vm-create-limit 3
1758
+ avr token create --name ci-read --repo acme/api --json token --jq .token
1759
+ ```
1760
+
1761
+ ```sh
1762
+ JSON FIELDS
1763
+ allow_vm_create, created_at, expires_at, grants, id, last_used_at,
1764
+ name, organization_id, revoked_at, revoked_reason, token, user_id,
1765
+ vm_create_count, vm_create_limit
1766
+ ```
1767
+
1768
+ **Options**
1769
+
1770
+ - `--name <TEXT>` — Token name (1-100 characters). _(required)_
1771
+ - `--repo <TEXT>` — Grant read access to a repository (org/repo or rep-xxx). Repeatable. _(repeatable)_
1772
+ - `--vm <TEXT>` — Grant admin access to a VM, by VM ID. Repeatable. _(repeatable)_
1773
+ - `--allow-vm-create` — Let the token create VMs.
1774
+ - `--vm-create-limit <INTEGER RANGE>` — Max VMs the token may create; needs --allow-vm-create. The server default is 1.
1775
+ - `--ttl <TEXT>` — Lifetime: e.g. 30m, 8h, 7d, or a number of seconds. 60 seconds to 7 days; the server default is 8 hours.
1776
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
1777
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
1778
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
1779
+
1780
+ #### `avr token list`
1781
+
1782
+ List live tokens, newest first.
1783
+
1784
+ ```sh
1785
+ avr token list [OPTIONS]
1786
+ ```
1787
+
1788
+ Shows your own tokens, or every member's when you are an organization
1789
+ admin. Revoked and expired tokens are not listed; `avr token view` still
1790
+ reads them by ID.
1791
+
1792
+ ```sh
1793
+ Examples:
1794
+ avr token list
1795
+ avr token list --json id,name,expires_at
1796
+ ```
1797
+
1798
+ ```sh
1799
+ JSON FIELDS
1800
+ allow_vm_create, created_at, expires_at, grants, id, last_used_at,
1801
+ name, organization_id, revoked_at, revoked_reason, user_id,
1802
+ vm_create_count, vm_create_limit
1803
+ ```
1804
+
1805
+ **Options**
1806
+
1807
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
1808
+ - `-L, --limit <INTEGER RANGE>` — Max tokens to return. _(default: `50`)_
1809
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
1810
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
1811
+
1812
+ #### `avr token revoke`
1813
+
1814
+ Revoke a token.
1815
+
1816
+ ```sh
1817
+ avr token revoke [OPTIONS] TOKEN_ID
1818
+ ```
1819
+
1820
+ Requests made with the token are refused from then on. Revoking a token
1821
+ that is already revoked succeeds.
1822
+
1823
+ ```sh
1824
+ Examples:
1825
+ avr token revoke <token-id>
1826
+ avr token revoke <token-id> --yes
1827
+ ```
1828
+
1829
+ **Arguments**
1830
+
1831
+ - `TOKEN_ID`
1832
+
1833
+ **Options**
1834
+
1835
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
1836
+ - `--yes, -y` — Skip the confirmation prompt.
1837
+
1838
+ #### `avr token view`
1839
+
1840
+ Show a token's details and grants, including a revoked or expired one.
1841
+
1842
+ ```sh
1843
+ avr token view [OPTIONS] TOKEN_ID
1844
+ ```
1845
+
1846
+ The credential itself is never shown again after `avr token create`.
1847
+
1848
+ ```sh
1849
+ Examples:
1850
+ avr token view <token-id>
1851
+ avr token view <token-id> --json grants
1852
+ ```
1853
+
1854
+ ```sh
1855
+ JSON FIELDS
1856
+ allow_vm_create, created_at, expires_at, grants, id, last_used_at,
1857
+ name, organization_id, revoked_at, revoked_reason, user_id,
1858
+ vm_create_count, vm_create_limit
1859
+ ```
1860
+
1861
+ **Arguments**
1862
+
1863
+ - `TOKEN_ID`
1864
+
1865
+ **Options**
1866
+
1867
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
1868
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
1869
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
1870
+
1871
+ ### `avr config`
1872
+
1873
+ View and manage CLI configuration.
1874
+
1875
+ ```sh
1876
+ avr config [OPTIONS] [COMMAND] [ARGS]...
1877
+ ```
1878
+
1879
+ #### `avr config get`
1880
+
1881
+ Print the value of a configuration key.
1882
+
1883
+ ```sh
1884
+ avr config get [OPTIONS] {org}
1885
+ ```
1886
+
1887
+ ```sh
1888
+ Available keys:
1889
+ org Active organization ID
1890
+ ```
1891
+
1892
+ **Arguments**
1893
+
1894
+ - `KEY` _(choices: `org`)_
1895
+
1896
+ #### `avr config list`
1897
+
1898
+ Show the active CLI configuration (host, auth, org, default repo).
1899
+
1900
+ ```sh
1901
+ avr config list [OPTIONS]
1902
+ ```
1903
+
1904
+ #### `avr config set`
1905
+
1906
+ Set a CLI configuration value.
1907
+
1908
+ ```sh
1909
+ avr config set [OPTIONS] {org} VALUE
1910
+ ```
1911
+
1912
+ ```sh
1913
+ Available keys:
1914
+ org Active organization (ID or slug)
1915
+ ```
1916
+
1917
+ ```sh
1918
+ Examples:
1919
+ avr config set org org-abc123
1920
+ avr config set org acme
1921
+ ```
1922
+
1923
+ **Arguments**
1924
+
1925
+ - `KEY` _(choices: `org`)_
1926
+ - `VALUE`
1927
+
1928
+ #### `avr config unset`
1929
+
1930
+ Remove a configuration override.
1931
+
1932
+ ```sh
1933
+ avr config unset [OPTIONS] {org}
1934
+ ```
1935
+
1936
+ ```sh
1937
+ Available keys:
1938
+ org Drop the stored default organization for the active host
1939
+ ```
1940
+
1941
+ ```sh
1942
+ Examples:
1943
+ avr config unset org
1944
+ ```
1945
+
1946
+ **Arguments**
1947
+
1948
+ - `KEY` _(choices: `org`)_
1949
+
1950
+ ### `avr settings`
1951
+
1952
+ View and toggle cache and runner settings.
1953
+
1954
+ ```sh
1955
+ avr settings [OPTIONS] COMMAND [ARGS]...
1956
+ ```
1957
+
1958
+ #### `avr settings list`
1959
+
1960
+ List settings with their current values and source.
1961
+
1962
+ ```sh
1963
+ avr settings list [OPTIONS]
1964
+ ```
1965
+
1966
+ Inside a connected checkout the repository is auto-detected from the git
1967
+ remote and its effective values are shown. Pass --org to see organization
1968
+ values (this suppresses auto-detection), or --repo / AVR_REPO to target a
1969
+ repository.
1970
+
1971
+ ```sh
1972
+ Examples:
1973
+ avr settings list --org org-abc123
1974
+ avr settings list --org org-abc123 --repo rep-xyz789
1975
+ avr settings list --repo acme/web
1976
+ avr settings list --prefix cache.
1977
+ avr settings list --json key,value,source
1978
+ ```
1979
+
1980
+ ```sh
1981
+ JSON FIELDS
1982
+ key, source, value
1983
+ ```
1984
+
1985
+ **Options**
1986
+
1987
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified.
1988
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git unless --org given.
1989
+ - `--prefix <TEXT>` — Filter by key prefix (e.g. 'cache.').
1990
+ - `--web` — Open in browser.
1991
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
1992
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
1993
+
1994
+ #### `avr settings reset`
1995
+
1996
+ Remove a setting override, reverting to the inherited or default value.
1997
+
1998
+ ```sh
1999
+ avr settings reset [OPTIONS] KEY
2000
+ ```
2001
+
2002
+ Clears the repository override when run inside a connected checkout (the
2003
+ repo is auto-detected), when --repo is given, or when AVR_REPO is set. Pass
2004
+ --org to clear the organization-scoped value (this suppresses auto-detection).
2005
+
2006
+ ```sh
2007
+ Examples:
2008
+ avr settings reset cache.gha.enabled --repo rep-xyz789
2009
+ avr settings reset cache.packages.enabled --org org-abc123
2010
+ ```
2011
+
2012
+ **Arguments**
2013
+
2014
+ - `KEY`
2015
+
2016
+ **Options**
2017
+
2018
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified.
2019
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git unless --org given.
2020
+
2021
+ #### `avr settings schema`
2022
+
2023
+ List available setting definitions.
2024
+
2025
+ ```sh
2026
+ avr settings schema [OPTIONS]
2027
+ ```
2028
+
2029
+ ```sh
2030
+ Examples:
2031
+ avr settings schema
2032
+ avr settings schema --prefix cache. --scope repository
2033
+ avr settings schema --json '*'
2034
+ ```
2035
+
2036
+ ```sh
2037
+ JSON FIELDS
2038
+ choices, default, description, inherits, key, max_value, min_value,
2039
+ scopes, value_type
2040
+ ```
2041
+
2042
+ **Options**
2043
+
2044
+ - `--prefix <TEXT>` — Filter by key prefix (e.g. 'cache.').
2045
+ - `--scope <CHOICE>` — Filter by scope. _(choices: `repository`, `organization`)_
2046
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2047
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2048
+
2049
+ #### `avr settings set`
2050
+
2051
+ Set a setting value.
2052
+
2053
+ ```sh
2054
+ avr settings set [OPTIONS] KEY VALUE
2055
+ ```
2056
+
2057
+ VALUE is parsed as a boolean (true/false) or integer when possible,
2058
+ otherwise treated as a string.
2059
+
2060
+ Writes a repository override when run inside a connected checkout (the repo
2061
+ is auto-detected), when --repo is given, or when AVR_REPO is set. Otherwise
2062
+ targets org scope (the default org, or --org); org-only settings must be set
2063
+ with --org. A checkout whose repo isn't connected to the org is an error
2064
+ rather than a silent org-wide write.
2065
+
2066
+ ```sh
2067
+ Examples:
2068
+ avr settings set cache.gha.enabled false --org org-abc123
2069
+ avr settings set cache.packages.enabled true --repo rep-xyz789
2070
+ ```
2071
+
2072
+ **Arguments**
2073
+
2074
+ - `KEY`
2075
+ - `VALUE`
2076
+
2077
+ **Options**
2078
+
2079
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified.
2080
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git unless --org given.
2081
+
2082
+ ### `avr firewall`
2083
+
2084
+ Manage the egress firewall rule list for orgs and repositories.
2085
+
2086
+ ```sh
2087
+ avr firewall [OPTIONS] COMMAND [ARGS]...
2088
+ ```
2089
+
2090
+ #### `avr firewall add`
2091
+
2092
+ Add a rule.
2093
+
2094
+ ```sh
2095
+ avr firewall add [OPTIONS]
2096
+ ```
2097
+
2098
+ Add a rule. Exactly one of --cidr, --fqdn, --any must be specified.
2099
+
2100
+ **Options**
2101
+
2102
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified.
2103
+ - `--repo <TEXT>` — Repository ID. If provided, adds at repo scope.
2104
+ - `--action <CHOICE>` _(choices: `allow`, `deny` · required)_
2105
+ - `--cidr <TEXT>` — Destination CIDR (e.g. 10.0.0.0/8 or 1.2.3.4/32).
2106
+ - `--fqdn <TEXT>` — Destination hostname (e.g. api.example.com).
2107
+ - `--any` — Catch-all (default) rule.
2108
+ - `--proto <CHOICE>` _(choices: `tcp`, `udp`, `icmp`, `any` · default: `any`)_
2109
+ - `--ports <TEXT>` — Port or port range (e.g. 443 or 30000-39999).
2110
+ - `--position <INTEGER>` — Insert at a specific 0-indexed position.
2111
+
2112
+ #### `avr firewall delete`
2113
+
2114
+ Delete a rule by ID.
2115
+
2116
+ ```sh
2117
+ avr firewall delete [OPTIONS] RULE_ID
2118
+ ```
2119
+
2120
+ **Arguments**
2121
+
2122
+ - `RULE_ID`
2123
+
2124
+ **Options**
2125
+
2126
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified.
2127
+ - `--repo <TEXT>` — Repository ID. If provided, deletes a repo-level rule.
2128
+
2129
+ #### `avr firewall flow-summaries`
2130
+
2131
+ Show per-VM network activity summaries captured at VM stop.
2132
+
2133
+ ```sh
2134
+ avr firewall flow-summaries [OPTIONS]
2135
+ ```
2136
+
2137
+ Each row is the totals + top-N destinations for one VM run. The Blocked
2138
+ column counts both per-rule packet drops and DNS queries the firewall
2139
+ refused to resolve. Use ``--with-drops`` to triage what the firewall
2140
+ blocked after editing a rule or ``--job`` to include every execution
2141
+ attempt for a job.
2142
+
2143
+ **Options**
2144
+
2145
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified.
2146
+ - `--repo <TEXT>` — Repository ID. _(required)_
2147
+ - `--job, --job-id <TEXT>` — Filter to every VM execution attempt for a job ID.
2148
+ - `--with-drops` — Show only summaries where the firewall blocked at least one flow.
2149
+ - `-L, --limit <INTEGER RANGE>` — Max summaries to return. _(default: `20`)_
2150
+ - `--offset <INTEGER RANGE>` — Number of summaries to skip. _(default: `0`)_
2151
+ - `--from, --start-after <TEXT>` — Only include summaries that started at or after this ISO-8601 timestamp.
2152
+ - `--to, --end-before <TEXT>` — Only include summaries that ended at or before this ISO-8601 timestamp.
2153
+ - `--json` — Emit raw JSON instead of a table.
2154
+
2155
+ #### `avr firewall list`
2156
+
2157
+ List egress firewall rules for the given scope.
2158
+
2159
+ ```sh
2160
+ avr firewall list [OPTIONS]
2161
+ ```
2162
+
2163
+ **Options**
2164
+
2165
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified.
2166
+ - `--repo <TEXT>` — Repository ID. If provided, shows the repo-level list.
2167
+ - `--json` — Output rules as JSON instead of a table.
2168
+
2169
+ #### `avr firewall move`
2170
+
2171
+ Move a rule to a new position (rewrites the full ordering atomically).
2172
+
2173
+ ```sh
2174
+ avr firewall move [OPTIONS] RULE_ID
2175
+ ```
2176
+
2177
+ **Arguments**
2178
+
2179
+ - `RULE_ID`
2180
+
2181
+ **Options**
2182
+
2183
+ - `--to <INTEGER>` — Target 0-indexed position. _(required)_
2184
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified.
2185
+ - `--repo <TEXT>` — Repository ID. If provided, moves a repo-level rule.
2186
+
2187
+ #### `avr firewall set-default`
2188
+
2189
+ Set (or replace) the catch-all (default) rule for the scope.
2190
+
2191
+ ```sh
2192
+ avr firewall set-default [OPTIONS]
2193
+ ```
2194
+
2195
+ **Options**
2196
+
2197
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified.
2198
+ - `--repo <TEXT>` — Repository ID. If provided, sets the repo-level default.
2199
+ - `--action <CHOICE>` _(choices: `allow`, `deny` · required)_
2200
+
2201
+ #### `avr firewall show`
2202
+
2203
+ Show the resolved (merged) firewall rule list for a repository.
2204
+
2205
+ ```sh
2206
+ avr firewall show [OPTIONS]
2207
+ ```
2208
+
2209
+ **Options**
2210
+
2211
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified.
2212
+ - `--repo <TEXT>` — Repository ID. _(required)_
2213
+ - `--json` — Output resolved rules as JSON instead of a table.
2214
+
2215
+ ### `avr billing`
2216
+
2217
+ Manage billing, invoices, and payment methods.
2218
+
2219
+ ```sh
2220
+ avr billing [OPTIONS] COMMAND [ARGS]...
2221
+ ```
2222
+
2223
+ #### `avr billing invoices`
2224
+
2225
+ Manage invoices.
2226
+
2227
+ ```sh
2228
+ avr billing invoices [OPTIONS] COMMAND [ARGS]...
2229
+ ```
2230
+
2231
+ ##### `avr billing invoices download`
2232
+
2233
+ Download an invoice PDF.
2234
+
2235
+ ```sh
2236
+ avr billing invoices download [OPTIONS] INVOICE_ID
2237
+ ```
2238
+
2239
+ **Arguments**
2240
+
2241
+ - `INVOICE_ID`
2242
+
2243
+ **Options**
2244
+
2245
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2246
+ - `--out <TEXT>` — Output file path. Defaults to &lt;invoice_id&gt;.pdf.
2247
+
2248
+ ##### `avr billing invoices list`
2249
+
2250
+ List invoices.
2251
+
2252
+ ```sh
2253
+ avr billing invoices list [OPTIONS]
2254
+ ```
2255
+
2256
+ ```sh
2257
+ JSON FIELDS
2258
+ created_at, currency, has_pdf, invoice_id, period_end, period_start,
2259
+ status, subtotal_cents, tax_cents, total_cents
2260
+ ```
2261
+
2262
+ **Options**
2263
+
2264
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2265
+ - `-L, --limit <INTEGER RANGE>` — Max invoices to return. _(default: `50`)_
2266
+ - `--cursor <TEXT>` — Pagination cursor from a previous response.
2267
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2268
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2269
+
2270
+ ##### `avr billing invoices show`
2271
+
2272
+ Show details for a single invoice.
2273
+
2274
+ ```sh
2275
+ avr billing invoices show [OPTIONS] INVOICE_ID
2276
+ ```
2277
+
2278
+ ```sh
2279
+ JSON FIELDS
2280
+ created_at, currency, has_pdf, invoice_id, line_items, period_end,
2281
+ period_start, status, subtotal_cents, tax_cents, total_cents
2282
+ ```
2283
+
2284
+ **Arguments**
2285
+
2286
+ - `INVOICE_ID`
2287
+
2288
+ **Options**
2289
+
2290
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2291
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2292
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2293
+
2294
+ #### `avr billing payment-methods`
2295
+
2296
+ Manage payment methods.
2297
+
2298
+ ```sh
2299
+ avr billing payment-methods [OPTIONS] COMMAND [ARGS]...
2300
+ ```
2301
+
2302
+ ##### `avr billing payment-methods add`
2303
+
2304
+ Add a credit card as a payment method.
2305
+
2306
+ ```sh
2307
+ avr billing payment-methods add [OPTIONS]
2308
+ ```
2309
+
2310
+ Card details are sent directly to Stripe and never touch Avrea servers.
2311
+
2312
+ **Options**
2313
+
2314
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2315
+ - `--number <TEXT>` — Credit card number. Prefer prompting over --number to avoid shell history. _(required)_
2316
+ - `--exp-month <INTEGER RANGE>` — Card expiration month. _(required)_
2317
+ - `--exp-year <INTEGER>` — Card expiration year. _(required)_
2318
+ - `--cvc <TEXT>` — Card CVC/CVV code. Prefer prompting over --cvc to avoid shell history. _(required)_
2319
+
2320
+ ##### `avr billing payment-methods list`
2321
+
2322
+ List payment methods.
2323
+
2324
+ ```sh
2325
+ avr billing payment-methods list [OPTIONS]
2326
+ ```
2327
+
2328
+ ```sh
2329
+ JSON FIELDS
2330
+ card_brand, card_exp_month, card_exp_year, card_last4, is_default,
2331
+ payment_method_id
2332
+ ```
2333
+
2334
+ **Options**
2335
+
2336
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2337
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2338
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2339
+
2340
+ ##### `avr billing payment-methods remove`
2341
+
2342
+ Remove a payment method.
2343
+
2344
+ ```sh
2345
+ avr billing payment-methods remove [OPTIONS] PM_ID
2346
+ ```
2347
+
2348
+ **Arguments**
2349
+
2350
+ - `PM_ID`
2351
+
2352
+ **Options**
2353
+
2354
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2355
+ - `--yes` — Skip confirmation prompt.
2356
+
2357
+ ##### `avr billing payment-methods set-default`
2358
+
2359
+ Set a payment method as the default.
2360
+
2361
+ ```sh
2362
+ avr billing payment-methods set-default [OPTIONS] PM_ID
2363
+ ```
2364
+
2365
+ **Arguments**
2366
+
2367
+ - `PM_ID`
2368
+
2369
+ **Options**
2370
+
2371
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2372
+
2373
+ #### `avr billing settings`
2374
+
2375
+ Show billing settings.
2376
+
2377
+ ```sh
2378
+ avr billing settings [OPTIONS]
2379
+ ```
2380
+
2381
+ ```sh
2382
+ JSON FIELDS
2383
+ billing_address, billing_emails, metronome_customer_id,
2384
+ stripe_customer_id, tax_id
2385
+ ```
2386
+
2387
+ **Options**
2388
+
2389
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2390
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2391
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2392
+
2393
+ #### `avr billing summary`
2394
+
2395
+ Show billing summary for the organization.
2396
+
2397
+ ```sh
2398
+ avr billing summary [OPTIONS]
2399
+ ```
2400
+
2401
+ ```sh
2402
+ JSON FIELDS
2403
+ billing_emails, default_payment_method, has_billing
2404
+ ```
2405
+
2406
+ **Options**
2407
+
2408
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2409
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2410
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2411
+
2412
+ #### `avr billing update-settings`
2413
+
2414
+ Update billing settings.
2415
+
2416
+ ```sh
2417
+ avr billing update-settings [OPTIONS]
2418
+ ```
2419
+
2420
+ ```sh
2421
+ Examples:
2422
+ avr billing update-settings --email billing@example.com
2423
+ avr billing update-settings --tax-id EU123456789
2424
+ avr billing update-settings --email a@example.com,b@example.com --tax-id FI12345678
2425
+ ```
2426
+
2427
+ ```sh
2428
+ JSON FIELDS
2429
+ billing_address, billing_emails, metronome_customer_id,
2430
+ stripe_customer_id, tax_id
2431
+ ```
2432
+
2433
+ **Options**
2434
+
2435
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2436
+ - `--email <TEXT>` — Billing email address(es), comma-separated.
2437
+ - `--tax-id <TEXT>` — Tax ID (e.g. VAT number).
2438
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2439
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2440
+
2441
+ ### `avr audit-events`
2442
+
2443
+ View audit events for organization writes.
2444
+
2445
+ ```sh
2446
+ avr audit-events [OPTIONS] COMMAND [ARGS]...
2447
+ ```
2448
+
2449
+ #### `avr audit-events list`
2450
+
2451
+ List audit events for the organization.
2452
+
2453
+ ```sh
2454
+ avr audit-events list [OPTIONS]
2455
+ ```
2456
+
2457
+ ```sh
2458
+ JSON FIELDS
2459
+ acting_api_key_id, action, actor_type, actor_user_id, client_ip,
2460
+ created_at, event_data, event_id, resource_id, resource_type
2461
+ ```
2462
+
2463
+ **Options**
2464
+
2465
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2466
+ - `--resource-type <TEXT>` — Filter by resource type (e.g. api_key, user).
2467
+ - `--action <TEXT>` — Filter by action (CREATE, UPDATE, DELETE, ...).
2468
+ - `--actor-user-id <TEXT>` — Filter by acting user id.
2469
+ - `--from, --created-after <TEXT>` — ISO-8601 lower bound (inclusive) on created_at.
2470
+ - `--to, --created-before <TEXT>` — ISO-8601 upper bound (exclusive) on created_at.
2471
+ - `-L, --limit <INTEGER RANGE>` — Max events to return. _(default: `100`)_
2472
+ - `--cursor <TEXT>` — Opaque cursor from a previous response's next_cursor.
2473
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2474
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2475
+
2476
+ ### `avr repo`
2477
+
2478
+ Manage repositories, git mirrors, and public mirrors.
2479
+
2480
+ ```sh
2481
+ avr repo [OPTIONS] COMMAND [ARGS]...
2482
+ ```
2483
+
2484
+ #### `avr repo clone`
2485
+
2486
+ Clone a repository from its nearest available Avrea mirror.
2487
+
2488
+ ```sh
2489
+ avr repo clone [OPTIONS] REPOSITORY [DIRECTORY]
2490
+ ```
2491
+
2492
+ REPOSITORY is an owner/repository name or an Avrea repository ID (rep-...).
2493
+ When several placements are available, the first to serve the repository
2494
+ wins. A single placement is used directly. Use --placement to select an
2495
+ exact URL or hostname. Requires Git 2.31 or newer.
2496
+
2497
+ The origin remote stays on the selected read-only mirror. A repository-local
2498
+ Avrea credential helper obtains fresh Git JWTs for subsequent fetch and pull
2499
+ operations using your Avrea login. Push changes to the source repository
2500
+ using a separate remote. Tokens normally last one hour; scoped API keys have
2501
+ a shorter server-enforced lifetime. Tokens are never saved in the repository.
2502
+
2503
+ ```sh
2504
+ Examples:
2505
+ avr repo clone foo/faa
2506
+ avr repo clone foo/faa my-checkout --depth 1
2507
+ avr repo clone foo/faa --placement https://git.fi.a.avrea.io
2508
+ ```
2509
+
2510
+ **Arguments**
2511
+
2512
+ - `REPOSITORY`
2513
+ - `[DIRECTORY]`
2514
+
2515
+ **Options**
2516
+
2517
+ - `--placement <TEXT>` — Exact mirror URL or hostname from the repository's placements.
2518
+ - `--branch, -b <TEXT>` — Branch or tag to check out.
2519
+ - `--depth <INTEGER RANGE>` — Create a shallow clone with this many commits.
2520
+
2521
+ #### `avr repo list`
2522
+
2523
+ List repositories you can access in an organization.
2524
+
2525
+ ```sh
2526
+ avr repo list [OPTIONS]
2527
+ ```
2528
+
2529
+ ```sh
2530
+ Examples:
2531
+ avr repo list
2532
+ avr repo list --json full_name,repository_id
2533
+ avr repo list --json '*' -q '.[].full_name'
2534
+ ```
2535
+
2536
+ ```sh
2537
+ JSON FIELDS
2538
+ full_name, platform, platform_repository_id, repository_id
2539
+ ```
2540
+
2541
+ **Options**
2542
+
2543
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2544
+ - `-L, --limit <INTEGER RANGE>` — Max repositories to return. _(default: `100`)_
2545
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2546
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2547
+
2548
+ #### `avr repo mirror`
2549
+
2550
+ Manage this repository's avrea-git mirror (feature-flagged).
2551
+
2552
+ ```sh
2553
+ avr repo mirror [OPTIONS] COMMAND [ARGS]...
2554
+ ```
2555
+
2556
+ ##### `avr repo mirror create`
2557
+
2558
+ Enable mirroring and place a connected repository at a location.
2559
+
2560
+ ```sh
2561
+ avr repo mirror create [OPTIONS] REPOSITORY
2562
+ ```
2563
+
2564
+ REPOSITORY is an owner/repo name on GitHub or a namespace/repo name on
2565
+ GitLab (including nested groups). GitLab repositories cannot be mirrored
2566
+ until GitLab mirroring is enabled for your organization. The repository
2567
+ must already be connected to the
2568
+ selected Avrea organization. Requires the organization admin role.
2569
+
2570
+ Safe to repeat: existing placements and their source configuration are
2571
+ preserved. The initial sync runs asynchronously; use `mirror status`
2572
+ with the returned repository ID to check progress.
2573
+
2574
+ ```sh
2575
+ Examples:
2576
+ avr repo mirror locations
2577
+ avr repo mirror create acme/widgets --location gsc-fi
2578
+ avr repo mirror create acme/team/widgets --source gitlab --location gsc-fi
2579
+ ```
2580
+
2581
+ ```sh
2582
+ JSON FIELDS
2583
+ enabled, full_name, placements, repository_id
2584
+ ```
2585
+
2586
+ **Arguments**
2587
+
2588
+ - `REPOSITORY`
2589
+
2590
+ **Options**
2591
+
2592
+ - `--source <CHOICE>` — Source platform. GitLab requires GitLab mirroring to be enabled for your organization. _(choices: `github`, `gitlab` · default: `github`)_
2593
+ - `--location <TEXT>` — Cluster ID, datacenter ID, or unique name from `avr repo mirror locations`. _(required)_
2594
+ - `--org <TEXT>` — Organization ID or slug. Uses the default organization.
2595
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2596
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2597
+
2598
+ ##### `avr repo mirror disable`
2599
+
2600
+ Stop mirroring the repository into avrea-git.
2601
+
2602
+ ```sh
2603
+ avr repo mirror disable [OPTIONS]
2604
+ ```
2605
+
2606
+ Placements are kept but become inert, so re-enabling restores them.
2607
+ Requires the organization admin role.
2608
+
2609
+ ```sh
2610
+ Examples:
2611
+ avr repo mirror disable
2612
+ avr repo mirror disable --repo acme/widgets --yes
2613
+ ```
2614
+
2615
+ ```sh
2616
+ JSON FIELDS
2617
+ enabled, full_name, placements, repository_id
2618
+ ```
2619
+
2620
+ **Options**
2621
+
2622
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git remote if omitted.
2623
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2624
+ - `--yes, -y` — Skip the confirmation prompt.
2625
+ - `--source <CHOICE>` — Source platform. GitLab requires GitLab mirroring to be enabled for your organization. _(choices: `github`, `gitlab` · default: `github`)_
2626
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2627
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2628
+
2629
+ ##### `avr repo mirror enable`
2630
+
2631
+ Declare the repository mirrored into avrea-git.
2632
+
2633
+ ```sh
2634
+ avr repo mirror enable [OPTIONS]
2635
+ ```
2636
+
2637
+ Enabling makes existing placements active again; a freshly declared
2638
+ repository still needs at least one placement (`avr repo mirror place`)
2639
+ before anything is synced. Requires the organization admin role.
2640
+
2641
+ ```sh
2642
+ Examples:
2643
+ avr repo mirror enable
2644
+ avr repo mirror enable --repo acme/widgets
2645
+ ```
2646
+
2647
+ ```sh
2648
+ JSON FIELDS
2649
+ enabled, full_name, placements, repository_id
2650
+ ```
2651
+
2652
+ **Options**
2653
+
2654
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git remote if omitted.
2655
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2656
+ - `--source <CHOICE>` — Source platform. GitLab requires GitLab mirroring to be enabled for your organization. _(choices: `github`, `gitlab` · default: `github`)_
2657
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2658
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2659
+
2660
+ ##### `avr repo mirror locations`
2661
+
2662
+ List available mirror locations and their cluster IDs.
2663
+
2664
+ ```sh
2665
+ avr repo mirror locations [OPTIONS]
2666
+ ```
2667
+
2668
+ Use a cluster ID, datacenter ID, or unique name with `mirror create --location`.
2669
+
2670
+ ```sh
2671
+ Examples:
2672
+ avr repo mirror locations
2673
+ avr repo mirror locations --json cluster_id,name
2674
+ ```
2675
+
2676
+ ```sh
2677
+ JSON FIELDS
2678
+ cluster_id, datacenter_id, name
2679
+ ```
2680
+
2681
+ **Options**
2682
+
2683
+ - `--org <TEXT>` — Organization ID or slug. Uses the default organization.
2684
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2685
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2686
+
2687
+ ##### `avr repo mirror place`
2688
+
2689
+ Place the repository's mirror in a git cluster.
2690
+
2691
+ ```sh
2692
+ avr repo mirror place [OPTIONS] CLUSTER_ID
2693
+ ```
2694
+
2695
+ CLUSTER_ID is one of the ids from `avr repo mirror locations`. Placing is
2696
+ idempotent; a new placement syncs from the upstream platform copy.
2697
+ Mirroring must be enabled first. Requires the organization admin role.
2698
+
2699
+ ```sh
2700
+ Examples:
2701
+ avr repo mirror place gsc-fi
2702
+ avr repo mirror place gsc-fi --repo acme/widgets
2703
+ ```
2704
+
2705
+ ```sh
2706
+ JSON FIELDS
2707
+ enabled, full_name, placements, repository_id
2708
+ ```
2709
+
2710
+ **Arguments**
2711
+
2712
+ - `CLUSTER_ID`
2713
+
2714
+ **Options**
2715
+
2716
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git remote if omitted.
2717
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2718
+ - `--source <CHOICE>` — Source platform. GitLab requires GitLab mirroring to be enabled for your organization. _(choices: `github`, `gitlab` · default: `github`)_
2719
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2720
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2721
+
2722
+ ##### `avr repo mirror status`
2723
+
2724
+ Show the repository's git-mirror declaration and placements.
2725
+
2726
+ ```sh
2727
+ avr repo mirror status [OPTIONS]
2728
+ ```
2729
+
2730
+ ```sh
2731
+ Examples:
2732
+ avr repo mirror status
2733
+ avr repo mirror status --repo acme/widgets
2734
+ avr repo mirror status --json enabled,placements
2735
+ ```
2736
+
2737
+ ```sh
2738
+ JSON FIELDS
2739
+ enabled, full_name, placements, repository_id
2740
+ ```
2741
+
2742
+ **Options**
2743
+
2744
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git remote if omitted.
2745
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2746
+ - `--source <CHOICE>` — Source platform. GitLab requires GitLab mirroring to be enabled for your organization. _(choices: `github`, `gitlab` · default: `github`)_
2747
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2748
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2749
+
2750
+ ##### `avr repo mirror unplace`
2751
+
2752
+ Remove the repository's mirror from a git cluster.
2753
+
2754
+ ```sh
2755
+ avr repo mirror unplace [OPTIONS] CLUSTER_ID
2756
+ ```
2757
+
2758
+ The mirrored data in that cluster is dropped; other placements are
2759
+ unaffected. Requires the organization admin role.
2760
+
2761
+ ```sh
2762
+ Examples:
2763
+ avr repo mirror unplace gsc-fi
2764
+ avr repo mirror unplace gsc-fi --repo acme/widgets --yes
2765
+ ```
2766
+
2767
+ ```sh
2768
+ JSON FIELDS
2769
+ enabled, full_name, placements, repository_id
2770
+ ```
2771
+
2772
+ **Arguments**
2773
+
2774
+ - `CLUSTER_ID`
2775
+
2776
+ **Options**
2777
+
2778
+ - `--repo <TEXT>` — Repository (org/repo or rep-xxx). Auto-detected from git remote if omitted.
2779
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2780
+ - `--yes, -y` — Skip the confirmation prompt.
2781
+ - `--source <CHOICE>` — Source platform. GitLab requires GitLab mirroring to be enabled for your organization. _(choices: `github`, `gitlab` · default: `github`)_
2782
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2783
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2784
+
2785
+ #### `avr repo public-mirror`
2786
+
2787
+ Request and browse mirrors of public GitHub repositories.
2788
+
2789
+ ```sh
2790
+ avr repo public-mirror [OPTIONS] COMMAND [ARGS]...
2791
+ ```
2792
+
2793
+ ##### `avr repo public-mirror cancel`
2794
+
2795
+ Cancel one pending public-mirror request.
2796
+
2797
+ ```sh
2798
+ avr repo public-mirror cancel [OPTIONS] REQUEST_ID
2799
+ ```
2800
+
2801
+ An approved mirror is global and cannot be withdrawn by a requester.
2802
+
2803
+ ```sh
2804
+ Examples:
2805
+ avr repo public-mirror cancel pmr-0123456789abcdef0123456789abcdef
2806
+ avr repo public-mirror cancel pmr-0123456789abcdef0123456789abcdef --yes
2807
+ ```
2808
+
2809
+ ```sh
2810
+ JSON FIELDS
2811
+ approval_state, created_at, github_snapshot, public_access_expires_at,
2812
+ reason, repository_full_name, repository_id, request_id,
2813
+ requester_organization_id, requester_user_id, review_note, reviewed_at,
2814
+ reviewed_by_user_id, status, updated_at
2815
+ ```
2816
+
2817
+ **Arguments**
2818
+
2819
+ - `REQUEST_ID`
2820
+
2821
+ **Options**
2822
+
2823
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2824
+ - `--yes, -y` — Skip the confirmation prompt.
2825
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2826
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2827
+
2828
+ ##### `avr repo public-mirror check`
2829
+
2830
+ Check whether a public GitHub repository mirror is available.
2831
+
2832
+ ```sh
2833
+ avr repo public-mirror check [OPTIONS] FULL_NAME
2834
+ ```
2835
+
2836
+ FULL_NAME must be an owner/repository name. This performs an exact lookup;
2837
+ the global public-mirror catalog cannot be listed.
2838
+
2839
+ A repository that is not mirrored is an answer, not a failure: the command
2840
+ reports ``Available: no`` (``available: false`` under --json) and exits 0.
2841
+ Only a real failure — denied, malformed name, server error — exits non-zero.
2842
+
2843
+ ```sh
2844
+ Examples:
2845
+ avr repo public-mirror check rust-lang/rust
2846
+ avr repo public-mirror check rust-lang/rust --json '*'
2847
+ avr repo public-mirror check rust-lang/rust --json available,default_branch
2848
+ ```
2849
+
2850
+ ```sh
2851
+ JSON FIELDS
2852
+ approval_state, available, default_branch, https_clone_url,
2853
+ installation_kind, is_archived, is_disabled, is_fork, mirror_enabled,
2854
+ platform_owner_id, platform_owner_login, platform_owner_type,
2855
+ platform_pushed_at, platform_repository_id, platform_size_kb,
2856
+ public_access_expires_at, public_metadata_verified_at,
2857
+ repository_full_name, repository_id
2858
+ ```
2859
+
2860
+ **Arguments**
2861
+
2862
+ - `FULL_NAME`
2863
+
2864
+ **Options**
2865
+
2866
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2867
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2868
+
2869
+ ##### `avr repo public-mirror request`
2870
+
2871
+ Request a mirror of a public GitHub repository.
2872
+
2873
+ ```sh
2874
+ avr repo public-mirror request [OPTIONS] FULL_NAME
2875
+ ```
2876
+
2877
+ FULL_NAME is the canonical GitHub owner/repository name. Avrea validates
2878
+ the repository with GitHub before recording the request.
2879
+
2880
+ ```sh
2881
+ Examples:
2882
+ avr repo public-mirror request rust-lang/rust
2883
+ avr repo public-mirror request rust-lang/rust --reason "Build dependency"
2884
+ avr repo public-mirror request rust-lang/rust --org acme --json '*'
2885
+ ```
2886
+
2887
+ ```sh
2888
+ JSON FIELDS
2889
+ approval_state, created_at, github_snapshot, public_access_expires_at,
2890
+ reason, repository_full_name, repository_id, request_id,
2891
+ requester_organization_id, requester_user_id, review_note, reviewed_at,
2892
+ reviewed_by_user_id, status, updated_at
2893
+ ```
2894
+
2895
+ **Arguments**
2896
+
2897
+ - `FULL_NAME`
2898
+
2899
+ **Options**
2900
+
2901
+ - `--reason <TEXT>` — Why your organization needs this repository mirrored.
2902
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2903
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2904
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2905
+
2906
+ ##### `avr repo public-mirror requests`
2907
+
2908
+ List your organization's public-mirror requests.
2909
+
2910
+ ```sh
2911
+ avr repo public-mirror requests [OPTIONS]
2912
+ ```
2913
+
2914
+ ```sh
2915
+ Examples:
2916
+ avr repo public-mirror requests
2917
+ avr repo public-mirror requests --org acme
2918
+ avr repo public-mirror requests --json request_id,status,repository_full_name
2919
+ ```
2920
+
2921
+ ```sh
2922
+ JSON FIELDS
2923
+ approval_state, created_at, github_snapshot, public_access_expires_at,
2924
+ reason, repository_full_name, repository_id, request_id,
2925
+ requester_organization_id, requester_user_id, review_note, reviewed_at,
2926
+ reviewed_by_user_id, status, updated_at
2927
+ ```
2928
+
2929
+ **Options**
2930
+
2931
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2932
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2933
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2934
+
2935
+ ##### `avr repo public-mirror view`
2936
+
2937
+ View one public-mirror request.
2938
+
2939
+ ```sh
2940
+ avr repo public-mirror view [OPTIONS] REQUEST_ID
2941
+ ```
2942
+
2943
+ ```sh
2944
+ Examples:
2945
+ avr repo public-mirror view pmr-0123456789abcdef0123456789abcdef
2946
+ avr repo public-mirror view pmr-0123456789abcdef0123456789abcdef --json '*'
2947
+ ```
2948
+
2949
+ ```sh
2950
+ JSON FIELDS
2951
+ approval_state, created_at, github_snapshot, public_access_expires_at,
2952
+ reason, repository_full_name, repository_id, request_id,
2953
+ requester_organization_id, requester_user_id, review_note, reviewed_at,
2954
+ reviewed_by_user_id, status, updated_at
2955
+ ```
2956
+
2957
+ **Arguments**
2958
+
2959
+ - `REQUEST_ID`
2960
+
2961
+ **Options**
2962
+
2963
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
2964
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2965
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2966
+
2967
+ ### `avr org`
2968
+
2969
+ Manage organizations and installations.
2970
+
2971
+ ```sh
2972
+ avr org [OPTIONS] COMMAND [ARGS]...
2973
+ ```
2974
+
2975
+ #### `avr org create`
2976
+
2977
+ Create a new organization.
2978
+
2979
+ ```sh
2980
+ avr org create [OPTIONS] NAME
2981
+ ```
2982
+
2983
+ ```sh
2984
+ JSON FIELDS
2985
+ name, organization_id, role, slug
2986
+ ```
2987
+
2988
+ **Arguments**
2989
+
2990
+ - `NAME`
2991
+
2992
+ **Options**
2993
+
2994
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
2995
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
2996
+
2997
+ #### `avr org email-domain`
2998
+
2999
+ Claim and verify organization email domains.
3000
+
3001
+ ```sh
3002
+ avr org email-domain [OPTIONS] COMMAND [ARGS]...
3003
+ ```
3004
+
3005
+ ##### `avr org email-domain claim`
3006
+
3007
+ Claim a company domain using DNS ownership verification (admin only).
3008
+
3009
+ ```sh
3010
+ avr org email-domain claim [OPTIONS] DOMAIN
3011
+ ```
3012
+
3013
+ The domain does not need to match your GitHub or Avrea account email.
3014
+ Publish the returned TXT record, then run ``email-domain verify``.
3015
+
3016
+ ```sh
3017
+ Examples:
3018
+ avr org email-domain claim example.com
3019
+ avr org email-domain claim corp.example.com --org acme
3020
+ ```
3021
+
3022
+ ```sh
3023
+ JSON FIELDS
3024
+ created_at, dns_record_name, dns_record_value, domain,
3025
+ organization_email_domain_id, verified, verified_at
3026
+ ```
3027
+
3028
+ **Arguments**
3029
+
3030
+ - `DOMAIN`
3031
+
3032
+ **Options**
3033
+
3034
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3035
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3036
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3037
+
3038
+ ##### `avr org email-domain list`
3039
+
3040
+ List claimed organization email domains (admin only).
3041
+
3042
+ ```sh
3043
+ avr org email-domain list [OPTIONS]
3044
+ ```
3045
+
3046
+ ```sh
3047
+ JSON FIELDS
3048
+ created_at, dns_record_name, dns_record_value, domain,
3049
+ organization_email_domain_id, verified, verified_at
3050
+ ```
3051
+
3052
+ **Options**
3053
+
3054
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3055
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3056
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3057
+
3058
+ ##### `avr org email-domain set`
3059
+
3060
+ Set email domains for automatic org membership (admin only).
3061
+
3062
+ ```sh
3063
+ avr org email-domain set [OPTIONS] DOMAINS...
3064
+ ```
3065
+
3066
+ Replaces all existing domains — a typo wipes the org's auto-membership
3067
+ policy. Confirms before applying; pass --yes to skip the prompt (required
3068
+ when stdout isn't a TTY, e.g. in CI).
3069
+
3070
+ ```sh
3071
+ Examples:
3072
+ avr org email-domain set example.com
3073
+ avr org email-domain set example.com corp.example.com --yes
3074
+ ```
3075
+
3076
+ **Arguments**
3077
+
3078
+ - `DOMAINS...`
3079
+
3080
+ **Options**
3081
+
3082
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3083
+ - `--yes, -y` — Skip confirmation prompt.
3084
+
3085
+ ##### `avr org email-domain verify`
3086
+
3087
+ Check a claimed domain's DNS TXT record (admin only).
3088
+
3089
+ ```sh
3090
+ avr org email-domain verify [OPTIONS] DOMAIN
3091
+ ```
3092
+
3093
+ Each invocation performs a fresh DNS lookup. If DNS has not propagated,
3094
+ wait and run the command again.
3095
+
3096
+ ```sh
3097
+ Examples:
3098
+ avr org email-domain verify example.com
3099
+ avr org email-domain verify corp.example.com --org acme
3100
+ ```
3101
+
3102
+ ```sh
3103
+ JSON FIELDS
3104
+ created_at, dns_record_name, dns_record_value, domain,
3105
+ organization_email_domain_id, verified, verified_at
3106
+ ```
3107
+
3108
+ **Arguments**
3109
+
3110
+ - `DOMAIN`
3111
+
3112
+ **Options**
3113
+
3114
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3115
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3116
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3117
+
3118
+ #### `avr org install`
3119
+
3120
+ Manage GitHub and GitLab installations.
3121
+
3122
+ ```sh
3123
+ avr org install [OPTIONS] COMMAND [ARGS]...
3124
+ ```
3125
+
3126
+ ##### `avr org install add`
3127
+
3128
+ Add a GitHub or GitLab installation.
3129
+
3130
+ ```sh
3131
+ avr org install add [OPTIONS]
3132
+ ```
3133
+
3134
+ GitHub is the default and retains the browser-based GitHub App flow.
3135
+
3136
+ For GitLab, create an expiring gitlab.com group access token with Reporter
3137
+ role, api, and read_repository. The token is read from a hidden prompt
3138
+ or stdin and is never accepted as a command-line value.
3139
+
3140
+ ```sh
3141
+ Examples:
3142
+ avr org install add
3143
+ avr org install add --platform gitlab --group-full-path acme/platform --project-selection all
3144
+ printf '%s\n' "$GITLAB_TOKEN" | avr org install add --platform gitlab \
3145
+ --group-full-path acme/platform --project-selection selected \
3146
+ --project-id 123 --access-token-stdin
3147
+ ```
3148
+
3149
+ With --json, GitHub emits the installations detected within --wait-seconds
3150
+ as a list and keeps progress messages on stderr; GitLab emits the
3151
+ registered installation, and the field list or jq filter must keep
3152
+ webhook_setup, which carries the one-time webhook secret.
3153
+
3154
+ ```sh
3155
+ JSON FIELDS (GitHub)
3156
+ created_at, installation_id, organization_name, organization_slug,
3157
+ platform, platform_installation_id, platform_settings_url, state,
3158
+ target_id, target_name, target_type, configured_runner_count, degraded_runner_count
3159
+ ```
3160
+
3161
+ ```sh
3162
+ JSON FIELDS (GitLab)
3163
+ access_token_expires_on, access_token_invalid_at,
3164
+ access_token_last_validated_at, created_at, credential_kind,
3165
+ gitlab_namespace_full_path, gitlab_namespace_id, gitlab_project_ids,
3166
+ installation_id, organization_id, project_selection_mode, configured_runner_count,
3167
+ degraded_runner_count, selected_project_count, state, target_type,
3168
+ updated_at, webhook_secret_rotated_at, webhook_setup
3169
+ ```
3170
+
3171
+ **Options**
3172
+
3173
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3174
+ - `--platform <CHOICE>` — Source platform to install. _(choices: `github`, `gitlab` · default: `github`)_
3175
+ - `--group-full-path <TEXT>` — GitLab group full path, such as acme/platform.
3176
+ - `--project-selection <CHOICE>` — GitLab project selection mode. _(choices: `all`, `selected`)_
3177
+ - `--project-id <INTEGER RANGE>` — GitLab numeric project ID to select (repeatable, up to 1,000). _(repeatable)_
3178
+ - `--access-token-stdin` — Read the GitLab group access token from stdin instead of prompting.
3179
+ - `--no-browser` — Do not open browser automatically.
3180
+ - `--wait-seconds <INTEGER>` — Seconds to wait for detection. _(default: `120`)_
3181
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3182
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3183
+
3184
+ ##### `avr org install list`
3185
+
3186
+ List accessible installations across all your organizations.
3187
+
3188
+ ```sh
3189
+ avr org install list [OPTIONS]
3190
+ ```
3191
+
3192
+ ```sh
3193
+ JSON FIELDS
3194
+ created_at, installation_id, organization_name, organization_slug,
3195
+ platform, platform_installation_id, platform_settings_url, state,
3196
+ target_id, target_name, target_type, configured_runner_count, degraded_runner_count
3197
+ ```
3198
+
3199
+ **Options**
3200
+
3201
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3202
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3203
+
3204
+ ##### `avr org install remove`
3205
+
3206
+ Remove an installation using its provider-specific lifecycle.
3207
+
3208
+ ```sh
3209
+ avr org install remove [OPTIONS]
3210
+ ```
3211
+
3212
+ GitHub installations are suspended. GitLab installations are permanently
3213
+ disconnected, including their Avrea history; use `avr org install rotate`
3214
+ for a credential problem instead. Pass --yes to skip confirmation.
3215
+
3216
+ ```sh
3217
+ JSON FIELDS
3218
+ action, installation_id, organization_id, platform
3219
+ ```
3220
+
3221
+ **Options**
3222
+
3223
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3224
+ - `--installation-id <TEXT>` — Installation ID to remove (ins-xxx format) _(required)_
3225
+ - `--yes, -y` — Skip confirmation prompt.
3226
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3227
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3228
+
3229
+ ##### `avr org install rotate`
3230
+
3231
+ Rotate a GitLab installation's access token and webhook secret.
3232
+
3233
+ ```sh
3234
+ avr org install rotate [OPTIONS]
3235
+ ```
3236
+
3237
+ Create an expiring gitlab.com group access token with Reporter role,
3238
+ api, and read_repository. The new token is read from a hidden prompt
3239
+ or stdin and is never accepted as a command-line value.
3240
+
3241
+ With --json, the field list or jq filter must keep webhook_setup, which
3242
+ carries the one-time webhook secret.
3243
+
3244
+ ```sh
3245
+ JSON FIELDS
3246
+ access_token_expires_on, access_token_invalid_at,
3247
+ access_token_last_validated_at, created_at, credential_kind,
3248
+ gitlab_namespace_full_path, gitlab_namespace_id, gitlab_project_ids,
3249
+ installation_id, organization_id, project_selection_mode, configured_runner_count,
3250
+ degraded_runner_count, selected_project_count, state, target_type,
3251
+ updated_at, webhook_secret_rotated_at, webhook_setup
3252
+ ```
3253
+
3254
+ **Options**
3255
+
3256
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3257
+ - `--installation-id <TEXT>` — GitLab installation ID (ins-xxx format). _(required)_
3258
+ - `--access-token-stdin` — Read the GitLab group access token from stdin instead of prompting.
3259
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3260
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3261
+
3262
+ ##### `avr org install runner`
3263
+
3264
+ Manage GitLab runners, one per Linux machine type.
3265
+
3266
+ ```sh
3267
+ avr org install runner [OPTIONS] COMMAND [ARGS]...
3268
+ ```
3269
+
3270
+ ###### `avr org install runner create`
3271
+
3272
+ Create group runners in GitLab and configure their machine types in Avrea.
3273
+
3274
+ ```sh
3275
+ avr org install runner create [OPTIONS]
3276
+ ```
3277
+
3278
+ Supply your own personal access token with create_runner scope and Owner
3279
+ role. It is sent only to gitlab.com and is never persisted. Already
3280
+ configured machine types must be replaced with 'runner set'.
3281
+
3282
+ ```sh
3283
+ JSON FIELDS
3284
+ data, setup
3285
+ ```
3286
+
3287
+ **Options**
3288
+
3289
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3290
+ - `--installation-id <TEXT>` — GitLab installation ID (ins-xxx format). _(required)_
3291
+ - `--machine-type <TEXT>` — Machine type to create; repeat for multiple machine types. _(repeatable · required)_
3292
+ - `--protected` — Restrict the runners to protected branches and tags.
3293
+ - `--personal-access-token-stdin` — Read your personal access token from standard input instead of a hidden prompt.
3294
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3295
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3296
+
3297
+ ###### `avr org install runner delete`
3298
+
3299
+ Remove MACHINE_TYPE's runner configuration from Avrea.
3300
+
3301
+ ```sh
3302
+ avr org install runner delete [OPTIONS] MACHINE_TYPE
3303
+ ```
3304
+
3305
+ The runner object in GitLab remains for the group Owner to remove.
3306
+
3307
+ ```sh
3308
+ JSON FIELDS
3309
+ deleted, installation_id, machine_type
3310
+ ```
3311
+
3312
+ **Arguments**
3313
+
3314
+ - `MACHINE_TYPE`
3315
+
3316
+ **Options**
3317
+
3318
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3319
+ - `--installation-id <TEXT>` — GitLab installation ID (ins-xxx format). _(required)_
3320
+ - `--yes, -y` — Skip the confirmation prompt.
3321
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3322
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3323
+
3324
+ ###### `avr org install runner list`
3325
+
3326
+ List all machine types, runner status, and exact GitLab setup instructions.
3327
+
3328
+ ```sh
3329
+ avr org install runner list [OPTIONS]
3330
+ ```
3331
+
3332
+ ```sh
3333
+ JSON FIELDS
3334
+ data, setup
3335
+ ```
3336
+
3337
+ **Options**
3338
+
3339
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3340
+ - `--installation-id <TEXT>` — GitLab installation ID (ins-xxx format). _(required)_
3341
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3342
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3343
+
3344
+ ###### `avr org install runner set`
3345
+
3346
+ Verify and configure MACHINE_TYPE, replacing its previous runner if present.
3347
+
3348
+ ```sh
3349
+ avr org install runner set [OPTIONS] MACHINE_TYPE
3350
+ ```
3351
+
3352
+ Read the token from a hidden prompt or --runner-token-stdin.
3353
+
3354
+ ```sh
3355
+ JSON FIELDS
3356
+ architecture, configured, cpu_count, description, disk_gb,
3357
+ invalid_at, machine_type, memory_mb, paused, run_untagged,
3358
+ runner_id, status, tag, token_expires_at, verified_at
3359
+ ```
3360
+
3361
+ **Arguments**
3362
+
3363
+ - `MACHINE_TYPE`
3364
+
3365
+ **Options**
3366
+
3367
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3368
+ - `--installation-id <TEXT>` — GitLab installation ID (ins-xxx format). _(required)_
3369
+ - `--runner-token-stdin` — Read the runner authentication token from standard input.
3370
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3371
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3372
+
3373
+ ##### `avr org install set-selection`
3374
+
3375
+ Replace a GitLab installation's project selection.
3376
+
3377
+ ```sh
3378
+ avr org install set-selection [OPTIONS]
3379
+ ```
3380
+
3381
+ Use `--project-selection selected` without `--project-id` to select no
3382
+ projects. This updates the selection only; the next project sync applies
3383
+ it.
3384
+
3385
+ ```sh
3386
+ JSON FIELDS
3387
+ access_token_expires_on, access_token_invalid_at,
3388
+ access_token_last_validated_at, created_at, credential_kind,
3389
+ gitlab_namespace_full_path, gitlab_namespace_id, gitlab_project_ids,
3390
+ installation_id, organization_id, project_selection_mode, configured_runner_count,
3391
+ degraded_runner_count, selected_project_count, state, target_type,
3392
+ updated_at, webhook_secret_rotated_at
3393
+ ```
3394
+
3395
+ **Options**
3396
+
3397
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3398
+ - `--installation-id <TEXT>` — GitLab installation ID (ins-xxx format). _(required)_
3399
+ - `--project-selection <CHOICE>` — Project selection mode. _(choices: `all`, `selected` · required)_
3400
+ - `--project-id <INTEGER RANGE>` — GitLab numeric project ID to select (repeatable, up to 1,000). _(repeatable)_
3401
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3402
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3403
+
3404
+ #### `avr org list`
3405
+
3406
+ List organizations you belong to.
3407
+
3408
+ ```sh
3409
+ avr org list [OPTIONS]
3410
+ ```
3411
+
3412
+ ```sh
3413
+ Examples:
3414
+ avr org list
3415
+ avr org list --json slug,role
3416
+ avr org list --json '*' -q '.[] | select(.role == "admin")'
3417
+ ```
3418
+
3419
+ ```sh
3420
+ JSON FIELDS
3421
+ name, organization_id, role, slug
3422
+ ```
3423
+
3424
+ **Options**
3425
+
3426
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3427
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3428
+
3429
+ #### `avr org members`
3430
+
3431
+ List organization members (admin only).
3432
+
3433
+ ```sh
3434
+ avr org members [OPTIONS]
3435
+ ```
3436
+
3437
+ ```sh
3438
+ Examples:
3439
+ avr org members
3440
+ avr org members --org org-abc123
3441
+ avr org members --json name,role
3442
+ ```
3443
+
3444
+ ```sh
3445
+ JSON FIELDS
3446
+ joined_at, name, role, user_id
3447
+ ```
3448
+
3449
+ **Options**
3450
+
3451
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3452
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3453
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3454
+
3455
+ #### `avr org saml`
3456
+
3457
+ Configure SAML single sign-on for an organization.
3458
+
3459
+ ```sh
3460
+ avr org saml [OPTIONS] COMMAND [ARGS]...
3461
+ ```
3462
+
3463
+ ##### `avr org saml configure`
3464
+
3465
+ Create or replace SAML configuration from IdP metadata (admin only).
3466
+
3467
+ ```sh
3468
+ avr org saml configure [OPTIONS] METADATA
3469
+ ```
3470
+
3471
+ METADATA is an IdP metadata XML file; pass - to read it from stdin.
3472
+ Reconfiguring requires the complete metadata document again.
3473
+
3474
+ ```sh
3475
+ Examples:
3476
+ avr org saml configure idp-metadata.xml
3477
+ cat idp-metadata.xml | avr org saml configure - --org acme
3478
+ avr org saml configure idp.xml --email-attribute mail \
3479
+ --given-name-attribute firstName --family-name-attribute lastName
3480
+ ```
3481
+
3482
+ ```sh
3483
+ JSON FIELDS
3484
+ allow_idp_initiated, attr_email, attr_family_name, attr_given_name,
3485
+ attr_groups, created_at, default_role, idp_entity_id, idp_slo_url,
3486
+ idp_sso_url, is_enforced, jit_provisioning, name_id_format,
3487
+ organization_id, organization_saml_config_id, updated_at
3488
+ ```
3489
+
3490
+ **Arguments**
3491
+
3492
+ - `METADATA`
3493
+
3494
+ **Options**
3495
+
3496
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3497
+ - `--email-attribute, --attr-email <TEXT>` — IdP attribute carrying the member email. _(default: `email`)_
3498
+ - `--given-name-attribute, --attr-given-name <TEXT>` — IdP given-name attribute.
3499
+ - `--family-name-attribute, --attr-family-name <TEXT>` — IdP family-name attribute.
3500
+ - `--groups-attribute, --attr-groups <TEXT>` — IdP groups attribute.
3501
+ - `--default-role <CHOICE>` — Role assigned to JIT-provisioned members. _(choices: `user`, `admin`, `billing_admin` · default: `user`)_
3502
+ - `--jit-provisioning / --no-jit-provisioning` — Allow SAML to provision new members. _(default: `True`)_
3503
+ - `--allow-idp-initiated / --no-allow-idp-initiated` — Allow sign-in initiated from the IdP.
3504
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3505
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3506
+
3507
+ ##### `avr org saml enforcement`
3508
+
3509
+ Enable or disable mandatory SAML sign-in (admin only).
3510
+
3511
+ ```sh
3512
+ avr org saml enforcement [OPTIONS] {on|off}
3513
+ ```
3514
+
3515
+ Enabling requires a configured SAML connection and at least one verified
3516
+ company domain.
3517
+
3518
+ ```sh
3519
+ Examples:
3520
+ avr org saml enforcement on
3521
+ avr org saml enforcement off --org acme
3522
+ ```
3523
+
3524
+ **Arguments**
3525
+
3526
+ - `STATE` _(choices: `on`, `off`)_
3527
+
3528
+ **Options**
3529
+
3530
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3531
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3532
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3533
+
3534
+ ##### `avr org saml remove`
3535
+
3536
+ Remove the organization's SAML configuration (admin only).
3537
+
3538
+ ```sh
3539
+ avr org saml remove [OPTIONS]
3540
+ ```
3541
+
3542
+ Pass --yes to skip the confirmation prompt (required when prompts are
3543
+ disabled for automation).
3544
+
3545
+ **Options**
3546
+
3547
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3548
+ - `--yes, -y` — Skip confirmation prompt.
3549
+
3550
+ ##### `avr org saml show`
3551
+
3552
+ Show the current SAML configuration (admin only).
3553
+
3554
+ ```sh
3555
+ avr org saml show [OPTIONS]
3556
+ ```
3557
+
3558
+ ```sh
3559
+ JSON FIELDS
3560
+ allow_idp_initiated, attr_email, attr_family_name, attr_given_name,
3561
+ attr_groups, created_at, default_role, idp_entity_id, idp_slo_url,
3562
+ idp_sso_url, is_enforced, jit_provisioning, name_id_format,
3563
+ organization_id, organization_saml_config_id, updated_at
3564
+ ```
3565
+
3566
+ **Options**
3567
+
3568
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3569
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3570
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.
3571
+
3572
+ ##### `avr org saml sp-metadata`
3573
+
3574
+ Print Avrea's SAML service-provider metadata XML.
3575
+
3576
+ ```sh
3577
+ avr org saml sp-metadata [OPTIONS]
3578
+ ```
3579
+
3580
+ Redirect stdout to a file for import into your identity provider.
3581
+
3582
+ ```sh
3583
+ Examples:
3584
+ avr org saml sp-metadata > avrea-sp.xml
3585
+ avr org saml sp-metadata --org acme
3586
+ ```
3587
+
3588
+ **Options**
3589
+
3590
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3591
+
3592
+ ##### `avr org saml test`
3593
+
3594
+ Test the SAML connection in a browser (admin only).
3595
+
3596
+ ```sh
3597
+ avr org saml test [OPTIONS]
3598
+ ```
3599
+
3600
+ The test performs a real IdP sign-in and displays the parsed assertion
3601
+ without creating a new Avrea session.
3602
+
3603
+ ```sh
3604
+ Examples:
3605
+ avr org saml test
3606
+ avr org saml test --org acme --no-browser
3607
+ ```
3608
+
3609
+ **Options**
3610
+
3611
+ - `--org <TEXT>` — Organization ID or slug. Uses default org if not specified (see: avr config set org).
3612
+ - `--no-browser` — Print the test URL without opening a browser.
3613
+
3614
+ ### `avr health`
3615
+
3616
+ Check Avrea platform status.
3617
+
3618
+ ```sh
3619
+ avr health [OPTIONS]
3620
+ ```
3621
+
3622
+ ```sh
3623
+ Examples:
3624
+ avr health
3625
+ avr health --json status
3626
+ avr health --json '*' -q '.status'
3627
+ ```
3628
+
3629
+ **Options**
3630
+
3631
+ - `--json <TEXT>` — Output JSON. Pass comma-separated field names, "*" for all fields, or "?" to list available fields.
3632
+ - `-q, --jq <TEXT>` — Filter --json output through a jq expression.