Skip to main content

Installation

Install the CLI globally:
The package installs the sutro command. Requirements:

Global options

Global options work with every command. Examples:

Commands

sutro login

Log in to Sutro through the browser and store a local CLI session.
Options:

sutro logout

Clear the locally stored CLI session.

sutro whoami

Show the currently logged-in user.

sutro init

Link the current folder to a Sutro Project and Application. If no IDs are provided, the CLI creates a new Project and Application.
Options: sutro init writes sutro.config.json and creates the entry file if it does not already exist.

sutro dev

Run the linked SLang app in a remote dev session.
Options: sutro dev uploads all local .slang files under the project root, starts a remote preview, and prints an API URL like:
While watching is enabled, changes to .slang files and sutro.config.json trigger a remote reload. Press Ctrl + C to stop the dev session.

sutro validate

Validate the linked SLang project without publishing it.
The CLI uploads the local source to Sutro and prints compiler diagnostics if validation fails.

sutro publish

Upload the linked SLang project and publish the Application.
The command uploads all local .slang files, publishes the Application, waits for the published version to become active, and prints the published URL. Publishing requires a payment method on file.

sutro status

Show the linked Project, Application, entry file, publish state, and published version.

sutro openapi

Open the published OpenAPI spec in Console.
Options: Examples:

Exit codes

Automation

Use --json when calling the CLI from scripts or AI coding agents:
sutro dev --json writes newline-delimited events because the command keeps running:
Each event includes an event field, such as session_ready, session_update, or session_update_failed.