Add modal editing to the agent TUI. (#2)

Adds a status line indicating which mode the user is in.
Adds a "normal" mode with keyboard shortcuts (including a chorded shortcut 'gg').
Adds a command mode with several basic commands that can be entered into an overlay.

Chores:
- Cleans up design/claude/plan.md to avoid confusing claude.
- Adds some TODOs based on claude feedback.`

Reviewed-on: #2
Co-authored-by: Drew Galbraith <drew@tiramisu.one>
Co-committed-by: Drew Galbraith <drew@tiramisu.one>
This commit is contained in:
Drew 2026-02-25 01:16:16 +00:00 committed by Drew
parent 5d213b43d3
commit 3fd448d431
9 changed files with 725 additions and 101 deletions

View file

@ -65,6 +65,9 @@ impl<P: ModelProvider> Orchestrator<P> {
while let Some(action) = self.action_rx.recv().await {
match action {
UserAction::Quit => break,
UserAction::ClearHistory => {
self.history.clear();
}
UserAction::SendMessage(text) => {
// Push the user message before snapshotting, so providers