A minimalistic typing test application for your terminal - inspired by Monkeytype.
✨ Real-time Statistics: Track your WPM (Words Per Minute) and accuracy as you type
🎨 Color-Coded Feedback: Green for correct characters, red for mistakes
⏱️ Timed Tests: 30-second typing challenges
🔄 Restart Anytime: Press ESC to restart, Ctrl+C to quit
📊 Detailed Results: See your performance summary at the end
📈 Historical Tracking: Automatic saving of all test results with statistics
📉 Visual Graphs: ASCII bar charts showing WPM trends over time
🎯 Clean Minimal UI: Muted color scheme for comfortable extended use
Clone this repository:
git clone https://github.com/arbkm22/monkey-cli.git
cd monkey-cliNo external dependencies needed! The application uses Python's built-in curses library.
If you're on Windows, you'll need to install windows-curses:
pip install windows-cursesRun the typing test:
python3 monkey_cli.pyOr make it executable and run directly:
chmod +x monkey_cli.py
./monkey_cli.py- Start: Press any key to begin the test
- Type: Type the displayed words as accurately and quickly as possible
- Monitor: Watch your real-time WPM and accuracy stats at the top
- Complete: Finish the test or wait for the timer to run out
- Review: Check your final statistics (automatically saved!)
- History: Press H to view your typing history and progress graphs
- Restart: Press ESC to try again or Ctrl+C to quit
- Any Key: Start the test
- Backspace: Delete the last character
- H: View typing history (when test is complete)
- ESC: Restart the test or return from history view
- Ctrl+C: Quit the application
All your test results are automatically saved to ~/.monkey-cli/history.json. The history view shows:
- Overall Statistics: Total tests, average/best WPM, average/best accuracy, total characters typed
- WPM Trend Graph: Visual ASCII bar chart of your last 10 tests
- Progress Tracking: See your improvement over time
The app keeps your last 100 test results to track your progress while keeping the data file manageable.
You can customize the test by modifying the parameters in monkey_cli.py:
# Change duration (in seconds) and word count
test = TypingTest(stdscr, duration=60, word_count=100)- Python 3.6+
- Terminal with color support
- Unix/Linux/macOS (native curses support) or Windows (with windows-curses)
The application features:
- Muted, comfortable color scheme for extended use
- Real-time WPM and accuracy display
- Color-coded text (green for correct, red for incorrect)
- Clean, distraction-free interface
- Comprehensive results screen
- Historical tracking with visual graphs
MIT
Contributions are welcome! Feel free to open issues or submit pull requests.
Made with ❤️ for terminal enthusiasts
