CLI commands

commandwhat it does
cmsnapstart the server (the bare command, no subcommand); a first start in an empty folder bootstraps the example site and prints the one-time first-run summary
cmsnap create-admin [--site domain]create an administrator (asks login, password and role) — on the default site, or on any site of the map with --site
cmsnap passwd [--site domain]change a user’s password — the default site, or any site with --site
cmsnap reloadhot-apply the root and site configs and templates via ./cms.sock — routes, views, forms, menus, sites added or removed; zero downtime
cmsnap checkvalidate the root settings.json, every site’s config and hbs/ templates without starting the server; from a folder with no settings.json the RUNNING server re-checks its own config instead (like nginx -t); exit code 0 = ok
cmsnap tune direct|proxyrewrite the root settings.json for a deployment topology (host / ports / trusted_proxies / tls), atomically and validated — see the Deploy article
cmsnap def-help [run|nos]factory reset to this example: recreate the root config and the site under www/default/, seed the docs, create admin with a generated password; run starts the server right away, nos keeps the server/tls sections
cmsnap guard add|remove|list [--site domain]the device gate for /cms: one-time enrollment links and the device list, per site (see the cms article)
cmsnap mcp token|revoke [--site domain]issue or revoke an MCP token — the server scope, or one site’s with --site (see MCP agent)
cmsnap license / cmsnap noticesprint the license / the third-party notices
-l, --loglog level, e.g. debug or cmsnap=debug,ntex=warn

The two you will actually type day to day:

./cmsnap check     # validate configs + templates without starting
./cmsnap reload    # apply config and templates, zero downtime

← All articles in this group