Apps
Create, view, manage, review, and publish apps
axhub apps
Create, view, and manage apps.
axhub apps bootstrap
Create an app in one go from a template (repo + first deploy).
| Flag | Type | Description | Default |
|---|---|---|---|
--device-code | string | Resume an already-issued GitHub OAuth device code (env: AXHUB_GITHUB_DEVICE_CODE) | — |
--dry-run | boolean | Dry-run preview is the default. Pass --execute to create backend app + GitHub repo + deploy | true |
--execute | boolean | Execute the bootstrap saga | — |
--github-owner | string | GitHub owner or organization where the repository will be created | — |
--installation-id | integer | GitHub App installation id | — |
--name | string | New app display name | — |
--repo-name | string | Repository name to create in GitHub | — |
--repo-private | boolean | Create a private repository. Default unless --repo-public is passed | true |
--repo-public | boolean | Create a public repository | — |
--resume-last | boolean | Resume the latest locally cached GitHub Device Flow for this profile | — |
--slug | string | New app slug | — |
--subdomain | string | New app subdomain label | — |
--template | string | Template UUID or built-in alias (react, nextjs, astro) | — |
--tenant | string | Tenant slug or id. Defaults to the active tenant when omitted | — |
--watch | boolean | Poll the bootstrap status endpoint until done/failed | — |
--watch-interval | string | Poll interval such as 2s or 1m. Minimum 1s; defaults to 2s | — |
--watch-timeout | string | Maximum watch time such as 30m, 60s. Defaults to 30m | — |
axhub apps bootstrap-status
Check bootstrap progress.
| Flag | Type | Description | Default |
|---|---|---|---|
--bootstrap | string | Bootstrap id returned by axhub apps bootstrap --execute | — |
--tenant | string | Tenant slug or id. Defaults to the active tenant when omitted | — |
--watch | boolean | Poll until done/failed | — |
--watch-interval | string | Poll interval such as 2s or 1m. Minimum 1s; defaults to 2s | — |
--watch-timeout | string | Maximum watch time such as 30m, 60s. Defaults to 30m | — |
axhub apps check-availability
Check slug/subdomain availability.
| Flag | Type | Description | Default |
|---|---|---|---|
--slug | string | App slug to preflight | — |
--subdomain | string | App subdomain label to preflight | — |
--tenant | string | Tenant slug or id. Defaults to the active tenant when omitted | — |
axhub apps create
Create a new app.
| Flag | Type | Description | Default |
|---|---|---|---|
--auth-mode | string | App auth mode: cookie, bearer, api_key, or anonymous | — |
--category | string | — | — |
--data-scopes | string | Comma-separated data scopes | — |
--deploy-method | string | Deploy method on creation: docker (default) or compose. Immutable after create — backend rejects subsequent updates with invalid_state_transition / immutable_field | — |
--from-file | string | — | — |
--interactive | boolean | — | — |
--name | string | — | — |
--resource-tier | string | Pod resource tier on creation: S / M / L / XL. Tenant max (tenants.max_resource_tier, default L) is enforced backend-side | — |
--slug | string | — | — |
--subdomain | string | Subdomain on creation. Persisted as apps.subdomain (spec 285 fix) | — |
--tenant | string | — | — |
axhub apps delete
Delete an app.
| Flag | Type | Description | Default |
|---|---|---|---|
--app | string | — | — |
--dry-run | boolean | — | true |
--execute | boolean | — | — |
axhub apps discover
Discover public apps.
| Flag | Type | Description | Default |
|---|---|---|---|
--category | string | — | — |
--created-within-days | string | Filter apps created within N days (1..=3650) | — |
--limit | integer | — | — |
--page | integer | Page number (1-based) | — |
--per-page | integer | Page size forwarded to the backend as the dedicated per_page=N query key (distinct from --limit, which is forwarded verbatim as limit=N). If both flags are passed, --limit wins. Integrations that capture the outbound query string must read per_page and limit independently | — |
--q | string | — | — |
--sort | string | — | — |
--tenant | string | Tenant slug or id scope (tenant-scoped discover) | — |
axhub apps fork
Fork an app.
| Flag | Type | Description | Default |
|---|---|---|---|
--dry-run | boolean | Dry-run preview is the default | true |
--execute | boolean | Execute the fork bootstrap saga | — |
--name | string | New app display name. Defaults to --slug | — |
--repo-public | boolean | Create a public fork repo when the bootstrap backend creates GitHub resources | — |
--slug | string | New app slug | — |
--source | string | Source app slug/id | — |
--subdomain | string | New app subdomain label | — |
--template | string | Override source template id when the source app does not expose one | — |
--tenant | string | Destination tenant slug/id. Defaults to the active tenant | — |
axhub apps get
Get app details.
| Flag | Type | Description | Default |
|---|---|---|---|
--app | string | — | — |
axhub apps git
Manage the app's GitHub connection.
axhub apps git connect
Connect a GitHub repo to the app.
| Flag | Type | Description | Default |
|---|---|---|---|
--app | string | App id or slug. Preferred for agent scripts | — |
--branch | string | Branch to connect | main |
--device-code | string | Resume an already-issued GitHub OAuth device code (env: AXHUB_GITHUB_DEVICE_CODE) | — |
--dry-run | boolean | Dry-run preview is the default. Pass --execute to mutate | true |
--execute | boolean | Execute the backend git-connection mutation | — |
--installation-id | integer | Disambiguate when the GitHub App is installed on multiple accounts | — |
--repo | string | Repository in owner/repo form | — |
--resume-last | boolean | Resume the latest locally cached GitHub Device Flow for this profile | — |
axhub apps git disconnect
Disconnect the GitHub repo.
| Flag | Type | Description | Default |
|---|---|---|---|
--app | string | App id or slug. Preferred for agent scripts | — |
--dry-run | boolean | Dry-run preview is the default. Pass --execute to mutate | true |
--execute | boolean | Execute the backend disconnect mutation | — |
axhub apps git status
Show GitHub connection status.
| Flag | Type | Description | Default |
|---|---|---|---|
--app | string | App id or slug. Preferred for agent scripts | — |
axhub apps git update
Update the GitHub connection.
| Flag | Type | Description | Default |
|---|---|---|---|
--app | string | App id or slug. Preferred for agent scripts | — |
--branch | string | New branch name | — |
--dry-run | boolean | Dry-run preview is the default. Pass --execute to mutate | true |
--execute | boolean | Execute the backend update mutation | — |
axhub apps list
List apps.
| Flag | Type | Description | Default |
|---|---|---|---|
--all | boolean | Fetch all pages the backend returns | — |
--category-id | string | Category UUID filter | — |
--operating-status | string | Operating rollup filter: live | dev | archived | — |
--operating-status-in | string | Comma-separated operating rollup filter (OR) | — |
--page | integer | Page number to request | — |
--page-size | integer | Number of apps per page | — |
--per-page | integer | Alias for --page-size | — |
--q | string | Search query forwarded as q | — |
--review-status | string | Single review status (backend authority — additional values may exist) | — |
--review-status-in | string | Comma-separated review status filter | — |
--sort | string | Sort key (backend authority — additional values may exist) | — |
--status | string | App deployment status filter: draft | deployed | archived (spec 324) | — |
--tenant | string | Tenant slug or id scope | — |
--visibility | string | Visibility filter | — |
axhub apps members
List app members.
| Flag | Type | Description | Default |
|---|---|---|---|
--app | string | — | — |
--page | integer | Page number (1-based) | — |
--per-page | integer | Page size (default 50, max 200) | — |
axhub apps mine
List apps you can access.
| Flag | Type | Description | Default |
|---|---|---|---|
--page | integer | Page number to forward to the backend (current backend may return the full list) | — |
--per-page | integer | Page size to forward to the backend (current backend may return the full list) | — |
axhub apps owned
List apps you own.
(no options)
axhub apps purge
Permanently purge a deleted app.
| Flag | Type | Description | Default |
|---|---|---|---|
--app | string | — | — |
--dry-run | boolean | — | true |
--execute | boolean | — | — |
axhub apps resume
Resume a suspended app.
| Flag | Type | Description | Default |
|---|---|---|---|
--app | string | — | — |
--dry-run | boolean | — | true |
--execute | boolean | — | — |
axhub apps search
Search apps.
| Flag | Type | Description | Default |
|---|---|---|---|
--all | boolean | — | — |
--category | string | — | — |
--page | integer | — | — |
--per-page | integer | — | — |
--query | string | — | — |
--sort | string | — | — |
--visibility | string | — | — |
axhub apps sign-icon-upload
Issue a signed URL for app icon upload.
| Flag | Type | Description | Default |
|---|---|---|---|
--app | string | App slug or id (required unless --pre-create is set) | — |
--content-type | string | Explicit content type for pre-create mode (overrides file extension detection since no file is read) | — |
--dry-run | boolean | Preview only — request the signed URL but skip the PUT upload (default) | true |
--execute | boolean | Commit the upload; mutually exclusive with --dry-run | — |
--file | string | Path to the icon file to upload (PNG/JPEG/WEBP/GIF, ≤ 2MB). Ignored in --pre-create mode (no upload happens) | — |
--pre-create | boolean | Pre-create mode: request a presigned PUT URL for the tenant-level POST /api/v1/tenants/{tID}/apps/icon/upload-url endpoint so the icon can be uploaded before the app exists. Requires --tenant + --slug + --content-type. Skips the local file PUT; the caller drives the upload to the returned put_url with their own client | false |
--slug | string | App slug for pre-create mode (the slug the app will have) | — |
--tenant | string | Tenant slug or id for pre-create mode | — |
--variant | string | Icon variant: light (default) or dark | light |
axhub apps suspend
Suspend an app's runtime.
| Flag | Type | Description | Default |
|---|---|---|---|
--app | string | — | — |
--dry-run | boolean | — | true |
--execute | boolean | — | — |
axhub apps templates
Browse bootstrap templates.
axhub apps templates list
List templates.
(no options)
axhub apps update
Update app details.
| Flag | Type | Description | Default |
|---|---|---|---|
--app | string | — | — |
--auth-mode | string | New auth mode: cookie, bearer, api_key, or anonymous | — |
--category-id | string | New category UUID | — |
--clear-category | boolean | Clear the category (wins over --category-id) | — |
--clear-subdomain | boolean | Clear the subdomain (mutually exclusive with --subdomain) | — |
--data-scopes | string | New comma-separated data scopes | — |
--description | string | New description (≤1000 chars). Pass an empty string to clear | — |
--icon-dark-url | string | New dark-mode icon URL | — |
--icon-url | string | New light-mode icon URL (typically from axhub apps sign-icon-upload) | — |
--name | string | New display name (1~80 chars) | — |
--resource-tier | string | New Pod resource tier: S / M / L / XL. Tenant max enforced backend-side | — |
--subdomain | string | New subdomain | — |
--visibility | string | New visibility: private / invite_only / public. Non-private requires review_status=approved | — |
axhub apps workspace
List owned and received workspace apps.
(no options)
axhub init
Start a new app project in the current directory.
| Flag | Type | Description | Default |
|---|---|---|---|
--args | string | — | — |
axhub github
Manage GitHub integration (installs, accounts, repos).
axhub github accounts
View connected GitHub accounts.
axhub github accounts list
List GitHub accounts.
(no options)
axhub github installations
View GitHub App installations.
axhub github installations repos
List repos accessible to an installation.
| Flag | Type | Description | Default |
|---|---|---|---|
--installation-id | integer | GitHub App installation id | — |
--page | integer | Page number to request | — |
--per-page | integer | Repositories per page | — |
axhub open
Open a deployed app in the browser.
| Flag | Type | Description | Default |
|---|---|---|---|
--args | string | — | — |
--logs | boolean | — | — |
--metrics | boolean | — | — |
axhub categories
Manage app categories.
axhub categories create
Create a category.
| Flag | Type | Description | Default |
|---|---|---|---|
--color | string | — | — |
--description | string | — | — |
--display-order | integer | — | — |
--icon-url | string | — | — |
--name | string | — | — |
--slug | string | — | — |
--tenant | string | — | — |
axhub categories delete
Delete a category.
| Flag | Type | Description | Default |
|---|---|---|---|
--dry-run | boolean | — | true |
--execute | boolean | — | — |
--id | string | — | — |
--tenant | string | — | — |
--yes -y | boolean | — | — |
axhub categories get
Get category details.
| Flag | Type | Description | Default |
|---|---|---|---|
--id | string | — | — |
--tenant | string | — | — |
axhub categories list
List categories.
| Flag | Type | Description | Default |
|---|---|---|---|
--all | boolean | — | — |
--page | integer | — | — |
--per-page | integer | — | — |
--tenant | string | — | — |
axhub categories update
Update a category.
| Flag | Type | Description | Default |
|---|---|---|---|
--color | string | — | — |
--description | string | — | — |
--display-order | integer | — | — |
--dry-run | boolean | — | true |
--execute | boolean | — | — |
--icon-url | string | — | — |
--id | string | — | — |
--name | string | — | — |
--slug | string | — | — |
--tenant | string | — | — |
axhub review
Manage app publication review.
axhub review approve
Approve a review.
| Flag | Type | Description | Default |
|---|---|---|---|
--note | string | approval note | — |
--request_id | string | publication request id | — |
axhub review get
Get review details.
| Flag | Type | Description | Default |
|---|---|---|---|
--request_id | string | publication request id | — |
axhub review history
View review history.
| Flag | Type | Description | Default |
|---|---|---|---|
--app | string | app slug or id for per-app history | — |
--page | integer | page number for per-app history (default 1) | — |
--page-size | integer | items per page (default 20) | — |
--tenant | string | tenant id for tenant-wide settled history; overrides global --tenant | — |
axhub review list
List reviews.
(no options)
axhub review reject
Reject a review.
| Flag | Type | Description | Default |
|---|---|---|---|
--reason | string | rejection reason | — |
--request_id | string | publication request id | — |
axhub publish
Submit an app for publication review.
| Flag | Type | Description | Default |
|---|---|---|---|
--args | string | — | — |