@capgo/cli 8.0.0-alpha.4 → 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.
- package/README.md +755 -75
- package/dist/index.js +1135 -311
- package/dist/keychain-export.swift +351 -0
- package/dist/package.json +120 -29
- package/dist/src/ai/analyze.d.ts +48 -0
- package/dist/src/ai/log-capture.d.ts +14 -0
- package/dist/src/ai/prompt.d.ts +1 -0
- package/dist/src/ai/render-markdown.d.ts +12 -0
- package/dist/src/ai/sse.d.ts +5 -0
- package/dist/src/ai/stream-markdown.d.ts +22 -0
- package/dist/src/ai/telemetry.d.ts +39 -0
- package/dist/src/analytics/error-category.d.ts +11 -0
- package/dist/src/analytics/org-resolver.d.ts +11 -0
- package/dist/src/analytics/supabase-perf.d.ts +48 -0
- package/dist/src/analytics/track.d.ts +70 -0
- package/dist/src/api/app.d.ts +17 -8
- package/dist/src/api/channels.d.ts +2442 -2729
- package/dist/src/api/crypto.d.ts +26 -0
- package/dist/src/api/update.d.ts +7 -1
- package/dist/src/api/versions.d.ts +9 -2
- package/dist/src/app/add.d.ts +6 -4
- package/dist/src/app/debug.d.ts +3 -7
- package/dist/src/app/delete.d.ts +1 -2
- package/dist/src/app/info.d.ts +5 -1
- package/dist/src/app/list.d.ts +23 -2
- package/dist/src/app/set.d.ts +0 -1
- package/dist/src/app/setting.d.ts +3 -9
- package/dist/src/app/updateProbe.d.ts +43 -0
- package/dist/src/build/credentials-command.d.ts +89 -0
- package/dist/src/build/credentials-manage.d.ts +7 -0
- package/dist/src/build/credentials.d.ts +78 -0
- package/dist/src/build/env-render.d.ts +8 -0
- package/dist/src/build/last-output-command.d.ts +6 -0
- package/dist/src/build/mobileprovision-parser.d.ts +35 -0
- package/dist/src/build/needed.d.ts +28 -0
- package/dist/src/build/onboarding/ai-fit.d.ts +110 -0
- package/dist/src/build/onboarding/analytics.d.ts +23 -0
- package/dist/src/build/onboarding/android/gcp-api.d.ts +128 -0
- package/dist/src/build/onboarding/android/gradle-parser.d.ts +19 -0
- package/dist/src/build/onboarding/android/keystore.d.ts +77 -0
- package/dist/src/build/onboarding/android/oauth-config.d.ts +24 -0
- package/dist/src/build/onboarding/android/oauth-google.d.ts +134 -0
- package/dist/src/build/onboarding/android/play-api.d.ts +91 -0
- package/dist/src/build/onboarding/android/progress.d.ts +22 -0
- package/dist/src/build/onboarding/android/service-account-validation.d.ts +58 -0
- package/dist/src/build/onboarding/android/types.d.ts +72 -0
- package/dist/src/build/onboarding/android/ui/app.d.ts +17 -0
- package/dist/src/build/onboarding/app-verification.d.ts +86 -0
- package/dist/src/build/onboarding/apple-api.d.ts +234 -0
- package/dist/src/build/onboarding/build-log.d.ts +10 -0
- package/dist/src/build/onboarding/bundle-id-detector.d.ts +117 -0
- package/dist/src/build/onboarding/ci-secrets.d.ts +87 -0
- package/dist/src/build/onboarding/command.d.ts +6 -0
- package/dist/src/build/onboarding/csr.d.ts +33 -0
- package/dist/src/build/onboarding/diff-utils.d.ts +24 -0
- package/dist/src/build/onboarding/env-export.d.ts +46 -0
- package/dist/src/build/onboarding/error-categories.d.ts +13 -0
- package/dist/src/build/onboarding/file-picker.d.ts +47 -0
- package/dist/src/build/onboarding/macos-signing.d.ts +190 -0
- package/dist/src/build/onboarding/min-terminal-size.d.ts +16 -0
- package/dist/src/build/onboarding/progress.d.ts +51 -0
- package/dist/src/build/onboarding/recovery.d.ts +7 -0
- package/dist/src/build/onboarding/telemetry.d.ts +28 -0
- package/dist/src/build/onboarding/types.d.ts +140 -0
- package/dist/src/build/onboarding/ui/app.d.ts +36 -0
- package/dist/src/build/onboarding/ui/completed-steps-log.d.ts +9 -0
- package/dist/src/build/onboarding/ui/components.d.ts +178 -0
- package/dist/src/build/onboarding/ui/frame-fit.d.ts +10 -0
- package/dist/src/build/onboarding/ui/min-size-gate.d.ts +20 -0
- package/dist/src/build/onboarding/ui/platform-picker.d.ts +19 -0
- package/dist/src/build/onboarding/ui/shell.d.ts +33 -0
- package/dist/src/build/onboarding/ui/steps/android-ci.d.ts +45 -0
- package/dist/src/build/onboarding/ui/steps/android-keystore.d.ts +75 -0
- package/dist/src/build/onboarding/ui/steps/android-sa-gcp.d.ts +85 -0
- package/dist/src/build/onboarding/ui/steps/android-shared.d.ts +67 -0
- package/dist/src/build/onboarding/ui/steps/ios-ci.d.ts +44 -0
- package/dist/src/build/onboarding/ui/steps/ios-credentials.d.ts +66 -0
- package/dist/src/build/onboarding/ui/steps/ios-import.d.ts +79 -0
- package/dist/src/build/onboarding/ui/steps/ios-shared.d.ts +93 -0
- package/dist/src/build/onboarding/workflow-generator.d.ts +48 -0
- package/dist/src/build/onboarding/workflow-ui-helpers.d.ts +18 -0
- package/dist/src/build/onboarding/workflow-writer.d.ts +36 -0
- package/dist/src/build/output-record.d.ts +30 -0
- package/dist/src/build/pbxproj-parser.d.ts +48 -0
- package/dist/src/build/platform-paths.d.ts +20 -0
- package/dist/src/build/qr.d.ts +5 -0
- package/dist/src/build/request.d.ts +107 -0
- package/dist/src/build/telemetry.d.ts +17 -0
- package/dist/src/bundle/builder-cta.d.ts +67 -0
- package/dist/src/bundle/check.d.ts +0 -1
- package/dist/src/bundle/cleanup.d.ts +3 -12
- package/dist/src/bundle/compatibility.d.ts +23 -12
- package/dist/src/bundle/decrypt.d.ts +4 -0
- package/dist/src/bundle/delete.d.ts +3 -8
- package/dist/src/bundle/encrypt.d.ts +4 -0
- package/dist/src/bundle/list.d.ts +5 -2
- package/dist/src/bundle/partial.d.ts +5 -3
- package/dist/src/bundle/releaseType.d.ts +15 -0
- package/dist/src/bundle/unlink.d.ts +6 -5
- package/dist/src/bundle/upload-command.d.ts +8 -0
- package/dist/src/bundle/upload.d.ts +21 -14
- package/dist/src/bundle/upload_interface.d.ts +2 -50
- package/dist/src/bundle/zip.d.ts +4 -19
- package/dist/src/capacitor-cli.d.ts +13 -0
- package/dist/src/channel/add.d.ts +8 -10
- package/dist/src/channel/currentBundle.d.ts +3 -9
- package/dist/src/channel/delete.d.ts +3 -9
- package/dist/src/channel/list.d.ts +31 -4
- package/dist/src/channel/set.d.ts +2 -17
- package/dist/src/checksum.d.ts +1 -2
- package/dist/src/config/index.d.ts +2 -13
- package/dist/src/docs.d.ts +0 -1
- package/dist/src/github-command.d.ts +9 -0
- package/dist/src/github.d.ts +40 -0
- package/dist/src/index.d.ts +0 -1
- package/dist/src/init/app-conflict.d.ts +2 -0
- package/dist/src/init/command.d.ts +57 -0
- package/dist/src/init/index.d.ts +1 -0
- package/dist/src/init/prompts.d.ts +41 -0
- package/dist/src/init/runtime.d.ts +111 -0
- package/dist/src/init/ui/app.d.ts +9 -0
- package/dist/src/init/ui/components.d.ts +31 -0
- package/dist/src/init/ui.d.ts +12 -0
- package/dist/src/init/updater.d.ts +13 -0
- package/dist/src/key.d.ts +16 -0
- package/dist/src/login.d.ts +0 -1
- package/dist/src/mcp/server.d.ts +5 -0
- package/dist/src/onboarding-support.d.ts +18 -0
- package/dist/src/organization/add.d.ts +26 -0
- package/dist/src/organization/delete.d.ts +3 -0
- package/dist/src/{organisation → organization}/index.d.ts +1 -1
- package/dist/src/{organisation → organization}/list.d.ts +14 -2
- package/dist/src/organization/members.d.ts +12 -0
- package/dist/src/organization/set.d.ts +21 -0
- package/dist/src/posthog.d.ts +13 -0
- package/dist/src/probe.d.ts +20 -0
- package/dist/src/promptPreferences.d.ts +13 -0
- package/dist/src/replicationProgress.d.ts +8 -0
- package/dist/src/run/device.d.ts +5 -0
- package/dist/src/runner-command.d.ts +5 -0
- package/dist/src/schemas/app.d.ts +26 -0
- package/dist/src/schemas/base.d.ts +7 -0
- package/dist/src/schemas/build.d.ts +196 -0
- package/dist/src/schemas/bundle.d.ts +157 -0
- package/dist/src/schemas/channel.d.ts +62 -0
- package/dist/src/schemas/common.d.ts +46 -0
- package/dist/src/schemas/config.d.ts +20 -0
- package/dist/src/schemas/index.d.ts +19 -0
- package/dist/src/schemas/organization.d.ts +41 -0
- package/dist/src/schemas/sdk.d.ts +335 -0
- package/dist/src/schemas/validate.d.ts +12 -0
- package/dist/src/sdk.d.ts +138 -317
- package/dist/src/sdk.js +542 -299
- package/dist/src/terminal-table.d.ts +7 -0
- package/dist/src/types/supabase.types.d.ts +2770 -296
- package/dist/src/updaterConfig.d.ts +8 -0
- package/dist/src/user/account.d.ts +0 -1
- package/dist/src/utils/latest-version.d.ts +0 -1
- package/dist/src/utils/safeWrites.d.ts +21 -0
- package/dist/src/utils/security_policy_errors.d.ts +47 -0
- package/dist/src/utils.d.ts +2869 -341
- package/dist/src/versionHelpers.d.ts +19 -0
- package/package.json +120 -29
- package/skills/native-builds/SKILL.md +255 -0
- package/skills/organization-management/SKILL.md +93 -0
- package/skills/release-management/SKILL.md +225 -0
- package/skills/usage/SKILL.md +92 -0
- package/dist/src/api/app.d.ts.map +0 -1
- package/dist/src/api/channels.d.ts.map +0 -1
- package/dist/src/api/cryptoV2.d.ts +0 -16
- package/dist/src/api/cryptoV2.d.ts.map +0 -1
- package/dist/src/api/update.d.ts.map +0 -1
- package/dist/src/api/versions.d.ts.map +0 -1
- package/dist/src/app/add.d.ts.map +0 -1
- package/dist/src/app/debug.d.ts.map +0 -1
- package/dist/src/app/delete.d.ts.map +0 -1
- package/dist/src/app/info.d.ts.map +0 -1
- package/dist/src/app/list.d.ts.map +0 -1
- package/dist/src/app/set.d.ts.map +0 -1
- package/dist/src/app/setting.d.ts.map +0 -1
- package/dist/src/bundle/check.d.ts.map +0 -1
- package/dist/src/bundle/cleanup.d.ts.map +0 -1
- package/dist/src/bundle/compatibility.d.ts.map +0 -1
- package/dist/src/bundle/decryptV2.d.ts +0 -13
- package/dist/src/bundle/decryptV2.d.ts.map +0 -1
- package/dist/src/bundle/delete.d.ts.map +0 -1
- package/dist/src/bundle/encryptV2.d.ts +0 -14
- package/dist/src/bundle/encryptV2.d.ts.map +0 -1
- package/dist/src/bundle/list.d.ts.map +0 -1
- package/dist/src/bundle/partial.d.ts.map +0 -1
- package/dist/src/bundle/unlink.d.ts.map +0 -1
- package/dist/src/bundle/upload.d.ts.map +0 -1
- package/dist/src/bundle/upload_interface.d.ts.map +0 -1
- package/dist/src/bundle/zip.d.ts.map +0 -1
- package/dist/src/channel/add.d.ts.map +0 -1
- package/dist/src/channel/currentBundle.d.ts.map +0 -1
- package/dist/src/channel/delete.d.ts.map +0 -1
- package/dist/src/channel/list.d.ts.map +0 -1
- package/dist/src/channel/set.d.ts.map +0 -1
- package/dist/src/checksum.d.ts.map +0 -1
- package/dist/src/config/index.d.ts.map +0 -1
- package/dist/src/docs.d.ts.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/init.d.ts +0 -7
- package/dist/src/init.d.ts.map +0 -1
- package/dist/src/keyV2.d.ts +0 -19
- package/dist/src/keyV2.d.ts.map +0 -1
- package/dist/src/login.d.ts.map +0 -1
- package/dist/src/organisation/add.d.ts +0 -19
- package/dist/src/organisation/add.d.ts.map +0 -1
- package/dist/src/organisation/delete.d.ts +0 -8
- package/dist/src/organisation/delete.d.ts.map +0 -1
- package/dist/src/organisation/index.d.ts.map +0 -1
- package/dist/src/organisation/list.d.ts.map +0 -1
- package/dist/src/organisation/set.d.ts +0 -13
- package/dist/src/organisation/set.d.ts.map +0 -1
- package/dist/src/sdk.d.ts.map +0 -1
- package/dist/src/types/supabase.types.d.ts.map +0 -1
- package/dist/src/user/account.d.ts.map +0 -1
- package/dist/src/utils/latest-version.d.ts.map +0 -1
- package/dist/src/utils.d.ts.map +0 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-bump a semver version by incrementing the patch number
|
|
3
|
+
* @param currentVersion - The current version string (e.g., "1.0.0")
|
|
4
|
+
* @returns The bumped version or a fallback version if parsing fails
|
|
5
|
+
*/
|
|
6
|
+
export declare function autoBumpVersion(currentVersion: string): string;
|
|
7
|
+
/**
|
|
8
|
+
* Interactively ask the user how to handle version bumping
|
|
9
|
+
* @param currentVersion - The current version
|
|
10
|
+
* @param context - Optional context string (e.g., "upload", "onboarding")
|
|
11
|
+
* @returns The new version string or null if cancelled
|
|
12
|
+
*/
|
|
13
|
+
export declare function interactiveVersionBump(currentVersion: string, context?: string): Promise<string | null>;
|
|
14
|
+
/**
|
|
15
|
+
* Get suggestions for alternative versions when a version already exists
|
|
16
|
+
* @param existingVersion - The version that already exists
|
|
17
|
+
* @returns Array of suggested alternative versions
|
|
18
|
+
*/
|
|
19
|
+
export declare function getVersionSuggestions(existingVersion: string): string[];
|
package/package.json
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@capgo/cli",
|
|
3
|
-
"
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "8.0.0",
|
|
4
5
|
"description": "A CLI to upload to capgo servers",
|
|
5
6
|
"author": "Martin martin@capgo.app",
|
|
6
7
|
"license": "Apache 2.0",
|
|
7
|
-
"homepage": "https://github.com/Cap-go/
|
|
8
|
+
"homepage": "https://github.com/Cap-go/capgo/tree/main/cli#readme",
|
|
8
9
|
"repository": {
|
|
9
10
|
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/Cap-go/
|
|
11
|
+
"url": "git+https://github.com/Cap-go/capgo.git",
|
|
12
|
+
"directory": "cli"
|
|
11
13
|
},
|
|
12
14
|
"bugs": {
|
|
13
|
-
"url": "https://github.com/Cap-go/
|
|
15
|
+
"url": "https://github.com/Cap-go/capgo/issues"
|
|
14
16
|
},
|
|
15
17
|
"keywords": [
|
|
16
18
|
"appflow alternative",
|
|
@@ -22,7 +24,8 @@
|
|
|
22
24
|
"cli",
|
|
23
25
|
"upload",
|
|
24
26
|
"capgo-cli",
|
|
25
|
-
"sdk"
|
|
27
|
+
"sdk",
|
|
28
|
+
"tanstack-intent"
|
|
26
29
|
],
|
|
27
30
|
"exports": {
|
|
28
31
|
".": {
|
|
@@ -31,8 +34,7 @@
|
|
|
31
34
|
},
|
|
32
35
|
"./sdk": {
|
|
33
36
|
"types": "./dist/src/sdk.d.ts",
|
|
34
|
-
"import": "./dist/src/sdk.js"
|
|
35
|
-
"require": "./dist/src/sdk.js"
|
|
37
|
+
"import": "./dist/src/sdk.js"
|
|
36
38
|
}
|
|
37
39
|
},
|
|
38
40
|
"main": "dist/index.js",
|
|
@@ -40,18 +42,26 @@
|
|
|
40
42
|
"bin": {
|
|
41
43
|
"capgo": "dist/index.js"
|
|
42
44
|
},
|
|
45
|
+
"files": [
|
|
46
|
+
"!skills/_artifacts",
|
|
47
|
+
"dist",
|
|
48
|
+
"skills"
|
|
49
|
+
],
|
|
43
50
|
"engines": {
|
|
44
51
|
"npm": ">=8.0.0",
|
|
45
52
|
"node": ">=20.0.0"
|
|
46
53
|
},
|
|
47
54
|
"scripts": {
|
|
48
|
-
"build": "tsc &&
|
|
55
|
+
"build": "tsc && bun build.mjs",
|
|
49
56
|
"dev": "NODE_ENV=development ncc build",
|
|
50
57
|
"no-debug": "node dist/index.js",
|
|
51
58
|
"dev-build": "SUPA_DB=development ncc build",
|
|
52
59
|
"pack": "pkg",
|
|
53
|
-
"types": "
|
|
54
|
-
"
|
|
60
|
+
"types": "bunx --bun supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",
|
|
61
|
+
"typecheck": "tsgo --project tsconfig.tsgo.json --noEmit",
|
|
62
|
+
"lint": "bun run lint:ox",
|
|
63
|
+
"lint:ox": "oxlint --config ../.oxlintrc.json src",
|
|
64
|
+
"lint:fix": "oxlint --config ../.oxlintrc.json --fix src",
|
|
55
65
|
"check-posix-paths": "node test/check-posix-paths.js",
|
|
56
66
|
"generate-docs": "node dist/index.js generate-docs README.md",
|
|
57
67
|
"test:bundle": "bun test/test-bundle.mjs",
|
|
@@ -60,34 +70,115 @@
|
|
|
60
70
|
"test:version-edge-cases": "bun test/test-version-validation.mjs",
|
|
61
71
|
"test:regex": "bun test/test-regex-validation.mjs",
|
|
62
72
|
"test:upload": "bun test/test-upload-validation.mjs",
|
|
63
|
-
"test": "bun
|
|
73
|
+
"test:fail-on-incompatible": "bun test/test-fail-on-incompatible.mjs",
|
|
74
|
+
"test:credentials": "bun test/test-credentials.mjs",
|
|
75
|
+
"test:credentials-validation": "bun test/test-credentials-validation.mjs",
|
|
76
|
+
"test:android-service-account-validation": "bun test/test-android-service-account-validation.mjs",
|
|
77
|
+
"test:build-zip-filter": "bun test/test-build-zip-filter.mjs",
|
|
78
|
+
"test:checksum": "bun test/test-checksum-algorithm.mjs",
|
|
79
|
+
"test:build-needed": "bun test/test-build-needed.mjs",
|
|
80
|
+
"test:ci-prompts": "bun test/test-ci-prompts.mjs",
|
|
81
|
+
"test:ci-secrets": "bun test/test-ci-secrets.mjs",
|
|
82
|
+
"test:android-onboarding-progress": "bun test/test-android-onboarding-progress.mjs",
|
|
83
|
+
"test:onboarding-telemetry": "bun test/test-onboarding-telemetry.mjs",
|
|
84
|
+
"test:v2-event-migration": "bun test/test-v2-event-migration.mjs",
|
|
85
|
+
"test:analytics": "bun test/test-analytics.mjs",
|
|
86
|
+
"test:analytics-error-category": "bun test/test-analytics-error-category.mjs",
|
|
87
|
+
"test:analytics-org-resolver": "bun test/test-analytics-org-resolver.mjs",
|
|
88
|
+
"test:supabase-perf": "bun test/test-supabase-perf.mjs",
|
|
89
|
+
"test:mcp-analytics": "bun test/test-mcp-analytics.mjs",
|
|
90
|
+
"test:app-created-source": "bun test/test-app-created-source.mjs",
|
|
91
|
+
"test:doctor-analytics": "bun test/test-doctor-analytics.mjs",
|
|
92
|
+
"test:posthog-exception": "bun test/test-posthog-exception.mjs",
|
|
93
|
+
"test:onboarding-recovery": "bun test/test-onboarding-recovery.mjs",
|
|
94
|
+
"test:onboarding-progress": "bun test/test-onboarding-progress.mjs",
|
|
95
|
+
"test:onboarding-run-targets": "bun test/test-onboarding-run-targets.mjs",
|
|
96
|
+
"test:run-device-command": "bun test/test-run-device-command.mjs",
|
|
97
|
+
"test:init-app-conflict": "bun test/test-init-app-conflict.mjs",
|
|
98
|
+
"test:init-guardrails": "bun test/test-init-guardrails.mjs",
|
|
99
|
+
"test:prompt-preferences": "bun test/test-prompt-preferences.mjs",
|
|
100
|
+
"test:esm-sdk": "node test/test-sdk-esm.mjs",
|
|
101
|
+
"test:mcp": "node test/test-mcp.mjs",
|
|
102
|
+
"test:version-detection": "node test/test-get-installed-version.mjs",
|
|
103
|
+
"test:version-detection:setup": "./test/fixtures/setup-test-projects.sh",
|
|
104
|
+
"test:platform-paths": "bun test/test-platform-paths.mjs",
|
|
105
|
+
"test:payload-split": "bun test/test-payload-split.mjs",
|
|
106
|
+
"test:macos-signing": "bun test/test-macos-signing.mjs",
|
|
107
|
+
"test:apple-api-import-helpers": "bun test/test-apple-api-import-helpers.mjs",
|
|
108
|
+
"test:bundle-id-detector": "bun test/test-bundle-id-detector.mjs",
|
|
109
|
+
"test:apple-api-app-list": "bun test/test-apple-api-app-list.mjs",
|
|
110
|
+
"test:app-verification": "bun test/test-app-verification.mjs",
|
|
111
|
+
"test:pbxproj-parser": "bun test/test-pbxproj-parser.mjs",
|
|
112
|
+
"test:manifest-path-encoding": "bun test/test-manifest-path-encoding.mjs",
|
|
113
|
+
"test": "bun run build && bun run test:version-detection:setup && bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:fail-on-incompatible && bun run test:credentials && bun run test:credentials-validation && bun run test:android-service-account-validation && bun run test:build-zip-filter && bun run test:checksum && bun run test:build-needed && bun run test:ci-prompts && bun run test:ci-secrets && bun run test:android-onboarding-progress && bun run test:onboarding-telemetry && bun run test:v2-event-migration && bun run test:analytics && bun run test:analytics-error-category && bun run test:analytics-org-resolver && bun run test:supabase-perf && bun run test:mcp-analytics && bun run test:app-created-source && bun run test:doctor-analytics && bun run test:posthog-exception && bun run test:build-platform-selection && bun run test:onboarding-recovery && bun run test:onboarding-progress && bun run test:onboarding-run-targets && bun run test:run-device-command && bun run test:init-app-conflict && bun run test:init-guardrails && bun run test:prompt-preferences && bun run test:esm-sdk && bun run test:mcp && bun run test:version-detection && bun run test:platform-paths && bun run test:payload-split && bun run test:manifest-path-encoding && bun run test:macos-signing && bun run test:apple-api-import-helpers && bun run test:bundle-id-detector && bun run test:apple-api-app-list && bun run test:app-verification && bun run test:pbxproj-parser && bun run test:ai-log-capture && bun run test:ai-analyze-flow && bun run test:ai-sse-parser && bun run test:ai-render-markdown && bun run test:ai-stream-markdown && bun run test:ai-onboarding-mode && bun run test:ai-fit && bun run test:platform-layout && bun run test:frame-fit && bun run test:onboarding-min-size && bun run test:min-size-gate && bun run test:shell-size-gate && bun run test:build-log-sanitize && bun run test:build-output-viewport && bun run test:diff-viewer-viewport && bun run test:build-complete-exit && bun run test:ai-analyze-stream",
|
|
114
|
+
"test:build-platform-selection": "bun test/test-build-platform-selection.mjs",
|
|
115
|
+
"test:ai-log-capture": "bun test/test-ai-log-capture.mjs",
|
|
116
|
+
"test:ai-analyze-flow": "bun test/test-ai-analyze-flow.mjs",
|
|
117
|
+
"test:ai-analyze-stream": "bun test/test-ai-analyze-stream.mjs",
|
|
118
|
+
"test:ai-sse-parser": "bun test/test-ai-sse-parser.mjs",
|
|
119
|
+
"test:ai-render-markdown": "bun test/test-ai-render-markdown.mjs",
|
|
120
|
+
"test:ai-onboarding-mode": "bun test/test-ai-onboarding-mode.mjs",
|
|
121
|
+
"test:ai-fit": "bun test/test-ai-fit.mjs",
|
|
122
|
+
"test:platform-layout": "bun test/test-platform-layout.mjs",
|
|
123
|
+
"test:frame-fit": "bun test/run-frame-fit.mjs",
|
|
124
|
+
"test:onboarding-min-size": "bun test/test-onboarding-min-size.mjs",
|
|
125
|
+
"test:min-size-gate": "bun test/test-min-size-gate.mjs",
|
|
126
|
+
"test:shell-size-gate": "bun test/test-shell-size-gate.mjs",
|
|
127
|
+
"test:build-log-sanitize": "bun test/test-build-log-sanitize.mjs",
|
|
128
|
+
"test:build-output-viewport": "bun test/test-build-output-viewport.mjs",
|
|
129
|
+
"test:diff-viewer-viewport": "bun test/test-diff-viewer-viewport.mjs",
|
|
130
|
+
"test:build-complete-exit": "bun test/test-build-complete-exit.mjs",
|
|
131
|
+
"test:ai-stream-markdown": "bun test/test-ai-stream-markdown.mjs"
|
|
132
|
+
},
|
|
133
|
+
"dependencies": {
|
|
134
|
+
"@inkjs/ui": "^2.0.0",
|
|
135
|
+
"ink": "^7.0.4",
|
|
136
|
+
"ink-spinner": "^5.0.0",
|
|
137
|
+
"jsonwebtoken": "^9.0.3",
|
|
138
|
+
"node-forge": "^1.4.0",
|
|
139
|
+
"qrcode": "^1.5.4",
|
|
140
|
+
"react": "^19.2.6",
|
|
141
|
+
"string-width": "^8.2.1"
|
|
64
142
|
},
|
|
65
143
|
"devDependencies": {
|
|
66
|
-
"@antfu/eslint-config": "^
|
|
67
|
-
"@bradenmacdonald/s3-lite-client": "npm:@jsr/bradenmacdonald__s3-lite-client@0.9.
|
|
68
|
-
"@capacitor/cli": "^
|
|
144
|
+
"@antfu/eslint-config": "^9.0.0",
|
|
145
|
+
"@bradenmacdonald/s3-lite-client": "npm:@jsr/bradenmacdonald__s3-lite-client@0.9.6",
|
|
146
|
+
"@capacitor/cli": "^8.3.4",
|
|
69
147
|
"@capgo/find-package-manager": "^0.0.18",
|
|
70
|
-
"@clack/prompts": "^
|
|
148
|
+
"@clack/prompts": "^1.4.0",
|
|
149
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
71
150
|
"@sauber/table": "npm:@jsr/sauber__table",
|
|
72
|
-
"@std/semver": "npm:@jsr/std__semver@1.0.
|
|
73
|
-
"@supabase/supabase-js": "^2.
|
|
74
|
-
"@
|
|
75
|
-
"@types/
|
|
151
|
+
"@std/semver": "npm:@jsr/std__semver@1.0.8",
|
|
152
|
+
"@supabase/supabase-js": "^2.106.2",
|
|
153
|
+
"@tanstack/intent": "^0.0.41",
|
|
154
|
+
"@types/adm-zip": "^0.5.8",
|
|
155
|
+
"@types/jsonwebtoken": "^9.0.10",
|
|
156
|
+
"@types/node": "^25.9.1",
|
|
157
|
+
"@types/node-forge": "^1.3.14",
|
|
76
158
|
"@types/prettyjson": "^0.0.33",
|
|
159
|
+
"@types/qrcode": "^1.5.6",
|
|
160
|
+
"@types/react": "^19.2.15",
|
|
77
161
|
"@types/tmp": "^0.2.6",
|
|
162
|
+
"@types/ws": "^8.18.1",
|
|
163
|
+
"@typescript/native-preview": "7.0.0-dev.20260526.1",
|
|
78
164
|
"@vercel/ncc": "^0.38.4",
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"eslint": "^
|
|
84
|
-
"git-format-staged": "
|
|
165
|
+
"@xterm/headless": "^6.0.0",
|
|
166
|
+
"adm-zip": "^0.5.17",
|
|
167
|
+
"ci-info": "^4.4.0",
|
|
168
|
+
"commander": "^14.0.3",
|
|
169
|
+
"eslint": "^10.4.0",
|
|
170
|
+
"git-format-staged": "4.0.1",
|
|
85
171
|
"husky": "^9.1.7",
|
|
86
|
-
"is-wsl": "^3.1.
|
|
87
|
-
"
|
|
172
|
+
"is-wsl": "^3.1.1",
|
|
173
|
+
"micromatch": "^4.0.8",
|
|
174
|
+
"open": "^11.0.0",
|
|
175
|
+
"oxlint": "^1.67.0",
|
|
176
|
+
"partysocket": "^1.1.19",
|
|
88
177
|
"prettyjson": "^1.2.5",
|
|
89
|
-
"tmp": "^0.2.
|
|
178
|
+
"tmp": "^0.2.6",
|
|
90
179
|
"tus-js-client": "^4.3.1",
|
|
91
|
-
"typescript": "^
|
|
180
|
+
"typescript": "^6.0.3",
|
|
181
|
+
"ws": "^8.21.0",
|
|
182
|
+
"zod": "^4.4.3"
|
|
92
183
|
}
|
|
93
184
|
}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: native-builds
|
|
3
|
+
description: Use when working with Capgo Cloud native iOS and Android build requests, onboarding, credential storage, credential updates, and build output upload settings.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Capgo CLI Native Builds
|
|
7
|
+
|
|
8
|
+
Use this skill for Capgo Cloud native iOS and Android build workflows.
|
|
9
|
+
|
|
10
|
+
## Onboarding (automated iOS setup)
|
|
11
|
+
|
|
12
|
+
### `build init` (alias: `build onboarding`)
|
|
13
|
+
|
|
14
|
+
- Interactive command that automates iOS certificate and provisioning profile creation.
|
|
15
|
+
- Reduces iOS setup from ~10 manual steps to 1 manual step (creating an API key) + 1 command.
|
|
16
|
+
- Example: `npx @capgo/cli@latest build init`
|
|
17
|
+
- Backward compatibility: `npx @capgo/cli@latest build onboarding` still works.
|
|
18
|
+
- Options:
|
|
19
|
+
- `-a, --apikey <apikey>` — Capgo API key to authenticate with (alternative to the `CAPGO_TOKEN` env var or `~/.capgo` / local `.capgo` file). Takes precedence over a saved key when both are present. Lets the SaaS onboarding wizard render a single copy-pasteable command across bash, zsh, fish, PowerShell, and cmd.exe.
|
|
20
|
+
- Example: `npx @capgo/cli@latest build init -a cap_xxx`
|
|
21
|
+
- Notes:
|
|
22
|
+
- Uses Ink (React for terminal) for the interactive UI, alongside the main `init` onboarding flow.
|
|
23
|
+
- Requires running inside a Capacitor project directory with an `ios/` folder.
|
|
24
|
+
- The user creates ONE App Store Connect API key (.p8 file), then the CLI handles everything else.
|
|
25
|
+
- On macOS, offers a native file picker dialog for .p8 selection.
|
|
26
|
+
- Auto-detects Key ID from .p8 filename (e.g. `AuthKey_XXXX.p8`).
|
|
27
|
+
- Progress persists in `~/.capgo-credentials/onboarding/<appId>.json` — safe to interrupt and resume.
|
|
28
|
+
- Saves credentials to the same `~/.capgo-credentials/credentials.json` used by `build request`.
|
|
29
|
+
- Optionally kicks off the first build at the end.
|
|
30
|
+
- If the native `ios/` folder is missing, onboarding can offer to run `cap add ios` automatically instead of exiting immediately.
|
|
31
|
+
- Unexpected failures now keep the user inside the recovery screen, show package-manager-aware commands, and save a support bundle under `~/.capgo-credentials/support/`.
|
|
32
|
+
|
|
33
|
+
#### What it automates (iOS)
|
|
34
|
+
|
|
35
|
+
1. Verifies the API key with Apple
|
|
36
|
+
2. Generates CSR + creates an `IOS_DISTRIBUTION` certificate via the App Store Connect API
|
|
37
|
+
3. Registers or reuses the bundle ID
|
|
38
|
+
4. Creates an `IOS_APP_STORE` provisioning profile
|
|
39
|
+
5. Saves all credentials (certificate as .p12, profile, API key, team ID)
|
|
40
|
+
6. Requests the first cloud build
|
|
41
|
+
|
|
42
|
+
#### Conflict resolution
|
|
43
|
+
|
|
44
|
+
- **Certificate limit reached**: lists existing certs, tags ones created by Capgo onboarding, lets the user pick one to revoke, then retries.
|
|
45
|
+
- **Duplicate provisioning profiles**: detects profiles matching the `Capgo <appId> AppStore` naming pattern, deletes them, and retries.
|
|
46
|
+
- **Existing credentials**: offers to backup existing credentials before proceeding, or exit onboarding.
|
|
47
|
+
|
|
48
|
+
#### Architecture
|
|
49
|
+
|
|
50
|
+
- `src/build/onboarding/command.ts` — entry point, launches Ink
|
|
51
|
+
- `src/build/onboarding/apple-api.ts` — JWT auth + App Store Connect API (verify, create cert, create profile, revoke, delete)
|
|
52
|
+
- `src/build/onboarding/csr.ts` — CSR generation + P12 creation via `node-forge`
|
|
53
|
+
- `src/build/onboarding/progress.ts` — per-app progress persistence
|
|
54
|
+
- `src/build/onboarding/file-picker.ts` — macOS native file picker via `osascript`
|
|
55
|
+
- `src/build/onboarding/ui/app.tsx` — Ink app (state machine)
|
|
56
|
+
- `src/build/onboarding/ui/components.tsx` — reusable UI components
|
|
57
|
+
|
|
58
|
+
#### BuildLogger callback interface
|
|
59
|
+
|
|
60
|
+
`requestBuildInternal` accepts an optional `BuildLogger` to receive log output via callbacks instead of writing directly to stdout. This enables clean integration with the Ink UI:
|
|
61
|
+
|
|
62
|
+
```typescript
|
|
63
|
+
interface BuildLogger {
|
|
64
|
+
info: (msg: string) => void
|
|
65
|
+
error: (msg: string) => void
|
|
66
|
+
warn: (msg: string) => void
|
|
67
|
+
success: (msg: string) => void
|
|
68
|
+
buildLog: (msg: string) => void
|
|
69
|
+
uploadProgress: (percent: number) => void
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Core build request
|
|
76
|
+
|
|
77
|
+
### `build needed [appId]`
|
|
78
|
+
|
|
79
|
+
- Example: `npx @capgo/cli@latest build needed com.example.app --channel production --verbose`
|
|
80
|
+
- Prints `yes` or `no` and exits with code `1` only when local native dependency metadata requires a new native build.
|
|
81
|
+
- If `--channel` is omitted, it uses `plugins.CapacitorUpdater.defaultChannel` from local config, then the public default channel in Capgo Cloud.
|
|
82
|
+
- Key options:
|
|
83
|
+
- `-c, --channel <channel>`
|
|
84
|
+
- `--verbose`
|
|
85
|
+
- `--package-json <packageJson>`
|
|
86
|
+
- `--node-modules <nodeModules>`
|
|
87
|
+
|
|
88
|
+
### `build request [appId]`
|
|
89
|
+
|
|
90
|
+
- Example: `npx @capgo/cli@latest build request com.example.app --platform ios --path .`
|
|
91
|
+
- Notes:
|
|
92
|
+
- Zips the current project directory and uploads it to Capgo for building.
|
|
93
|
+
- Builds are processed for store distribution.
|
|
94
|
+
- Credentials are never stored permanently on Capgo servers.
|
|
95
|
+
- Build outputs can be uploaded for time-limited download links.
|
|
96
|
+
- Before requesting a build, save credentials with `build credentials save`.
|
|
97
|
+
- Core options:
|
|
98
|
+
- `--path <path>`
|
|
99
|
+
- `--node-modules <nodeModules>`: paths to `node_modules` directories for monorepos, comma-separated.
|
|
100
|
+
- `--platform <platform>`: `ios` or `android`. If omitted in an interactive terminal, the CLI prompts for the platform; non-interactive runs must pass it explicitly.
|
|
101
|
+
- `--build-mode <buildMode>`: `debug` or `release`.
|
|
102
|
+
- `-a, --apikey <apikey>`
|
|
103
|
+
- `--verbose`
|
|
104
|
+
|
|
105
|
+
#### iOS request options
|
|
106
|
+
|
|
107
|
+
- `--build-certificate-base64 <cert>`
|
|
108
|
+
- `--p12-password <password>`
|
|
109
|
+
- `--apple-id <email>`
|
|
110
|
+
- `--apple-app-specific-password <password>`
|
|
111
|
+
- `--apple-key-id <id>`
|
|
112
|
+
- `--apple-issuer-id <id>`
|
|
113
|
+
- `--apple-key-content <content>`
|
|
114
|
+
- `--app-store-connect-team-id <id>`
|
|
115
|
+
- `--ios-scheme <scheme>`
|
|
116
|
+
- `--ios-target <target>`
|
|
117
|
+
- `--ios-distribution <mode>`: `app_store` or `ad_hoc`
|
|
118
|
+
- `--ios-provisioning-profile <mapping>`: repeatable path or `bundleId=path`
|
|
119
|
+
|
|
120
|
+
#### Android request options
|
|
121
|
+
|
|
122
|
+
- `--android-keystore-file <keystore>`
|
|
123
|
+
- `--keystore-key-alias <alias>`
|
|
124
|
+
- `--keystore-key-password <password>`
|
|
125
|
+
- `--keystore-store-password <password>`
|
|
126
|
+
- `--play-config-json <json>`
|
|
127
|
+
- `--android-flavor <flavor>`
|
|
128
|
+
- `--in-app-update-priority <0-5>`: Google Play in-app update priority (higher = more urgent)
|
|
129
|
+
|
|
130
|
+
#### Output behavior options
|
|
131
|
+
|
|
132
|
+
- `--no-playstore-upload`: skip Play Store upload for the build, requires `--output-upload`
|
|
133
|
+
- `--output-upload`
|
|
134
|
+
- `--no-output-upload`
|
|
135
|
+
- `--output-retention <duration>`: `1h` to `7d`
|
|
136
|
+
- `--skip-build-number-bump`
|
|
137
|
+
- `--no-skip-build-number-bump`
|
|
138
|
+
|
|
139
|
+
## Local credential management
|
|
140
|
+
|
|
141
|
+
Credentials are stored locally, either globally in `~/.capgo-credentials/credentials.json` or locally in `.capgo-credentials.json`.
|
|
142
|
+
|
|
143
|
+
### `build credentials save`
|
|
144
|
+
|
|
145
|
+
- Required before build requests.
|
|
146
|
+
- Supports global storage by default and local storage with `--local`.
|
|
147
|
+
- Example iOS flow:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
npx @capgo/cli build credentials save --platform ios \
|
|
151
|
+
--certificate ./cert.p12 --p12-password "password" \
|
|
152
|
+
--ios-provisioning-profile ./profile.mobileprovision \
|
|
153
|
+
--apple-key ./AuthKey.p8 --apple-key-id "KEY123" \
|
|
154
|
+
--apple-issuer-id "issuer-uuid" --apple-team-id "team-id"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
- Example multi-target iOS flow:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
npx @capgo/cli build credentials save --platform ios \
|
|
161
|
+
--ios-provisioning-profile ./App.mobileprovision \
|
|
162
|
+
--ios-provisioning-profile com.example.widget=./Widget.mobileprovision
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
- Example Android flow:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
npx @capgo/cli build credentials save --platform android \
|
|
169
|
+
--keystore ./release.keystore --keystore-alias "my-key" \
|
|
170
|
+
--keystore-key-password "key-pass" \
|
|
171
|
+
--play-config ./service-account.json
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
- Core options:
|
|
175
|
+
- `--appId <appId>`
|
|
176
|
+
- `--platform <platform>`
|
|
177
|
+
- `--local`
|
|
178
|
+
- `--output-upload`, `--no-output-upload`
|
|
179
|
+
- `--output-retention <duration>`
|
|
180
|
+
- `--skip-build-number-bump`, `--no-skip-build-number-bump`
|
|
181
|
+
|
|
182
|
+
#### iOS credential save options
|
|
183
|
+
|
|
184
|
+
- `--certificate <path>`
|
|
185
|
+
- `--ios-provisioning-profile <mapping>`
|
|
186
|
+
- `--p12-password <password>`
|
|
187
|
+
- `--apple-key <path>`
|
|
188
|
+
- `--apple-key-id <id>`
|
|
189
|
+
- `--apple-issuer-id <id>`
|
|
190
|
+
- `--apple-team-id <id>`
|
|
191
|
+
- `--ios-distribution <mode>`
|
|
192
|
+
- `--apple-id <email>`
|
|
193
|
+
- `--apple-app-password <password>`
|
|
194
|
+
|
|
195
|
+
#### Android credential save options
|
|
196
|
+
|
|
197
|
+
- `--keystore <path>`
|
|
198
|
+
- `--keystore-alias <alias>`
|
|
199
|
+
- `--keystore-key-password <password>`
|
|
200
|
+
- `--keystore-store-password <password>`
|
|
201
|
+
- `--play-config <path>`
|
|
202
|
+
- `--android-flavor <flavor>`
|
|
203
|
+
|
|
204
|
+
### `build credentials list`
|
|
205
|
+
|
|
206
|
+
- Examples:
|
|
207
|
+
- `npx @capgo/cli build credentials list`
|
|
208
|
+
- `npx @capgo/cli build credentials list --appId com.example.app`
|
|
209
|
+
- Options:
|
|
210
|
+
- `--appId <appId>`
|
|
211
|
+
- `--local`
|
|
212
|
+
|
|
213
|
+
### `build credentials clear`
|
|
214
|
+
|
|
215
|
+
- Examples:
|
|
216
|
+
- `npx @capgo/cli build credentials clear`
|
|
217
|
+
- `npx @capgo/cli build credentials clear --local`
|
|
218
|
+
- `npx @capgo/cli build credentials clear --appId com.example.app --platform ios`
|
|
219
|
+
- Options:
|
|
220
|
+
- `--appId <appId>`
|
|
221
|
+
- `--platform <platform>`
|
|
222
|
+
- `--local`
|
|
223
|
+
|
|
224
|
+
### `build credentials update`
|
|
225
|
+
|
|
226
|
+
- Use to update specific credential fields without re-entering all data.
|
|
227
|
+
- Platform is auto-detected from the supplied options.
|
|
228
|
+
- Examples:
|
|
229
|
+
- `npx @capgo/cli build credentials update --ios-provisioning-profile ./new-profile.mobileprovision`
|
|
230
|
+
- `npx @capgo/cli build credentials update --local --keystore ./new-keystore.jks`
|
|
231
|
+
- Core options:
|
|
232
|
+
- `--appId <appId>`
|
|
233
|
+
- `--platform <platform>`
|
|
234
|
+
- `--local`
|
|
235
|
+
- `--overwrite-ios-provisioning-map`
|
|
236
|
+
- `--output-upload`, `--no-output-upload`
|
|
237
|
+
- `--output-retention <duration>`
|
|
238
|
+
- `--skip-build-number-bump`, `--no-skip-build-number-bump`
|
|
239
|
+
- Supports the same iOS and Android credential fields as `build credentials save`.
|
|
240
|
+
|
|
241
|
+
### `build credentials migrate`
|
|
242
|
+
|
|
243
|
+
- Example: `npx @capgo/cli build credentials migrate --platform ios`
|
|
244
|
+
- Notes:
|
|
245
|
+
- Converts `BUILD_PROVISION_PROFILE_BASE64` to `CAPGO_IOS_PROVISIONING_MAP`.
|
|
246
|
+
- Discovers the main bundle ID from the Xcode project automatically.
|
|
247
|
+
- Options:
|
|
248
|
+
- `--appId <appId>`
|
|
249
|
+
- `--platform <platform>`: only `ios`
|
|
250
|
+
- `--local`
|
|
251
|
+
|
|
252
|
+
## Supporting docs
|
|
253
|
+
|
|
254
|
+
- iOS setup: `https://capgo.app/docs/cli/cloud-build/ios/`
|
|
255
|
+
- Android setup: `https://capgo.app/docs/cli/cloud-build/android/`
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: organization-management
|
|
3
|
+
description: Use when working with Capgo account lookup, organization administration, member security settings, and deprecated organisation aliases.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Capgo CLI Organization Management
|
|
7
|
+
|
|
8
|
+
Use this skill for account and organization administration commands.
|
|
9
|
+
|
|
10
|
+
## Account command
|
|
11
|
+
|
|
12
|
+
### `account id`
|
|
13
|
+
|
|
14
|
+
- Example: `npx @capgo/cli@latest account id`
|
|
15
|
+
- Use to retrieve an account ID that is safe to share for collaboration or support.
|
|
16
|
+
- Key option:
|
|
17
|
+
- `-a, --apikey <apikey>`
|
|
18
|
+
|
|
19
|
+
## Organization commands
|
|
20
|
+
|
|
21
|
+
### `organization list`
|
|
22
|
+
|
|
23
|
+
- Alias: `l`
|
|
24
|
+
- Example: `npx @capgo/cli@latest organization list`
|
|
25
|
+
- Lists all organizations the current user can access.
|
|
26
|
+
|
|
27
|
+
### `organization add`
|
|
28
|
+
|
|
29
|
+
- Alias: `a`
|
|
30
|
+
- Example: `npx @capgo/cli@latest organization add --name "My Company" --email admin@mycompany.com`
|
|
31
|
+
- Key options:
|
|
32
|
+
- `-n, --name <name>`
|
|
33
|
+
- `-e, --email <email>`
|
|
34
|
+
|
|
35
|
+
### `organization members [orgId]`
|
|
36
|
+
|
|
37
|
+
- Alias: `m`
|
|
38
|
+
- Example: `npx @capgo/cli@latest organization members ORG_ID`
|
|
39
|
+
- Notes:
|
|
40
|
+
- Lists members, roles, and 2FA status.
|
|
41
|
+
- Useful before enabling 2FA enforcement.
|
|
42
|
+
- Viewing 2FA status requires `super_admin` rights.
|
|
43
|
+
|
|
44
|
+
### `organization set [orgId]`
|
|
45
|
+
|
|
46
|
+
- Alias: `s`
|
|
47
|
+
- Example: `npx @capgo/cli@latest organization set ORG_ID --name "New Name"`
|
|
48
|
+
- Security examples:
|
|
49
|
+
- `npx @capgo/cli@latest organization set ORG_ID --enforce-2fa`
|
|
50
|
+
- `npx @capgo/cli@latest organization set ORG_ID --password-policy --min-length 12`
|
|
51
|
+
- `npx @capgo/cli@latest organization set ORG_ID --require-apikey-expiration --max-apikey-expiration-days 90`
|
|
52
|
+
- `npx @capgo/cli@latest organization set ORG_ID --enforce-hashed-api-keys`
|
|
53
|
+
- Notes:
|
|
54
|
+
- Security settings require `super_admin` role.
|
|
55
|
+
- Key options:
|
|
56
|
+
- `-n, --name <name>`
|
|
57
|
+
- `-e, --email <email>`
|
|
58
|
+
- `--enforce-2fa`, `--no-enforce-2fa`
|
|
59
|
+
- `--password-policy`, `--no-password-policy`
|
|
60
|
+
- `--min-length <minLength>`
|
|
61
|
+
- `--require-uppercase`, `--no-require-uppercase`
|
|
62
|
+
- `--require-number`, `--no-require-number`
|
|
63
|
+
- `--require-special`, `--no-require-special`
|
|
64
|
+
- `--require-apikey-expiration`, `--no-require-apikey-expiration`
|
|
65
|
+
- `--max-apikey-expiration-days <days>`
|
|
66
|
+
- `--enforce-hashed-api-keys`, `--no-enforce-hashed-api-keys`
|
|
67
|
+
|
|
68
|
+
### `organization delete [orgId]`
|
|
69
|
+
|
|
70
|
+
- Alias: `d`
|
|
71
|
+
- Example: `npx @capgo/cli@latest organization delete ORG_ID`
|
|
72
|
+
- Notes:
|
|
73
|
+
- This action cannot be undone.
|
|
74
|
+
- Only organization owners can delete organizations.
|
|
75
|
+
|
|
76
|
+
## Deprecated aliases
|
|
77
|
+
|
|
78
|
+
The `organisation` command group is deprecated in favor of `organization` and will be removed in a future version.
|
|
79
|
+
|
|
80
|
+
### Deprecated commands
|
|
81
|
+
|
|
82
|
+
- `organisation list`
|
|
83
|
+
- `organisation add`
|
|
84
|
+
- `organisation set [orgId]`
|
|
85
|
+
- `organisation delete [orgId]`
|
|
86
|
+
|
|
87
|
+
Use the `organization` equivalents for all new documentation and examples.
|
|
88
|
+
|
|
89
|
+
## Shared options
|
|
90
|
+
|
|
91
|
+
Most account and organization commands support:
|
|
92
|
+
|
|
93
|
+
- `-a, --apikey <apikey>`
|