Command line

Everything Sluurp does is one binary, sluurp. sluurp --help lists the commands, and sluurp <command> --help every option of one. This page is the map.

Every command takes --dir <DIR>, the folder that holds the data, one SQLite file per project. It is sluurp_data next to where you run it, unless you say otherwise.

Serving

CommandWhat it does
serveStart the server: the API, the admin UI at /_/, and the app given to --public
staticWrite the app out as plain files for a file host, islands still alive; --base repo for a site served from a folder (Static sites)
compileBuild a single binary that serves one app, its files inside it

serve options:

Option
--public DIRThe app at /: a folder, or a repository’s URL. NAME=DIR serves another at /NAME/; give it more than once
--addr HOST:PORTWhere to listen; 127.0.0.1:8090 by default, this machine only
--no-hot-reloadDon’t watch the files; for a server in production
--attach NAME=FILEUse an existing SQLite database in place (Existing SQLite databases)
--events [ADDR]Take events over UDP from this machine (Hooks and events)
--channel NAME, --appsServe a published bundle, or every registered app by hostname, instead of a folder
sluurp serve --public ./app --public reports=./reports --addr 0.0.0.0:8090

Data

CommandWhat it does
migrate APPRun an app’s migrations; --plan says what would run
schema plan, schema applyCompare a schema.json with the database, or bring the database up to it
import FILELoad collections and records from an import document
superuser EMAIL PASSWORDCreate an administrator, or reset one’s password
backupCopy every project to a dated snapshot folder
migrationsShow which of Sluurp’s own internal migrations a project has had
benchHow fast collections are on this machine (Why SQLite)

Packages

CommandWhat it does
add SPECVendor a package into an app: add three, add npm:date-fns@4, add jsr:@std/path, a CDN URL, or font:inter:400,600 (Packages)
remove NAMETake a vendored package out again
outdated, updateNewer versions of what was added, and moving to them, as pnpm has them
vendorList what an app vendors, check its files against their hashes, or verify them against where they came from
cacheWhere Sluurp’s package store and bundles are, and clear to empty them

add and the others take --app DIR, the app to change: the current folder by default.

Publishing

CommandWhat it does
push DIRStore an app build as a bundle; --deploy CHANNEL points a channel at it straight away
bundlesList the bundles, and what each channel serves
deploy CHANNEL BUNDLEPoint a channel at a bundle
promote FROM TOPoint one channel at whatever another serves: staging to production
rollback CHANNELPut a channel back on the version it served before
appConnect a git repository, so its app is published from it on each push

Other

CommandWhat it does
emit NAME [JSON]Say an event to a server that listens for them
i18nList the keys in an app’s i18n.json that nothing uses