spacefast
v0.0.12
Published
Command-line interface for publishing and managing Spacefast spaces.
Downloads
3,354
Readme
spacefast
The Spacefast CLI publishes static sites, build outputs, docs, reports, and space previews from your terminal or automation. It is the fastest way to get a live Spacefast URL from a local folder.
curl -fsSL https://spacefast.com/install.sh | bash
sf publish ./distThe first publish creates a live anonymous space and writes
.spacefast/state.json inside the published directory (and records the space in
sf.jsonc when one exists). Publish the same directory again to update
the same space. sf publish waits until the version is live, then prints
a version receipt with the live and Version URLs.
Use the CLI interactively from a terminal, or pass --json on any command for
agent and CI workflows.
Quick Start
sf doctor
sf publish ./distTo publish into your account or team:
sf login
sf teams switch my-team
sf publish ./distFor CI, create an API key in Spacefast (or with sf api-keys create) and set
SPACEFAST_TOKEN, or pass --token directly:
SPACEFAST_TOKEN=... sf publish ./dist --jsonRouting Files
When publishing a directory, the CLI uploads root _redirects and _headers
files and validates them before finalizing the version. _redirects supports
redirects, rewrites, custom 404 rules, and proxy rules. _headers supports
validated response headers and Basic-Auth.
Proxy rules use absolute external 200 destinations in _redirects:
/api/* https://api.example.com/:splat 200Internal 200 destinations are rewrites.
Documentation
Tab completion
$ sf autocomplete bash # or zsh / fish / powershell
$ sf autocomplete --refresh-cacheFollow the printed instructions to add the completion script to your shell init file.
Working directory
$ sf --cwd ./apps/docs deploy
$ sf --cwd=/tmp/site env lsPass --cwd <path> to any command to operate as if it ran from that directory.
Useful in monorepos, CI scripts, or when the project state lives elsewhere.
Usage
$ npm install -g spacefast
$ sf COMMAND
running command...
$ sf (--version)
spacefast/0.0.11 darwin-arm64 node-v26.4.0
$ sf --help [COMMAND]
USAGE
$ sf COMMAND
...Commands
sf accesssf access ban GRANTsf access block TARGETsf access block lssf access clearsf access connection createsf access connection lssf access connection rm CONNECTIONsf access effectivesf access grant GRANTsf access logout-allsf access lssf access rm IDsf access service-token createsf access service-token lssf access service-token revoke IDsf access set FILEsf access showsf access simulatesf activitysf agents initsf analyticssf api METHODORPATH [PATH]sf api-keyssf api-keys createsf api-keys delete IDsf api-keys listsf api-keys lssf api-keys revoke IDsf api-keys rm IDsf autocomplete [SHELL]sf build [DIR]sf builds cancel BUILDsf builds detectsf builds get BUILDsf builds logs BUILDsf builds lssf builds resume-upload BUILDsf builds retry BUILDsf channelssf channels history [NAME]sf channels lssf commentssf comments archive COMMENTsf comments exportsf comments get COMMENTsf comments listsf comments reply COMMENTsf comments unarchive COMMENTsf continuesf create NAMEsf demosf demo agentsf deploymentssf deployments get DEPLOYMENTsf deployments lssf deployments promote DEPLOYMENTsf deployments rollback DEPLOYMENTsf designsf design generatesf devsf docs [QUERY]sf doctorsf domainssf domains add HOSTNAMEsf domains check DOMAINsf domains diagnostics DOMAINsf domains dnssf domains dns add DOMAINsf domains dns batch DOMAINsf domains dns capabilities DOMAINsf domains dns export DOMAINsf domains dns ls DOMAINsf domains dns refresh DOMAINsf domains dns rm DOMAIN RECORDsf domains dns update DOMAIN RECORDsf domains lssf domains nameservers DOMAINsf domains nameservers set DOMAIN NAMESERVERSsf domains rm DOMAINsf domains search [QUERY]sf envsf env export-template [DIR]sf env import FILEsf env lssf env pull [FILE]sf env rm NAMEsf env set NAME VALUEsf feedbacksf gitsf git buildsf git connectsf git disconnectsf git lssf git originsf git syncsf git updatesf help [COMMAND]sf initsf inspect [TARGET]sf linksf loginsf logoutsf logs [TARGET] [KIND]sf mcpsf mcp installsf open [TARGET]sf operations [ID]sf pagessf pages pull [TARGET]sf pages validatesf password clearsf password setsf profilessf profiles rm NAMEsf profiles set NAMEsf profiles use NAMEsf promote [VERSION]sf publish [DIR]sf redeploy [BUILD]sf rollback [VERSION]sf routingsf routing computesf routing inspectsf runtimesf runtime statussf setupsf setup agentsf sharesf share add EMAILsf share linksf share link copy IDsf share link createsf share link lssf share link revoke IDsf share lssf share requestssf share requests approve IDsf share requests deny IDsf share rm TARGETsf skillssf skills statussf spacessf spaces addsf spaces claimsf spaces downloadsf spaces duplicatesf spaces exportsf spaces getsf spaces import [ARCHIVE]sf spaces lssf spaces rmsf spaces transfer TEAMsf spaces updatesf statussf switch [TEAM]sf syncsf teamssf teams accept INVITATIONsf teams create NAMEsf teams invitationssf teams invitations add EMAILsf teams invitations cancel INVITATIONsf teams invitations lssf teams invitations resend INVITATIONsf teams lssf teams memberssf teams members lssf teams members rm MEMBERsf teams switch [TEAM]sf transfers accept IDsf transfers cancel IDsf versionssf versions downloadsf versions get [VERSION]sf versions lssf versions rm [VERSION]sf whoamisf zerosf zero auth [ACTION] [SOURCE]sf zero build [SOURCE]sf zero create NAMEsf zero db [TARGET]sf zero db dump [TARGET]sf zero db list [TARGET]sf zero db migrate [SOURCE]sf zero deploy [SOURCE]sf zero dev [SOURCE]sf zero inspect [TARGET]sf zero logs [TARGET]sf zero new NAMEsf zero run-many [SOURCE]sf zero tokensf zero token createsf zero token listsf zero token lssf zero token revoke IDsf zero token rm ID
sf access
Manage access policy.
USAGE
$ sf access [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y]
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Manage access policy.
Read and edit a space's access/firewall policy: list the merged effective rules, grant or ban identity classes, and
remove cloud rules.sf access ban GRANT
Ban an identity class space-wide.
USAGE
$ sf access ban GRANT [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>]
ARGUMENTS
GRANT Grant glob to ban, e.g. email:*@acme.com, team:eng:member, user:h.
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Ban an identity class space-wide.
Prepend a cloud deny rule that blocks an identity class space-wide; it wins first-match-wins over any later allow.
EXAMPLES
Block a specific platform person.
$ sf access ban user:h
Block an entire email domain.
$ sf access ban email:*@spam.examplesf access block TARGET
Block an IP, CIDR, country, or identity class for a while.
USAGE
$ sf access block TARGET --ttl <value> [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y]
[--claim-token <value>] [-o <value>] [--space <value>]
ARGUMENTS
TARGET What to block: an IP (1.2.3.4), a CIDR (1.2.3.0/24), a two-letter country code (RU), or a grant glob
(email:*@spam.example).
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
BLOCK FLAGS
--ttl=<value> (required) How long the block lasts (e.g. 30m, 24h, 7d).
DESCRIPTION
Block an IP, CIDR, country, or identity class for a while.
Write a TTL'd cloud-lane deny rule that wins first-match over every other rule. Incidents are TTL'd rules, never
permanent rules someone forgets: the runtime skips the rule the second it expires and the compiler garbage-collects it
on the next write. Use `sf access block ls` to see active blocks and `sf access ban` for the un-TTL'd IAM altitude.
EXAMPLES
Block a CIDR for 24 hours.
$ sf access block 1.2.3.0/24 --ttl 24h
Block a country for a week.
$ sf access block RU --ttl 7d
Block an identity class for 30 minutes.
$ sf access block email:*@spam.example --ttl 30msf access block ls
List active TTL'd blocks.
USAGE
$ sf access block ls [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>]
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List active TTL'd blocks.
List the space's active TTL'd blocks (deny rules carrying expiresAt) with their remaining time.
EXAMPLES
Show active blocks and remaining TTLs.
$ sf access block ls --space docssf access clear
Clear cloud access policy.
USAGE
$ sf access clear [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>]
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Clear cloud access policy.
Drop the space's cloud access/firewall lane. The effective policy then falls back to file rules only.
EXAMPLES
Drop the cloud access lane for the docs space.
$ sf access clear --space docssf access connection create
Create an identity connection.
USAGE
$ sf access connection create --type oidc|external --name <value> [--json] [--api-url <value>] [--profile <value>] [--token
<value>] [-y] [-o <value>] [--issuer <value>] [--client-id <value>] [--client-secret <value>] [--authorize-url
<value>] [--public-key <value>...] [--session-ttl <value>] [--guest-email-domain <value>...]
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
EXTERNAL FLAGS
--authorize-url=<value> External issuer authorize endpoint (HTTPS-pinned).
--public-key=<value>... External public key as kid=<base64url raw Ed25519 key>. Repeatable.
OIDC FLAGS
--client-id=<value> OIDC client id.
--client-secret=<value> OIDC client secret (encrypted at rest, masked after write).
--guest-email-domain=<value>... Verified email domain auto-granted team-viewer (oidc). Repeatable.
--issuer=<value> OIDC issuer URL (HTTPS; discovery runs against .well-known).
GLOBAL FLAGS
--json Format output as json.
CONNECTION FLAGS
--name=<value> (required) Display name (shown on the challenge-page button).
--session-ttl=<value> Visitor session TTL (e.g. 8h, 30m). Defaults: oidc 8h, external 30m.
--type=<option> (required) Connection type.
<options: oidc|external>
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Create an identity connection.
Register a team identity connection: a company OIDC connection (issuer + clientId + clientSecret — the secret is
encrypted server-side and never returned) or an external bring-your-own issuer (HTTPS authorizeUrl + the shop's
Ed25519 public keys; the private key never leaves the shop).
EXAMPLES
Register a company OIDC connection.
$ sf access connection create --type oidc --name "Acme SSO" --issuer https://login.acme.com --client-id \
spacefast --client-secret s3cret
Register a WooCommerce/BYO issuer.
$ sf access connection create --type external --name "Acme Shop" --authorize-url \
https://shop.acme.com/wp-json/spacefast-access/v1/authorize --public-key shop-1=BASE64URLKEYsf access connection ls
List identity connections.
USAGE
$ sf access connection ls [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [-o <value>]
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
List identity connections.
List the team's identity connections (company OIDC + external BYO issuers). Secrets are masked — the OIDC client
secret never leaves the server.
EXAMPLES
List identity connections on the default team.
$ sf access connection lssf access connection rm CONNECTION
Revoke an identity connection.
USAGE
$ sf access connection rm CONNECTION [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [-o
<value>]
ARGUMENTS
CONNECTION The connection id (acn_…) to revoke.
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Revoke an identity connection.
Revoke an identity connection (structural): it stops minting immediately, its grants and keys are scrubbed from every
team lane on the immediate recompile, and rules left with an empty audience are disabled and listed.
EXAMPLES
Revoke a connection and disable the rules that only admitted it.
$ sf access connection rm acn_123sf access effective
Show effective access policy.
USAGE
$ sf access effective [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>]
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Show effective access policy.
Show the resolved effective access policy: file rules then cloud rules, each annotated with its source and order.
EXAMPLES
Show the resolved effective access policy for the docs space.
$ sf access effective --space docssf access grant GRANT
Gate this space for an identity class.
USAGE
$ sf access grant GRANT [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>]
ARGUMENTS
GRANT Grant glob to admit, e.g. email:*@acme.com, team:eng:member, user:h.
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Gate this space for an identity class.
Create or update the identity admission and fallback gate. Approved identities join existing password/share audiences;
anonymous fallthrough must sign in.
EXAMPLES
Gate the space for any verified acme.com email.
$ sf access grant email:*@acme.com
Add members of the eng team to the admitted audience.
$ sf access grant team:eng:membersf access logout-all
Revoke all visitor sessions.
USAGE
$ sf access logout-all [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>]
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Revoke all visitor sessions.
Bump the space sessionVersion: every outstanding visitor token — signed-in identities, share links, and password wall
passes alike — is rejected on the next request, regardless of TTL.
EXAMPLES
Revoke every visitor session on the space.
$ sf access logout-all --space docssf access ls
List effective access rules.
USAGE
$ sf access ls [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>]
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List effective access rules.
List the merged effective access rules (file rules then cloud rules), each annotated with its source and order.
ALIASES
$ sf access list
EXAMPLES
List effective access rules for the docs space.
$ sf access ls --space docssf access rm ID
Remove a cloud access rule.
USAGE
$ sf access rm ID [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>]
ARGUMENTS
ID Cloud-lane rule index to remove (the [N] shown by `sf access show`).
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Remove a cloud access rule.
Remove a single cloud access rule by its cloud-lane index. File rules (from sf.jsonc) cannot be removed here.
ALIASES
$ sf access remove
$ sf access delete
EXAMPLES
Remove the first cloud rule.
$ sf access rm 0sf access service-token create
Create a service token.
USAGE
$ sf access service-token create -n <value> [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [-o
<value>] [--space <value>] [--acts-as <value>] [--expires <value>]
FLAGS
-n, --name=<value> (required) Human-readable service token name.
--acts-as=<value> Comma-separated audience list the token satisfies (default: viewers).
--expires=<value> Expiry date/time (ISO 8601); default: 10-year ceiling.
--space=<value> Scope the token to one space (default: team-wide).
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Create a service token.
Create a service token (a machine-principal Bearer credential for CI/agents) and print its one-time secret.
EXAMPLES
Create a team-wide service token that satisfies the viewer audience.
$ sf access service-token create --name ci --team acme
Create a service token scoped to one space, expiring on a fixed date.
$ sf access service-token create --name ci --space docs --expires 2027-01-01sf access service-token ls
List service tokens.
USAGE
$ sf access service-token ls [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [-o <value>]
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
List service tokens.
List a team's service tokens. Secrets are never returned here.
ALIASES
$ sf access service-token list
EXAMPLES
List every non-revoked service token for the team.
$ sf access service-token ls --team acmesf access service-token revoke ID
Revoke a service token.
USAGE
$ sf access service-token revoke ID [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [-o
<value>]
ARGUMENTS
ID Service token id to revoke (the stk_… id shown by `sf access service-token ls`).
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Revoke a service token.
Revoke a service token. Structural: every rule carrying its svc: grant recompiles it out immediately, regardless of
the token's expiry.
ALIASES
$ sf access service-token rm
EXAMPLES
Revoke a service token.
$ sf access service-token revoke stk_123 --team acmesf access set FILE
Replace cloud access policy.
USAGE
$ sf access set FILE [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>] [--expected-version <value>]
ARGUMENTS
FILE Path to a JSON policy document ({ rules: [...] }) of unified access rules.
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
CONCURRENCY FLAGS
--expected-version=<value> Reject the write unless the stored lane version matches (lost-update protection).
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Replace cloud access policy.
Replace the space's cloud access/firewall rules from a JSON policy document. Bumps the lane version.
EXAMPLES
Replace cloud rules.
$ sf access set ./access.jsonsf access show
Show cloud access policy.
USAGE
$ sf access show [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>]
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Show cloud access policy.
Show the space's cloud access/firewall policy lane (rules and lane version).
EXAMPLES
Show the cloud access policy lane for the docs space.
$ sf access show --space docssf access simulate
Simulate a request against the access policy.
USAGE
$ sf access simulate --host <value> [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y]
[--claim-token <value>] [-o <value>] [--space <value>] [--path <value>] [--email <value>] [--ip <value>] [--country
<value>]
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
IDENTITY FLAGS
--country=<value> Two-letter country code the request originates from (e.g. DE).
--email=<value> Simulate a visitor verified as this email.
--ip=<value> Simulate the request coming from this IP.
REQUEST FLAGS
--host=<value> (required) Host of the simulated request (e.g. docs.example.com).
--path=<value> [default: /] Path of the simulated request.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Simulate a request against the access policy.
Run a request (host + path, optionally an email identity, IP, and country) through the space's effective first-match
rule list server-side and report the verdict, the matched rule with its lane and order, which grants would satisfy it,
and who would pass.
EXAMPLES
Simulate an anonymous visit to /report.
$ sf access simulate --host docs.example.com --path /report
Simulate a verified acme.com visitor from Germany.
$ sf access simulate --host docs.example.com --path / --email [email protected] --country DEsf activity
Show activity events.
USAGE
$ sf activity [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>] [--all] [--code <value>] [--since <value>] [--until <value>] [--limit
<value>] [--cursor <value>]
FLAGS
--all Read account-wide activity instead of a single space.
--code=<value> Filter by activity taxonomy code, for example version.promoted.
--cursor=<value> Pagination cursor from a previous response.
--limit=<value> Maximum number of events to return (default 50, max 100).
--since=<value> Only events at or after this ISO timestamp.
--until=<value> Only events before this ISO timestamp.
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Show activity events.
Read the activity feed for the selected space, or pass --all for every event visible to your account.
EXAMPLES
$ sf activity
$ sf activity --code version.promoted
$ sf activity --all --since 2026-06-01T00:00:00Zsf agents init
Write Spacefast AGENTS.md guidance.
USAGE
$ sf agents init [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y]
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Write Spacefast AGENTS.md guidance.
Create or update the Spacefast AGENTS.md snippet.
EXAMPLES
Insert or refresh the Spacefast block in AGENTS.md.
$ sf agents initsf analytics
Print runtime analytics.
USAGE
$ sf analytics [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>] [--window 48h|7d|30d]
FLAGS
--window=<option> [default: 7d] Analytics window.
<options: 48h|7d|30d>
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Print runtime analytics.
Print runtime analytics series.
EXAMPLES
Print the 7-day analytics series for a space.
$ sf analytics --space docs
Use a 30-day window.
$ sf analytics --space docs --window 30dsf api METHODORPATH [PATH]
Call the Spacefast API directly.
USAGE
$ sf api METHODORPATH [PATH] [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y]
[-i <value>] [--idempotency-key <value>] [--include] [--output <value> | --raw-stdout] [--paginate]
ARGUMENTS
METHODORPATH HTTP method (GET, POST, PATCH, PUT, DELETE) or request path.
[PATH] Request path, for example /v1/spaces/{spaceId}/versions.
FLAGS
-i, --input=<value> JSON request body: a literal string, @file, or - for stdin.
--idempotency-key=<value> Replay-safe logical-attempt key for retryable mutations.
--include Write HTTP status and safe response headers to stderr.
--output=<value> Write a non-JSON response body to a file.
--paginate Emit every page of a declared cursor-list GET as JSON Lines.
--raw-stdout Write a non-JSON response body to stdout.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Call the Spacefast API directly.
Send a signed request to the core public API contract using the resolved profile credentials. JSON envelopes print
verbatim; non-JSON responses require an explicit output destination.
EXAMPLES
$ sf api /v1/me
$ sf api GET /v1/spaces/spc_123/versions --paginate
$ sf api POST /v1/publish --input @publish.json --idempotency-key 01J-logical-attempt
$ sf api GET /v1/spaces/spc_123/versions/ver_123/archive --output site.tar.gzsf api-keys
Manage API keys.
USAGE
$ sf api-keys [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y]
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Manage API keys.
Manage platform API keys.sf api-keys create
Create an API key.
USAGE
$ sf api-keys create [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [-n <value>] [--preset
ci_deploy|space_publisher|space_admin|site_admin|domain_manager|team_admin|billing_viewer]
FLAGS
-n, --name=<value> Human-readable API key name.
--preset=<option> [default: space_publisher] Access preset for the new API key.
<options:
ci_deploy|space_publisher|space_admin|site_admin|domain_manager|team_admin|billing_viewer>
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Create an API key.
Create a platform API key and print its one-time secret.
ALIASES
$ sf api-keys add
EXAMPLES
Create an API key and print its one-time secret.
$ sf api-keys create --name ci
Create a key with a specific access preset.
$ sf api-keys create --name ci --preset full_accesssf api-keys delete ID
Revoke an API key.
USAGE
$ sf api-keys delete ID [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y]
ARGUMENTS
ID API key id.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Revoke an API key.
Revoke a platform API key.
EXAMPLES
Delete (revoke) an API key by ID.
$ sf api-keys delete key_123sf api-keys list
List API keys.
USAGE
$ sf api-keys list [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--limit <value>]
FLAGS
--limit=<value> Maximum number of API keys to return (default 50, max 100).
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
List API keys.
List platform API keys for the selected team.
EXAMPLES
List API keys for the selected team.
$ sf api-keys lssf api-keys ls
List API keys.
USAGE
$ sf api-keys ls [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--limit <value>]
FLAGS
--limit=<value> Maximum number of API keys to return (default 50, max 100).
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
List API keys.
List platform API keys for the selected team.
EXAMPLES
List API keys for the selected team.
$ sf api-keys lssf api-keys revoke ID
Revoke an API key.
USAGE
$ sf api-keys revoke ID [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y]
ARGUMENTS
ID API key id.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Revoke an API key.
Revoke a platform API key.
EXAMPLES
Revoke an API key by ID.
$ sf api-keys revoke key_123sf api-keys rm ID
Revoke an API key.
USAGE
$ sf api-keys rm ID [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y]
ARGUMENTS
ID API key id.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Revoke an API key.
Revoke a platform API key.
ALIASES
$ sf api-keys remove
EXAMPLES
Remove (revoke) an API key by ID.
$ sf api-keys rm key_123sf autocomplete [SHELL]
Display autocomplete installation instructions.
USAGE
$ sf autocomplete [SHELL] [-r]
ARGUMENTS
[SHELL] (zsh|bash|powershell) Shell type
FLAGS
-r, --refresh-cache Refresh cache (ignores displaying instructions)
DESCRIPTION
Display autocomplete installation instructions.
EXAMPLES
$ sf autocomplete
$ sf autocomplete bash
$ sf autocomplete zsh
$ sf autocomplete powershell
$ sf autocomplete --refresh-cacheSee code: @oclif/plugin-autocomplete
sf build [DIR]
Build and pack static output.
USAGE
$ sf build [DIR] [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y]
[--root-directory <value>] [--install-directory <value>] [--install-command <value>] [--build-command <value>]
[--output-directory <value>] [--env-file <value>...] [--ignored-build-command <value>] [--skip-install]
[--skip-build] [--prebuilt] [--output <value>] [--dry-run] [--stream]
ARGUMENTS
[DIR] Project directory to build. Defaults to the current directory.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
BUILD FLAGS
--build-command=<value> Build command. Defaults to framework and package script detection.
--env-file=<value>... Local dotenv file to load for install/build commands. Repeat for multiple files.
--ignored-build-command=<value> Command that exits 0 when this build should be skipped.
--install-command=<value> Install command. Defaults to package-manager detection.
--install-directory=<value> Project subdirectory to run dependency installation from.
--output-directory=<value> Build output directory relative to the app root.
--prebuilt Pack an already-built output directory; skips install and build.
--root-directory=<value> Project subdirectory that contains the app.
--skip-build Skip the build command and pack the selected directory unless --output-directory is
set.
--skip-install Skip the install command.
EXECUTION FLAGS
--dry-run Print the detected build plan without installing, building, or packing.
--output=<value> [default: .spacefast/build-output.tgz] Archive path to write.
--[no-]stream With --json, emit a JSONL build event stream. Use --no-stream for a single result blob.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Build and pack static output.
Detect build settings, run the build, and pack the static output.
EXAMPLES
Detect build settings, run the build, and pack the output archive.
$ sf build
Build a monorepo app and write the archive to a custom path.
$ sf build --root-directory apps/web --output ./apps/web.tgzsf builds cancel BUILD
Cancel a build.
USAGE
$ sf builds cancel BUILD [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y]
ARGUMENTS
BUILD Build ID (bld_...).
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Cancel a build.
Cancel a build. Idempotent: terminal builds are returned unchanged in their terminal state.
EXAMPLES
Cancel a build.
$ sf builds cancel bld_123sf builds detect
Detect framework and build settings.
USAGE
$ sf builds detect [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>] [--connection-type connected|hosted] [--ref <value>] [--root-directory
<value>] [--apply-best]
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
BUILD FLAGS
--apply-best Save the highest-ranked detected app candidate as repository build settings.
--root-directory=<value> App root directory to inspect.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
REPOSITORY FLAGS
--connection-type=<option> [default: connected] Repository connection type.
<options: connected|hosted>
--ref=<value> Git ref to inspect.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Detect framework and build settings.
Detect the framework and build settings for a space's repository connection. Shows the detected app, ranked candidates
when the repository has more than one, and unsupported platform config found along the way.
EXAMPLES
Show detected framework and build settings for the repository connection.
$ sf builds detect --space docs
Detect and save the best build settings for a subdirectory.
$ sf builds detect --space docs --root-directory apps/web --apply-bestsf builds get BUILD
Show a build.
USAGE
$ sf builds get BUILD [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y]
ARGUMENTS
BUILD Build ID (bld_...).
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Show a build.
Fetch a build by id.
EXAMPLES
Show a build by ID.
$ sf builds get bld_123sf builds logs BUILD
Print build logs.
USAGE
$ sf builds logs BUILD [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--limit
<value>] [--cursor <value>] [-f]
ARGUMENTS
BUILD Build ID (bld_...).
FLAGS
-f, --follow Follow live build logs until the build reaches a terminal state.
--cursor=<value> Pagination cursor from a previous response.
--limit=<value> Maximum number of log lines.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Print build logs.
Print build runner log lines, newest first.
EXAMPLES
Print recent log lines for a build.
$ sf builds logs bld_123
Stream logs until the build finishes.
$ sf builds logs bld_123 --followsf builds ls
List builds.
USAGE
$ sf builds ls [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>] [--limit <value>] [--cursor <value>]
FLAGS
--cursor=<value> Pagination cursor from a previous response.
--limit=<value> Maximum number of builds to return (default 20, max 100).
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List builds.
List a space's builds, newest first.
ALIASES
$ sf builds list
EXAMPLES
List recent builds for a space.
$ sf builds ls --space docs
Show only the five most recent builds.
$ sf builds ls --space docs --limit 5sf builds resume-upload BUILD
Refresh source archive upload.
USAGE
$ sf builds resume-upload BUILD [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y]
ARGUMENTS
BUILD Build ID (bld_...) waiting for source archive upload.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Refresh source archive upload.
Refresh the source archive upload instruction for a build that is waiting for source archive upload.
EXAMPLES
Refresh the source archive upload instruction for a build.
$ sf builds resume-upload bld_123sf builds retry BUILD
Retry a terminal build.
USAGE
$ sf builds retry BUILD [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y]
ARGUMENTS
BUILD Build ID (bld_...) to retry.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Retry a terminal build.
Retry a terminal build with the same input, settings, and target.
EXAMPLES
Retry a terminal build.
$ sf builds retry bld_123sf channels
Manage channels.
USAGE
$ sf channels [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y]
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
GLOBAL FLAGS
--json Format output as json.
AUTHENTICATION FLAGS
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
DESCRIPTION
Manage channels.
List channels and inspect their promotion history.sf channels history [NAME]
Show channel history.
USAGE
$ sf channels history [NAME] [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>]
ARGUMENTS
[NAME] Channel name. Defaults to `live`.
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Show channel history.
Show a channel's promotion history (the deploy log), newest first.
EXAMPLES
Show promotion history for the live channel.
$ sf channels history --space docs
Show promotion history for the preview channel.
$ sf channels history preview --space docssf channels ls
List channels.
USAGE
$ sf channels ls [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>]
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List channels.
List channels for a space and where each one points.
ALIASES
$ sf channels list
EXAMPLES
List channels for the docs space.
$ sf channels ls --space docssf comments
Manage comments.
USAGE
$ sf comments
DESCRIPTION
Manage comments.
List, export, and update version comments.sf comments archive COMMENT
Archive a comment.
USAGE
$ sf comments archive COMMENT [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>]
ARGUMENTS
COMMENT Comment id, for example cmt_123.
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Archive a comment.
Archive a comment thread.
EXAMPLES
Archive a comment thread.
$ sf comments archive cmt_123sf comments export
Export comments.
USAGE
$ sf comments export --version <value> [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y]
[--claim-token <value>] [-o <value>] [--space <value>] [--format markdown|json] [--status open|archived]
FLAGS
--format=<option> [default: markdown] Export format.
<options: markdown|json>
--status=<option> Filter by status.
<options: open|archived>
--version=<value> (required) Version ID, ref, or number.
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Export comments.
Export comment threads for agents and scripts.
EXAMPLES
Export version v3's comment threads as markdown.
$ sf comments export --version v3 --format markdown
Export open comments for a version as JSON.
$ sf comments export --version v3 --status open --format jsonsf comments get COMMENT
Show a comment.
USAGE
$ sf comments get COMMENT [--json] [--api-url <value>] [--profile <value>] [--token <value>] [-y] [--claim-token
<value>] [-o <value>] [--space <value>]
ARGUMENTS
COMMENT Comment id, for example cmt_123.
SPACE SELECTION FLAGS
-o, --team=<value> [env: SPACEFAST_TEAM] Team slug, ID, or name.
--space=<value> [env: SPACEFAST_SPACE] Space ID, live URL, domain, or slug.
GLOBAL FLAGS
-y, --yes [env: SPACEFAST_YES] Skip confirmation prompts.
--api-url=<value> [env: SPACEFAST_API_URL] Spacefast API base URL.
--profile=<value> [env: SPACEFAST_PROFILE] Named provider profile from `sf profiles`.
AUTHENTICATION FLAGS
--claim-token=<value> [env: SPACEFAST_CLAIM_TOKEN] Anonymous space claim token.
--token=<value> [env: SPACEFAST_TOKEN] Access token for non-interactive auth.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Show a comment.
Show one comment thread.
EXAMPLES
Show one comment thread.
$ sf comments get cmt_123sf comments list
List comments.
USAGE
$ sf co