GUIDE / 01
Setup and first deploy
Go from an empty folder to a public deploy URL with three commands.
Install the CLI
npm i -g runlot
runlot loginCreate a project
npm create runlot@latest my-app
cd my-appThe template contains only runlot.json, src/index.ts, public/hello.txt, .gitignore, and the directories you need. It stays minimal so you can see the whole deploy setup — runlot.json, the worker entry point, and the static assets directory — at a glance.
Deploy
The command builds a bundle, uploads it, and serves the new version. If the project doesn't exist yet it is created automatically, so there's nothing to set up before your first deploy.
runlot deployWhen the deploy finishes, you'll see a URL like this.
my-app.me.runlot.app<project>- project
<organization>- organization
.runlot.appThe format is <project>.<organization>.runlot.app. See Deploy URL for the naming rules.
Open the URL printed by your deploy and check the response from the template you chose.
Turn on the database
Add one line to runlot.json and deploy. There is no command to turn it on. The deploy reads the declaration and creates what is missing.
{
"name": "my-app",
"main": "src/index.ts",
"database": true
}runlot deployLogin and file storage go in the same place. Declare only the ones you need.
{ "database": true, "auth": true, "storage": true }App auth requires a database, so "auth": true on its own creates the database as well. The deploy output says what it created, and it never creates something that already exists.
runlot pg connectWhat to read next
- Project structure — what
runlot.jsonand the entry point do - env.db — how to use the database
- Deploy URL — the rules that determine your URL