The Terminal Client
The keys, action modes, and slash commands for playing a campaign in a terminal.
localrpg play <game-id> opens a campaign in the terminal. The client plays turns
through the same engine the desktop app uses, and writes every turn to the same
history.jsonl, so a campaign can be moved between the two at any time.
The client runs in the terminal's alternate screen: it takes the window over, and restores what was there when you quit. A terminal that reports its size and supports colour is enough. Narration is rendered as Markdown at the terminal's width.
Starting a session
Opening a campaign does the same preparation as the desktop app, in this order:
- The configuration is loaded, and the campaign's directories are resolved.
- The entity index is rebuilt from the Markdown, so edits made outside the app are picked up.
- The turn index is replayed from
history.jsonlwhen the two disagree. - The player's identity and the starting location are resolved.
- When the campaign has an opening prompt and no turns yet, the opening scene is played and shown before the prompt, which is the scene the desktop app shows in its Prologue.
Background embedding work runs as it does in the app, so semantic search over the campaign is available even though the terminal client has no search screen.
The screen
The window has three bands. The title reads LocalRPG Chronicles. The
transcript follows, and it shows each turn as the mode, what you typed, and the
narrator's prose. The last band is the status line and the input line. The
status line shows the current location in brackets, followed by the last thing that
happened, such as Ready., GM is thinking…, or Turn 4 completed., or the
text of an error. The input line shows the active mode in brackets, as in
[Do] >.
Keys
| Key | What it does |
|---|---|
Tab |
Cycle the action mode through Do, Say, Story, Roll, and GM. |
Enter |
Submit what you have typed. |
Esc |
Clear the input line. |
Ctrl+C |
Quit. |
Enter does nothing while a turn is in flight. A second submission cannot interleave with the first. The narrator's prose appears when the turn is complete; the client does not stream it.
Action modes
The mode selects how the engine reads what you typed, and the turn records it.
| Mode | Read as |
|---|---|
| Do | Something the character does. |
| Say | Something the character says. |
| Story | A narration or a scene-setting statement. |
| Roll | A request for a check, when the campaign's mechanics are engaged. |
| GM | A director's note, which corrects the last turn rather than playing a new one. |
The desktop app's console tabs use the same four action modes, and a turn plays the same way in either client.
Slash commands
Input that begins with a slash is read as a command rather than an action. Each command is answered with its own entry in the transcript.
| Command | What it does |
|---|---|
/undo |
Rewind the campaign by one turn, deleting that turn's indexed record and the history it added to entities. |
/recap |
Ask where the campaign stands. The story so far is regenerated first when it is stale; the answer describes the present. |
/go <location> |
Move the player to a named location, recorded as its own system turn. |
/gm <directive> |
Correct the narration. The GM mode does the same thing. |
/undo refuses when there is nothing to undo, and /go refuses a location it
cannot find. Either failure is printed in the status line, and the session
continues.
Diagnosing a turn
An error is printed in the status line, and the transcript keeps the turns that already completed. For anything deeper, run with the trace on:
localrpg play my-campaign --trace summary
The trace records prompt sizes, timings, and provider decisions; --trace full adds
prompts, generated text, and raw provider lines. See
Trace & Telemetry for the levels and for the location
of the file.
Differences from the desktop app
The terminal client is the same engine with fewer screens. The desktop app adds what a terminal cannot show:
| Feature | Terminal | Desktop app |
|---|---|---|
| Narration | Yes | Yes |
| Scene artwork | No | Yes |
| Spoken narration and per-line audio | No | Yes |
| Dice cards for a pending check | No, a Roll is typed instead | Yes |
| Character sheet, graph, and Codex drawers | No | Yes |
| Settings and studios | No, edit the configuration file instead | Yes |
Use the desktop app to author worlds, systems, and campaigns. The terminal client is for playing them.