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/10] 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/10] 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/10] 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/10] 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/10] 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/10] 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/10] 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/10] 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/10] 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/10] 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).