@capgo/cli 8.0.0-alpha.5 → 8.0.0

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 (222) hide show
  1. package/README.md +733 -84
  2. package/dist/index.js +1132 -317
  3. package/dist/keychain-export.swift +351 -0
  4. package/dist/package.json +120 -30
  5. package/dist/src/ai/analyze.d.ts +48 -0
  6. package/dist/src/ai/log-capture.d.ts +14 -0
  7. package/dist/src/ai/prompt.d.ts +1 -0
  8. package/dist/src/ai/render-markdown.d.ts +12 -0
  9. package/dist/src/ai/sse.d.ts +5 -0
  10. package/dist/src/ai/stream-markdown.d.ts +22 -0
  11. package/dist/src/ai/telemetry.d.ts +39 -0
  12. package/dist/src/analytics/error-category.d.ts +11 -0
  13. package/dist/src/analytics/org-resolver.d.ts +11 -0
  14. package/dist/src/analytics/supabase-perf.d.ts +48 -0
  15. package/dist/src/analytics/track.d.ts +70 -0
  16. package/dist/src/api/app.d.ts +17 -8
  17. package/dist/src/api/channels.d.ts +2442 -2729
  18. package/dist/src/api/crypto.d.ts +26 -0
  19. package/dist/src/api/update.d.ts +7 -1
  20. package/dist/src/api/versions.d.ts +9 -2
  21. package/dist/src/app/add.d.ts +6 -4
  22. package/dist/src/app/debug.d.ts +3 -7
  23. package/dist/src/app/delete.d.ts +1 -2
  24. package/dist/src/app/info.d.ts +5 -1
  25. package/dist/src/app/list.d.ts +23 -2
  26. package/dist/src/app/set.d.ts +0 -1
  27. package/dist/src/app/setting.d.ts +3 -9
  28. package/dist/src/app/updateProbe.d.ts +43 -0
  29. package/dist/src/build/credentials-command.d.ts +89 -0
  30. package/dist/src/build/credentials-manage.d.ts +7 -0
  31. package/dist/src/build/credentials.d.ts +78 -0
  32. package/dist/src/build/env-render.d.ts +8 -0
  33. package/dist/src/build/last-output-command.d.ts +6 -0
  34. package/dist/src/build/mobileprovision-parser.d.ts +35 -0
  35. package/dist/src/build/needed.d.ts +28 -0
  36. package/dist/src/build/onboarding/ai-fit.d.ts +110 -0
  37. package/dist/src/build/onboarding/analytics.d.ts +23 -0
  38. package/dist/src/build/onboarding/android/gcp-api.d.ts +128 -0
  39. package/dist/src/build/onboarding/android/gradle-parser.d.ts +19 -0
  40. package/dist/src/build/onboarding/android/keystore.d.ts +77 -0
  41. package/dist/src/build/onboarding/android/oauth-config.d.ts +24 -0
  42. package/dist/src/build/onboarding/android/oauth-google.d.ts +134 -0
  43. package/dist/src/build/onboarding/android/play-api.d.ts +91 -0
  44. package/dist/src/build/onboarding/android/progress.d.ts +22 -0
  45. package/dist/src/build/onboarding/android/service-account-validation.d.ts +58 -0
  46. package/dist/src/build/onboarding/android/types.d.ts +72 -0
  47. package/dist/src/build/onboarding/android/ui/app.d.ts +17 -0
  48. package/dist/src/build/onboarding/app-verification.d.ts +86 -0
  49. package/dist/src/build/onboarding/apple-api.d.ts +234 -0
  50. package/dist/src/build/onboarding/build-log.d.ts +10 -0
  51. package/dist/src/build/onboarding/bundle-id-detector.d.ts +117 -0
  52. package/dist/src/build/onboarding/ci-secrets.d.ts +87 -0
  53. package/dist/src/build/onboarding/command.d.ts +6 -0
  54. package/dist/src/build/onboarding/csr.d.ts +33 -0
  55. package/dist/src/build/onboarding/diff-utils.d.ts +24 -0
  56. package/dist/src/build/onboarding/env-export.d.ts +46 -0
  57. package/dist/src/build/onboarding/error-categories.d.ts +13 -0
  58. package/dist/src/build/onboarding/file-picker.d.ts +47 -0
  59. package/dist/src/build/onboarding/macos-signing.d.ts +190 -0
  60. package/dist/src/build/onboarding/min-terminal-size.d.ts +16 -0
  61. package/dist/src/build/onboarding/progress.d.ts +51 -0
  62. package/dist/src/build/onboarding/recovery.d.ts +7 -0
  63. package/dist/src/build/onboarding/telemetry.d.ts +28 -0
  64. package/dist/src/build/onboarding/types.d.ts +140 -0
  65. package/dist/src/build/onboarding/ui/app.d.ts +36 -0
  66. package/dist/src/build/onboarding/ui/completed-steps-log.d.ts +9 -0
  67. package/dist/src/build/onboarding/ui/components.d.ts +178 -0
  68. package/dist/src/build/onboarding/ui/frame-fit.d.ts +10 -0
  69. package/dist/src/build/onboarding/ui/min-size-gate.d.ts +20 -0
  70. package/dist/src/build/onboarding/ui/platform-picker.d.ts +19 -0
  71. package/dist/src/build/onboarding/ui/shell.d.ts +33 -0
  72. package/dist/src/build/onboarding/ui/steps/android-ci.d.ts +45 -0
  73. package/dist/src/build/onboarding/ui/steps/android-keystore.d.ts +75 -0
  74. package/dist/src/build/onboarding/ui/steps/android-sa-gcp.d.ts +85 -0
  75. package/dist/src/build/onboarding/ui/steps/android-shared.d.ts +67 -0
  76. package/dist/src/build/onboarding/ui/steps/ios-ci.d.ts +44 -0
  77. package/dist/src/build/onboarding/ui/steps/ios-credentials.d.ts +66 -0
  78. package/dist/src/build/onboarding/ui/steps/ios-import.d.ts +79 -0
  79. package/dist/src/build/onboarding/ui/steps/ios-shared.d.ts +93 -0
  80. package/dist/src/build/onboarding/workflow-generator.d.ts +48 -0
  81. package/dist/src/build/onboarding/workflow-ui-helpers.d.ts +18 -0
  82. package/dist/src/build/onboarding/workflow-writer.d.ts +36 -0
  83. package/dist/src/build/output-record.d.ts +30 -0
  84. package/dist/src/build/pbxproj-parser.d.ts +48 -0
  85. package/dist/src/build/platform-paths.d.ts +20 -0
  86. package/dist/src/build/qr.d.ts +5 -0
  87. package/dist/src/build/request.d.ts +102 -43
  88. package/dist/src/build/telemetry.d.ts +17 -0
  89. package/dist/src/bundle/builder-cta.d.ts +67 -0
  90. package/dist/src/bundle/check.d.ts +0 -1
  91. package/dist/src/bundle/cleanup.d.ts +3 -12
  92. package/dist/src/bundle/compatibility.d.ts +23 -12
  93. package/dist/src/bundle/decrypt.d.ts +4 -0
  94. package/dist/src/bundle/delete.d.ts +3 -8
  95. package/dist/src/bundle/encrypt.d.ts +4 -0
  96. package/dist/src/bundle/list.d.ts +5 -2
  97. package/dist/src/bundle/partial.d.ts +5 -3
  98. package/dist/src/bundle/releaseType.d.ts +15 -0
  99. package/dist/src/bundle/unlink.d.ts +6 -5
  100. package/dist/src/bundle/upload-command.d.ts +8 -0
  101. package/dist/src/bundle/upload.d.ts +21 -14
  102. package/dist/src/bundle/upload_interface.d.ts +2 -50
  103. package/dist/src/bundle/zip.d.ts +4 -19
  104. package/dist/src/capacitor-cli.d.ts +13 -0
  105. package/dist/src/channel/add.d.ts +8 -10
  106. package/dist/src/channel/currentBundle.d.ts +3 -9
  107. package/dist/src/channel/delete.d.ts +3 -9
  108. package/dist/src/channel/list.d.ts +31 -4
  109. package/dist/src/channel/set.d.ts +2 -17
  110. package/dist/src/checksum.d.ts +1 -2
  111. package/dist/src/config/index.d.ts +2 -13
  112. package/dist/src/docs.d.ts +0 -1
  113. package/dist/src/github-command.d.ts +9 -0
  114. package/dist/src/github.d.ts +40 -0
  115. package/dist/src/index.d.ts +0 -1
  116. package/dist/src/init/app-conflict.d.ts +2 -0
  117. package/dist/src/init/command.d.ts +57 -0
  118. package/dist/src/init/index.d.ts +1 -0
  119. package/dist/src/init/prompts.d.ts +41 -0
  120. package/dist/src/init/runtime.d.ts +111 -0
  121. package/dist/src/init/ui/app.d.ts +9 -0
  122. package/dist/src/init/ui/components.d.ts +31 -0
  123. package/dist/src/init/ui.d.ts +12 -0
  124. package/dist/src/init/updater.d.ts +13 -0
  125. package/dist/src/key.d.ts +16 -0
  126. package/dist/src/login.d.ts +0 -1
  127. package/dist/src/mcp/server.d.ts +5 -0
  128. package/dist/src/onboarding-support.d.ts +18 -0
  129. package/dist/src/organization/add.d.ts +26 -0
  130. package/dist/src/organization/delete.d.ts +3 -0
  131. package/dist/src/{organisation → organization}/index.d.ts +1 -1
  132. package/dist/src/{organisation → organization}/list.d.ts +14 -2
  133. package/dist/src/organization/members.d.ts +12 -0
  134. package/dist/src/organization/set.d.ts +21 -0
  135. package/dist/src/posthog.d.ts +13 -0
  136. package/dist/src/probe.d.ts +20 -0
  137. package/dist/src/promptPreferences.d.ts +13 -0
  138. package/dist/src/replicationProgress.d.ts +8 -0
  139. package/dist/src/run/device.d.ts +5 -0
  140. package/dist/src/runner-command.d.ts +5 -0
  141. package/dist/src/schemas/app.d.ts +26 -0
  142. package/dist/src/schemas/base.d.ts +7 -0
  143. package/dist/src/schemas/build.d.ts +196 -0
  144. package/dist/src/schemas/bundle.d.ts +157 -0
  145. package/dist/src/schemas/channel.d.ts +62 -0
  146. package/dist/src/schemas/common.d.ts +46 -0
  147. package/dist/src/schemas/config.d.ts +20 -0
  148. package/dist/src/schemas/index.d.ts +19 -0
  149. package/dist/src/schemas/organization.d.ts +41 -0
  150. package/dist/src/schemas/sdk.d.ts +335 -0
  151. package/dist/src/schemas/validate.d.ts +12 -0
  152. package/dist/src/sdk.d.ts +69 -337
  153. package/dist/src/sdk.js +542 -301
  154. package/dist/src/terminal-table.d.ts +7 -0
  155. package/dist/src/types/supabase.types.d.ts +2770 -296
  156. package/dist/src/updaterConfig.d.ts +8 -0
  157. package/dist/src/user/account.d.ts +0 -1
  158. package/dist/src/utils/latest-version.d.ts +0 -1
  159. package/dist/src/utils/safeWrites.d.ts +21 -0
  160. package/dist/src/utils/security_policy_errors.d.ts +47 -0
  161. package/dist/src/utils.d.ts +2869 -341
  162. package/dist/src/versionHelpers.d.ts +19 -0
  163. package/package.json +120 -30
  164. package/skills/native-builds/SKILL.md +255 -0
  165. package/skills/organization-management/SKILL.md +93 -0
  166. package/skills/release-management/SKILL.md +225 -0
  167. package/skills/usage/SKILL.md +92 -0
  168. package/dist/src/api/app.d.ts.map +0 -1
  169. package/dist/src/api/channels.d.ts.map +0 -1
  170. package/dist/src/api/cryptoV2.d.ts +0 -16
  171. package/dist/src/api/cryptoV2.d.ts.map +0 -1
  172. package/dist/src/api/update.d.ts.map +0 -1
  173. package/dist/src/api/versions.d.ts.map +0 -1
  174. package/dist/src/app/add.d.ts.map +0 -1
  175. package/dist/src/app/debug.d.ts.map +0 -1
  176. package/dist/src/app/delete.d.ts.map +0 -1
  177. package/dist/src/app/info.d.ts.map +0 -1
  178. package/dist/src/app/list.d.ts.map +0 -1
  179. package/dist/src/app/set.d.ts.map +0 -1
  180. package/dist/src/app/setting.d.ts.map +0 -1
  181. package/dist/src/build/request.d.ts.map +0 -1
  182. package/dist/src/bundle/check.d.ts.map +0 -1
  183. package/dist/src/bundle/cleanup.d.ts.map +0 -1
  184. package/dist/src/bundle/compatibility.d.ts.map +0 -1
  185. package/dist/src/bundle/decryptV2.d.ts +0 -13
  186. package/dist/src/bundle/decryptV2.d.ts.map +0 -1
  187. package/dist/src/bundle/delete.d.ts.map +0 -1
  188. package/dist/src/bundle/encryptV2.d.ts +0 -14
  189. package/dist/src/bundle/encryptV2.d.ts.map +0 -1
  190. package/dist/src/bundle/list.d.ts.map +0 -1
  191. package/dist/src/bundle/partial.d.ts.map +0 -1
  192. package/dist/src/bundle/unlink.d.ts.map +0 -1
  193. package/dist/src/bundle/upload.d.ts.map +0 -1
  194. package/dist/src/bundle/upload_interface.d.ts.map +0 -1
  195. package/dist/src/bundle/zip.d.ts.map +0 -1
  196. package/dist/src/channel/add.d.ts.map +0 -1
  197. package/dist/src/channel/currentBundle.d.ts.map +0 -1
  198. package/dist/src/channel/delete.d.ts.map +0 -1
  199. package/dist/src/channel/list.d.ts.map +0 -1
  200. package/dist/src/channel/set.d.ts.map +0 -1
  201. package/dist/src/checksum.d.ts.map +0 -1
  202. package/dist/src/config/index.d.ts.map +0 -1
  203. package/dist/src/docs.d.ts.map +0 -1
  204. package/dist/src/index.d.ts.map +0 -1
  205. package/dist/src/init.d.ts +0 -7
  206. package/dist/src/init.d.ts.map +0 -1
  207. package/dist/src/keyV2.d.ts +0 -19
  208. package/dist/src/keyV2.d.ts.map +0 -1
  209. package/dist/src/login.d.ts.map +0 -1
  210. package/dist/src/organisation/add.d.ts +0 -19
  211. package/dist/src/organisation/add.d.ts.map +0 -1
  212. package/dist/src/organisation/delete.d.ts +0 -8
  213. package/dist/src/organisation/delete.d.ts.map +0 -1
  214. package/dist/src/organisation/index.d.ts.map +0 -1
  215. package/dist/src/organisation/list.d.ts.map +0 -1
  216. package/dist/src/organisation/set.d.ts +0 -13
  217. package/dist/src/organisation/set.d.ts.map +0 -1
  218. package/dist/src/sdk.d.ts.map +0 -1
  219. package/dist/src/types/supabase.types.d.ts.map +0 -1
  220. package/dist/src/user/account.d.ts.map +0 -1
  221. package/dist/src/utils/latest-version.d.ts.map +0 -1
  222. package/dist/src/utils.d.ts.map +0 -1
package/README.md CHANGED
@@ -7,14 +7,14 @@
7
7
 
8
8
  A CLI to upload and download files from the Capgo Cloud.
9
9
 
10
- You can find the most up to date version of this doc in our web doc:
10
+ You can find the most up-to-date version of this doc in our web doc:
11
11
  https://capgo.app/docs/cli/overview/
12
12
 
13
13
  ## Usage
14
14
 
15
15
  Before using the CLI, you should register here: https://capgo.app/
16
16
 
17
- Then go to your account in `apikey` section and click in the `all` key to copy it.
17
+ Then go to your account in the `apikey` section and click the `all` key to copy it.
18
18
 
19
19
  Follow the documentation here: https://capacitorjs.com/docs/getting-started/
20
20
 
@@ -24,11 +24,16 @@ Follow the documentation here: https://capacitorjs.com/docs/getting-started/
24
24
  ## 📋 Table of Contents
25
25
 
26
26
  - 🚀 [Init](#init)
27
+ - 📱 [Run](#run)
28
+ - [Device](#run-device)
29
+ - 🔹 [Star](#star)
30
+ - 🔹 [Star-all](#star-all)
27
31
  - 👨‍⚕️ [Doctor](#doctor)
28
32
  - 🔑 [Login](#login)
29
33
  - 📦 [Bundle](#bundle)
30
34
  - [Upload](#bundle-upload)
31
35
  - [Compatibility](#bundle-compatibility)
36
+ - [ReleaseType](#bundle-releaseType)
32
37
  - [Delete](#bundle-delete)
33
38
  - [List](#bundle-list)
34
39
  - [Cleanup](#bundle-cleanup)
@@ -54,12 +59,32 @@ Follow the documentation here: https://capacitorjs.com/docs/getting-started/
54
59
  - [Delete_old](#key-delete_old)
55
60
  - 👤 [Account](#account)
56
61
  - [Id](#account-id)
62
+ - 🔹 [Organization](#organization)
63
+ - [List](#organization-list)
64
+ - [Add](#organization-add)
65
+ - [Members](#organization-members)
66
+ - [Set](#organization-set)
67
+ - [Delete](#organization-delete)
57
68
  - 🔹 [Organisation](#organisation)
58
69
  - [List](#organisation-list)
59
70
  - [Add](#organisation-add)
60
71
  - [Set](#organisation-set)
61
72
  - [Delete](#organisation-delete)
62
73
  - 🔹 [Build](#build)
74
+ - [Needed](#build-needed)
75
+ - [Init](#build-init)
76
+ - [Request](#build-request)
77
+ - [Last-output](#build-last-output)
78
+ - [Credentials](#build-credentials)
79
+ - [Save](#build-credentials-save)
80
+ - [List](#build-credentials-list)
81
+ - [Clear](#build-credentials-clear)
82
+ - [Update](#build-credentials-update)
83
+ - [Manage](#build-credentials-manage)
84
+ - [Migrate](#build-credentials-migrate)
85
+ - 🔹 [Probe](#probe)
86
+ - 🔹 [Generate-docs](#generate-docs)
87
+ - 🔹 [Mcp](#mcp)
63
88
 
64
89
  ## <a id="init"></a> 🚀 **Init**
65
90
 
@@ -71,6 +96,8 @@ npx @capgo/cli@latest init
71
96
 
72
97
  🚀 Initialize a new app in Capgo Cloud with step-by-step guidance.
73
98
  This includes adding code for updates, building, uploading your app, and verifying update functionality.
99
+ Capgo bundles are web assets and can be fetched by anyone who knows the URL. Use encryption for banking, regulated, or other high-security apps.
100
+ During the iOS run-on-device step, choose a physical iPhone/iPad or simulator. If you choose a physical device, the CLI lets you connect, unlock, and check again before it launches the app.
74
101
 
75
102
  **Example:**
76
103
 
@@ -78,16 +105,73 @@ This includes adding code for updates, building, uploading your app, and verifyi
78
105
  npx @capgo/cli@latest init YOUR_API_KEY com.example.app
79
106
  ```
80
107
 
81
- ## <a id="options"></a> Options
108
+ ## <a id="options-init"></a> Options (Init)
82
109
 
83
110
  | Param | Type | Description |
84
111
  | -------------- | ------------- | -------------------- |
85
- | **-n,** | <code>string</code> | App name for display in Capgo Cloud |
86
- | **-i,** | <code>string</code> | App icon path for display in Capgo Cloud |
112
+ | **-n** | <code>string</code> | App name for display in Capgo Cloud |
113
+ | **-i** | <code>string</code> | App icon path for display in Capgo Cloud |
87
114
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
88
115
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
89
116
 
90
117
 
118
+ ## <a id="run"></a> 📱 **Run**
119
+
120
+ 📱 Run Capacitor apps on devices from the CLI.
121
+
122
+ ### <a id="run-device"></a> 🔹 **Device**
123
+
124
+ ```bash
125
+ npx @capgo/cli@latest run device
126
+ ```
127
+
128
+ 📱 Run your Capacitor app on a connected device or simulator.
129
+ If you omit the platform in an interactive terminal, the command asks whether to start on iOS or Android.
130
+ The command lists available devices and simulators, lets you reload the list, and runs with your selection.
131
+ For iOS, this asks whether to use a physical iPhone/iPad or simulator before showing devices.
132
+ Use --no-launch to print the resolved command without starting the app.
133
+
134
+ **Example:**
135
+
136
+ ```bash
137
+ npx @capgo/cli@latest run device ios --no-launch
138
+ ```
139
+
140
+ **Options:**
141
+
142
+ | Param | Type | Description |
143
+ | -------------- | ------------- | -------------------- |
144
+ | **--no-launch** | <code>boolean</code> | Resolve and print the run command without starting the app |
145
+
146
+
147
+ ## <a id="star"></a> 🔹 **Star**
148
+
149
+ ```bash
150
+ npx @capgo/cli@latest star
151
+ ```
152
+
153
+ ⭐ Star a Capgo GitHub repository to support the project.
154
+ If you do not pass a repository name, this defaults to capacitor-updater in the Cap-go org.
155
+
156
+
157
+ ## <a id="star-all"></a> 🔹 **Star-all**
158
+
159
+ ```bash
160
+ npx @capgo/cli@latest star-all
161
+ ```
162
+
163
+ ⭐ Star all Capgo GitHub repositories with a small random delay between each request.
164
+ If you do not pass repositories, this defaults to all Cap-go repositories whose name starts with `capacitor-`.
165
+
166
+ ## <a id="options-star-all"></a> Options (Star-all)
167
+
168
+ | Param | Type | Description |
169
+ | -------------- | ------------- | -------------------- |
170
+ | **--min-delay-ms** | <code>string</code> | Minimum delay in ms between each star action (default: 20) |
171
+ | **--max-delay-ms** | <code>string</code> | Maximum delay in ms between each star action (default: 180) |
172
+ | **--max-concurrency** | <code>string</code> | Maximum number of star requests running in parallel (default: 4) |
173
+
174
+
91
175
  ## <a id="doctor"></a> 👨‍⚕️ **Doctor**
92
176
 
93
177
  ```bash
@@ -103,7 +187,7 @@ This command helps diagnose issues with your setup.
103
187
  npx @capgo/cli@latest doctor
104
188
  ```
105
189
 
106
- ## <a id="options"></a> Options
190
+ ## <a id="options-doctor"></a> Options (Doctor)
107
191
 
108
192
  | Param | Type | Description |
109
193
  | -------------- | ------------- | -------------------- |
@@ -127,7 +211,7 @@ Use --apikey=******** in any command to override it.
127
211
  npx @capgo/cli@latest login YOUR_API_KEY
128
212
  ```
129
213
 
130
- ## <a id="options"></a> Options
214
+ ## <a id="options-login"></a> Options (Login)
131
215
 
132
216
  | Param | Type | Description |
133
217
  | -------------- | ------------- | -------------------- |
@@ -163,10 +247,10 @@ npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel prod
163
247
 
164
248
  | Param | Type | Description |
165
249
  | -------------- | ------------- | -------------------- |
166
- | **-a,** | <code>string</code> | API key to link to your account |
167
- | **-p,** | <code>string</code> | Path of the folder to upload, if not provided it will use the webDir set in capacitor.config |
168
- | **-c,** | <code>string</code> | Channel to link to |
169
- | **-e,** | <code>string</code> | Link to external URL instead of upload to Capgo Cloud |
250
+ | **-a** | <code>string</code> | API key to link to your account |
251
+ | **-p** | <code>string</code> | Path of the folder to upload, if not provided it will use the webDir set in capacitor.config |
252
+ | **-c** | <code>string</code> | Channel to link to |
253
+ | **-e** | <code>string</code> | Link to external URL instead of upload to Capgo Cloud |
170
254
  | **--iv-session-key** | <code>string</code> | Set the IV and session key for bundle URL external |
171
255
  | **--s3-region** | <code>string</code> | Region for your S3 bucket |
172
256
  | **--s3-apikey** | <code>string</code> | API key for your S3 endpoint |
@@ -181,13 +265,15 @@ npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel prod
181
265
  | **--no-key** | <code>boolean</code> | Ignore signing key and send clear update |
182
266
  | **--no-code-check** | <code>boolean</code> | Ignore checking if notifyAppReady() is called in source code and index present in root folder |
183
267
  | **--display-iv-session** | <code>boolean</code> | Show in the console the IV and session key used to encrypt the update |
184
- | **-b,** | <code>string</code> | Bundle version number of the bundle to upload |
268
+ | **-b** | <code>string</code> | Bundle version number of the bundle to upload |
185
269
  | **--link** | <code>string</code> | Link to external resource (e.g. GitHub release) |
186
270
  | **--comment** | <code>string</code> | Comment about this version, could be a release note, a commit hash, a commit message, etc. |
187
271
  | **--min-update-version** | <code>string</code> | Minimal version required to update to this version. Used only if the disable auto update is set to metadata in channel |
188
272
  | **--auto-min-update-version** | <code>boolean</code> | Set the min update version based on native packages |
189
273
  | **--ignore-metadata-check** | <code>boolean</code> | Ignores the metadata (node_modules) check when uploading |
274
+ | **--fail-on-incompatible** | <code>boolean</code> | Fail the upload (exit non-zero) instead of uploading when the bundle is incompatible with the channel's current native packages. In an interactive terminal you can still choose a native build; declining fails. Cannot be combined with --ignore-metadata-check. |
190
275
  | **--ignore-checksum-check** | <code>boolean</code> | Ignores the checksum check when uploading |
276
+ | **--force-crc32-checksum** | <code>boolean</code> | Force CRC32 checksum for upload (override auto-detection) |
191
277
  | **--timeout** | <code>string</code> | Timeout for the upload process in seconds |
192
278
  | **--multipart** | <code>boolean</code> | [DEPRECATED] Use --tus instead. Uses multipart protocol for S3 uploads |
193
279
  | **--zip** | <code>boolean</code> | Upload the bundle using zip to Capgo cloud (legacy) |
@@ -195,11 +281,12 @@ npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel prod
195
281
  | **--tus-chunk-size** | <code>string</code> | Chunk size in bytes for TUS resumable uploads (default: auto) |
196
282
  | **--partial** | <code>boolean</code> | [DEPRECATED] Use --delta instead. Upload incremental updates |
197
283
  | **--partial-only** | <code>boolean</code> | [DEPRECATED] Use --delta-only instead. Upload only incremental updates, skip full bundle |
198
- | **--delta** | <code>boolean</code> | Upload incremental/differential updates to reduce bandwidth |
199
- | **--delta-only** | <code>boolean</code> | Upload only delta updates without full bundle (useful for large apps) |
284
+ | **--delta** | <code>boolean</code> | Upload delta updates (only changed files) for instant, super-fast updates instead of big zip downloads |
285
+ | **--delta-only** | <code>boolean</code> | Upload only delta updates without full bundle for maximum speed (useful for large apps) |
286
+ | **--no-delta** | <code>boolean</code> | Disable delta updates even if instant updates are enabled |
200
287
  | **--encrypted-checksum** | <code>string</code> | An encrypted checksum (signature). Used only when uploading an external bundle. |
201
288
  | **--auto-set-bundle** | <code>boolean</code> | Set the bundle in capacitor.config.json |
202
- | **--dry-upload** | <code>boolean</code> | Dry upload the bundle process, mean it will not upload the files but add the row in database (Used by Capgo for internal testing) |
289
+ | **--dry-upload** | <code>boolean</code> | Dry upload the bundle process: add the row in database without uploading files or updating channels (Used by Capgo for internal testing) |
203
290
  | **--package-json** | <code>string</code> | Paths to package.json files for monorepos (comma-separated) |
204
291
  | **--node-modules** | <code>string</code> | Paths to node_modules directories for monorepos (comma-separated) |
205
292
  | **--encrypt-partial** | <code>boolean</code> | Encrypt delta update files (auto-enabled for updater > 6.14.4) |
@@ -210,7 +297,7 @@ npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel prod
210
297
  | **--self-assign** | <code>boolean</code> | Allow devices to auto-join this channel (updates channel setting) |
211
298
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
212
299
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
213
- | **--verbose** | <code>boolean</code> | Enable verbose output |
300
+ | **--verbose** | <code>boolean</code> | Enable verbose output with detailed logging |
214
301
 
215
302
  ### <a id="bundle-compatibility"></a> 🧪 **Compatibility**
216
303
 
@@ -230,14 +317,39 @@ npx @capgo/cli@latest bundle compatibility com.example.app --channel production
230
317
 
231
318
  | Param | Type | Description |
232
319
  | -------------- | ------------- | -------------------- |
233
- | **-a,** | <code>string</code> | API key to link to your account |
234
- | **-c,** | <code>string</code> | Channel to check the compatibility with |
320
+ | **-a** | <code>string</code> | API key to link to your account |
321
+ | **-c** | <code>string</code> | Channel to check the compatibility with |
235
322
  | **--text** | <code>boolean</code> | Output text instead of emojis |
236
323
  | **--package-json** | <code>string</code> | Paths to package.json files for monorepos (comma-separated) |
237
324
  | **--node-modules** | <code>string</code> | Paths to node_modules directories for monorepos (comma-separated) |
238
325
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
239
326
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
240
327
 
328
+ ### <a id="bundle-releaseType"></a> 🔹 **ReleaseType**
329
+
330
+ ```bash
331
+ npx @capgo/cli@latest bundle releaseType
332
+ ```
333
+
334
+ 🧭 Print "native" or "OTA" based on compatibility with a channel's latest metadata.
335
+
336
+ **Example:**
337
+
338
+ ```bash
339
+ npx @capgo/cli@latest bundle releaseType com.example.app --channel production
340
+ ```
341
+
342
+ **Options:**
343
+
344
+ | Param | Type | Description |
345
+ | -------------- | ------------- | -------------------- |
346
+ | **-a** | <code>string</code> | API key to link to your account |
347
+ | **-c** | <code>string</code> | Channel to compare against |
348
+ | **--package-json** | <code>string</code> | Paths to package.json files for monorepos (comma-separated) |
349
+ | **--node-modules** | <code>string</code> | Paths to node_modules directories for monorepos (comma-separated) |
350
+ | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
351
+ | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
352
+
241
353
  ### <a id="bundle-delete"></a> 🗑️ **Delete**
242
354
 
243
355
  **Alias:** `d`
@@ -258,7 +370,7 @@ npx @capgo/cli@latest bundle delete BUNDLE_ID com.example.app
258
370
 
259
371
  | Param | Type | Description |
260
372
  | -------------- | ------------- | -------------------- |
261
- | **-a,** | <code>string</code> | API key to link to your account |
373
+ | **-a** | <code>string</code> | API key to link to your account |
262
374
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
263
375
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
264
376
 
@@ -282,7 +394,7 @@ npx @capgo/cli@latest bundle list com.example.app
282
394
 
283
395
  | Param | Type | Description |
284
396
  | -------------- | ------------- | -------------------- |
285
- | **-a,** | <code>string</code> | API key to link to your account |
397
+ | **-a** | <code>string</code> | API key to link to your account |
286
398
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
287
399
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
288
400
 
@@ -307,10 +419,10 @@ npx @capgo/cli@latest bundle cleanup com.example.app --bundle=1.0 --keep=3
307
419
 
308
420
  | Param | Type | Description |
309
421
  | -------------- | ------------- | -------------------- |
310
- | **-b,** | <code>string</code> | Bundle version number of the app to delete |
311
- | **-a,** | <code>string</code> | API key to link to your account |
312
- | **-k,** | <code>string</code> | Number of versions to keep |
313
- | **-f,** | <code>string</code> | Force removal |
422
+ | **-b** | <code>string</code> | Bundle version number of the app to delete |
423
+ | **-a** | <code>string</code> | API key to link to your account |
424
+ | **-k** | <code>string</code> | Number of versions to keep |
425
+ | **-f** | <code>boolean</code> | Force removal |
314
426
  | **--ignore-channel** | <code>boolean</code> | Delete bundles even if linked to channels (WARNING: deletes channels too) |
315
427
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
316
428
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
@@ -336,7 +448,8 @@ npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM
336
448
  | -------------- | ------------- | -------------------- |
337
449
  | **--key** | <code>string</code> | Custom path for private signing key |
338
450
  | **--key-data** | <code>string</code> | Private signing key |
339
- | **-j,** | <code>string</code> | Output in JSON |
451
+ | **-j** | <code>boolean</code> | Output in JSON |
452
+ | **--package-json** | <code>string</code> | Paths to package.json files for monorepos (comma-separated) |
340
453
 
341
454
  ### <a id="bundle-decrypt"></a> 🔓 **Decrypt**
342
455
 
@@ -360,6 +473,7 @@ npx @capgo/cli@latest bundle decrypt ./myapp_encrypted.zip CHECKSUM
360
473
  | **--key** | <code>string</code> | Custom path for private signing key |
361
474
  | **--key-data** | <code>string</code> | Private signing key |
362
475
  | **--checksum** | <code>string</code> | Checksum of the bundle, to verify the integrity of the bundle |
476
+ | **--package-json** | <code>string</code> | Paths to package.json files for monorepos (comma-separated) |
363
477
 
364
478
  ### <a id="bundle-zip"></a> 🔹 **Zip**
365
479
 
@@ -380,10 +494,10 @@ npx @capgo/cli@latest bundle zip com.example.app --path ./dist
380
494
 
381
495
  | Param | Type | Description |
382
496
  | -------------- | ------------- | -------------------- |
383
- | **-p,** | <code>string</code> | Path of the folder to upload, if not provided it will use the webDir set in capacitor.config |
384
- | **-b,** | <code>string</code> | Bundle version number to name the zip file |
385
- | **-n,** | <code>string</code> | Name of the zip file |
386
- | **-j,** | <code>string</code> | Output in JSON |
497
+ | **-p** | <code>string</code> | Path of the folder to upload, if not provided it will use the webDir set in capacitor.config |
498
+ | **-b** | <code>string</code> | Bundle version number to name the zip file |
499
+ | **-n** | <code>string</code> | Name of the zip file |
500
+ | **-j** | <code>boolean</code> | Output in JSON |
387
501
  | **--no-code-check** | <code>boolean</code> | Ignore checking if notifyAppReady() is called in source code and index present in root folder |
388
502
  | **--key-v2** | <code>boolean</code> | Use encryption v2 |
389
503
  | **--package-json** | <code>string</code> | Paths to package.json files for monorepos (comma-separated) |
@@ -414,9 +528,9 @@ npx @capgo/cli@latest app add com.example.app --name "My App" --icon ./icon.png
414
528
 
415
529
  | Param | Type | Description |
416
530
  | -------------- | ------------- | -------------------- |
417
- | **-n,** | <code>string</code> | App name for display in Capgo Cloud |
418
- | **-i,** | <code>string</code> | App icon path for display in Capgo Cloud |
419
- | **-a,** | <code>string</code> | API key to link to your account |
531
+ | **-n** | <code>string</code> | App name for display in Capgo Cloud |
532
+ | **-i** | <code>string</code> | App icon path for display in Capgo Cloud |
533
+ | **-a** | <code>string</code> | API key to link to your account |
420
534
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
421
535
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
422
536
 
@@ -438,7 +552,7 @@ npx @capgo/cli@latest app delete com.example.app
438
552
 
439
553
  | Param | Type | Description |
440
554
  | -------------- | ------------- | -------------------- |
441
- | **-a,** | <code>string</code> | API key to link to your account |
555
+ | **-a** | <code>string</code> | API key to link to your account |
442
556
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
443
557
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
444
558
 
@@ -462,7 +576,7 @@ npx @capgo/cli@latest app list
462
576
 
463
577
  | Param | Type | Description |
464
578
  | -------------- | ------------- | -------------------- |
465
- | **-a,** | <code>string</code> | API key to link to your account |
579
+ | **-a** | <code>string</code> | API key to link to your account |
466
580
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
467
581
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
468
582
 
@@ -485,8 +599,8 @@ npx @capgo/cli@latest app debug com.example.app --device DEVICE_ID
485
599
 
486
600
  | Param | Type | Description |
487
601
  | -------------- | ------------- | -------------------- |
488
- | **-a,** | <code>string</code> | API key to link to your account |
489
- | **-d,** | <code>string</code> | The specific device ID to debug |
602
+ | **-a** | <code>string</code> | API key to link to your account |
603
+ | **-d** | <code>string</code> | The specific device ID to debug |
490
604
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
491
605
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
492
606
 
@@ -533,10 +647,11 @@ npx @capgo/cli@latest app set com.example.app --name "Updated App" --retention 3
533
647
 
534
648
  | Param | Type | Description |
535
649
  | -------------- | ------------- | -------------------- |
536
- | **-n,** | <code>string</code> | App name for display in Capgo Cloud |
537
- | **-i,** | <code>string</code> | App icon path for display in Capgo Cloud |
538
- | **-a,** | <code>string</code> | API key to link to your account |
539
- | **-r,** | <code>string</code> | Days to keep old bundles (0 = infinite, default: 0) |
650
+ | **-n** | <code>string</code> | App name for display in Capgo Cloud |
651
+ | **-i** | <code>string</code> | App icon path for display in Capgo Cloud |
652
+ | **-a** | <code>string</code> | API key to link to your account |
653
+ | **-r** | <code>string</code> | Days to keep old bundles (0 = infinite, default: 0) |
654
+ | **--expose-metadata** | <code>string</code> | Expose bundle metadata (link and comment) to the plugin (true/false, default: false) |
540
655
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
541
656
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
542
657
 
@@ -565,9 +680,9 @@ npx @capgo/cli@latest channel add production com.example.app --default
565
680
 
566
681
  | Param | Type | Description |
567
682
  | -------------- | ------------- | -------------------- |
568
- | **-d,** | <code>string</code> | Set the channel as default |
683
+ | **-d** | <code>boolean</code> | Set the channel as default |
569
684
  | **--self-assign** | <code>boolean</code> | Allow device to self-assign to this channel |
570
- | **-a,** | <code>string</code> | API key to link to your account |
685
+ | **-a** | <code>string</code> | API key to link to your account |
571
686
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
572
687
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
573
688
 
@@ -591,7 +706,7 @@ npx @capgo/cli@latest channel delete production com.example.app
591
706
 
592
707
  | Param | Type | Description |
593
708
  | -------------- | ------------- | -------------------- |
594
- | **-a,** | <code>string</code> | API key to link to your account |
709
+ | **-a** | <code>string</code> | API key to link to your account |
595
710
  | **--delete-bundle** | <code>boolean</code> | Delete the bundle associated with the channel |
596
711
  | **--success-if-not-found** | <code>boolean</code> | Success if the channel is not found |
597
712
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
@@ -617,7 +732,7 @@ npx @capgo/cli@latest channel list com.example.app
617
732
 
618
733
  | Param | Type | Description |
619
734
  | -------------- | ------------- | -------------------- |
620
- | **-a,** | <code>string</code> | API key to link to your account |
735
+ | **-a** | <code>string</code> | API key to link to your account |
621
736
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
622
737
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
623
738
 
@@ -639,8 +754,8 @@ npx @capgo/cli@latest channel currentBundle production com.example.app
639
754
 
640
755
  | Param | Type | Description |
641
756
  | -------------- | ------------- | -------------------- |
642
- | **-c,** | <code>string</code> | Channel to get the current bundle from |
643
- | **-a,** | <code>string</code> | API key to link to your account |
757
+ | **-c** | <code>string</code> | Channel to get the current bundle from |
758
+ | **-a** | <code>string</code> | API key to link to your account |
644
759
  | **--quiet** | <code>boolean</code> | Only print the bundle version |
645
760
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
646
761
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
@@ -653,7 +768,7 @@ npx @capgo/cli@latest channel currentBundle production com.example.app
653
768
  npx @capgo/cli@latest channel set
654
769
  ```
655
770
 
656
- ⚙️ Configure settings for a channel, such as linking a bundle, setting update strategies (major, minor, metadata, patch, none), or device targeting (iOS, Android, dev, emulator).
771
+ ⚙️ Configure settings for a channel, such as linking a bundle, setting update strategies (major, minor, metadata, patch, none), or device targeting (iOS, Android, dev, prod, emulator, device).
657
772
  One channel must be default.
658
773
 
659
774
  **Example:**
@@ -666,9 +781,9 @@ npx @capgo/cli@latest channel set production com.example.app --bundle 1.0.0 --st
666
781
 
667
782
  | Param | Type | Description |
668
783
  | -------------- | ------------- | -------------------- |
669
- | **-a,** | <code>string</code> | API key to link to your account |
670
- | **-b,** | <code>string</code> | Bundle version number of the file to set |
671
- | **-s,** | <code>string</code> | Set the state of the channel, default or normal |
784
+ | **-a** | <code>string</code> | API key to link to your account |
785
+ | **-b** | <code>string</code> | Bundle version number of the file to set |
786
+ | **-s** | <code>string</code> | Set the state of the channel, default or normal |
672
787
  | **--latest-remote** | <code>boolean</code> | Get the latest bundle uploaded in capgo cloud and set it to the channel |
673
788
  | **--latest** | <code>boolean</code> | Get the latest version key in the package.json to set it to the channel |
674
789
  | **--downgrade** | <code>boolean</code> | Allow to downgrade to version under native one |
@@ -682,8 +797,12 @@ npx @capgo/cli@latest channel set production com.example.app --bundle 1.0.0 --st
682
797
  | **--disable-auto-update** | <code>string</code> | Block updates by type: major, minor, metadata, patch, or none (allows all) |
683
798
  | **--dev** | <code>boolean</code> | Allow sending update to development devices |
684
799
  | **--no-dev** | <code>boolean</code> | Disable sending update to development devices |
800
+ | **--prod** | <code>boolean</code> | Allow sending update to production devices |
801
+ | **--no-prod** | <code>boolean</code> | Disable sending update to production devices |
685
802
  | **--emulator** | <code>boolean</code> | Allow sending update to emulator devices |
686
803
  | **--no-emulator** | <code>boolean</code> | Disable sending update to emulator devices |
804
+ | **--device** | <code>boolean</code> | Allow sending update to physical devices |
805
+ | **--no-device** | <code>boolean</code> | Disable sending update to physical devices |
687
806
  | **--package-json** | <code>string</code> | Paths to package.json files for monorepos (comma-separated) |
688
807
  | **--ignore-metadata-check** | <code>boolean</code> | Ignore checking node_modules compatibility if present in the bundle |
689
808
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
@@ -713,7 +832,7 @@ npx @capgo/cli@latest key save --key ./path/to/key.pub
713
832
 
714
833
  | Param | Type | Description |
715
834
  | -------------- | ------------- | -------------------- |
716
- | **-f,** | <code>string</code> | Force generate a new one |
835
+ | **-f** | <code>boolean</code> | Force generate a new one |
717
836
  | **--key** | <code>string</code> | Key path to save in Capacitor config |
718
837
  | **--key-data** | <code>string</code> | Key data to save in Capacitor config |
719
838
 
@@ -738,7 +857,7 @@ npx @capgo/cli@latest key create
738
857
 
739
858
  | Param | Type | Description |
740
859
  | -------------- | ------------- | -------------------- |
741
- | **-f,** | <code>string</code> | Force generate a new one |
860
+ | **-f** | <code>boolean</code> | Force generate a new one |
742
861
 
743
862
  ### <a id="key-delete_old"></a> 🗑️ **Delete_old**
744
863
 
@@ -777,19 +896,19 @@ npx @capgo/cli@latest account id
777
896
 
778
897
  | Param | Type | Description |
779
898
  | -------------- | ------------- | -------------------- |
780
- | **-a,** | <code>string</code> | API key to link to your account |
899
+ | **-a** | <code>string</code> | API key to link to your account |
781
900
 
782
901
 
783
- ## <a id="organisation"></a> 🔹 **Organisation**
902
+ ## <a id="organization"></a> 🔹 **Organization**
784
903
 
785
904
  🏢 Manage your organizations in Capgo Cloud for team collaboration and app management.
786
905
 
787
- ### <a id="organisation-list"></a> 📋 **List**
906
+ ### <a id="organization-list"></a> 📋 **List**
788
907
 
789
908
  **Alias:** `l`
790
909
 
791
910
  ```bash
792
- npx @capgo/cli@latest organisation list
911
+ npx @capgo/cli@latest organization list
793
912
  ```
794
913
 
795
914
  📋 List all organizations you have access to in Capgo Cloud.
@@ -797,23 +916,23 @@ npx @capgo/cli@latest organisation list
797
916
  **Example:**
798
917
 
799
918
  ```bash
800
- npx @capgo/cli@latest organisation list
919
+ npx @capgo/cli@latest organization list
801
920
  ```
802
921
 
803
922
  **Options:**
804
923
 
805
924
  | Param | Type | Description |
806
925
  | -------------- | ------------- | -------------------- |
807
- | **-a,** | <code>string</code> | API key to link to your account |
926
+ | **-a** | <code>string</code> | API key to link to your account |
808
927
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
809
928
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
810
929
 
811
- ### <a id="organisation-add"></a> ➕ **Add**
930
+ ### <a id="organization-add"></a> ➕ **Add**
812
931
 
813
932
  **Alias:** `a`
814
933
 
815
934
  ```bash
816
- npx @capgo/cli@latest organisation add
935
+ npx @capgo/cli@latest organization add
817
936
  ```
818
937
 
819
938
  ➕ Create a new organization in Capgo Cloud for team collaboration.
@@ -821,51 +940,96 @@ npx @capgo/cli@latest organisation add
821
940
  **Example:**
822
941
 
823
942
  ```bash
824
- npx @capgo/cli@latest organisation add --name "My Company" --email admin@mycompany.com
943
+ npx @capgo/cli@latest organization add --name "My Company" --email admin@mycompany.com
825
944
  ```
826
945
 
827
946
  **Options:**
828
947
 
829
948
  | Param | Type | Description |
830
949
  | -------------- | ------------- | -------------------- |
831
- | **-n,** | <code>string</code> | Organization name |
832
- | **-e,** | <code>string</code> | Management email for the organization |
833
- | **-a,** | <code>string</code> | API key to link to your account |
950
+ | **-n** | <code>string</code> | Organization name |
951
+ | **-e** | <code>string</code> | Management email for the organization |
952
+ | **-a** | <code>string</code> | API key to link to your account |
834
953
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
835
954
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
836
955
 
837
- ### <a id="organisation-set"></a> ⚙️ **Set**
956
+ ### <a id="organization-members"></a> 🔹 **Members**
957
+
958
+ **Alias:** `m`
959
+
960
+ ```bash
961
+ npx @capgo/cli@latest organization members
962
+ ```
963
+
964
+ 👥 List organization members and their 2FA status.
965
+ Shows all members of an organization with their roles and whether they have 2FA enabled.
966
+ Useful before enabling 2FA enforcement to see which members will be affected.
967
+ > ℹ️ Viewing 2FA status requires super_admin rights in the organization.
968
+
969
+
970
+ **Example:**
971
+
972
+ ```bash
973
+ npx @capgo/cli@latest organization members ORG_ID
974
+ ```
975
+
976
+ **Options:**
977
+
978
+ | Param | Type | Description |
979
+ | -------------- | ------------- | -------------------- |
980
+ | **-a** | <code>string</code> | API key to link to your account |
981
+ | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
982
+ | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
983
+
984
+ ### <a id="organization-set"></a> ⚙️ **Set**
838
985
 
839
986
  **Alias:** `s`
840
987
 
841
988
  ```bash
842
- npx @capgo/cli@latest organisation set
989
+ npx @capgo/cli@latest organization set
843
990
  ```
844
991
 
845
- ⚙️ Update organization settings such as name and management email.
992
+ ⚙️ Update organization settings including name, email, security policies, and enforcement options.
993
+ Security settings require super_admin role.
846
994
 
847
995
  **Example:**
848
996
 
849
997
  ```bash
850
- npx @capgo/cli@latest organisation set ORG_ID --name "Updated Company Name"
998
+ npx @capgo/cli@latest organization set ORG_ID --name "New Name"
851
999
  ```
852
1000
 
853
1001
  **Options:**
854
1002
 
855
1003
  | Param | Type | Description |
856
1004
  | -------------- | ------------- | -------------------- |
857
- | **-n,** | <code>string</code> | Organization name |
858
- | **-e,** | <code>string</code> | Management email for the organization |
859
- | **-a,** | <code>string</code> | API key to link to your account |
1005
+ | **-n** | <code>string</code> | Organization name |
1006
+ | **-e** | <code>string</code> | Management email for the organization |
1007
+ | **--enforce-2fa** | <code>boolean</code> | Enable 2FA enforcement for all organization members |
1008
+ | **--no-enforce-2fa** | <code>boolean</code> | Disable 2FA enforcement for organization |
1009
+ | **--password-policy** | <code>boolean</code> | Enable password policy enforcement for organization |
1010
+ | **--no-password-policy** | <code>boolean</code> | Disable password policy enforcement |
1011
+ | **--min-length** | <code>string</code> | Minimum password length (6-128, default: 10) |
1012
+ | **--require-uppercase** | <code>boolean</code> | Require uppercase letter in password |
1013
+ | **--no-require-uppercase** | <code>boolean</code> | Do not require uppercase letter |
1014
+ | **--require-number** | <code>boolean</code> | Require number in password |
1015
+ | **--no-require-number** | <code>boolean</code> | Do not require number |
1016
+ | **--require-special** | <code>boolean</code> | Require special character in password |
1017
+ | **--no-require-special** | <code>boolean</code> | Do not require special character |
1018
+ | **--require-apikey-expiration** | <code>boolean</code> | Require all API keys to have an expiration date |
1019
+ | **--no-require-apikey-expiration** | <code>boolean</code> | Do not require API key expiration |
1020
+ | **--max-apikey-expiration-days** | <code>string</code> | Maximum days before API key expiration (1-365, null for no limit) |
1021
+ | **--enforce-hashed-api-keys** | <code>boolean</code> | Enforce hashed/secure API keys (key value stored as hash, shown only once) |
1022
+ | **--no-enforce-hashed-api-keys** | <code>boolean</code> | Allow plain-text API keys |
1023
+ | **-a** | <code>string</code> | API key to link to your account |
860
1024
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
861
1025
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
862
1026
 
863
- ### <a id="organisation-delete"></a> 🗑️ **Delete**
1027
+ ### <a id="organization-delete"></a> 🗑️ **Delete**
864
1028
 
865
1029
  **Alias:** `d`
866
1030
 
867
1031
  ```bash
868
- npx @capgo/cli@latest organisation delete
1032
+ npx @capgo/cli@latest organization delete
869
1033
  ```
870
1034
 
871
1035
  🗑️ Delete an organization from Capgo Cloud. This action cannot be undone.
@@ -874,46 +1038,531 @@ Only organization owners can delete organizations.
874
1038
  **Example:**
875
1039
 
876
1040
  ```bash
877
- npx @capgo/cli@latest organisation delete ORG_ID
1041
+ npx @capgo/cli@latest organization delete ORG_ID
1042
+ ```
1043
+
1044
+ **Options:**
1045
+
1046
+ | Param | Type | Description |
1047
+ | -------------- | ------------- | -------------------- |
1048
+ | **-a** | <code>string</code> | API key to link to your account |
1049
+ | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
1050
+ | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
1051
+
1052
+
1053
+ ## <a id="organisation"></a> 🔹 **Organisation**
1054
+
1055
+ [DEPRECATED] Use "organization" instead. This command will be removed in a future version.
1056
+
1057
+ ### <a id="organisation-list"></a> 📋 **List**
1058
+
1059
+ **Alias:** `l`
1060
+
1061
+ ```bash
1062
+ npx @capgo/cli@latest organisation list
1063
+ ```
1064
+
1065
+ [DEPRECATED] Use "organization list" instead.
1066
+
1067
+ **Options:**
1068
+
1069
+ | Param | Type | Description |
1070
+ | -------------- | ------------- | -------------------- |
1071
+ | **-a** | <code>string</code> | API key to link to your account |
1072
+ | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
1073
+ | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
1074
+
1075
+ ### <a id="organisation-add"></a> ➕ **Add**
1076
+
1077
+ **Alias:** `a`
1078
+
1079
+ ```bash
1080
+ npx @capgo/cli@latest organisation add
1081
+ ```
1082
+
1083
+ [DEPRECATED] Use "organization add" instead.
1084
+
1085
+ **Options:**
1086
+
1087
+ | Param | Type | Description |
1088
+ | -------------- | ------------- | -------------------- |
1089
+ | **-n** | <code>string</code> | Organization name |
1090
+ | **-e** | <code>string</code> | Management email for the organization |
1091
+ | **-a** | <code>string</code> | API key to link to your account |
1092
+ | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
1093
+ | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
1094
+
1095
+ ### <a id="organisation-set"></a> ⚙️ **Set**
1096
+
1097
+ **Alias:** `s`
1098
+
1099
+ ```bash
1100
+ npx @capgo/cli@latest organisation set
1101
+ ```
1102
+
1103
+ [DEPRECATED] Use "organization set" instead.
1104
+
1105
+ **Options:**
1106
+
1107
+ | Param | Type | Description |
1108
+ | -------------- | ------------- | -------------------- |
1109
+ | **-n** | <code>string</code> | Organization name |
1110
+ | **-e** | <code>string</code> | Management email for the organization |
1111
+ | **--enforce-2fa** | <code>boolean</code> | Enable 2FA enforcement for all organization members |
1112
+ | **--no-enforce-2fa** | <code>boolean</code> | Disable 2FA enforcement for organization |
1113
+ | **--password-policy** | <code>boolean</code> | Enable password policy enforcement for organization |
1114
+ | **--no-password-policy** | <code>boolean</code> | Disable password policy enforcement |
1115
+ | **--min-length** | <code>string</code> | Minimum password length (6-128, default: 10) |
1116
+ | **--require-uppercase** | <code>boolean</code> | Require uppercase letter in password |
1117
+ | **--no-require-uppercase** | <code>boolean</code> | Do not require uppercase letter |
1118
+ | **--require-number** | <code>boolean</code> | Require number in password |
1119
+ | **--no-require-number** | <code>boolean</code> | Do not require number |
1120
+ | **--require-special** | <code>boolean</code> | Require special character in password |
1121
+ | **--no-require-special** | <code>boolean</code> | Do not require special character |
1122
+ | **--require-apikey-expiration** | <code>boolean</code> | Require all API keys to have an expiration date |
1123
+ | **--no-require-apikey-expiration** | <code>boolean</code> | Do not require API key expiration |
1124
+ | **--max-apikey-expiration-days** | <code>string</code> | Maximum days before API key expiration (1-365, null for no limit) |
1125
+ | **--enforce-hashed-api-keys** | <code>boolean</code> | Enforce hashed/secure API keys (key value stored as hash, shown only once) |
1126
+ | **--no-enforce-hashed-api-keys** | <code>boolean</code> | Allow plain-text API keys |
1127
+ | **-a** | <code>string</code> | API key to link to your account |
1128
+ | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
1129
+ | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
1130
+
1131
+ ### <a id="organisation-delete"></a> 🗑️ **Delete**
1132
+
1133
+ **Alias:** `d`
1134
+
1135
+ ```bash
1136
+ npx @capgo/cli@latest organisation delete
878
1137
  ```
879
1138
 
1139
+ [DEPRECATED] Use "organization delete" instead.
1140
+
880
1141
  **Options:**
881
1142
 
882
1143
  | Param | Type | Description |
883
1144
  | -------------- | ------------- | -------------------- |
884
- | **-a,** | <code>string</code> | API key to link to your account |
1145
+ | **-a** | <code>string</code> | API key to link to your account |
885
1146
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
886
1147
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
887
1148
 
888
1149
 
889
1150
  ## <a id="build"></a> 🔹 **Build**
890
1151
 
1152
+ 🏗️ Manage native iOS/Android builds through Capgo Cloud.
1153
+ ⚠️ Native cloud build requests are currently in LIMITED BETA. Access is restricted.
1154
+ 🔒 SECURITY GUARANTEE:
1155
+ Build credentials are NEVER stored on Capgo servers.
1156
+ They are used only during the build and auto-deleted after.
1157
+ Build outputs may optionally be uploaded for time-limited download links.
1158
+ 📋 BEFORE BUILDING:
1159
+ Save your credentials first:
1160
+ npx @capgo/cli build credentials save --appId <your-app-id> --platform ios
1161
+ npx @capgo/cli build credentials save --appId <your-app-id> --platform android
1162
+ 📤 CAPTURE THE OUTPUT URL FROM CI:
1163
+ Pass --output-record to persist the download URL + QR code, then read it
1164
+ back with `build last-output`:
1165
+ npx @capgo/cli build request <appId> --platform android --output-upload --output-record /tmp/build.json
1166
+ URL=$(npx @capgo/cli build last-output --path /tmp/build.json --field outputUrl)
1167
+
1168
+ ### <a id="build-needed"></a> 🔹 **Needed**
1169
+
1170
+ ```bash
1171
+ npx @capgo/cli@latest build needed
1172
+ ```
1173
+
1174
+ 🧭 Print "yes" and exit with code 1 if a native build is required; otherwise print "no" and exit with code 0. Command failures exit with code 2.
1175
+
1176
+ **Example:**
1177
+
1178
+ ```bash
1179
+ npx @capgo/cli@latest build needed com.example.app --channel production --verbose
1180
+ ```
1181
+
1182
+ **Options:**
1183
+
1184
+ | Param | Type | Description |
1185
+ | -------------- | ------------- | -------------------- |
1186
+ | **-a** | <code>string</code> | API key to link to your account |
1187
+ | **-c** | <code>string</code> | Channel to compare against. Defaults to CapacitorUpdater.defaultChannel or the public default channel |
1188
+ | **--package-json** | <code>string</code> | Paths to package.json files for monorepos (comma-separated) |
1189
+ | **--node-modules** | <code>string</code> | Paths to node_modules directories for monorepos (comma-separated) |
1190
+ | **--verbose** | <code>boolean</code> | Enable verbose output with detailed logging |
1191
+ | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
1192
+ | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
1193
+
1194
+ ### <a id="build-init"></a> 🚀 **Init**
1195
+
1196
+ **Alias:** `onboarding`
1197
+
1198
+ ```bash
1199
+ npx @capgo/cli@latest build init
1200
+ ```
1201
+
1202
+ Set up build credentials interactively (iOS: certificates + profiles automated; Android: keystore + Google OAuth provisions GCP service account and Play Console invite)
1203
+
1204
+ **Options:**
1205
+
1206
+ | Param | Type | Description |
1207
+ | -------------- | ------------- | -------------------- |
1208
+ | **-a** | <code>string</code> | API key to link to your account |
1209
+ | **-p** | <code>string</code> | Platform to onboard (ios or android). If omitted, auto-detects when only one native folder exists; prompts otherwise. |
1210
+ | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
1211
+
1212
+ ### <a id="build-request"></a> 🔹 **Request**
1213
+
891
1214
  ```bash
892
- npx @capgo/cli@latest build
1215
+ npx @capgo/cli@latest build request
893
1216
  ```
894
1217
 
895
- 🏗️ Request a native iOS/Android build from Capgo Cloud.
896
- ⚠️ This feature is currently in PRIVATE BETA and cannot be used by anyone at this time.
1218
+ Request a native build from Capgo Cloud.
897
1219
  This command will zip your project directory and upload it to Capgo for building.
898
- The build will be processed in the cloud and artifacts will be available when complete.
1220
+ The build will be processed and sent directly to app stores.
1221
+ 🔒 SECURITY: Credentials are never stored on Capgo servers. They are auto-deleted
1222
+ after build completion. Build outputs may optionally be uploaded for time-limited download links.
1223
+ 📋 PREREQUISITE: Save credentials first with:
1224
+ `npx @capgo/cli build credentials save --appId <app-id> --platform <ios|android>`
899
1225
 
900
1226
  **Example:**
901
1227
 
902
1228
  ```bash
903
- npx @capgo/cli@latest build com.example.app --platform ios --path .
1229
+ npx @capgo/cli@latest build request com.example.app --platform ios --path .
904
1230
  ```
905
1231
 
906
- ## <a id="options"></a> Options
1232
+ **Options:**
907
1233
 
908
1234
  | Param | Type | Description |
909
1235
  | -------------- | ------------- | -------------------- |
910
1236
  | **--path** | <code>string</code> | Path to the project directory to build (default: current directory) |
911
- | **--platform** | <code>string</code> | Target platform: ios, android, or both (default: both) |
1237
+ | **--node-modules** | <code>string</code> | Paths to node_modules directories for monorepos (comma-separated) |
1238
+ | **--platform** | <code>string</code> | Target platform: ios or android (required) |
912
1239
  | **--build-mode** | <code>string</code> | Build mode: debug or release (default: release) |
913
- | **--build-config** | <code>string</code> | Additional build configuration as JSON string |
914
- | **-a,** | <code>string</code> | API key to link to your account |
1240
+ | **--build-certificate-base64** | <code>string</code> | iOS: Base64-encoded .p12 certificate |
1241
+ | **--p12-password** | <code>string</code> | iOS: Certificate password (optional if cert has no password) |
1242
+ | **--apple-id** | <code>string</code> | iOS: Apple ID email |
1243
+ | **--apple-app-specific-password** | <code>string</code> | iOS: App-specific password |
1244
+ | **--apple-key-id** | <code>string</code> | iOS: App Store Connect API Key ID |
1245
+ | **--apple-issuer-id** | <code>string</code> | iOS: App Store Connect Issuer ID |
1246
+ | **--apple-key-content** | <code>string</code> | iOS: Base64-encoded App Store Connect API key (.p8) |
1247
+ | **--app-store-connect-team-id** | <code>string</code> | iOS: App Store Connect Team ID |
1248
+ | **--ios-scheme** | <code>string</code> | iOS: Xcode scheme to build (default: App) |
1249
+ | **--ios-target** | <code>string</code> | iOS: Xcode target for reading build settings (default: same as scheme) |
1250
+ | **--ios-distribution** | <code>string</code> | iOS: Distribution mode |
1251
+ | **--ios-provisioning-profile** | <code>string</code> | iOS: Provisioning profile path or bundleId=path mapping (repeatable) |
1252
+ | **--android-keystore-file** | <code>string</code> | Android: Base64-encoded keystore file |
1253
+ | **--keystore-key-alias** | <code>string</code> | Android: Keystore key alias |
1254
+ | **--keystore-key-password** | <code>string</code> | Android: Keystore key password |
1255
+ | **--keystore-store-password** | <code>string</code> | Android: Keystore store password |
1256
+ | **--play-config-json** | <code>string</code> | Android: Base64-encoded Google Play service account JSON |
1257
+ | **--android-flavor** | <code>string</code> | Android: Product flavor to build (e.g. production). Required if your project has multiple flavors. |
1258
+ | **--in-app-update-priority** | <code>string</code> | Android: Google Play in-app update priority for this release (integer 0–5; higher = more urgent). See https://developer.android.com/guide/playcore/in-app-updates. Precedence: CLI > env > saved credentials |
1259
+ | **--no-playstore-upload** | <code>boolean</code> | Skip Play Store upload for this build (nulls out saved play config). Requires --output-upload. |
1260
+ | **--output-upload** | <code>boolean</code> | Override output upload behavior for this build only (enable). Precedence: CLI > env > saved credentials |
1261
+ | **--no-output-upload** | <code>boolean</code> | Override output upload behavior for this build only (disable). Precedence: CLI > env > saved credentials |
1262
+ | **--output-retention** | <code>string</code> | Override output link TTL for this build only (1h to 7d). Examples: 1h, 6h, 2d. Precedence: CLI > env > saved credentials |
1263
+ | **--output-record** | <code>string</code> | After a successful build, write a JSON record (jobId, status, outputUrl, qrCodeAscii, qrCodePngPath, finishedAt) to <path>. A PNG QR code is also written next to it as <path>.qr.png. Read fields back with `build last-output`. |
1264
+ | **--skip-build-number-bump** | <code>boolean</code> | Skip automatic build number/version code incrementing. Uses whatever version is already in the project files. |
1265
+ | **--no-skip-build-number-bump** | <code>boolean</code> | Override saved credentials to re-enable automatic build number incrementing for this build only. |
1266
+ | **--ai-analytics** | <code>boolean</code> | On build failure, send logs to Capgo AI for diagnosis. In interactive terminals this skips the upfront confirmation; in CI this auto-uploads and prints the analysis to stderr. |
1267
+ | **-a** | <code>string</code> | API key to link to your account |
915
1268
  | **--supa-host** | <code>string</code> | Custom Supabase host URL (for self-hosting or Capgo development) |
916
1269
  | **--supa-anon** | <code>string</code> | Custom Supabase anon key (for self-hosting) |
1270
+ | **--verbose** | <code>boolean</code> | Enable verbose output with detailed logging |
1271
+
1272
+ ### <a id="build-last-output"></a> 🔹 **Last-output**
1273
+
1274
+ ```bash
1275
+ npx @capgo/cli@latest build last-output
1276
+ ```
1277
+
1278
+ Read the build output record written by a previous `build request --output-record`.
1279
+ Prints the full JSON by default, a single field with --field, or the ASCII QR
1280
+ code with --qr. Useful in CI to grab the download URL or QR for posting back
1281
+ to a PR or issue.
1282
+ Examples:
1283
+ npx @capgo/cli build last-output --path /tmp/build.json
1284
+ npx @capgo/cli build last-output --path /tmp/build.json --field outputUrl
1285
+ npx @capgo/cli build last-output --path /tmp/build.json --qr
1286
+
1287
+ **Options:**
1288
+
1289
+ | Param | Type | Description |
1290
+ | -------------- | ------------- | -------------------- |
1291
+ | **--path** | <code>string</code> | Path to the JSON record written by --output-record (required) |
1292
+ | **--field** | <code>string</code> | Print a single field (one of: jobId, appId, platform, buildMode, status, outputUrl, qrCodeAscii, qrCodePngPath, finishedAt, schemaVersion) |
1293
+ | **--qr** | <code>boolean</code> | Print the rendered ASCII QR code (shortcut for --field qrCodeAscii) |
1294
+
1295
+ ### <a id="build-credentials"></a> 🔹 **Credentials**
1296
+
1297
+ Manage build credentials stored locally on your machine.
1298
+ 🔒 SECURITY:
1299
+ - Credentials saved to ~/.capgo-credentials/credentials.json (global) or .capgo-credentials.json (local)
1300
+ - When building, sent to Capgo but NEVER stored permanently
1301
+ - Deleted from Capgo immediately after build
1302
+ - Build outputs may optionally be uploaded for time-limited download links
1303
+ 📚 DOCUMENTATION:
1304
+ iOS setup: https://capgo.app/docs/cli/cloud-build/ios/
1305
+ Android setup: https://capgo.app/docs/cli/cloud-build/android/
1306
+
1307
+ #### <a id="build-credentials-save"></a> 🔹 **Save**
1308
+
1309
+ ```bash
1310
+ npx @capgo/cli@latest build credentials save
1311
+ ```
1312
+
1313
+ Save build credentials locally for iOS or Android.
1314
+ Credentials are stored in:
1315
+ - ~/.capgo-credentials/credentials.json (default, global)
1316
+ - .capgo-credentials.json in project root (with --local flag)
1317
+ ⚠️ REQUIRED BEFORE BUILDING: You must save credentials before requesting a build.
1318
+ 🔒 These credentials are NEVER stored on Capgo servers permanently.
1319
+ They are deleted immediately after the build completes.
1320
+ 📚 Setup guides:
1321
+ iOS: https://capgo.app/docs/cli/cloud-build/ios/
1322
+ Android: https://capgo.app/docs/cli/cloud-build/android/
1323
+ npx @capgo/cli build credentials save --platform ios \
1324
+ --certificate ./cert.p12 --p12-password "password" \
1325
+ --ios-provisioning-profile ./profile.mobileprovision \
1326
+ --apple-key ./AuthKey.p8 --apple-key-id "KEY123" \
1327
+ --apple-issuer-id "issuer-uuid" --apple-team-id "team-id"
1328
+ Multi-target Example (app + widget extension):
1329
+ npx @capgo/cli build credentials save --platform ios \
1330
+ --ios-provisioning-profile ./App.mobileprovision \
1331
+ --ios-provisioning-profile com.example.widget=./Widget.mobileprovision \
1332
+ ...
1333
+ npx @capgo/cli build credentials save --platform android \
1334
+ --keystore ./release.keystore --keystore-alias "my-key" \
1335
+ --keystore-key-password "key-pass" \
1336
+ --play-config ./service-account.json
1337
+ Local storage (per-project):
1338
+ npx @capgo/cli build credentials save --local --platform ios ...
1339
+
1340
+ **Example:**
1341
+
1342
+ ```bash
1343
+ iOS Example:
1344
+ ```
1345
+
1346
+ **Options:**
1347
+
1348
+ | Param | Type | Description |
1349
+ | -------------- | ------------- | -------------------- |
1350
+ | **--appId** | <code>string</code> | App ID (e.g., com.example.app) (required) |
1351
+ | **--platform** | <code>string</code> | Platform: ios or android (required) |
1352
+ | **--certificate** | <code>string</code> | iOS: Path to .p12 certificate file |
1353
+ | **--ios-provisioning-profile** | <code>string</code> | iOS: Provisioning profile path or bundleId=path (repeatable) |
1354
+ | **--p12-password** | <code>string</code> | iOS: Certificate password (optional if cert has no password) |
1355
+ | **--apple-key** | <code>string</code> | iOS: Path to .p8 App Store Connect API key |
1356
+ | **--apple-key-id** | <code>string</code> | iOS: App Store Connect API Key ID |
1357
+ | **--apple-issuer-id** | <code>string</code> | iOS: App Store Connect Issuer ID |
1358
+ | **--apple-team-id** | <code>string</code> | iOS: App Store Connect Team ID |
1359
+ | **--ios-distribution** | <code>string</code> | iOS: Distribution mode |
1360
+ | **--apple-id** | <code>string</code> | iOS: Apple ID email (optional) |
1361
+ | **--apple-app-password** | <code>string</code> | iOS: App-specific password (optional) |
1362
+ | **--keystore** | <code>string</code> | Android: Path to keystore file (.keystore or .jks) |
1363
+ | **--keystore-alias** | <code>string</code> | Android: Keystore key alias |
1364
+ | **--keystore-key-password** | <code>string</code> | Android: Keystore key password |
1365
+ | **--keystore-store-password** | <code>string</code> | Android: Keystore store password |
1366
+ | **--play-config** | <code>string</code> | Android: Path to Play Store service account JSON |
1367
+ | **--android-flavor** | <code>string</code> | Android: Product flavor to build (e.g. production). Required if your project has multiple flavors. |
1368
+ | **--in-app-update-priority** | <code>string</code> | Android: Google Play in-app update priority for future releases (integer 0–5; higher = more urgent). Omit to leave Play’s existing value untouched. |
1369
+ | **--local** | <code>boolean</code> | Save to .capgo-credentials.json in project root instead of global ~/.capgo-credentials/ |
1370
+ | **--output-upload** | <code>boolean</code> | Upload build outputs (IPA/APK/AAB) to Capgo storage and print download links |
1371
+ | **--no-output-upload** | <code>boolean</code> | Do not upload build outputs (IPA/APK/AAB) to Capgo storage |
1372
+ | **--output-retention** | <code>string</code> | Output link TTL: 1h to 7d (default: 1h). Examples: 1h, 6h, 2d |
1373
+ | **--skip-build-number-bump** | <code>boolean</code> | Skip automatic build number/version code incrementing on future builds |
1374
+ | **--no-skip-build-number-bump** | <code>boolean</code> | Re-enable automatic build number incrementing (default behavior) |
1375
+
1376
+ #### <a id="build-credentials-list"></a> 📋 **List**
1377
+
1378
+ ```bash
1379
+ npx @capgo/cli@latest build credentials list
1380
+ ```
1381
+
1382
+ List saved build credentials (passwords masked).
1383
+ Shows what credentials are currently saved (both global and local).
1384
+ Examples:
1385
+ npx @capgo/cli build credentials list # List all apps
1386
+ npx @capgo/cli build credentials list --appId com.example.app # List specific app
1387
+
1388
+ **Options:**
1389
+
1390
+ | Param | Type | Description |
1391
+ | -------------- | ------------- | -------------------- |
1392
+ | **--appId** | <code>string</code> | App ID to list (optional, lists all if omitted) |
1393
+ | **--local** | <code>boolean</code> | List credentials from local .capgo-credentials.json only |
1394
+
1395
+ #### <a id="build-credentials-clear"></a> 🔹 **Clear**
1396
+
1397
+ ```bash
1398
+ npx @capgo/cli@latest build credentials clear
1399
+ ```
1400
+
1401
+ Clear saved build credentials.
1402
+ Remove credentials from storage.
1403
+ Use --appId and --platform to target specific credentials.
1404
+ Examples:
1405
+ npx @capgo/cli build credentials clear # Clear all apps (global)
1406
+ npx @capgo/cli build credentials clear --local # Clear local credentials
1407
+ npx @capgo/cli build credentials clear --appId com.example.app --platform ios
1408
+
1409
+ **Options:**
1410
+
1411
+ | Param | Type | Description |
1412
+ | -------------- | ------------- | -------------------- |
1413
+ | **--appId** | <code>string</code> | App ID to clear (optional, clears all apps if omitted) |
1414
+ | **--platform** | <code>string</code> | Platform to clear: ios or android (optional, clears all platforms if omitted) |
1415
+ | **--local** | <code>boolean</code> | Clear from local .capgo-credentials.json instead of global |
1416
+
1417
+ #### <a id="build-credentials-update"></a> 🔹 **Update**
1418
+
1419
+ ```bash
1420
+ npx @capgo/cli@latest build credentials update
1421
+ ```
1422
+
1423
+ Update specific credentials without providing all of them again.
1424
+ Update existing credentials by providing only the fields you want to change.
1425
+ Platform is auto-detected from the options you provide.
1426
+ Examples:
1427
+ npx @capgo/cli build credentials update --ios-provisioning-profile ./new-profile.mobileprovision
1428
+ npx @capgo/cli build credentials update --local --keystore ./new-keystore.jks
1429
+
1430
+ **Options:**
1431
+
1432
+ | Param | Type | Description |
1433
+ | -------------- | ------------- | -------------------- |
1434
+ | **--appId** | <code>string</code> | App ID (auto-detected from capacitor.config if omitted) |
1435
+ | **--platform** | <code>string</code> | Platform: ios or android (auto-detected from options) |
1436
+ | **--local** | <code>boolean</code> | Update local .capgo-credentials.json instead of global |
1437
+ | **--certificate** | <code>string</code> | Path to P12 certificate file |
1438
+ | **--ios-provisioning-profile** | <code>string</code> | Provisioning profile path or bundleId=path (repeatable, additive by default) |
1439
+ | **--overwrite-ios-provisioning-map** | <code>boolean</code> | Replace the entire provisioning map instead of merging (default: merge) |
1440
+ | **--p12-password** | <code>string</code> | P12 certificate password |
1441
+ | **--apple-key** | <code>string</code> | Path to App Store Connect API key (.p8 file) |
1442
+ | **--apple-key-id** | <code>string</code> | App Store Connect API Key ID |
1443
+ | **--apple-issuer-id** | <code>string</code> | App Store Connect Issuer ID |
1444
+ | **--apple-team-id** | <code>string</code> | App Store Connect Team ID |
1445
+ | **--ios-distribution** | <code>string</code> | iOS: Distribution mode |
1446
+ | **--keystore** | <code>string</code> | Path to keystore file (.keystore or .jks) |
1447
+ | **--keystore-alias** | <code>string</code> | Keystore key alias |
1448
+ | **--keystore-key-password** | <code>string</code> | Keystore key password |
1449
+ | **--keystore-store-password** | <code>string</code> | Keystore store password |
1450
+ | **--play-config** | <code>string</code> | Path to Google Play service account JSON |
1451
+ | **--android-flavor** | <code>string</code> | Android: Product flavor to build (e.g. production). Required if your project has multiple flavors. |
1452
+ | **--in-app-update-priority** | <code>string</code> | Android: Google Play in-app update priority for future releases (integer 0–5; higher = more urgent). |
1453
+ | **--output-upload** | <code>boolean</code> | Upload build outputs (IPA/APK/AAB) to Capgo storage and print download links |
1454
+ | **--no-output-upload** | <code>boolean</code> | Do not upload build outputs (IPA/APK/AAB) to Capgo storage |
1455
+ | **--output-retention** | <code>string</code> | Output link TTL: 1h to 7d. Examples: 1h, 6h, 2d |
1456
+ | **--skip-build-number-bump** | <code>boolean</code> | Skip automatic build number/version code incrementing on future builds |
1457
+ | **--no-skip-build-number-bump** | <code>boolean</code> | Re-enable automatic build number incrementing (default behavior) |
1458
+
1459
+ #### <a id="build-credentials-manage"></a> 🔹 **Manage**
1460
+
1461
+ ```bash
1462
+ npx @capgo/cli@latest build credentials manage
1463
+ ```
1464
+
1465
+ Interactively manage saved build credentials.
1466
+ Browse stored credentials, view what's configured, export a CI/CD-ready .env file,
1467
+ or delete a platform's credentials. Reuses the same TUI as `capgo init`.
1468
+ Examples:
1469
+ npx @capgo/cli build credentials manage
1470
+ npx @capgo/cli build credentials manage --appId com.example.app
1471
+ npx @capgo/cli build credentials manage --appId com.example.app --platform ios
1472
+ npx @capgo/cli build credentials manage --local
1473
+
1474
+ **Options:**
1475
+
1476
+ | Param | Type | Description |
1477
+ | -------------- | ------------- | -------------------- |
1478
+ | **--appId** | <code>string</code> | App ID to manage (optional, prompts to pick if omitted) |
1479
+ | **--platform** | <code>string</code> | Platform to manage: ios or android (optional, prompts to pick if omitted) |
1480
+ | **--local** | <code>boolean</code> | Only browse local .capgo-credentials.json |
1481
+
1482
+ #### <a id="build-credentials-migrate"></a> 🔹 **Migrate**
1483
+
1484
+ ```bash
1485
+ npx @capgo/cli@latest build credentials migrate
1486
+ ```
1487
+
1488
+ Migrate legacy provisioning profile to the new multi-target format.
1489
+ Converts BUILD_PROVISION_PROFILE_BASE64 to CAPGO_IOS_PROVISIONING_MAP.
1490
+ Discovers the main bundle ID from your Xcode project automatically.
1491
+ npx @capgo/cli build credentials migrate --platform ios
1492
+
1493
+ **Example:**
1494
+
1495
+ ```bash
1496
+ Example:
1497
+ ```
1498
+
1499
+ **Options:**
1500
+
1501
+ | Param | Type | Description |
1502
+ | -------------- | ------------- | -------------------- |
1503
+ | **--appId** | <code>string</code> | App ID (auto-detected from capacitor.config if omitted) |
1504
+ | **--platform** | <code>string</code> | Platform (only ios is supported) |
1505
+ | **--local** | <code>boolean</code> | Migrate from local .capgo-credentials.json instead of global |
1506
+
1507
+
1508
+ ## <a id="probe"></a> 🔹 **Probe**
1509
+
1510
+ ```bash
1511
+ npx @capgo/cli@latest probe
1512
+ ```
1513
+
1514
+ 🔎 Probe the Capgo updates endpoint to check if an update is available for your app.
1515
+ Sends a single request to the updates endpoint using your project's capacitor config
1516
+ and reports whether an update would be delivered, or explains why not.
1517
+
1518
+ **Example:**
1519
+
1520
+ ```bash
1521
+ npx @capgo/cli@latest probe --platform ios
1522
+ ```
1523
+
1524
+ ## <a id="options-probe"></a> Options (Probe)
1525
+
1526
+ | Param | Type | Description |
1527
+ | -------------- | ------------- | -------------------- |
1528
+ | **--platform** | <code>string</code> | Platform to probe: ios or android |
1529
+
1530
+
1531
+ ## <a id="mcp"></a> 🔹 **Mcp**
1532
+
1533
+ ```bash
1534
+ npx @capgo/cli@latest mcp
1535
+ ```
1536
+
1537
+ 🤖 Start the Capgo MCP (Model Context Protocol) server for AI agent integration.
1538
+ This command starts an MCP server that exposes Capgo functionality as tools for AI agents.
1539
+ The server communicates via stdio and is designed for non-interactive, programmatic use.
1540
+ Available tools exposed via MCP:
1541
+ - capgo_list_apps, capgo_add_app, capgo_update_app, capgo_delete_app
1542
+ - capgo_upload_bundle, capgo_list_bundles, capgo_delete_bundle, capgo_cleanup_bundles
1543
+ - capgo_list_channels, capgo_add_channel, capgo_update_channel, capgo_delete_channel
1544
+ - capgo_get_current_bundle, capgo_check_compatibility
1545
+ - capgo_list_organizations, capgo_add_organization
1546
+ - capgo_star_repository
1547
+ - capgo_star_all_repositories
1548
+ - capgo_get_account_id, capgo_doctor, capgo_get_stats
1549
+ - capgo_request_build, capgo_generate_encryption_keys
1550
+ Example usage with Claude Desktop:
1551
+ Add to claude_desktop_config.json:
1552
+ {
1553
+ "mcpServers": {
1554
+ "capgo": {
1555
+ "command": "npx",
1556
+ "args": ["@capgo/cli", "mcp"]
1557
+ }
1558
+ }
1559
+ }
1560
+
1561
+ **Example:**
1562
+
1563
+ ```bash
1564
+ npx @capgo/cli mcp
1565
+ ```
917
1566
 
918
1567
 
919
1568