[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-3743":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},3743,"monkeytype","monkeytypegame\u002Fmonkeytype","monkeytypegame","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.","https:\u002F\u002Fmonkeytype.com\u002F",null,"TypeScript",20187,3208,70,63,0,3,42,219,16,106,"GNU General Public License v3.0",false,"master",[5,26],"typingtest","2026-06-12 04:00:19","[![](https:\u002F\u002Fgithub.com\u002Fmonkeytypegame\u002Fmonkeytype\u002Fblob\u002Fmaster\u002Ffrontend\u002Fstatic\u002Fimages\u002Fgithubbanner2.png?raw=true)](https:\u002F\u002Fmonkeytype.com\u002F)\n\u003Cbr \u002F>\n\n[![ChartJs](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FChart.js-FF6384?style=for-the-badge&logo=chartdotjs&logoColor=white)](https:\u002F\u002Fwww.chartjs.org\u002F)\n[![Eslint](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Feslint-4B32C3?style=for-the-badge&logo=eslint&logoColor=white)](https:\u002F\u002Feslint.org\u002F)\n[![Express](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-Express-373737?style=for-the-badge&logo=Express&logoColor=white)](https:\u002F\u002Fexpressjs.com\u002F)\n[![Firebase](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ffirebase-DD2C00?style=for-the-badge&logo=firebase&logoColor=black)](https:\u002F\u002Ffirebase.google.com\u002F)\n[![Fontawesome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ffontawesome-538DD7?style=for-the-badge&logo=fontawesome&logoColor=white)](https:\u002F\u002Ffontawesome.com\u002F)\n[![HTML5](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fhtml5-E34F26?style=for-the-badge&logo=html5&logoColor=white)](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTML)\n[![MongoDB](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-MongoDB-47A248?style=for-the-badge&logo=mongodb&logoColor=white)](https:\u002F\u002Fwww.mongodb.com\u002F)\n[![OXLint](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Foxlint-2b3c5a?style=for-the-badge&logo=oxc&logoColor=white)](https:\u002F\u002Foxc.rs\u002Fdocs\u002Fguide\u002Fusage\u002Flinter.html)\n[![PNPM](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpnpm-F69220?style=for-the-badge&logo=pnpm&logoColor=white)](https:\u002F\u002Fpnpm.io\u002F)\n[![Redis](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRedis-FF4438?style=for-the-badge&logo=redis&logoColor=white)](https:\u002F\u002Fredis.io\u002F)\n[![SASS](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSASS-CC6699?style=for-the-badge&logo=SASS&logoColor=white)](https:\u002F\u002Fsass-lang.com\u002F)\n[![Solid](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fsolid-2C4F7C?style=for-the-badge&logo=solid&logoColor=white)](https:\u002F\u002Fwww.solidjs.com\u002F)\n[![Tailwind](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ftailwind-06B6D4?style=for-the-badge&logo=tailwindcss&logoColor=white)](https:\u002F\u002Ftailwindcss.com\u002F)\n[![TsRest](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-TSREST-9333ea?style=for-the-badge&logoColor=white&logo=data:image\u002Fsvg%2bxml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMjAuMzA2Nzc4bW0iCiAgIGhlaWdodD0iMTIuMDgzMjMzbW0iCiAgIHZpZXdCb3g9IjAgMCAyMC4zMDY3NzggMTIuMDgzMjMzIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmcxIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpZD0ibmFtZWR2aWV3MSIKICAgICBwYWdlY29sb3I9IiM1MDUwNTAiCiAgICAgYm9yZGVyY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBpbmtzY2FwZTpzaG93cGFnZXNoYWRvdz0iMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSIxIgogICAgIGlua3NjYXBlOmRlc2tjb2xvcj0iI2QxZDFkMSIKICAgICBpbmtzY2FwZTpkb2N1bWVudC11bml0cz0ibW0iIC8+CiAgPGRlZnMKICAgICBpZD0iZGVmczEiIC8+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiCiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMuODE5ODA1NCwtMi4yMTQ3MTkzKSI+CiAgICA8cGF0aAogICAgICAgZD0ibSAxNS40NTgwMzUsOC45NzMzOTUzIDguNjMzMjUsMC4wNDQ4NyAwLjAwOSwtMS42NjgxOTggLTguNjMzMjIsLTAuMDQ0ODUgeiBtIDAuMDI2MywtNS4wNTYxMDggOC42MzMyNSwwLjA0NDg1IDAuMDA5LC0xLjcwMjU2OCAtOC42MzMyNSwtMC4wNDQ4NSB6IG0gLTAuMDQ0OCw4LjYzMzI0NzcgOC42MzMyMywwLjA0NDg1IC0wLjAwOSwxLjcwMjU2NyAtOC42MzMyNSwtMC4wNDQ4NSB6IgogICAgICAgZmlsbD0iI2ZmZmZmZiIKICAgICAgIGlkPSJwYXRoMSIKICAgICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6MC4yNjQ1ODMiIC8+CiAgICA8cGF0aAogICAgICAgZD0ibSAxMS4xMTE3MjUsMTAuMjg2NjI4IGMgMS42NTEsLTAuNjE5MTI0NyAyLjU5Njg4LC0xLjk2MDU2MjcgMi41OTY4OCwtMy44MDA3Mzk3IDAsLTIuNjQ4NDc5IC0xLjkyNjE2LC00LjI0Nzg4NSAtNS4wNzMzNzk2LC00LjI0Nzg4NSBoIC00LjgxNTQyIHYgMS43MDI1OTQgaCA0Ljc0NjYzIGMgMi4wODA5Mzk2LDAgMy4xNjQ0MDk2LDAuOTI4Njg3IDMuMTY0NDA5NiwyLjU0NTI5MSAwLDEuNTk5NDA2IC0xLjA4MzQ3LDIuNTQ1MjkyIC0zLjE2NDQwOTYsMi41NDUyOTIgaCAtNC43NDY2MyB2IDUuMjQ1MzYzNyBoIDEuOTYwNTYgdiAtMy41NzcxNjYgaCAyLjg1NDg2IGMgMC4yMDYzNywwIDAuNDI5OTUsMCAwLjYxOTEyLC0wLjAxNzIgbCAyLjUyODA5OTYsMy41OTQzNjQgaCAyLjEzMjU0IHoiCiAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgaWQ9InBhdGgyIgogICAgICAgc3R5bGU9InN0cm9rZS13aWR0aDowLjI2NDU4MyIgLz4KICA8L2c+Cjwvc3ZnPgo=)](https:\u002F\u002Fts-rest.com\u002F)\n[![Turborepo](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-Turborepo-FF1E56?style=for-the-badge&logo=turborepo&logoColor=white)](https:\u002F\u002Fturborepo.org\u002F)\n[![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ftypescript-3178C6?style=for-the-badge&logo=typescript&logoColor=white)](https:\u002F\u002Fwww.typescriptlang.org\u002F)\n[![Vite](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVite-9135FF?style=for-the-badge&logo=Vite&logoColor=white)](https:\u002F\u002Fvitejs.dev\u002F)\n[![Vitest](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fvitest-00FF74?style=for-the-badge&logo=vitest&logoColor=white)](https:\u002F\u002Fvitest.dev\u002F)\n[![Zod](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-Zod-408AFF?style=for-the-badge&logo=zod&logoColor=white)](https:\u002F\u002Fzod.dev\u002F)\n\n# About\n\nMonkeytype is a minimalistic and customizable [typing test](https:\u002F\u002Fwww.monkeytype.com). 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.\n\n# Features\n\n- minimalistic design, with optional advertisements and focus mode while typing\n- type what you see, see what you type\n- live errors, wpm, and accuracy displays\n- a variety of test lengths and languages\n- punctuation and numbers modes\n- quotes\n- themes\n- smooth caret\n- account system\n- challenges and just-for-fun test modifiers\n- and much more\n\n# Discord bot\n\nOn the [Monkeytype Discord server](https:\u002F\u002Fwww.discord.gg\u002Fmonkeytype), 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:\u002F\u002Fgithub.com\u002Fmonkeytypegame\u002Fmonkeytype-bot.\n\n# Bug report or Feature request\n\nIf you encounter a bug or have a feature request, [send us an email](mailto:contact@monkeytype.com), [create an issue](https:\u002F\u002Fgithub.com\u002Fmonkeytypegame\u002Fmonkeytype\u002Fissues), [create a discussion thread](https:\u002F\u002Fgithub.com\u002Fmonkeytypegame\u002Fmonkeytype\u002Fdiscussions), or [join the Discord server](https:\u002F\u002Fwww.discord.gg\u002Fmonkeytype).\n\n# Want to Contribute?\n\nRefer to [CONTRIBUTING.md](.\u002Fdocs\u002FCONTRIBUTING.md).\n\n# Code of Conduct\n\nBefore contributing to this repository, please read the [code of conduct](.\u002Fdocs\u002FCODE_OF_CONDUCT.md).\n\n# Security\n\nTo report a security vulnerability, please refer to [SECURITY.md](.\u002Fdocs\u002FSECURITY.md).\n\n# Credits\n\n[Montydrei](https:\u002F\u002Fwww.reddit.com\u002Fuser\u002Fmontydrei) for the name suggestion.\n\nEveryone who provided valuable feedback on the [original Reddit post](https:\u002F\u002Fwww.reddit.com\u002Fr\u002FMechanicalKeyboards\u002Fcomments\u002Fgc6wx3\u002Fexperimenting_with_a_completely_new_type_of\u002F) for the prototype of this website.\n\nAll of the [contributors](https:\u002F\u002Fgithub.com\u002Fmonkeytypegame\u002Fmonkeytype\u002Fgraphs\u002Fcontributors) have helped implement various features, add themes, fix bugs, and more.\n\n# Support\n\nIf you wish to support further development and feel extra awesome, you can [donate](https:\u002F\u002Fko-fi.com\u002Fmonkeytype), [become a Patron](https:\u002F\u002Fwww.patreon.com\u002Fmonkeytype), or [buy a t-shirt](https:\u002F\u002Fwww.monkeytype.store\u002F).\n","Monkeytype 是一个高度可定制的打字练习网站，以其简约设计和丰富功能著称。用户可以在此测试自己的打字速度，并通过多种模式来跟踪进度和提高打字技巧。该项目采用 TypeScript 编写，利用了包括 Express、MongoDB 和 Firebase 在内的多种现代技术栈，确保了高性能与良好的用户体验。此外，它还集成了 Chart.js 用于数据可视化，使用户能够更直观地查看自己的进步情况。Monkeytype 适用于任何希望提升打字速度和个人效率的人士，无论是学生还是职场人士都能从中受益。",2,"2026-06-11 02:56:00","top_language"]