Introduction
full-count is a keyboard-driven TUI (terminal user interface) for scoring baseball games in real time. It's written in Rust with ratatui and designed for a single person, sitting in front of a game, with two hands free and no patience for menus.
Every feature is built around that premise: single-letter keys for pitches and at-bat results,
fielder notation you already know (6-4-3, F8, E6), and a live
scoreboard that updates as you score. You never leave the keyboard.
TL;DR
Head to Install & first game to build the binary and score your first half inning in under five minutes. If you want the why first, read Why full-count?.
What you get
- Pitch-by-pitch tracking — balls, strikes, and fouls with automatic walk and strikeout detection.
- Full at-bat vocabulary — hits, outs, walks, errors, double plays, sac flies, fielder's choice.
- Standard fielder notation —
6-4-3double play,F8flyout,E6error. - Live line score — inning-by-inning R/H/E, updated as you score.
- Batter & pitcher stat lines — recomputed automatically after every play.
- Mid-game substitutions — swap batters without losing the replaced line; unlimited relievers with W/L/S at game end.
- Manual runner advancement — wild pitches, stolen bases, passed balls, balks, all properly credited.
- Save & resume — JSON saves under
~/.full-count/saves/. - Replay mode — step through any saved game pitch-by-pitch, read-only.
- Undo — up to 100 levels.
- Scorecard export — render a paper-style HTML scorecard when the game ends.
- Advanced stats (opt-in) — 2B/3B/HR, SB/CS, LOB, WP, BF, season AVG, with
--features advanced-stats.
How the docs are organized
| Section | What's in it |
|---|---|
| Why full-count? | The motivation: why a TUI, why keyboard-only, why Rust. |
| Getting started | Install Rust, build the binary, score your first at-bat. |
| Scoring reference | Every key, every prompt, every edge case. |
| Replay mode | Step through saved games pitch-by-pitch. |
| Saves & exports | Where files live, how names are sanitized, the HTML scorecard. |
| Advanced stats | The opt-in feature flag and what it unlocks. |
| Development | Building, testing, and contributing. |
System requirements
- Rust 1.75 or newer.
- A terminal emulator with 256-color support and Unicode (any modern terminal will do).
- No network connection — full-count never talks to the outside world.