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.
Use the database
Your project already has a PostgreSQL database, login, file storage and email. Your worker reaches them as env.db, env.auth, env.storage and env.email — there is nothing to turn on and nothing to configure.
const rows = await env.db.exec("select now()");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
- Personal access tokens — deploying from CI, with no
runlot login