Merge: initial release of TypeRush#1
Merged
Conversation
A MonkeyType-style typing speed trainer that runs entirely in the terminal. Built with ratatui + crossterm so it works on Linux, macOS, Windows, and WSL as a single binary. Features: - Six modes: Time (15/30/60/120s), Words (10/25/50/100), Quote, Code (Rust/Python/JS), Zen, and custom-file - Live WPM + accuracy updated every 100ms (MonkeyType formula) - Character-by-character color feedback: green/red/gray/underline-extra - Persistent stats in ~/.typerush/stats.json with personal-best tracking - Stats screen with recent-sessions table and WPM sparkline - Help overlay (?), Ctrl+R restart, Ctrl+Backspace delete-word - CLI flags to skip the menu (--time, --words, --quote, --code, --zen, --file) - GitHub Actions CI: cargo check / test / clippy -D warnings on Linux/macOS/Windows
Cursor - The end-of-word cursor no longer toggles a phantom "▏" character every 500ms, which used to shift the entire line horizontally as it blinked. - New rendering: a steady (no-blink) cursor that REVERSES the character it sits on for a block fill, or underlines the trailing space when it has passed the end of the current word. The trailing space is always part of the layout, so toggling its style never changes width. Documentation - README rewritten to be approachable / marketing-oriented; technical content moved into dedicated docs. - docs/USAGE.md: full keybindings, modes, CLI flags, terminal compat. - docs/ARCHITECTURE.md: module map, data flow per keystroke, design notes. - docs/ROADMAP.md: what's shipped, in progress, planned, and idea-stage. - CONTRIBUTING.md: dev setup, code conventions, commit style, PR checklist. - CHANGELOG.md: Keep-a-Changelog format, v0.1.0 entry + Unreleased. - LICENSE: MIT. In-code docs - Module-level (//!) and item-level (///) comments across every source file. - Renamed several locals for clarity (active_word, typed_char_count, cursor_past_word_end, …) — no behavioural changes. GitHub flow - .github/ISSUE_TEMPLATE/ — bug_report.yml, feature_request.yml, question.yml, plus a config.yml that points open chat at Discussions. - .github/PULL_REQUEST_TEMPLATE.md. - .github/workflows/release.yml — builds Linux / macOS-x64 / macOS-arm64 / Windows binaries on every v* tag and publishes them to a GitHub Release with auto-generated release notes.
The cursor was previously two different styles — a block/fill (REVERSED) when sitting on a character, and an underline when past the end of a word. Switching between them felt jarring mid-session. Both positions now use a steady cyan underline. The indicator looks and behaves identically wherever the cursor rests. Also adds `authors` to Cargo.toml ahead of crates.io publish.
Replaced video preview with GIF in README.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.