Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
703a0db
build: add TUI dependencies
bsg62 Jun 16, 2026
e28a191
feat: add AppState constructors
bsg62 Jun 16, 2026
7e195fd
test: cover AppState log initialization
bsg62 Jun 16, 2026
bc1e222
refactor: use explicit AppState dead code allowances
bsg62 Jun 16, 2026
ab7eeea
feat: add TUI app state
bsg62 Jun 16, 2026
1a868f5
feat: map TUI keyboard and mouse input
bsg62 Jun 16, 2026
a08b7a9
fix: ignore modified TUI shortcut keys
bsg62 Jun 16, 2026
33bc735
feat: render TUI control panel
bsg62 Jun 16, 2026
0e55070
fix: honor TUI log scroll in rendering
bsg62 Jun 16, 2026
ef4b912
feat: capture process output without terminal tee
bsg62 Jun 16, 2026
df56976
test: gate captured spawn shell tests on unix
bsg62 Jun 16, 2026
1d7d14d
feat: add TUI engine actor skeleton
bsg62 Jun 16, 2026
a12a1e9
fix: clean up TUI actor processes on errors
bsg62 Jun 16, 2026
f749fba
fix: avoid TUI actor state index panic
bsg62 Jun 16, 2026
afe16ed
feat: run final command in TUI actor
bsg62 Jun 16, 2026
ef19601
feat: handle TUI server control commands
bsg62 Jun 16, 2026
c94c734
fix: stop replaced servers and surface server logs in TUI
bsg62 Jun 16, 2026
55bef3c
feat: support final command rerun in TUI
bsg62 Jun 16, 2026
713127b
feat: wire TUI runner
bsg62 Jun 18, 2026
f4ea69f
fix: restrict TUI rerun action to final row
bsg62 Jun 18, 2026
1812dd3
fix: surface TUI actor errors and responsive quit
bsg62 Jun 18, 2026
268da98
fix: control TUI final command lifecycle
bsg62 Jun 18, 2026
d31fdbd
docs: document TUI mode
bsg62 Jun 18, 2026
a9fb9c9
docs: align TUI option style
bsg62 Jun 18, 2026
304b5c2
fix: keep TUI actor alive on process failures
bsg62 Jun 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
419 changes: 407 additions & 12 deletions Cargo.lock

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ anyhow = "1.0.98"
clap = { version = "4.5.39", features = ["derive"] }
command-group = { version = "5.0.1", features = ["with-tokio"] }
config = { version = "0.15.11", default-features = false, features = ["yaml"] }
crossterm = "0.28"
log = "0.4.27"
ratatui = "0.29"
reqwest = { version = "0.12.19", default-features = false, features = [
"native-tls-vendored",
] }
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ server-runner [OPTIONS]
- `-c, --config <FILE>` - Path to configuration file (default: `servers.yaml`)
- `-v, --verbose` - Enable verbose logging
- `-a, --attempts <NUMBER>` - Maximum number of connection attempts per server (default: 10)
- `--tui` - Run the interactive control panel with live status, logs, and server controls
- `-h, --help` - Print help information
- `-V, --version` - Print version information

Expand Down
Loading
Loading