SitePack CLI Commands
This page provides a comprehensive reference for all available commands in the SitePack CLI.
Authentication Commands
sitepack login
Connect the CLI interface with your SitePack account. This command opens your default web browser to authorize the CLI.
- Usage
sitepack login
sitepack logout
Disconnect the CLI from your SitePack account and remove local authentication credentials.
- Usage
sitepack logout
sitepack whoami
Show the currently logged-in user and the active organization.
- Usage
sitepack whoami
App Commands
sitepack app:init
Initialize a new SitePack app project. This command guides you through creating a new app structure and a package.json file.
- Usage
sitepack app:init
sitepack app:publish
Publish your app to SitePack. This performs a full synchronization of your local files and creates a new release of your app.
- Usage
sitepack app:publish
sitepack app:checkout
Pull an existing app from SitePack to your local machine for editing.
- Usage
sitepack app:checkout
sitepack app:link
Link an app directory you already have locally (an app.json with its templates and assets) to an app in the Partner Dashboard, without bootstrapping a new app. Use it when you wrote or copied the app source first and the app does not exist in your organization yet.
When the uuid in app.json is not an app of your selected organization, the CLI asks whether to register a new app (SitePack issues a new uuid, the name comes from app.json) or to link the directory to one of your existing apps. The chosen uuid is written back to app.json; everything else in the file stays as it is. A directory that is already linked is left alone.
- Usage
- Options
sitepack app:link [directory]
| Option | Description |
|---|---|
[directory] | The app directory to link. Defaults to the current directory. |
--new | Always register a new app with a new uuid, even when the directory is already linked. |
After linking, publish the app with sitepack app:publish.
Theme Commands
sitepack theme:init
Start a new SitePack theme project. It downloads the theme skeleton and prepares the directory structure.
- Usage
sitepack theme:init
sitepack theme:link
Link a theme directory you already have locally (a theme.json with its templates and assets) to a theme in the Partner Dashboard. sitepack theme:init only starts a new theme from the skeleton; use theme:link for a theme you cloned, copied or built yourself.
When the uuid in theme.json is empty or not a theme of your selected organization, the CLI asks whether to register a new theme (SitePack issues a new uuid, the name comes from theme.json) or to link the directory to one of your existing themes. The chosen uuid is written back to theme.json, and an empty author is filled in from your profile; everything else in the file stays as it is. A directory that is already linked is left alone.
- Usage
- Options
sitepack theme:link [directory]
| Option | Description |
|---|---|
[directory] | The theme directory to link. Defaults to the current directory. |
--new | Always register a new theme, even when the directory is already linked. |
sitepack theme:watch
Watch for changes in the theme directory and automatically sync them to SitePack in real-time. This is the primary command for theme development.
- Usage
sitepack theme:watch
sitepack theme:verify
Check a theme against the SitePack requirements before you publish it. It runs offline and needs no login. It reports:
- Directory structure: files and folders SitePack does not accept on upload.
- theme.json: settings, custom templates and fields that SitePack would silently drop, and
platform_colorsthat do not point at a colour setting. - Templates: missing page templates, a missing home template, and missing platform functions such as
sitepack_head()(which prints theheadblocks of installed apps) andsitepack_account(). - App blocks: every standard template hook that is missing.
- Translations: missing
en,nl,deoresfiles, keys missing from a language, keys your templates use thaten.jsonlacks, and languages that are still a copy of English. - Twig sandbox: tags, filters and functions that publishing or rendering refuses, with the allowed alternative.
- Design rules (warnings): hardcoded colours and fonts, CSS variables that are not a theme setting, images without
alttext.
Errors make the command exit with code 1, so you can run it in CI.
- Usage
- Options
sitepack theme:verify [directory]
| Option | Description |
|---|---|
[directory] | The theme directory to check. Defaults to the current directory. |
--strict | Fail on warnings too. |
--json | Print the findings as JSON, for CI and scripts. |
sitepack theme:publish
Publish the theme to SitePack. This performs a full synchronization and creates a new release, making it available for use or marketplace listing.
- Usage
sitepack theme:publish
sitepack themes:diff
Show which themes in a folder have changes that are not published to SitePack yet, so the themes on your machine and the ones live on SitePack (and in the marketplace) don't drift apart. Run it in the folder that holds your theme directories, or inside a single theme.
For every theme directory (a sub-folder with a theme.json), the CLI hashes the files sitepack theme:publish would upload and compares them, file by file, with the version that is live:
atelier ✔ in sync v4 9aa4aa7
cadence ● 2 changed, 1 new since v3 local 76df076 ≠ published 315b624 staging ✔
supper ○ never published
trailhead – no uuid in theme.json (run "sitepack theme:link")
- in sync: the local files are exactly what is published.
- changed: files changed, were added or were removed since the last publish.
staging ✔meanssitepack theme:watchalready synced them to your development site, but they are not published yet. - never published: the theme is registered but has no released version.
- Themes without a
uuidand themes of another organisation are listed but not compared.
A version published before this command existed is compared using the files SitePack stored. SVG files are cleaned up on upload, so an SVG can show as changed for such a version until you publish again.
- Usage
- Options
sitepack themes:diff [directory]
| Option | Description |
|---|---|
[directory] | The folder with your themes, or a single theme directory. Defaults to the current directory. |
--files | List the changed, added and removed files per theme. |
--json | Print the result as JSON, for scripts. |
--exit-code | Exit with code 1 when a theme differs from what is published, for CI. |
AI Commands
sitepack mcp
Run the MCP server for the theme being watched, so an AI editor can build pages, menus and the online store on your development site. It reads the site-scoped session that sitepack theme:watch opens, and is started by your editor rather than run by hand. See AI editor (MCP) for the full setup.
- Usage
- Options
sitepack mcp
--theme <uuid>— pick which watch session to use when several are running.
Partner & Organization Commands
sitepack partner:organisations
List all organizations (partners) you have access to.
- Usage
sitepack partner:organisations
sitepack partner:change-organisation
Select a different active organization to work with. This affects which apps and themes are accessible to other commands.
- Usage
sitepack partner:change-organisation
sitepack partner:create-organisation
Opens the browser to the SitePack Partner Dashboard to create a new organization.
- Usage
sitepack partner:create-organisation
General Commands
sitepack --version
Check the current version of the SitePack CLI.
sitepack --version
sitepack --help
Show help for all commands or a specific command.
sitepack --help
sitepack [command] --help