@capgo/cli 8.39.0 → 8.41.4
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 +5 -0
- package/dist/index.js +862 -703
- package/dist/package.json +10 -7
- package/dist/src/analytics/track.d.ts +0 -1
- package/dist/src/app/add.d.ts +1 -0
- package/dist/src/app/debug.d.ts +1 -1
- package/dist/src/app/list.d.ts +17 -2
- package/dist/src/build/onboarding/command.d.ts +9 -0
- package/dist/src/build/onboarding/project-discovery.d.ts +15 -0
- package/dist/src/build/onboarding/project-selection.d.ts +7 -0
- package/dist/src/build/onboarding/ui/platform-picker.d.ts +2 -0
- package/dist/src/build/onboarding/ui/project-discovery.d.ts +27 -0
- package/dist/src/config/index.d.ts +2 -1
- package/dist/src/init/browser-login.d.ts +0 -1
- package/dist/src/init/telemetry.d.ts +2 -2
- package/dist/src/runner-command.d.ts +3 -0
- package/dist/src/schemas/bundle.d.ts +1 -0
- package/dist/src/schemas/onboarding.d.ts +2 -2
- package/dist/src/sdk.js +318 -310
- package/dist/src/types/supabase.types.d.ts +0 -4
- package/dist/src/utils.d.ts +32 -26
- package/package.json +10 -7
- package/skills/_artifacts/domain_map.yaml +32 -0
- package/skills/_artifacts/skill_spec.md +30 -0
- package/skills/_artifacts/skill_tree.yaml +17 -0
- package/skills/release-management/SKILL.md +2 -0
- package/skills/usage/SKILL.md +2 -1
package/dist/src/utils.d.ts
CHANGED
|
@@ -47,9 +47,8 @@ export declare function check2FAAccessForOrg(supabase: SupabaseClient<Database>,
|
|
|
47
47
|
type TagKey = Lowercase<string>;
|
|
48
48
|
/** Tag Type */
|
|
49
49
|
type Tags = Record<TagKey, string | number | boolean>;
|
|
50
|
-
type Parser = 'markdown' | 'text';
|
|
51
50
|
/**
|
|
52
|
-
* Options for publishing
|
|
51
|
+
* Options for publishing analytics events
|
|
53
52
|
*/
|
|
54
53
|
interface TrackOptions {
|
|
55
54
|
/**
|
|
@@ -80,25 +79,11 @@ interface TrackOptions {
|
|
|
80
79
|
* Tracking payload contract version.
|
|
81
80
|
*/
|
|
82
81
|
tracking_version?: number;
|
|
83
|
-
/**
|
|
84
|
-
* Event icon (emoji)
|
|
85
|
-
* must be a single emoji
|
|
86
|
-
* example: "🎉"
|
|
87
|
-
*/
|
|
88
|
-
icon?: string;
|
|
89
82
|
/**
|
|
90
83
|
* Event tags
|
|
91
84
|
* example: { username: "mattie" }
|
|
92
85
|
*/
|
|
93
86
|
tags?: Tags;
|
|
94
|
-
/**
|
|
95
|
-
* Send push notification
|
|
96
|
-
*/
|
|
97
|
-
notify?: boolean;
|
|
98
|
-
/**
|
|
99
|
-
* Parser for description
|
|
100
|
-
*/
|
|
101
|
-
parser?: Parser;
|
|
102
87
|
/**
|
|
103
88
|
* Event timestamp
|
|
104
89
|
*/
|
|
@@ -112,6 +97,17 @@ interface PromptInteractivityOptions {
|
|
|
112
97
|
ci?: boolean;
|
|
113
98
|
}
|
|
114
99
|
export declare function canPromptInteractively({ silent, stdinIsTTY, stdoutIsTTY, ci, }?: PromptInteractivityOptions): boolean;
|
|
100
|
+
interface CanOpenExternalUrlOptions {
|
|
101
|
+
ci?: boolean;
|
|
102
|
+
stdinIsTTY?: boolean;
|
|
103
|
+
stdoutIsTTY?: boolean;
|
|
104
|
+
display?: string | undefined;
|
|
105
|
+
platform?: NodeJS.Platform;
|
|
106
|
+
}
|
|
107
|
+
/** Whether the CLI may spawn a desktop browser for upgrade/docs links. */
|
|
108
|
+
export declare function canOpenExternalUrl(options?: CanOpenExternalUrlOptions): boolean;
|
|
109
|
+
/** Best-effort browser open; skipped in CI/headless and when xdg-open is missing. */
|
|
110
|
+
export declare function openExternalUrl(url: string): Promise<void>;
|
|
115
111
|
export declare function projectIsMonorepo(dir: string): boolean;
|
|
116
112
|
export declare function findRoot(dir: string): string;
|
|
117
113
|
export declare function getPackageScripts(f?: string, file?: string | undefined): Record<string, string>;
|
|
@@ -505,9 +501,14 @@ export declare function createSupabaseClient(apikey: string, supaHost?: string,
|
|
|
505
501
|
channel_device_count?: number;
|
|
506
502
|
created_at?: string | null;
|
|
507
503
|
created_from_onboarding?: boolean;
|
|
508
|
-
default_upload_channel
|
|
504
|
+
default_upload_channel? /**
|
|
505
|
+
* User ID
|
|
506
|
+
* example: "user-123"
|
|
507
|
+
*/: string;
|
|
509
508
|
existing_app?: boolean;
|
|
510
|
-
expose_metadata
|
|
509
|
+
expose_metadata? /**
|
|
510
|
+
* Organization ID for actor-scoped tracking.
|
|
511
|
+
*/: boolean;
|
|
511
512
|
icon_url: string;
|
|
512
513
|
id?: string | null;
|
|
513
514
|
ios_store_url?: string | null;
|
|
@@ -4757,10 +4758,6 @@ export declare function createSupabaseClient(apikey: string, supaHost?: string,
|
|
|
4757
4758
|
};
|
|
4758
4759
|
Returns: boolean;
|
|
4759
4760
|
};
|
|
4760
|
-
is_rbac_enabled_globally: {
|
|
4761
|
-
Args: never;
|
|
4762
|
-
Returns: boolean;
|
|
4763
|
-
};
|
|
4764
4761
|
is_recent_email_otp_verified: {
|
|
4765
4762
|
Args: {
|
|
4766
4763
|
user_id: string;
|
|
@@ -5719,11 +5716,14 @@ export declare function shouldWarnTrialExpiry(options: {
|
|
|
5719
5716
|
export declare function isAllowedActionOrg(supabase: SupabaseClient<Database>, orgId: string): Promise<boolean>;
|
|
5720
5717
|
/** Validate metered plan actions while preserving app-scoped RBAC context when available. */
|
|
5721
5718
|
export declare function isAllowedPlanActions(supabase: SupabaseClient<Database>, orgId: string, actions: Database['public']['Enums']['action_type'][], appId?: string): Promise<boolean>;
|
|
5719
|
+
export type MeteredPlanCheckResult = 'allowed' | 'billing_denied' | 'permission_denied';
|
|
5720
|
+
/** Distinguish RBAC denials on app-scoped plan RPCs from real billing limits. */
|
|
5721
|
+
export declare function resolveMeteredPlanAllowed(supabase: SupabaseClient<Database>, orgId: string, actions: Database['public']['Enums']['action_type'][], appId?: string): Promise<MeteredPlanCheckResult>;
|
|
5722
5722
|
export declare function checkRemoteCliMessages(supabase: SupabaseClient<Database>, orgId: string, cliVersion: string): Promise<void>;
|
|
5723
5723
|
export declare function checkPlanValid(supabase: SupabaseClient<Database>, orgId: string, appId?: string, warning?: boolean): Promise<void>;
|
|
5724
5724
|
export declare function checkPlanValidUpload(supabase: SupabaseClient<Database>, orgId: string, appId?: string, warning?: boolean): Promise<void>;
|
|
5725
5725
|
export declare function findSavedKeySilent(): string | undefined;
|
|
5726
|
-
export declare function findSavedKey(quiet?: boolean): string;
|
|
5726
|
+
export declare function findSavedKey(quiet?: boolean, report?: (message: string) => void): string;
|
|
5727
5727
|
export declare function getContentType(filename: string): string;
|
|
5728
5728
|
export declare function findProjectType(options?: {
|
|
5729
5729
|
quiet?: boolean;
|
|
@@ -5809,10 +5809,16 @@ export declare function updateOrCreateChannel(supabase: SupabaseClient<Database>
|
|
|
5809
5809
|
updated_at: string;
|
|
5810
5810
|
version: number | null;
|
|
5811
5811
|
}>>;
|
|
5812
|
-
|
|
5813
|
-
notifyConsole?: boolean;
|
|
5812
|
+
type SendEventPayload = TrackOptions & {
|
|
5814
5813
|
nonPersonTags?: Record<string, string | number | boolean>;
|
|
5815
|
-
}
|
|
5814
|
+
} & ({
|
|
5815
|
+
notifyConsole: true;
|
|
5816
|
+
icon?: string;
|
|
5817
|
+
} | {
|
|
5818
|
+
notifyConsole?: false;
|
|
5819
|
+
icon?: never;
|
|
5820
|
+
});
|
|
5821
|
+
export declare function sendEvent(capgkey: string, payload: SendEventPayload, verbose?: boolean, signal?: AbortSignal): Promise<void>;
|
|
5816
5822
|
export declare function show2FADeniedError(organizationName?: string): never;
|
|
5817
5823
|
export declare function filterOrgsByPermission(supabase: SupabaseClient<Database>, apikey: string, orgs: Organization[], permissionKey: string): Promise<Organization[]>;
|
|
5818
5824
|
export declare function getOrganizationListWithPermission(supabase: SupabaseClient<Database>, apikey: string, permissionKey: string): Promise<{
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@capgo/cli",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "8.
|
|
4
|
+
"version": "8.41.4",
|
|
5
5
|
"description": "A CLI to upload to capgo servers",
|
|
6
6
|
"author": "Martin martin@capgo.app",
|
|
7
7
|
"license": "Apache 2.0",
|
|
8
8
|
"homepage": "https://github.com/Cap-go/capgo/tree/main/cli#readme",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
|
-
"url": "
|
|
11
|
+
"url": "https://github.com/Cap-go/capgo.app",
|
|
12
12
|
"directory": "cli"
|
|
13
13
|
},
|
|
14
14
|
"bugs": {
|
|
@@ -105,6 +105,7 @@
|
|
|
105
105
|
"test:mcp-build-job": "bun test/test-mcp-build-job.mjs",
|
|
106
106
|
"test:mcp-build-tools": "bun test/test-mcp-build-tools.mjs",
|
|
107
107
|
"test:app-created-source": "bun test/test-app-created-source.mjs",
|
|
108
|
+
"test:app-list-output-text": "bun test/test-app-list-output-text.mjs",
|
|
108
109
|
"test:doctor-analytics": "bun test/test-doctor-analytics.mjs",
|
|
109
110
|
"test:posthog-exception": "bun test/test-posthog-exception.mjs",
|
|
110
111
|
"test:onboarding-recovery": "bun test/test-onboarding-recovery.mjs",
|
|
@@ -165,8 +166,9 @@
|
|
|
165
166
|
"test:android-version": "bun test/test-android-version.mjs",
|
|
166
167
|
"test:platform-flow-contract": "bun test/test-platform-flow-contract.mjs",
|
|
167
168
|
"test:tail-engine-shared": "bun test/test-tail-engine-shared.mjs",
|
|
168
|
-
"test": "bun run build && bun run test:helper-dce && bun run test:version-detection:setup && bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:auto-bump-version && bun run test:auto-bump-ai-diff && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:fail-on-incompatible && bun run test:native-dependencies && bun run test:package-json-guard && 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:authenticated-command-invocation && bun run test:analytics-error-category && bun run test:analytics-org-resolver && bun run test:supabase-perf && bun run test:preview-qr && bun run test:app-set-options && bun run test:mcp-analytics && bun run test:mcp-instructions && bun run test:mcp-live-update-onboarding && bun run test:mcp-stdout-guard && bun run test:mcp-platform-select && bun run test:mcp-explain-scopes && bun run test:mcp-oauth-reopen && bun run test:mcp-broker-oauth && bun run test:mcp-broker-session && bun run test:mcp-credentials-manage && bun run test:mcp-resume-prompt && bun run test:mcp-build-job && bun run test:mcp-build-tools && 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-monorepo-targeting && bun run test:init-app-conflict && bun run test:wait-log && bun run test:init-guardrails && bun run test:init-replay && bun run test:init-telemetry && bun run test:prompt-preferences && bun run test:esm-sdk && bun run test:mcp && bun run test:mcp-no-key-handshake && bun run test:auth-session && bun run test:version-detection && bun run test:platform-paths && bun run test:project-type-detection && bun run test:payload-split && bun run test:manifest-path-encoding && bun run test:macos-signing && bun run test:asc-key-protocol && bun run test:apple-api-import-helpers && bun run test:apple-api-verify-key && 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:cicd-failure-help && 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 && bun run test:support-mailto && bun run test:support-redact && bun run test:support-internal-log && bun run test:support-help-menu && bun run test:support-contact && bun run test:support-upload-prompt && bun run test:support-bundle-files && bun run test:self-update && bun run test:update-prompt && bun run test:apple-api-cert-create && bun run test:android-tail-engine && bun run test:android-tail-render && bun run test:android-tail-routing && bun run test:dev-gate-stripped && bun run test:frame-fit-ios-shared && bun run test:ios-confirm-app-id && bun run test:ios-create-new && bun run test:ios-e2e && bun run test:ios-flow-contract && bun run test:ios-import-discovery && bun run test:ios-import-export && bun run test:ios-import-pickers && bun run test:ios-import-recovery && bun run test:ios-recovery && bun run test:ios-resume && bun run test:ios-tail-handoff && bun run test:ios-tui-render && bun run test:p8-error && bun run test:ios-tui-routing && bun run test:ios-updater-sync-validation && bun run test:ios-verify-app && bun run test:ios-marketing-version && bun run test:android-version && bun run test:platform-flow-contract && bun run test:tail-engine-shared && bun run test:prescan && bun run test:android-reporting-api && bun run test:android-app-verification && bun run test:android-rename && bun run test:appflow-auth && bun run test:appflow-api-map && bun run test:appflow-validate && bun run test:appflow-flow && bun run test:appflow-gapfill && bun run test:appflow-engine && bun run test:appflow-tail && bun run test:appflow-fetch && bun run test:appflow-sa-decode && bun run test:app-permission-helper && bun run test:organization-set-api-host && bun run test:trial-warning && bun run test:plan-validation",
|
|
169
|
+
"test": "bun run build && bun run test:helper-dce && bun run test:version-detection:setup && bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:auto-bump-version && bun run test:auto-bump-ai-diff && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:fail-on-incompatible && bun run test:native-dependencies && bun run test:package-json-guard && 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:authenticated-command-invocation && bun run test:analytics-error-category && bun run test:analytics-org-resolver && bun run test:supabase-perf && bun run test:preview-qr && bun run test:app-set-options && bun run test:mcp-analytics && bun run test:mcp-instructions && bun run test:mcp-live-update-onboarding && bun run test:mcp-stdout-guard && bun run test:mcp-platform-select && bun run test:mcp-explain-scopes && bun run test:mcp-oauth-reopen && bun run test:mcp-broker-oauth && bun run test:mcp-broker-session && bun run test:mcp-credentials-manage && bun run test:mcp-resume-prompt && bun run test:mcp-build-job && bun run test:mcp-build-tools && bun run test:app-created-source && bun run test:app-list-output-text && bun run test:doctor-analytics && bun run test:posthog-exception && bun run test:build-platform-selection && bun run test:builder-project-discovery && 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-monorepo-targeting && bun run test:init-app-conflict && bun run test:wait-log && bun run test:init-guardrails && bun run test:init-replay && bun run test:init-telemetry && bun run test:prompt-preferences && bun run test:esm-sdk && bun run test:mcp && bun run test:mcp-no-key-handshake && bun run test:auth-session && bun run test:version-detection && bun run test:platform-paths && bun run test:project-type-detection && bun run test:payload-split && bun run test:manifest-path-encoding && bun run test:macos-signing && bun run test:asc-key-protocol && bun run test:apple-api-import-helpers && bun run test:apple-api-verify-key && 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:cicd-failure-help && 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 && bun run test:support-mailto && bun run test:support-redact && bun run test:support-internal-log && bun run test:support-help-menu && bun run test:support-contact && bun run test:support-upload-prompt && bun run test:support-bundle-files && bun run test:self-update && bun run test:update-prompt && bun run test:apple-api-cert-create && bun run test:android-tail-engine && bun run test:android-tail-render && bun run test:android-tail-routing && bun run test:dev-gate-stripped && bun run test:frame-fit-ios-shared && bun run test:ios-confirm-app-id && bun run test:ios-create-new && bun run test:ios-e2e && bun run test:ios-flow-contract && bun run test:ios-import-discovery && bun run test:ios-import-export && bun run test:ios-import-pickers && bun run test:ios-import-recovery && bun run test:ios-recovery && bun run test:ios-resume && bun run test:ios-tail-handoff && bun run test:ios-tui-render && bun run test:p8-error && bun run test:ios-tui-routing && bun run test:ios-updater-sync-validation && bun run test:ios-verify-app && bun run test:ios-marketing-version && bun run test:android-version && bun run test:platform-flow-contract && bun run test:tail-engine-shared && bun run test:prescan && bun run test:android-reporting-api && bun run test:android-app-verification && bun run test:android-rename && bun run test:appflow-auth && bun run test:appflow-api-map && bun run test:appflow-validate && bun run test:appflow-flow && bun run test:appflow-gapfill && bun run test:appflow-engine && bun run test:appflow-tail && bun run test:appflow-fetch && bun run test:appflow-sa-decode && bun run test:app-permission-helper && bun run test:organization-set-api-host && bun run test:trial-warning && bun run test:plan-validation",
|
|
169
170
|
"test:build-platform-selection": "bun test/test-build-platform-selection.mjs",
|
|
171
|
+
"test:builder-project-discovery": "bun test/test-builder-project-discovery.mjs",
|
|
170
172
|
"test:ai-log-capture": "bun test/test-ai-log-capture.mjs",
|
|
171
173
|
"test:ai-analyze-flow": "bun test/test-ai-analyze-flow.mjs",
|
|
172
174
|
"test:cicd-failure-help": "bun test/test-cicd-failure-help.mjs",
|
|
@@ -193,7 +195,7 @@
|
|
|
193
195
|
"test:support-upload-prompt": "bun test/test-support-upload-prompt.mjs",
|
|
194
196
|
"test:support-bundle-files": "bun test/test-support-bundle-files.mjs",
|
|
195
197
|
"test:mcp-live-update-onboarding": "bun test/test-mcp-live-update-onboarding.mjs",
|
|
196
|
-
"test:app-set-options": "bun test/test-app-set-options.mjs",
|
|
198
|
+
"test:app-set-options": "bun test/test-app-set-options.mjs && bun test/test-app-list-options.mjs",
|
|
197
199
|
"test:android-reporting-api": "bun test/test-android-reporting-api.mjs",
|
|
198
200
|
"test:android-app-verification": "bun test/test-android-app-verification.mjs",
|
|
199
201
|
"test:android-rename": "bun test/test-android-rename.mjs",
|
|
@@ -215,7 +217,9 @@
|
|
|
215
217
|
},
|
|
216
218
|
"dependencies": {
|
|
217
219
|
"@inkjs/ui": "^2.0.0",
|
|
220
|
+
"@manypkg/tools": "^2.1.2",
|
|
218
221
|
"@rrweb/types": "^2.1.1",
|
|
222
|
+
"@standard-schema/spec": "^1.1.0",
|
|
219
223
|
"@xmldom/xmldom": "^0.9.10",
|
|
220
224
|
"@xterm/addon-serialize": "^0.14.0",
|
|
221
225
|
"@xterm/headless": "^6.0.0",
|
|
@@ -228,8 +232,8 @@
|
|
|
228
232
|
"react": "^19.2.8",
|
|
229
233
|
"rrweb-snapshot": "^2.1.1",
|
|
230
234
|
"string-width": "^8.2.2",
|
|
231
|
-
"
|
|
232
|
-
"
|
|
235
|
+
"typescript": "6.0.3",
|
|
236
|
+
"zod": "^4.4.3"
|
|
233
237
|
},
|
|
234
238
|
"optionalDependencies": {
|
|
235
239
|
"@capgo/cli-helper-darwin-arm64": "^1.1.1",
|
|
@@ -274,7 +278,6 @@
|
|
|
274
278
|
"prettyjson": "^1.2.5",
|
|
275
279
|
"tmp": "^0.2.7",
|
|
276
280
|
"tus-js-client": "^4.3.1",
|
|
277
|
-
"typescript": "6.0.3",
|
|
278
281
|
"ws": "^8.21.1"
|
|
279
282
|
}
|
|
280
283
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
domains:
|
|
2
|
+
- name: cli-usage
|
|
3
|
+
summary: High-level command routing, setup, diagnostics, app management, docs generation, MCP, and GitHub support commands.
|
|
4
|
+
primary_sources:
|
|
5
|
+
- webdocs/init.mdx
|
|
6
|
+
- webdocs/doctor.mdx
|
|
7
|
+
- webdocs/login.mdx
|
|
8
|
+
- webdocs/app.mdx
|
|
9
|
+
- webdocs/account.mdx
|
|
10
|
+
- webdocs/probe.mdx
|
|
11
|
+
- webdocs/star.mdx
|
|
12
|
+
- webdocs/star-all.mdx
|
|
13
|
+
- src/index.ts
|
|
14
|
+
- name: ota-release-management
|
|
15
|
+
summary: OTA bundle uploads, channel operations, preview QR codes, compatibility checks, cleanup, and encryption-key workflows.
|
|
16
|
+
primary_sources:
|
|
17
|
+
- webdocs/bundle.mdx
|
|
18
|
+
- webdocs/channel.mdx
|
|
19
|
+
- webdocs/key.mdx
|
|
20
|
+
- src/index.ts
|
|
21
|
+
- name: native-builds
|
|
22
|
+
summary: Native cloud build requests and local build credential management for iOS and Android.
|
|
23
|
+
primary_sources:
|
|
24
|
+
- webdocs/build.mdx
|
|
25
|
+
- src/index.ts
|
|
26
|
+
- name: organization-management
|
|
27
|
+
summary: Account lookup, organization administration, and deprecated organisation aliases.
|
|
28
|
+
primary_sources:
|
|
29
|
+
- webdocs/account.mdx
|
|
30
|
+
- webdocs/organization.mdx
|
|
31
|
+
- webdocs/organisation.mdx
|
|
32
|
+
- src/index.ts
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Capgo CLI skill spec
|
|
2
|
+
|
|
3
|
+
## Goal
|
|
4
|
+
|
|
5
|
+
Provide a small Capgo CLI skill set that helps an agent choose and invoke the correct CLI commands for app setup, OTA release operations, organization administration, MCP setup, GitHub support commands, and native cloud builds without exceeding TanStack Intent size limits.
|
|
6
|
+
|
|
7
|
+
## Sources
|
|
8
|
+
|
|
9
|
+
- `webdocs/*.mdx` for published command descriptions, examples, and option tables.
|
|
10
|
+
- `src/index.ts` for the currently registered commands, aliases, and flags that may not yet be fully reflected in the web docs.
|
|
11
|
+
- `AGENTS.md` for repository-specific maintenance requirements.
|
|
12
|
+
|
|
13
|
+
## Skill set
|
|
14
|
+
|
|
15
|
+
- `usage`: routing, setup, diagnostics, app commands, docs generation, MCP, and GitHub support commands.
|
|
16
|
+
- `release-management`: bundle, channel, compatibility, cleanup, and encryption-key workflows.
|
|
17
|
+
- `native-builds`: native cloud build requests and build credential storage/update flows.
|
|
18
|
+
- `organization-management`: account ID lookup, organization admin flows, and deprecated `organisation` aliases.
|
|
19
|
+
|
|
20
|
+
## Scope
|
|
21
|
+
|
|
22
|
+
- Include the documented command purpose, invocation patterns, key options, and important caveats.
|
|
23
|
+
- Prefer the public user-facing examples already used by the project.
|
|
24
|
+
- Keep the skills aligned with the published docs and current CLI registration.
|
|
25
|
+
|
|
26
|
+
## Maintenance rules
|
|
27
|
+
|
|
28
|
+
- Any CLI command or option change should update the relevant `skills/*/SKILL.md` file in the same pull request.
|
|
29
|
+
- Use `webdocs/` as the primary wording source and `src/index.ts` as the completeness check.
|
|
30
|
+
- Validate the skills with `bunx @tanstack/intent@latest validate` before release.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
skills:
|
|
2
|
+
- name: usage
|
|
3
|
+
path: skills/usage/SKILL.md
|
|
4
|
+
domain: cli-usage
|
|
5
|
+
focus: High-level routing and shared invocation rules.
|
|
6
|
+
- name: release-management
|
|
7
|
+
path: skills/release-management/SKILL.md
|
|
8
|
+
domain: ota-release-management
|
|
9
|
+
focus: OTA bundle, channel, compatibility, cleanup, and encryption workflows.
|
|
10
|
+
- name: native-builds
|
|
11
|
+
path: skills/native-builds/SKILL.md
|
|
12
|
+
domain: native-builds
|
|
13
|
+
focus: Native build request flows and local build credential management.
|
|
14
|
+
- name: organization-management
|
|
15
|
+
path: skills/organization-management/SKILL.md
|
|
16
|
+
domain: organization-management
|
|
17
|
+
focus: Account and organization administration commands, including deprecated aliases.
|
|
@@ -39,6 +39,7 @@ Use this skill for OTA update workflows in Capgo Cloud.
|
|
|
39
39
|
- Alias: `u`
|
|
40
40
|
- Example: `npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel production,beta`
|
|
41
41
|
- Progressive rollout example: `npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel production --rollout 10`
|
|
42
|
+
- Advance an existing rollout: `npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel production --rollout-advance`
|
|
42
43
|
- Key behavior:
|
|
43
44
|
- Bundle version must be greater than `0.0.0` and unique.
|
|
44
45
|
- Deleted versions cannot be reused.
|
|
@@ -55,6 +56,7 @@ Use this skill for OTA update workflows in Capgo Cloud.
|
|
|
55
56
|
- `-c, --channel <channel[,channel...]>`
|
|
56
57
|
- `--rollout <percentage>`
|
|
57
58
|
- `--rollout-percentage-bps <basisPoints>`
|
|
59
|
+
- `--rollout-advance` (promote the current rollout target to stable, then set the uploaded bundle as the new rollout; reuses the previous percentage unless `--rollout` or `--rollout-percentage-bps` is also set)
|
|
58
60
|
- `--rollout-cache-ttl-seconds <seconds>`
|
|
59
61
|
- `-e, --external <url>`
|
|
60
62
|
- `--iv-session-key <key>`
|
package/skills/usage/SKILL.md
CHANGED
|
@@ -35,7 +35,7 @@ TanStack Intent skills should stay focused and under the validator line limit, s
|
|
|
35
35
|
### App-level operations
|
|
36
36
|
|
|
37
37
|
- `app add [appId]`: create an app in Capgo Cloud.
|
|
38
|
-
- `app list`: list apps under the current account.
|
|
38
|
+
- `app list`: list apps under the current account. Pass `--filter-by-org-id <orgId>` to list only apps from one organization, `--show-org` to include organization names, and `--show-org-id` to include organization IDs. The CLI warns that the filter can hide other accessible apps. Use `npx @capgo/cli@latest app list --output-text` for plain status text with an embedded CSV app table and no interactive terminal formatting.
|
|
39
39
|
- `app delete [appId]`: remove an app.
|
|
40
40
|
- `app set [appId]`: update app settings such as name, icon, retention, metadata exposure, and preview access with `--preview` or `--no-preview`.
|
|
41
41
|
- `app setting [path]`: update Capacitor config values programmatically.
|
|
@@ -91,6 +91,7 @@ npx @capgo/cli@latest login YOUR_API_KEY
|
|
|
91
91
|
npx @capgo/cli@latest doctor
|
|
92
92
|
npx @capgo/cli@latest probe --platform ios
|
|
93
93
|
npx @capgo/cli@latest app add com.example.app --name "My App"
|
|
94
|
+
npx @capgo/cli@latest app list --filter-by-org-id YOUR_ORG_ID --show-org --show-org-id
|
|
94
95
|
npx @capgo/cli@latest get-qr com.example.app --channel production
|
|
95
96
|
npx @capgo/cli@latest star-all
|
|
96
97
|
```
|