clix is a terminal-based typing practice application written in Rust. It generates an English paragraph, measures live WPM, and displays a sparkline of WPM. Mistyped characters are shown directly under the target text. When a test finishes a compact results overlay is shown and pressing Enter restarts with a new paragraph.
Features:
- Live WPM count (words per minute, 5 chars/word)
- Live sparkline graph of recent WPM
- Random paragraph generation
- Per-character correctness coloring (green/red)
Build and run
- Requires Rust toolchain (stable)
PowerShell (release):
cargo build --release
cargo run --release
- lock_api v0.4.13
- anyhow v1.0.86
- windows-targets v0.52.6
- crossterm_winapi v0.9.1
- ppv-lite86 v0.2.21
- parking_lot_core v0.9.11
- rand_chacha v0.3.1
- rand v0.8.5
- parking_lot v0.12.4
- crossterm v0.25.0
- crossterm v0.26.1
- tui v0.19.0
Thanks to the maintainers and contributors of these crates for their work.
.
├─ src/
│ ├─ main.rs # main TUI program and input handling
│ └─ lib.rs # paragraph/text generator utilities
├─ .github/
│ └─ workflows/
│ └─ release.yml # CI workflow to build and attach release artifacts
├─ scripts/
│ └─ make_release.ps1 # build + package helper
└─ README.md
Notes
- Terminal key sequences vary by terminal emulator and platform. If Ctrl+Backspace does not behave as expected in your terminal, run the program in your environment and report the raw key events so the handler can be adapted.
• Ability to add custom pdfs or list of words
• Better UI
• Custom timer, word count ability
• Better graph visualisation like monkeytype
• Typing History and leaderboards
This project is licensed under the MIT License.