Add full-screen TUI with bottom composer

This commit is contained in:
Adolfo Reyna
2026-05-15 14:31:53 -04:00
parent 2e806c97a0
commit b02ef0b455
3 changed files with 223 additions and 58 deletions

View File

@@ -35,12 +35,25 @@ Interactive responses stream into the terminal as they are generated, and the
session keeps conversation history until you reset it. The current session is
saved to `.harness/session.json` and reloaded the next time the app starts.
For multiline input, end a line with `\` and keep typing:
The interactive mode is a small full-screen TUI: the transcript scrolls above,
while the input composer stays pinned to the bottom of the terminal. Press
`Ctrl+J` to insert a newline while composing.
```text
you> summarize this:\
...> line two\
...> line three
┌ transcript
│ system> Loaded 3 conversation items...
│ you> ...
│ assistant> ...
└────────────────────────────────
you> input stays here
```
For multiline input:
```text
you> summarize this:
line two
line three
```
You can also keep using one-shot mode when scripting:
@@ -175,6 +188,6 @@ npm run dev -- "/greet Ada"
## Intentional omissions
This first version does **not** include file writes, shell execution, approval
gates, or persistent sessions. Those are useful, but adding them after the core
shape is visible keeps the harness easier to reason about.
This version still does **not** include file writes, shell execution, or approval
gates. Those are useful, but adding them after the core shape is visible keeps
the harness easier to reason about.