monkeytype
https://github.com/monkeytypegame/monkeytype
TypeScript
The most customizable typing website with a minimalistic design and a ton of features. Test yourself in various modes, track your progress and improve your speed.
Triage Issues!
When you volunteer to triage issues, you'll receive an email each day with a link to an open issue that needs help in this project. You'll also receive instructions on how to triage issues.
Triage Docs!
Receive a documented method or class from your favorite GitHub repos in your inbox every day. If you're really pro, receive undocumented methods or classes and supercharge your commit history.
TypeScript not yet supported1 Subscribers
Add a CodeTriage badge to monkeytype
Help out
- Issues
- fix(input): separate copy and paste event listeners (@yasith-tharuka)
- impr(quotes): add English quote (@ryancnap)
- impr: replace twitter bird icon with X logo (@rileygramlich)
- chore: bump @leonabcd123/modern-caps-lock from 3.1.3 to 3.1.7 (@Leonabcd123)
- Bug (backend): cacheWithTTL marks cache fresh before fetch resolves — failed fetch serves stale data for full TTL, no in-flight dedup
- Bug: outOfFocusTimeouts array grows unboundedly — cleared timeout ids never removed from array
- Bug: copy/paste prevention listeners never fire — space-separated event names passed to addEventListener
- Bug (Monkey Power): reset() deletes timeout id before clearTimeout — pending shake reset always fires; randomColor() can emit invalid hex
- Bug (backend): dead null check in newQuotes.approve() — git === null never true, git init failure crashes with raw TypeError
- Bug: HTML entity replacements missing semicolons (</>) — sliced entities render as garbage text in typed-word overlay
- Docs
- TypeScript not yet supported