Skip to content

Merge: initial release of TypeRush#1

Merged
withrvr merged 8 commits into
mainfrom
claude/build-typerush-ucW5E
May 17, 2026
Merged

Merge: initial release of TypeRush#1
withrvr merged 8 commits into
mainfrom
claude/build-typerush-ucW5E

Conversation

@withrvr

@withrvr withrvr commented May 17, 2026

Copy link
Copy Markdown
Owner

No description provided.

claude and others added 8 commits May 17, 2026 11:17
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.
@withrvr withrvr merged commit 30557e5 into main May 17, 2026
3 checks passed
@withrvr withrvr deleted the claude/build-typerush-ucW5E branch May 18, 2026 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants