Overview
sutro.config.json links a local folder to a Sutro Project and Application. CLI commands that operate on a project, such as sutro dev, sutro validate, sutro publish, sutro status, and sutro openapi, read this file from the current working directory.
Create the file with:
File format
Example:| Field | Required | Description |
|---|---|---|
$schema | No | JSON schema URL used by editors for validation and autocomplete. |
projectId | Yes | Sutro Project ID linked to this folder. |
applicationId | Yes | Sutro Application ID that receives validation, dev-session, and publish updates. |
entryFile | Yes | SLang entry file. Defaults to app.slang when generated by sutro init. |
entryFile must point to a file inside the project directory.
Creating config
Create a new Project and Application:Source upload behavior
When the CLI uploads SLang source, it sends:- The configured
entryFile. - Every
.slangfile under the project directory. - Paths relative to the project directory.
| Directory | Reason |
|---|---|
.git | Git internals are not source files. |
.slang-data | Local runtime data from older development workflows. |
.sutro | Local Sutro cache data. |
.turbo | Build cache. |
coverage | Test coverage output. |
dist | Build output. |
node_modules | Installed dependencies. |
Multi-file projects
Local imports work with multi-file projects. For example:app.slang can import models.slang:
models.slang can define shared models:
sutro dev, sutro validate, or sutro publish, the CLI uploads both files.