- Rust 94.3%
- Go 4.9%
- Nix 0.8%
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| cmd/steam-maintain | ||
| crates | ||
| docs | ||
| fixtures/maintenance | ||
| internal | ||
| tests | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| go.mod | ||
| README.md | ||
| REMEDIATION_VERIFICATION.md | ||
steam-tui
steam-tui is a terminal interface for browsing a Steam library and launching
games through Proton. Its Rust workspace separates the Ratatui/Crossterm UI,
local Steam discovery, and supervised process launching. An optional
headless-cm feature adds social/catalog access through a dedicated
Connection Manager actor; it does not provide game-side Steamworks IPC. The
steam-maintain Go helper performs bounded, read-only library inspection and
verification.
See docs/architecture.md for the UI/engine boundary, launch transaction, metadata provenance, and package/feature isolation.
Keybindings
| Key | Action |
|---|---|
Up / k, Down / j |
Move through the current list |
Enter |
Launch the selected game, or confirm the active dialog |
p |
Direct Proton launch |
h |
Hybrid launch |
d |
Request installation |
/ |
Search the game list; in the social pane, search the catalog |
F / Tab |
Toggle the social pane |
a (social pane) |
Open CM account credentials |
Tab / BackTab (credentials) |
Switch account/password field |
Enter (credentials) |
Submit credentials; Steam Guard appears if challenged |
Enter (Steam Guard) |
Submit the verification code |
Esc |
Dismiss the active prompt or dialog |
g (social pane) |
Open Steam Guard code entry manually |
c |
Toggle installation view |
P |
Toggle platform filter |
s |
Inspect saves |
l |
Open logs |
q |
Quit |
Credentials are entered only in the prompt and the password is masked. CM
authentication is available in builds with the headless-cm feature.
Features
local(default): Steam library discovery, save inspection, and Proton launching.headless-cm: optional social, catalog, credentials, and Steam Guard UI.mimalloc: build variant using the mimalloc allocator.
Cargo examples:
cargo run -p steam-tui
cargo run -p steam-tui --no-default-features --features headless-cm
cargo run -p steam-tui --features 'local,headless-cm'
Nix
Run the default package (including the steam-maintain runtime helper) with:
nix run .
Available package variants include steam-tui-full, steam-tui-cm,
steam-tui-mimalloc, and steam-tui-auth. Enter the development shell and run
the validation commands with:
nix develop
cargo fmt --all -- --check
cargo check --workspace --all-targets --all-features
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-features
go vet ./...
go test -race ./...
nix flake check
The flake also runs these checks as part of its buildable check outputs.