hello
a tiny notes app: add a note, list notes, delete a note; one page, no login
This is an app: the forge runs it. Production follows the default branch;
every open pull gets a preview at its own address with its own copy of the
data. Everything the app keeps lives under FORGE_APP_DATA, which is what
makes "production data" and "preview data" two different things.
PORT=8080 FORGE_APP_DATA=./data bun run src/server.ts
bun test
FORGE_APP_DATA=./data bun run src/tty.ts
It also has a terminal: the exact command is in FORGE_APP_SSH when the app
runs (ssh -p 2222 <name>@<forge> — the app is the login name, the forge is
the host; <name>--<pull>@<forge> for a preview's). It opens src/tty.ts on
a real pty over the same data.
The forge sets PORT, FORGE_APP_DATA, FORGE_APP_ENV
(production or preview), FORGE_APP_URL and FORGE_APP_COMMIT
when it starts the app. forge.json says how.