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).

FlagTypeDescriptionDefault
--device-codestringResume an already-issued GitHub OAuth device code (env: AXHUB_GITHUB_DEVICE_CODE)
--dry-runbooleanDry-run preview is the default. Pass --execute to create backend app + GitHub repo + deploytrue
--executebooleanExecute the bootstrap saga
--github-ownerstringGitHub owner or organization where the repository will be created
--installation-idintegerGitHub App installation id
--namestringNew app display name
--repo-namestringRepository name to create in GitHub
--repo-privatebooleanCreate a private repository. Default unless --repo-public is passedtrue
--repo-publicbooleanCreate a public repository
--resume-lastbooleanResume the latest locally cached GitHub Device Flow for this profile
--slugstringNew app slug
--subdomainstringNew app subdomain label
--templatestringTemplate UUID or built-in alias (react, nextjs, astro)
--tenantstringTenant slug or id. Defaults to the active tenant when omitted
--watchbooleanPoll the bootstrap status endpoint until done/failed
--watch-intervalstringPoll interval such as 2s or 1m. Minimum 1s; defaults to 2s
--watch-timeoutstringMaximum watch time such as 30m, 60s. Defaults to 30m

axhub apps bootstrap-status

Check bootstrap progress.

FlagTypeDescriptionDefault
--bootstrapstringBootstrap id returned by axhub apps bootstrap --execute
--tenantstringTenant slug or id. Defaults to the active tenant when omitted
--watchbooleanPoll until done/failed
--watch-intervalstringPoll interval such as 2s or 1m. Minimum 1s; defaults to 2s
--watch-timeoutstringMaximum watch time such as 30m, 60s. Defaults to 30m

axhub apps check-availability

Check slug/subdomain availability.

FlagTypeDescriptionDefault
--slugstringApp slug to preflight
--subdomainstringApp subdomain label to preflight
--tenantstringTenant slug or id. Defaults to the active tenant when omitted

axhub apps create

Create a new app.

FlagTypeDescriptionDefault
--auth-modestringApp auth mode: cookie, bearer, api_key, or anonymous
--categorystring
--data-scopesstringComma-separated data scopes
--deploy-methodstringDeploy method on creation: docker (default) or compose. Immutable after create — backend rejects subsequent updates with invalid_state_transition / immutable_field
--from-filestring
--interactiveboolean
--namestring
--resource-tierstringPod resource tier on creation: S / M / L / XL. Tenant max (tenants.max_resource_tier, default L) is enforced backend-side
--slugstring
--subdomainstringSubdomain on creation. Persisted as apps.subdomain (spec 285 fix)
--tenantstring

axhub apps delete

Delete an app.

FlagTypeDescriptionDefault
--appstring
--dry-runbooleantrue
--executeboolean

axhub apps discover

Discover public apps.

FlagTypeDescriptionDefault
--categorystring
--created-within-daysstringFilter apps created within N days (1..=3650)
--limitinteger
--pageintegerPage number (1-based)
--per-pageintegerPage 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
--qstring
--sortstring
--tenantstringTenant slug or id scope (tenant-scoped discover)

axhub apps fork

Fork an app.

FlagTypeDescriptionDefault
--dry-runbooleanDry-run preview is the defaulttrue
--executebooleanExecute the fork bootstrap saga
--namestringNew app display name. Defaults to --slug
--repo-publicbooleanCreate a public fork repo when the bootstrap backend creates GitHub resources
--slugstringNew app slug
--sourcestringSource app slug/id
--subdomainstringNew app subdomain label
--templatestringOverride source template id when the source app does not expose one
--tenantstringDestination tenant slug/id. Defaults to the active tenant

axhub apps get

Get app details.

FlagTypeDescriptionDefault
--appstring

axhub apps git

Manage the app's GitHub connection.

axhub apps git connect

Connect a GitHub repo to the app.

FlagTypeDescriptionDefault
--appstringApp id or slug. Preferred for agent scripts
--branchstringBranch to connectmain
--device-codestringResume an already-issued GitHub OAuth device code (env: AXHUB_GITHUB_DEVICE_CODE)
--dry-runbooleanDry-run preview is the default. Pass --execute to mutatetrue
--executebooleanExecute the backend git-connection mutation
--installation-idintegerDisambiguate when the GitHub App is installed on multiple accounts
--repostringRepository in owner/repo form
--resume-lastbooleanResume the latest locally cached GitHub Device Flow for this profile

axhub apps git disconnect

Disconnect the GitHub repo.

FlagTypeDescriptionDefault
--appstringApp id or slug. Preferred for agent scripts
--dry-runbooleanDry-run preview is the default. Pass --execute to mutatetrue
--executebooleanExecute the backend disconnect mutation

axhub apps git status

Show GitHub connection status.

FlagTypeDescriptionDefault
--appstringApp id or slug. Preferred for agent scripts

axhub apps git update

Update the GitHub connection.

FlagTypeDescriptionDefault
--appstringApp id or slug. Preferred for agent scripts
--branchstringNew branch name
--dry-runbooleanDry-run preview is the default. Pass --execute to mutatetrue
--executebooleanExecute the backend update mutation

axhub apps list

List apps.

FlagTypeDescriptionDefault
--allbooleanFetch all pages the backend returns
--category-idstringCategory UUID filter
--operating-statusstringOperating rollup filter: live | dev | archived
--operating-status-instringComma-separated operating rollup filter (OR)
--pageintegerPage number to request
--page-sizeintegerNumber of apps per page
--per-pageintegerAlias for --page-size
--qstringSearch query forwarded as q
--review-statusstringSingle review status (backend authority — additional values may exist)
--review-status-instringComma-separated review status filter
--sortstringSort key (backend authority — additional values may exist)
--statusstringApp deployment status filter: draft | deployed | archived (spec 324)
--tenantstringTenant slug or id scope
--visibilitystringVisibility filter

axhub apps members

List app members.

FlagTypeDescriptionDefault
--appstring
--pageintegerPage number (1-based)
--per-pageintegerPage size (default 50, max 200)

axhub apps mine

List apps you can access.

FlagTypeDescriptionDefault
--pageintegerPage number to forward to the backend (current backend may return the full list)
--per-pageintegerPage 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.

FlagTypeDescriptionDefault
--appstring
--dry-runbooleantrue
--executeboolean

axhub apps resume

Resume a suspended app.

FlagTypeDescriptionDefault
--appstring
--dry-runbooleantrue
--executeboolean

Search apps.

FlagTypeDescriptionDefault
--allboolean
--categorystring
--pageinteger
--per-pageinteger
--querystring
--sortstring
--visibilitystring

axhub apps sign-icon-upload

Issue a signed URL for app icon upload.

FlagTypeDescriptionDefault
--appstringApp slug or id (required unless --pre-create is set)
--content-typestringExplicit content type for pre-create mode (overrides file extension detection since no file is read)
--dry-runbooleanPreview only — request the signed URL but skip the PUT upload (default)true
--executebooleanCommit the upload; mutually exclusive with --dry-run
--filestringPath to the icon file to upload (PNG/JPEG/WEBP/GIF, ≤ 2MB). Ignored in --pre-create mode (no upload happens)
--pre-createbooleanPre-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 clientfalse
--slugstringApp slug for pre-create mode (the slug the app will have)
--tenantstringTenant slug or id for pre-create mode
--variantstringIcon variant: light (default) or darklight

axhub apps suspend

Suspend an app's runtime.

FlagTypeDescriptionDefault
--appstring
--dry-runbooleantrue
--executeboolean

axhub apps templates

Browse bootstrap templates.

axhub apps templates list

List templates.

(no options)

axhub apps update

Update app details.

FlagTypeDescriptionDefault
--appstring
--auth-modestringNew auth mode: cookie, bearer, api_key, or anonymous
--category-idstringNew category UUID
--clear-categorybooleanClear the category (wins over --category-id)
--clear-subdomainbooleanClear the subdomain (mutually exclusive with --subdomain)
--data-scopesstringNew comma-separated data scopes
--descriptionstringNew description (≤1000 chars). Pass an empty string to clear
--icon-dark-urlstringNew dark-mode icon URL
--icon-urlstringNew light-mode icon URL (typically from axhub apps sign-icon-upload)
--namestringNew display name (1~80 chars)
--resource-tierstringNew Pod resource tier: S / M / L / XL. Tenant max enforced backend-side
--subdomainstringNew subdomain
--visibilitystringNew 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.

FlagTypeDescriptionDefault
--argsstring

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.

FlagTypeDescriptionDefault
--installation-idintegerGitHub App installation id
--pageintegerPage number to request
--per-pageintegerRepositories per page

axhub open

Open a deployed app in the browser.

FlagTypeDescriptionDefault
--argsstring
--logsboolean
--metricsboolean

axhub categories

Manage app categories.

axhub categories create

Create a category.

FlagTypeDescriptionDefault
--colorstring
--descriptionstring
--display-orderinteger
--icon-urlstring
--namestring
--slugstring
--tenantstring

axhub categories delete

Delete a category.

FlagTypeDescriptionDefault
--dry-runbooleantrue
--executeboolean
--idstring
--tenantstring
--yes -yboolean

axhub categories get

Get category details.

FlagTypeDescriptionDefault
--idstring
--tenantstring

axhub categories list

List categories.

FlagTypeDescriptionDefault
--allboolean
--pageinteger
--per-pageinteger
--tenantstring

axhub categories update

Update a category.

FlagTypeDescriptionDefault
--colorstring
--descriptionstring
--display-orderinteger
--dry-runbooleantrue
--executeboolean
--icon-urlstring
--idstring
--namestring
--slugstring
--tenantstring

axhub review

Manage app publication review.

axhub review approve

Approve a review.

FlagTypeDescriptionDefault
--notestringapproval note
--request_idstringpublication request id

axhub review get

Get review details.

FlagTypeDescriptionDefault
--request_idstringpublication request id

axhub review history

View review history.

FlagTypeDescriptionDefault
--appstringapp slug or id for per-app history
--pageintegerpage number for per-app history (default 1)
--page-sizeintegeritems per page (default 20)
--tenantstringtenant id for tenant-wide settled history; overrides global --tenant

axhub review list

List reviews.

(no options)

axhub review reject

Reject a review.

FlagTypeDescriptionDefault
--reasonstringrejection reason
--request_idstringpublication request id

axhub publish

Submit an app for publication review.

FlagTypeDescriptionDefault
--argsstring