From 37ededc115e9524bc252cb703b8be9133c13a0fc Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Wed, 15 Apr 2026 21:24:34 +0300 Subject: [PATCH 01/29] docs(themes): update themes documentation (@Leonabcd123) --- docs/CONTRIBUTING.md | 2 +- docs/THEMES.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index d040161513aa..e75dd56d1445 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -58,7 +58,7 @@ Before submitting a theme make sure... - your theme is unique and isn't visually similar to any we already have. - the text color is either black or white (or very close to these colors) -- your theme has been added to the `_list` file and the `textColor` property is the theme's main color +- your theme has been added to the [packages/schemas/src/themes.ts](/packages/schemas/src/themes.ts) and [frontend/src/ts/constants/themes.ts](/frontend/src/ts/constants/themes.ts) files and the `textColor` property is the theme's main color - your theme is clear and readable with both `flip test colors` and `colorful mode` enabled and disabled If you want to contribute themes but don't know how, check [THEMES.md](/docs/THEMES.md) diff --git a/docs/THEMES.md b/docs/THEMES.md index b80eebc684c7..c44d2662dcfc 100644 --- a/docs/THEMES.md +++ b/docs/THEMES.md @@ -15,7 +15,7 @@ First you will have to make a personal copy of the Monkeytype repository, also k Pick a name for your theme. It must be all lowercase, with spaces replaced by underscores. -Go to `./packages/schemas/src/themes.ts` and add your new theme name to the __end__ of the `ThemeNameSchema` enum. Make sure to end the line with a comma. +Go to [packages/schemas/src/themes.ts](/packages/schemas/src/themes.ts) and add your new theme name to the __end__ of the `ThemeNameSchema` enum. Make sure to end the line with a comma. ```typescript export const ThemeNameSchema = z.enum([ @@ -26,7 +26,7 @@ export const ThemeNameSchema = z.enum([ ]); ``` -Then, go to `./frontend/src/ts/constants/themes.ts` and add the following code to the __end__ of the `themes` object near to the very end of the file: +Then, go to [frontend/src/ts/constants/themes.ts](/frontend/src/ts/constants/themes.ts) and add the following code to the __end__ of the `themes` object near to the very end of the file: ```typescript export const themes: Record = { From 05cd827eafccb5c24df53d6149cc85c9e5f62837 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Thu, 16 Apr 2026 16:05:08 +0300 Subject: [PATCH 02/29] PR template --- .github/pull_request_template.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 93d877e844d2..8dc59503a875 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -24,9 +24,9 @@ - [ ] Add language json file to `frontend/static/languages` - [ ] Adding a theme? - Make sure to follow the [themes documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/THEMES.md) - - [ ] Add theme to `packages/schemas/src/themes.ts` - - [ ] Add theme to `frontend/src/ts/constants/themes.ts` - - [ ] (optional) Add theme css file to `frontend/static/themes` + - [ ] Add theme to [packages/schemas/src/themes.ts](/packages/schemas/src/themes.ts) + - [ ] Add theme to [frontend/src/ts/constants/themes.ts](/frontend/src/ts/constants/themes.ts) + - [ ] (optional) Add theme css file to [frontend/static/themes](/frontend/static/themes) - [ ] Add some screenshots of the theme, especially with different test settings (colorful, flip colors) to your pull request - [ ] Adding a layout? - [ ] Make sure to follow the [layouts documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LAYOUTS.md) From b1977ed7c2653b873ad996f21b7cf11e5c3a91dc Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Tue, 14 Apr 2026 22:02:51 +0300 Subject: [PATCH 03/29] docs(languages): update languages documentation --- docs/CONTRIBUTING.md | 2 +- docs/LANGUAGES.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index e75dd56d1445..d4ea51a0f5eb 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -67,7 +67,7 @@ If you want to contribute themes but don't know how, check [THEMES.md](/docs/THE - Do not include expletive words - Ensure that your contribution meets JSON standards (no trailing comma at the end of a list) -- Be sure to add your language to the `_list` and `_groups` files +- Be sure to add your language to the [packages/schemas/src/languages.ts](/packages/schemas/src/languages.ts) and [frontend/src/ts/constants/languages.ts](/frontend/src/ts/constants/languages.ts) files - Make sure the number of words in the file corresponds to the file name (for example: `languageName.json` is 200 words, `languageName_1k.json` is 1000 words, and so on) If you want to contribute languages but don't know how, check [LANGUAGES.md](/docs/LANGUAGES.md) diff --git a/docs/LANGUAGES.md b/docs/LANGUAGES.md index e65156da5992..5e1e4f1c7b5f 100644 --- a/docs/LANGUAGES.md +++ b/docs/LANGUAGES.md @@ -31,7 +31,7 @@ The contents of the file should be as follows: It is recommended that you familiarize yourselves with JSON before adding a language. For the `name` field, put the name of your language. `rightToLeft` indicates how the language is written. If it is written right to left then put `true`, otherwise put `false`. `ligatures` A ligature occurs when multiple letters are joined together to form a character [more details](). If there's joining in the words, which is the case in languages like (Arabic, Malayalam, Persian, Sanskrit, Central_Kurdish... etc.), then set the value to `true`, otherwise set it to `false`. For `bcp47` put your languages [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag). If the words you're adding are ordered by frequency (most common words at the top, least at the bottom) set the value of `orderedByFrequency` to `true`, otherwise `false`. Finally, add your list of words to the `words` field. -Then, go to `packages/schemas/src/languages.ts` and add your new language name at the _end_ of the `LanguageSchema` enum. Make sure to end the line with a comma. Make sure to add all your language names if you have created multiple word lists of differing lengths in the same language. +Then, go to [packages/schemas/src/languages.ts](/packages/schemas/src/languages.ts) and add your new language name at the _end_ of the `LanguageSchema` enum. Make sure to end the line with a comma. Make sure to add all your language names if you have created multiple word lists of differing lengths in the same language. ```typescript export const LanguageSchema = z.enum([ @@ -42,7 +42,7 @@ export const LanguageSchema = z.enum([ ]); ``` -Then, go to `frontend/src/ts/constants/language.ts` and add your new language name to the `LanguageGroups` map. You can either add it to an existing group or add a new one. Make sure to add all your language names if you have created multiple word lists of differing lengths in the same language. +Then, go to [frontend/src/ts/constants/languages.ts](/frontend/src/ts/constants/languages.ts) and add your new language name to the `LanguageGroups` map. You can either add it to an existing group or add a new one. Make sure to add all your language names if you have created multiple word lists of differing lengths in the same language. ```typescript export const LanguageGroups: Record = { From 0900ac7d4ff4ad48f67fe0ddb7968ea76759c2f1 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Thu, 16 Apr 2026 16:07:34 +0300 Subject: [PATCH 04/29] PR template --- .github/pull_request_template.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 8dc59503a875..8e110ed0eb7b 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -19,9 +19,9 @@ - [ ] Make sure to include translations for the quotes in the description (or another comment) so we can verify their content. - [ ] Adding a language? - Make sure to follow the [languages documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LANGUAGES.md) - - [ ] Add language to `packages/schemas/src/languages.ts` - - [ ] Add language to exactly one group in `frontend/src/ts/constants/languages.ts` - - [ ] Add language json file to `frontend/static/languages` + - [ ] Add language to [packages/schemas/src/languages.ts](/packages/schemas/src/languages.ts) + - [ ] Add language to exactly one group in [frontend/src/ts/constants/languages.ts](/frontend/src/ts/constants/languages.ts) + - [ ] Add language json file to [frontend/static/languages](/frontend/static/languages) - [ ] Adding a theme? - Make sure to follow the [themes documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/THEMES.md) - [ ] Add theme to [packages/schemas/src/themes.ts](/packages/schemas/src/themes.ts) From 0c14aae9dce4ba40f90091fe9b25574de1e1c0b3 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Thu, 16 Apr 2026 16:12:28 +0300 Subject: [PATCH 05/29] Fonts --- .github/pull_request_template.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 8e110ed0eb7b..96598b078a01 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -34,9 +34,9 @@ - [ ] Add layout json file to `frontend/static/layouts` - [ ] Adding a font? - Make sure to follow the [fonts documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/FONTS.md) - - [ ] Add font file to `frontend/static/webfonts` - - [ ] Add font to `packages/schemas/src/fonts.ts` - - [ ] Add font to `frontend/src/ts/constants/fonts.ts` + - [ ] Add font file to [frontend/static/webfonts](/frontend/static/webfonts) + - [ ] Add font to [packages/schemas/src/fonts.ts](/packages/schemas/src/fonts.ts) + - [ ] Add font to [frontend/src/ts/constants/fonts.ts](/frontend/src/ts/constants/fonts.ts) - [ ] Check if any open issues are related to this PR; if so, be sure to tag them below. - [ ] Make sure the PR title follows the Conventional Commits standard. (https://www.conventionalcommits.org for more info) - [ ] Make sure to include your GitHub username prefixed with @ inside parentheses at the end of the PR title. From 268ddca6d21242c13efbb0e10c250bb38ae0a875 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Thu, 16 Apr 2026 16:13:03 +0300 Subject: [PATCH 06/29] Layouts --- .github/pull_request_template.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 96598b078a01..e580ee8fa50d 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -30,8 +30,8 @@ - [ ] Add some screenshots of the theme, especially with different test settings (colorful, flip colors) to your pull request - [ ] Adding a layout? - [ ] Make sure to follow the [layouts documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LAYOUTS.md) - - [ ] Add layout to `packages/schemas/src/layouts.ts` - - [ ] Add layout json file to `frontend/static/layouts` + - [ ] Add layout to [packages/schemas/src/layouts.ts](/packages/schemas/src/layouts.ts) + - [ ] Add layout json file to [frontend/static/layouts](/frontend/static/layouts) - [ ] Adding a font? - Make sure to follow the [fonts documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/FONTS.md) - [ ] Add font file to [frontend/static/webfonts](/frontend/static/webfonts) From e95982d65ee06e500975091df7a604d2b9ed1bc2 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Thu, 16 Apr 2026 16:20:21 +0300 Subject: [PATCH 07/29] Refactor --- docs/CONTRIBUTING.md | 16 ++-------------- docs/LANGUAGES.md | 4 +++- docs/THEMES.md | 4 +++- 3 files changed, 8 insertions(+), 16 deletions(-) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index d4ea51a0f5eb..f5eb3357a4cd 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -50,25 +50,13 @@ For types, we use the following: - `impr(quotes): add english quotes (@username)` - `fix(leaderboard): show user rank correctly (@user1, @user2, @user3)` -### Theme Guidelines +### Adding Themes -Before submitting a theme make sure... - -- your theme is unique and isn't visually similar to any we already have. -- the text color is either black or white (or very close to these colors) -- your theme has been added to the [packages/schemas/src/themes.ts](/packages/schemas/src/themes.ts) and [frontend/src/ts/constants/themes.ts](/frontend/src/ts/constants/themes.ts) files and the `textColor` property is the theme's main color -- your theme is clear and readable with both `flip test colors` and `colorful mode` enabled and disabled - If you want to contribute themes but don't know how, check [THEMES.md](/docs/THEMES.md) -### Language Guidelines - -- Do not include expletive words -- Ensure that your contribution meets JSON standards (no trailing comma at the end of a list) -- Be sure to add your language to the [packages/schemas/src/languages.ts](/packages/schemas/src/languages.ts) and [frontend/src/ts/constants/languages.ts](/frontend/src/ts/constants/languages.ts) files -- Make sure the number of words in the file corresponds to the file name (for example: `languageName.json` is 200 words, `languageName_1k.json` is 1000 words, and so on) +### Adding Languages If you want to contribute languages but don't know how, check [LANGUAGES.md](/docs/LANGUAGES.md) diff --git a/docs/LANGUAGES.md b/docs/LANGUAGES.md index 5e1e4f1c7b5f..52f20e8730de 100644 --- a/docs/LANGUAGES.md +++ b/docs/LANGUAGES.md @@ -66,4 +66,6 @@ Create a pull request: ## Language Guidelines -Make sure your language follows the [Language guidelines](./CONTRIBUTING.md#language-guidelines). +- Do not include expletive words +- Ensure that your contribution meets JSON standards (no trailing comma at the end of a list) +- Make sure the number of words in the file corresponds to the file name (for example: `languageName.json` is 200 words, `languageName_1k.json` is 1000 words, and so on) diff --git a/docs/THEMES.md b/docs/THEMES.md index c44d2662dcfc..1c7d58e03787 100644 --- a/docs/THEMES.md +++ b/docs/THEMES.md @@ -90,4 +90,6 @@ Add some screenshots of your theme to the pull request. Click "create pull reque ## Theme Guidelines -Make sure your theme follows the [Theme guidelines](./CONTRIBUTING.md#theme-guidelines). +- your theme is unique and isn't visually similar to any we already have. +- the text color is either black or white (or very close to these colors) +- your theme is clear and readable with both `flip test colors` and `colorful mode` enabled and disabled From 16a70ba1d7387710823533d070a35485ef9b9f4c Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Thu, 16 Apr 2026 16:22:03 +0300 Subject: [PATCH 08/29] Link --- docs/THEMES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/THEMES.md b/docs/THEMES.md index 1c7d58e03787..0d049f1e1e0b 100644 --- a/docs/THEMES.md +++ b/docs/THEMES.md @@ -54,7 +54,7 @@ If you don't want to add any custom styling you can skip the next section. #### Adding custom CSS (optional) -Create a CSS file in `./frontend/static/themes/` matching the name you picked earlier. Update the theme configuration in `./frontend/src/ts/constants/themes.ts` and add `hasCss: true` like this: +Create a CSS file in [frontend/static/themes](/frontend/static/themes) matching the name you picked earlier. Update the theme configuration in `./frontend/src/ts/constants/themes.ts` and add `hasCss: true` like this: ```typescript export const themes: Record = { From 353014b4c736f426032161bab23285a06226d825 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Thu, 16 Apr 2026 16:23:36 +0300 Subject: [PATCH 09/29] Links --- docs/FONTS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/FONTS.md b/docs/FONTS.md index cbf2cec476c5..89c8653767b5 100644 --- a/docs/FONTS.md +++ b/docs/FONTS.md @@ -18,7 +18,7 @@ Once you have forked the repository you can now add your font. Place the font fi > [!NOTE] > Your font needs to be in the `.woff2` format. Your filename cannot include spaces or start with a number. -Open `./packages/schemas/src/fonts.ts` and add the new font at the _end_ of the `KnownFontNameSchema` list like this: +Open [packages/schemas/src/fonts.ts](/packages/schemas/src/fonts.ts) and add the new font at the _end_ of the `KnownFontNameSchema` list like this: ```typescript const KnownFontNameSchema = z.enum( @@ -31,7 +31,7 @@ const KnownFontNameSchema = z.enum( Call it whatever you want but make sure you replace spaces with underscores and the font does not start with a number. -Then, go to `./frontend/src/ts/constants/fonts.ts` and add the following code to the _end_ of the `Fonts` object near to the very end of the file: +Then, go to [frontend/src/ts/constants/fonts.ts](/frontend/src/ts/constants/fonts.ts) and add the following code to the _end_ of the `Fonts` object near to the very end of the file: ```typescript export const Fonts: Record = { From 810bcdaf1ff4211e7b8b3f4a3b101476a891a4ad Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Thu, 16 Apr 2026 16:26:02 +0300 Subject: [PATCH 10/29] Fonts --- docs/FONTS.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/docs/FONTS.md b/docs/FONTS.md index 89c8653767b5..9bb47453a623 100644 --- a/docs/FONTS.md +++ b/docs/FONTS.md @@ -41,16 +41,12 @@ export const Fonts: Record = { } ``` -### Committing Languages +### Committing Fonts -Once you have created your language, you now need to create a pull request to the main Monkeytype repository. Go to the branch where you created your languages on GitHub. Then make sure your branch is up to date. Once it is up to date, click "contribute". +Once you have created your font(s), you now need to create a pull request to the main Monkeytype repository. Go to the branch where you created your fonts on GitHub. Then make sure your branch is up to date. Once it is up to date, click "contribute". Update branch: Screenshot showing how to update the fork to match the main Monkeytype repository Create a pull request: Screenshot showing how to create a pull request to the main Monkeytype repository - -## Language Guidelines - -Make sure your language follows the [Language guidelines](./CONTRIBUTING.md#language-guidelines). From 7185fc21f402634dd2cf1fd43cd4f9216b6a653b Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 08:36:45 +0300 Subject: [PATCH 11/29] Quotes --- docs/CONTRIBUTING.md | 11 +---------- docs/QUOTES.md | 9 ++++++++- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index f5eb3357a4cd..2091d2e1032f 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -60,16 +60,7 @@ If you want to contribute themes but don't know how, check [THEMES.md](/docs/THE If you want to contribute languages but don't know how, check [LANGUAGES.md](/docs/LANGUAGES.md) -### Quote Guidelines - -- Do not include content that contains any libelous or otherwise unlawful, abusive, or obscene text. -- Ensure that your contribution meets JSON standards (no trailing comma at the end of a list) -- Verify quotes added aren't duplicates of any already present -- Verify the `length` property is correct (length of the text in characters) -- Verify the `id` property is incremented correctly -- Please do not add extremely short quotes (less than 60 characters) -- For quotes not in English, please include translations of quotes in the description of your pull request. This assists in the verification process to ensure the integrity of the quotes. -- Remember to name your pull request properly. For example, if you are adding new quotes for the language `French`, your pull request should be named `impr(quotes): add French quotes`. +### Adding Quotes If you want to contribute quotes but don't know how, check [QUOTES.md](/docs/QUOTES.md) diff --git a/docs/QUOTES.md b/docs/QUOTES.md index 2d3b84cb1927..2a60d09a7491 100644 --- a/docs/QUOTES.md +++ b/docs/QUOTES.md @@ -38,4 +38,11 @@ Create a pull request: ## Quote Guidelines -Make sure your quote(s) follows the [Quote guidelines](./CONTRIBUTING.md#quote-guidelines). +- Do not include content that contains any libelous or otherwise unlawful, abusive, or obscene text. +- Ensure that your contribution meets JSON standards (no trailing comma at the end of a list) +- Verify quotes added aren't duplicates of any already present +- Verify the `length` property is correct (length of the text in characters) +- Verify the `id` property is incremented correctly +- Please do not add extremely short quotes (less than 60 characters) +- For quotes not in English, please include translations of quotes in the description of your pull request. This assists in the verification process to ensure the integrity of the quotes. +- Remember to name your pull request properly. For example, if you are adding new quotes for the language `French`, your pull request should be named `impr(quotes): add French quotes`. From dcec8d3174bb65a773cc5913748b4641c09c0a69 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 08:37:37 +0300 Subject: [PATCH 12/29] Layouts --- docs/LAYOUTS.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/LAYOUTS.md b/docs/LAYOUTS.md index fca143d36ca5..994a64bd4d28 100644 --- a/docs/LAYOUTS.md +++ b/docs/LAYOUTS.md @@ -116,7 +116,3 @@ Create a pull request: Screenshot showing how to create a pull request to the main Monkeytype repository Make sure your PR title follow the syntax `feat(layout): add layout (@)`, e.g. `feat(layout): add qwerty layout (@teddinotteddy)` - -## Layout Guidelines - -Make sure your layout follows the [Layout guidelines](./CONTRIBUTING.md#layout-guidelines). From 0c5f70d71f4eb7198fa6e41e7faab0cd14d5e176 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 08:38:35 +0300 Subject: [PATCH 13/29] Layouts --- docs/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 2091d2e1032f..d981aff12455 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -64,7 +64,7 @@ If you want to contribute languages but don't know how, check [LANGUAGES.md](/do If you want to contribute quotes but don't know how, check [QUOTES.md](/docs/QUOTES.md) -### Layout Guidelines +### Adding Layouts If you want to contribute layouts but don't know how, check [LAYOUTS.md](/docs/LAYOUTS.md) From b57123336e13a16455d0b84db93264c1103e8b1d Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 08:39:31 +0300 Subject: [PATCH 14/29] Themes --- docs/THEMES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/THEMES.md b/docs/THEMES.md index 0d049f1e1e0b..ec8fda47adfb 100644 --- a/docs/THEMES.md +++ b/docs/THEMES.md @@ -54,7 +54,7 @@ If you don't want to add any custom styling you can skip the next section. #### Adding custom CSS (optional) -Create a CSS file in [frontend/static/themes](/frontend/static/themes) matching the name you picked earlier. Update the theme configuration in `./frontend/src/ts/constants/themes.ts` and add `hasCss: true` like this: +Create a CSS file in [frontend/static/themes](/frontend/static/themes) matching the name you picked earlier. Update the theme configuration in [frontend/src/ts/constants/themes.ts](/frontend/src/ts/constants/themes.ts) and add `hasCss: true` like this: ```typescript export const themes: Record = { From 16b533c3f4ec3d663e4c4d0c13a46e23e4b5bac4 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 08:40:42 +0300 Subject: [PATCH 15/29] Languages --- docs/LANGUAGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/LANGUAGES.md b/docs/LANGUAGES.md index 52f20e8730de..5ebe5d46dfdd 100644 --- a/docs/LANGUAGES.md +++ b/docs/LANGUAGES.md @@ -13,7 +13,7 @@ First, you will have to make a personal copy of the Monkeytype repository, also ## Creating Languages -Once you have forked the repository you can now add your language. Create a new JSON file in `./frontend/static/languages/`, named as the language name and the number of words, e.g. `language_1k.json`. If there are less than 1,000 words, simply name the file after the language (e.g. `language.json`). Note that a minimum of 200 words are required. +Once you have forked the repository you can now add your language. Create a new JSON file in [frontend/static/languages](/frontend/static/languages), named as the language name and the number of words, e.g. `language_1k.json`. If there are less than 1,000 words, simply name the file after the language (e.g. `language.json`). Note that a minimum of 200 words are required. The contents of the file should be as follows: From b9ba3d3b8cb18e0be9dbc0aaba0f8066ed873a47 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 08:42:09 +0300 Subject: [PATCH 16/29] Layouts --- docs/LAYOUTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/LAYOUTS.md b/docs/LAYOUTS.md index 994a64bd4d28..634635ff959f 100644 --- a/docs/LAYOUTS.md +++ b/docs/LAYOUTS.md @@ -12,7 +12,7 @@ First, you will have to make a personal copy of the Monkeytype repository, also ## Creating Layouts -Once you have forked the repository you can now add your layout. Create a new JSON file in `./frontend/static/layouts/`, named as the layout name, e.g. `qwerty.json`. +Once you have forked the repository you can now add your layout. Create a new JSON file in [frontend/static/layouts](/frontend/static/layouts), named as the layout name, e.g. `qwerty.json`. The contents of the file should be as follows: From 1b8b9a37285043927772bf1c060abe465dbb0da2 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 08:42:50 +0300 Subject: [PATCH 17/29] Layouts --- docs/LAYOUTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/LAYOUTS.md b/docs/LAYOUTS.md index 634635ff959f..af09e8c43854 100644 --- a/docs/LAYOUTS.md +++ b/docs/LAYOUTS.md @@ -94,7 +94,7 @@ For ansi layouts the number of keys need to be exactly thirteen for `row1` and ` For iso the number of keys need to be exactly thirteen for `row1`, twelve for `row2` and `row3`, eleven for `row4` and one or two for `row5`. -In addition to the layout file you need to add your layout to the `packages/schemas/src/layouts.ts` file. Just append your layout name (without the `.json`) at the **end** of the `LayoutNameSchema`. Remember to add a comma like this: +In addition to the layout file you need to add your layout to the [packages/schemas/src/layouts.ts](/packages/schemas/src/layouts.ts) file. Just append your layout name (without the `.json`) at the **end** of the `LayoutNameSchema`. Remember to add a comma like this: ```ts export const LayoutNameSchema = z.enum([ From c4c7509d83514a188c08d5383193f9182d087de6 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 17:38:31 +0300 Subject: [PATCH 18/29] Scopes --- docs/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index d981aff12455..63910d0b9d6c 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -40,7 +40,7 @@ For types, we use the following: - `perf`: A code change that improves performance - `test`: Adding missing tests or correcting existing tests - `build`: Changes that affect the build system or external dependencies (example scopes: vite, tsup-node, npm) -- `ci`: Changes to our CI configuration files and scripts (example scopes: GitHub Workflows) +- `ci`: Changes to our CI configuration files and scripts (e.g., GitHub Workflows) - `revert`: Reverts a previous commit - `chore`: Other changes that don't apply to any of the above From 6ae1262007e0f76c158868bcf30d122cb97e2fe1 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 17:39:15 +0300 Subject: [PATCH 19/29] Fonts --- docs/CONTRIBUTING.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 63910d0b9d6c..78440fb868f9 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -68,6 +68,10 @@ If you want to contribute quotes but don't know how, check [QUOTES.md](/docs/QUO If you want to contribute layouts but don't know how, check [LAYOUTS.md](/docs/LAYOUTS.md) +### Adding Fonts + +If you want to contribute fonts but don't know how, check [FONTS.md](/docs/FONTS.md) + ## Questions If you have any questions, comments, concerns, or problems let me know on [GitHub](https://github.com/Miodec), [Discord](https://discord.gg/monkeytype) in the `#development` channel, or ask a question on Monkeytype's [GitHub discussions](https://github.com/monkeytypegame/monkeytype/discussions) and a contributor will be happy to assist you. From 97680724371d79d878db7b99c69369337d91588f Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 17:41:11 +0300 Subject: [PATCH 20/29] Fonts --- docs/FONTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/FONTS.md b/docs/FONTS.md index 9bb47453a623..816e442f8623 100644 --- a/docs/FONTS.md +++ b/docs/FONTS.md @@ -13,7 +13,7 @@ First, you will have to make a personal copy of the Monkeytype repository, also ## Adding Fonts -Once you have forked the repository you can now add your font. Place the font file in `./frontend/static/webfonts` e.g. `My-Font.woff2`. +Once you have forked the repository you can now add your font. Place the font file in [frontend/static/webfonts](/frontend/static/webfonts) e.g. `My-Font.woff2`. > [!NOTE] > Your font needs to be in the `.woff2` format. Your filename cannot include spaces or start with a number. From b59c656d3edfe077d03b21d7b6ad01839f877dff Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 17:44:21 +0300 Subject: [PATCH 21/29] Fonts --- docs/FONTS.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/FONTS.md b/docs/FONTS.md index 816e442f8623..583d48f25b97 100644 --- a/docs/FONTS.md +++ b/docs/FONTS.md @@ -50,3 +50,7 @@ Update branch: Create a pull request: Screenshot showing how to create a pull request to the main Monkeytype repository + +### Font Guidelines + +- Ensure that your font is distinct from existing fonts From cadacc5950946975cd5fd27b24cdf1dcd1fd1419 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 17:45:20 +0300 Subject: [PATCH 22/29] Size --- docs/FONTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/FONTS.md b/docs/FONTS.md index 583d48f25b97..5409b71d81d7 100644 --- a/docs/FONTS.md +++ b/docs/FONTS.md @@ -51,6 +51,6 @@ Update branch: Create a pull request: Screenshot showing how to create a pull request to the main Monkeytype repository -### Font Guidelines +## Font Guidelines - Ensure that your font is distinct from existing fonts From 9a289a28718dad133b749968f730d6216f3a0639 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 21:25:54 +0300 Subject: [PATCH 23/29] Advanced --- docs/CONTRIBUTING_ADVANCED.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CONTRIBUTING_ADVANCED.md b/docs/CONTRIBUTING_ADVANCED.md index 242e1940023a..c219f3d9dd22 100644 --- a/docs/CONTRIBUTING_ADVANCED.md +++ b/docs/CONTRIBUTING_ADVANCED.md @@ -150,7 +150,7 @@ If you are on a UNIX system and you get a spawn error, run npm with `sudo`. ## Standards and Guidelines -Code formatting and linting is enforced by [Oxc (Oxfmt and Oxlint)](https://github.com/oxc-project/oxc), which automatically runs every time you make a commit. +Code formatting and linting is enforced by [Oxc (Oxfmt and Oxlint)](https://github.com/oxc-project/oxc), which automatically run every time you make a commit. For guidelines on commit messages, adding themes, languages, or quotes, please refer to [CONTRIBUTING.md](./CONTRIBUTING.md). Following these guidelines will increase the chances of getting your change accepted. From 6a4f8160a9529f90862c02ae4a500caee84fe4a7 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 21:26:44 +0300 Subject: [PATCH 24/29] Improve --- docs/CONTRIBUTING_ADVANCED.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CONTRIBUTING_ADVANCED.md b/docs/CONTRIBUTING_ADVANCED.md index c219f3d9dd22..742b0cb2c868 100644 --- a/docs/CONTRIBUTING_ADVANCED.md +++ b/docs/CONTRIBUTING_ADVANCED.md @@ -152,7 +152,7 @@ If you are on a UNIX system and you get a spawn error, run npm with `sudo`. Code formatting and linting is enforced by [Oxc (Oxfmt and Oxlint)](https://github.com/oxc-project/oxc), which automatically run every time you make a commit. -For guidelines on commit messages, adding themes, languages, or quotes, please refer to [CONTRIBUTING.md](./CONTRIBUTING.md). Following these guidelines will increase the chances of getting your change accepted. +For guidelines on commit messages, adding themes, languages, layouts, fonts or quotes, please refer to [CONTRIBUTING.md](./CONTRIBUTING.md). Following these guidelines will increase the chances of getting your change accepted. ## Questions From 05584f7b794a8422a0cf7f151840d086df026d50 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 21:28:21 +0300 Subject: [PATCH 25/29] Link --- docs/CONTRIBUTING_ADVANCED.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CONTRIBUTING_ADVANCED.md b/docs/CONTRIBUTING_ADVANCED.md index 742b0cb2c868..330f64c9f7ea 100644 --- a/docs/CONTRIBUTING_ADVANCED.md +++ b/docs/CONTRIBUTING_ADVANCED.md @@ -79,7 +79,7 @@ The account system will not let you create an account without a Firebase project ### Config file -Within the `frontend/src/ts/constants` directory, duplicate `firebase-config-example.ts`, rename it to `firebase-config.ts` +Within the [frontend/src/ts/constants](/frontend/src/ts/constants) directory, duplicate `firebase-config-example.ts`, rename it to `firebase-config.ts` - If you skipped the Firebase step, you can leave the fields blank - Otherwise: From f734b7ad23756d33584759dd9d52409a84661d16 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 21:29:29 +0300 Subject: [PATCH 26/29] Link --- docs/CONTRIBUTING_ADVANCED.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CONTRIBUTING_ADVANCED.md b/docs/CONTRIBUTING_ADVANCED.md index 330f64c9f7ea..4188ed061b68 100644 --- a/docs/CONTRIBUTING_ADVANCED.md +++ b/docs/CONTRIBUTING_ADVANCED.md @@ -65,7 +65,7 @@ The account system will not let you create an account without a Firebase project 1. Run `pnpm add -g firebase-tools` to install the Firebase Command Line Interface. 1. Run `firebase login` on your terminal to log in to the same Google account you just used to create the project. -1. Within the `frontend` directory, duplicate `.firebaserc_example`, rename the new file to `.firebaserc` and change the project name to the firebase project id you just created. +1. Within the [frontend](/frontend) directory, duplicate [.firebaserc_example](/frontend/.firebaserc_example), rename the new file to `.firebaserc` and change the project name to the firebase project id you just created. - Run `firebase projects:list` to find your firebase project ID. - If `.firebaserc_example` does not exist after cloning, create your own with: From 2187618cce79e8e2e7a21841fdb64af6acbafde2 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 21:31:01 +0300 Subject: [PATCH 27/29] Link --- docs/CONTRIBUTING_ADVANCED.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CONTRIBUTING_ADVANCED.md b/docs/CONTRIBUTING_ADVANCED.md index 4188ed061b68..7bceee339b14 100644 --- a/docs/CONTRIBUTING_ADVANCED.md +++ b/docs/CONTRIBUTING_ADVANCED.md @@ -61,7 +61,7 @@ The account system will not let you create an account without a Firebase project 1. Generate a Firebase Admin private key (optional, only needed if you want to work on the backend) - In your Firebase console, go to Project Settings > Service Accounts - Click "Generate New Private Key" - - Save as `serviceAccountKey.json` inside the `backend/src/credentials/` directory. + - Save as `serviceAccountKey.json` inside the [backend/src/credentials](/backend/src/credentials) directory. 1. Run `pnpm add -g firebase-tools` to install the Firebase Command Line Interface. 1. Run `firebase login` on your terminal to log in to the same Google account you just used to create the project. From 267c3f778d9bbcc4a0eb29ee48a2ee3407a2c356 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 21:32:44 +0300 Subject: [PATCH 28/29] Space --- docs/CONTRIBUTING_BASIC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CONTRIBUTING_BASIC.md b/docs/CONTRIBUTING_BASIC.md index 2d46dc93a73f..1ab93dc3b6ba 100644 --- a/docs/CONTRIBUTING_BASIC.md +++ b/docs/CONTRIBUTING_BASIC.md @@ -41,7 +41,7 @@ There are two methods for making a change in the code. #### Option 1 - Visual Studio Code Web Editor (Recommended) -If you are not a developer and wish to contribute themes, new languages, or quotes, having a text editor will make contributions _much_ easier. To make complex edits without installing anything, we recommend using GitHub's VS Code web editor. In your fork of Monkeytype (fork it first), go to the `Code` tab of the repo and press .(the period/dot key). This will open up the repo in an online VS Code instance you can use to edit files in the browser. Once you are done making your changes, go to the Source Control tab in the activity bar with Ctrl/Cmd + Shift + G, click the `+` next to the files you've changed to stage them, type a brief message summarizing the changes made in the commit, and press Ctrl/Cmd + Enter to commit your changes to your fork. +If you are not a developer and wish to contribute themes, new languages, or quotes, having a text editor will make contributions _much_ easier. To make complex edits without installing anything, we recommend using GitHub's VS Code web editor. In your fork of Monkeytype (fork it first), go to the `Code` tab of the repo and press . (the period/dot key). This will open up the repo in an online VS Code instance you can use to edit files in the browser. Once you are done making your changes, go to the Source Control tab in the activity bar with Ctrl/Cmd + Shift + G, click the `+` next to the files you've changed to stage them, type a brief message summarizing the changes made in the commit, and press Ctrl/Cmd + Enter to commit your changes to your fork. Once done, move on to the [next section to create a pull request](#creating-a-pull-request). From 6bc0b6ed637b9f8be204cf861fc56015d6b8b035 Mon Sep 17 00:00:00 2001 From: Leonabcd123 <156839416+Leonabcd123@users.noreply.github.com> Date: Fri, 17 Apr 2026 21:33:40 +0300 Subject: [PATCH 29/29] Space --- docs/CONTRIBUTING_BASIC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CONTRIBUTING_BASIC.md b/docs/CONTRIBUTING_BASIC.md index 1ab93dc3b6ba..12d4660a6578 100644 --- a/docs/CONTRIBUTING_BASIC.md +++ b/docs/CONTRIBUTING_BASIC.md @@ -89,4 +89,4 @@ Once your PR is approved, all that is left to do is merge it! ## Questions -If you have any questions, comments, concerns, or problems, don't hesitate to let us know via [email](mailto:jack@monkeytype.com)(to Miodec), on [GitHub](https://github.com/monkeytypegame/monkeytype/discussions) or on [Discord](https://discord.gg/monkeytype) in the [`#development`](https://discord.com/channels/713194177403420752/713196019206324306) channel and a contributor will be happy to assist you. +If you have any questions, comments, concerns, or problems, don't hesitate to let us know via [email](mailto:jack@monkeytype.com) (to Miodec), on [GitHub](https://github.com/monkeytypegame/monkeytype/discussions) or on [Discord](https://discord.gg/monkeytype) in the [`#development`](https://discord.com/channels/713194177403420752/713196019206324306) channel and a contributor will be happy to assist you.