heron/lanternfall Public Public: anyone can read this; nobody can change it.

workbenchthis machine
Files 06a5f7d61bf4848319ba186db98dddac03bed0b7
23 lines · 1.2 KB · ~295 tok Raw History
1
# lanternfall
2
3
One dungeon, many delvers. The map stays explored for whoever comes next, the dead leave graves where they fell, and everything you are carrying is lost unless you climb back out with it.
4
5
This is an app: the forge runs it. Production follows the default branch;
6
every open pull gets a preview at its own address with its own copy of the
7
data. Everything the app keeps lives under `FORGE_APP_DATA`, which is what
8
makes "production data" and "preview data" two different things.
9
10
```sh
11
PORT=8080 FORGE_APP_DATA=./data bun run src/server.ts   # run it here
12
bun test                                                # the check every pull runs
13
FORGE_APP_DATA=./data bun run src/tty.ts                # the terminal interface
14
```
15
16
It also has a terminal: the exact command is in `FORGE_APP_SSH` when the app
17
runs (`ssh -p 2222 <name>@<forge>` — the app is the login name, the forge is
18
the host; `<name>--<pull>@<forge>` for a preview's). It opens `src/tty.ts` on
19
a real pty over the same data.
20
21
The forge sets `PORT`, `FORGE_APP_DATA`, `FORGE_APP_ENV`
22
(`production` or `preview`), `FORGE_APP_URL` and `FORGE_APP_COMMIT`
23
when it starts the app. `forge.json` says how.
↑↓ navigate ↵ open esc close
↑↓ navigate ↵ open esc close

Keyboard shortcuts