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.
Go to file
Jack 3e88ac2f12
refactor: restructure project to a true monorepo (#5626)
* split ts files

* packages

* nomore workspace?

* blah

* build, exports

* declaration

* blargh

* turrrrbo

* fix fontawesome paths

* allow file in eslint, fix ts errors

* optimise package, update tsconfig

* fix ts

* update turbo config

* eslint split

* fix imports

* fix types

* lock

* add turbo task

* script

* test task

* pretty scripts

* update prettier ignore

* no cache for tests

* lint task

* turbo

* no out

* depend on env

* fix mono breaking things

* odl

* fix version dependency of mongodb-memory-server

* Revert "fix version dependency of mongodb-memory-server"

This reverts commit 52ffac47b1.

* update vitest-mongodb

* release scripts

* update ci

* update dev script

* ignore issues around firebase config

* add check ts tasks

* import isaxioserror

* shared types package

* replace tsnodedev with tsx

* fix import

* shared types

* module

* backend imports

* declaration

* node version

* test code

* assert json

* verbatim

* type

* lodash

* ts ver

* fix fix fix?

* remove assert

* remove module and resolution

* cleanup

* tsconfig

* fix frontend

* remove unecessary props

* more unused

* remove skiplib

* declaration map, dev script

* remove install scripts

* fix regex

* move shared types to package

* dont include shared types

* remove path

* update scripts

* test code

* test code

* fix backend types

* fully fix backend

* fix frontend d.ts

* add .js to imports

* remove module

* revert add .js

* update tsconfig

* use bundler module resolution

* almost all frontend types

* mooore

* date fns

* fix backend docker

* fix ape keys

* fix type

* clean rimraf type

* fix shared-types in workspace

* fix import resolving

* fix docker builds

* ignore type problems on slim-select until new version is released

* turrrrbo

* fix npm ci

* fix lint task

* expose env variables needed by frontend build

* fix dependencies

* package-lock

* backend watch ts and lint

* add fe and be build scripts to root

* fix dev not building packages

* shared-types missing eslint

* move shared types back to dev-deps

* add packages to labeler

* add packages step to ci

* typo

* filter update

* remove concurrently from root

* add scripts

* abbreviate

* rename

* yeet

* fixed path

* test pkg

* consistent ordering

* rename

* Revert "backend imports"

This reverts commit d715198829.

* fix missing imports, remove last .js

* remove test package

---------

Co-authored-by: Christian Fehmer <cfe@sexy-developer.com>
2024-07-22 15:08:11 +02:00
.github refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00
.husky chore(husky): run nvm use only when needed (#5524) 2024-06-25 10:21:34 +02:00
.vscode chore: move launch configuration to workspace file (@fehmer) (#5502) 2024-06-17 17:52:14 +02:00
backend refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00
bin refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00
docker refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00
frontend refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00
packages refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00
.dockerignore impr: add selfhosting using docker only (fehmer) (#5170) 2024-03-12 12:02:13 +01:00
.editorconfig Add .editorconfig (#1976) 2021-10-10 16:09:32 +01:00
.eslintignore Revert "impr: use tsrest/zod for type-safety on both ends (@fehmer) (#5479)" (#5619) 2024-07-16 17:29:09 +02:00
.gitignore refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00
.npmrc Enforce save exact (#2918) 2022-05-01 21:34:29 +02:00
.nvmrc refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00
.prettierignore refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00
.prettierrc TypeScript FrontEnd: Add Account Files (#2494) 2022-02-19 17:44:27 +01:00
.release-it-fe.json refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00
.release-it.json refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00
CODE_OF_CONDUCT.md docs: fix typos and grammatical errors (theranjitraut) (#4728) 2023-10-23 16:51:09 +01:00
commitlint.config.js build: update allowed commit type 2023-08-10 23:19:51 +02:00
CONTRIBUTING.md docs: fix typos and grammar (LifeAdventurer) (#4818) 2023-11-28 14:13:04 +00:00
CONTRIBUTING_ADVANCED.md refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00
CONTRIBUTING_BASIC.md docs: fix typos and grammatical errors (theranjitraut) (#4728) 2023-10-23 16:51:09 +01:00
example.env build: add script to deploy backend server 2023-08-11 16:28:20 +02:00
LANGUAGES.md docs: fix typos and grammatical errors (theranjitraut) (#4728) 2023-10-23 16:51:09 +01:00
LICENSE Create LICENSE 2020-05-30 00:30:54 +01:00
monkeytype.code-workspace refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00
package-lock.json refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00
package.json refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00
QUOTES.md Corrected typo (#3402) JacoChong 2022-08-12 15:01:55 +02:00
README.md docs: fix typos and grammatical errors (theranjitraut) (#4728) 2023-10-23 16:51:09 +01:00
SECURITY.md updated email addresses 2023-02-14 00:22:37 +01:00
SELF_HOSTING.md refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00
THEMES.md Adding new theme earthsong and fixing typo on THEMES.md (#3756) Guillermo-N 2022-11-21 13:24:48 +01:00
turbo.json refactor: restructure project to a true monorepo (#5626) 2024-07-22 15:08:11 +02:00


TypeScript SASS HTML5

About

Monkeytype is a minimalistic and customizable typing test. It features many test modes, an account system to save your typing speed history, and user-configurable features such as themes, sounds, a smooth caret, and more. Monkeytype attempts to emulate a natural typing experience during a typing test by unobtrusively presenting the text prompts and displaying typed characters in place, providing straightforward, real-time feedback on typos, speed, and accuracy.

Features

  • minimalistic design, with optional advertisements and focus mode while typing
  • type what you see, see what you type
  • live errors, wpm, and accuracy displays
  • a variety of test lengths and languages
  • punctuation and numbers modes
  • quotes
  • themes
  • smooth caret
  • account system
  • challenges and just-for-fun test modifiers
  • and much more

Discord bot

On the Monkeytype Discord server, we added a Discord bot to auto-assign optional roles based on typing performance and challenge completion. You can find its code over at https://github.com/monkeytypegame/monkeytype-bot.

Bug report or Feature request

If you encounter a bug or have a feature request, send us an email, create an issue, create a discussion thread, or join the Discord server.

Want to Contribute?

Refer to CONTRIBUTING.md.

Code of Conduct

Before contributing to this repository, please read the code of conduct.

Credits

Montydrei for the name suggestion.

Everyone who provided valuable feedback on the original Reddit post for the prototype of this website.

All of the contributors have helped implement various features, add themes, fix bugs, and more.

Support

If you wish to support further development and feel extra awesome, you can donate, become a Patron or buy a t-shirt.