typtea
Minimal terminal-based typing speed test with support for dozens of programming languages
Features
- Terminal-based typing with WPM and accuracy tracking
- Multi-language support including English and 30+ programming languages
- Infinite word generation with smooth 3-line scrolling display
- Minimalist TUI built with Bubble Tea and Lipgloss
- Embedded language data for easy distribution
- Accurate metrics following standard typing test calculations
Supported Languages
|
|
|
|
| Bash |
C |
C++ |
C# |
| Crystal |
CSS |
Emacs |
English 1k |
| Erlang |
Go |
Haskell |
HTML |
| Java |
JavaScript |
JSON |
Julia |
| Lisp |
Lua |
OCaml |
Perl |
| PHP |
PowerShell |
Python |
R |
| Ruby |
Rust |
SCSS |
SQL |
| Swift |
TeX |
TypeScript |
Vala |
| Vimscript |
Wolfram |
YAML |
Zig |
|
|
|
|
Installation
Arch Linux (AUR)
yay -S typtea
Void Linux
sudo xbps-install -S typtea
Nix
nix profile install nixpkgs#typtea
Via go install
go install github.com/ashish0kumar/typtea@latest
Build from Source
git clone --depth=1 https://github.com/ashish0kumar/typtea
cd typtea/
go build
sudo mv typtea /usr/local/bin/
typtea -h
Usage
Basic Commands
# Start a 30-second English typing test (default)
typtea start
# Start a 60-second typing test
typtea start --duration 60
# Start a Rust keywords typing test
typtea start --lang rust
# Combine duration and language
typtea start --duration 45 --lang javascript
# List all available languages
typtea start --list-langs
# Get help
typtea --help
typtea start --help
During the Test
- The test starts when you begin typing
- Backspace to correct mistakes
- Enter to restart after completion
- Esc to quit the application
Development
Prerequisites
Go 1.19+
Setup
git clone https://github.com/ashish0kumar/typtea.git
cd typtea
go mod tidy
go build
./typtea start
Adding New Languages
- Create a
JSON file in internal/game/data/ with the format:
{
"name": "Language Name",
"words": ["word1", "word2", "word3", ...]
}
- Rebuild the application to embed the new language data
Looking for persistent stats or a database-backed version of typtea?
Check out PR #1: Database for storing stats, which adds SQLite-based session tracking and best-score display.
This feature is not in the main branch to keep typtea minimal, but you can use it if you want to track your typing history.
Dependencies
Contributing
Contributions are always welcome! If you have ideas, bug reports, or want to submit code, please feel free to open an issue or a pull request.
Contributors
© 2025-present Ashish Kumar