#tui #typing-test #game #typing

bin+lib termitype

Terminal-based typing test inspired by monkeytype

17 releases

new 0.0.1-alpha.18 Apr 7, 2025
0.0.1-alpha.17 Apr 6, 2025
0.0.1-alpha.13 Mar 26, 2025
0.0.1-alpha.7 Feb 24, 2025

#982 in Command line utilities

Download history 204/week @ 2025-02-15 331/week @ 2025-02-22 167/week @ 2025-03-01 140/week @ 2025-03-08 10/week @ 2025-03-15 405/week @ 2025-03-22 65/week @ 2025-03-29 455/week @ 2025-04-05

937 downloads per month

MIT license

400KB
4.5K SLoC

termitype

Just another rusty TUI typing game
Development · Installation

image

Development

Getting Started

  1. Clone the repository:
git clone https://github.com/emanuel2718/termitype.git
cd termitype
  1. Optional: Install theme Pack
# NOTE: This is only required for local development. In production, this is handled automatically by the build process.
./scripts/install-themes.sh
  1. Build and run:
# Normal run
cargo run

# Debug mode
cargo run -- --debug

Installation

cargo install termitype@0.0.1-alpha.18

TODO

  • User defined config in $XDG_CONFIG_HOME/termitype/config. Takes precedence over default config and persitent config state in db
  • Settings persistance
  • Results (locally) tracking with sqlite (can be opted-out with termitype --no-track)
  • Layout cleanup pass
  • Release on:
    • crates.io
    • Homebrew
    • AUR
    • nixpkgs

Done

  • Proper Results screen
  • Build Github CI
  • Theme swap at runtime (Menu -> Themes -> )
  • Theme preview in menu
  • Change cursor style via cli
  • Change cursor style at runtime
  • Only show (3) lines with scroll off
  • underline wrong words (must have at least one wrong character for it to be underlined)
  • Add scrolbar to the menu
  • Preview the cusror style change like we do with the theme picker
  • Change language at runtime
  • Add more languages and word lists (good enough for now)
  • Change mode/value with the menu
  • Fetch themes at build time from iterm2Themes url
  • Don't include debug flag in release
  • Add LICENSE

Dependencies

~9–21MB
~314K SLoC