Skip to content

Stayblox CLI

@stayblox/cli is the developer CLI for building and publishing marketplace themes. It validates your theme against the platform's real rules, pushes versions as private drafts, and submits them for review — all from the theme directory.

Building a theme just for your own storefront? You don't need the CLI — upload a .zip in your admin instead. See Publishing → custom themes.

Install

bash
npm install -g @stayblox/cli

Requires Node 18.13+.

Authenticate

bash
stayblox login                                                   # production
stayblox login --api https://api.stayblox.local/api --insecure   # local development

login prompts for your platform email and password and stores an API token in ~/.config/stayblox/config.json. --insecure accepts self-signed TLS certificates and is remembered for subsequent commands.

The theme commands require your user to belong to a verified partner account. If you belong to several partner accounts, pass --account <id> to any theme command.

The theme.json manifest

Every theme is identified by a theme.json manifest in the theme root — the same contract whether you publish with the CLI or upload a .zip to a site:

json
{
  "slug": "breeze",
  "name": "Breeze",
  "version": "1.0.0",
  "description": "A light, airy hotel theme."
}
  • slug — 2–40 chars of lowercase letters, digits and dashes. Permanently yours after the first push; nobody else can publish to it.
  • version — semver (major.minor.patch). Bump it for every release.
  • changelog — optional; stored on the version when present.

Commands

Run these from the theme directory (or point elsewhere with --path <dir>):

bash
stayblox theme validate          # server-side validation, nothing published
stayblox theme push              # publish a draft version (private until approved)
stayblox theme push --submit     # publish and submit for review in one go
stayblox theme list              # your themes on the platform
stayblox theme versions          # versions + review status for this theme

validate and push upload your theme as a package and return a structured report of errors and warnings — see Publishing → validation for what's checked. push refuses a failing package; warnings don't block.

What gets packaged

Only platform-supported file types are included:

  • Text: twig, css, js, json, svg, html, txt, xml
  • Binary: woff, woff2, ttf, eot, png, jpg, jpeg, gif, ico, webp, mp4, webm

.git, node_modules, dist, vendor, and dotfiles are always excluded. The packaged .zip must stay under 20 MB.

Releases are immutable

Draft versions can be re-pushed freely while you iterate. Once a version is approved or rejected it is frozen — bump version in theme.json to push again. The platform rejects a push that reuses a released version name.

© Stayblox — Developer Platform