Projects
Hands-on real world projects that will help you exercise your knowledge of TypeScript.
Install / Use
/learn @LearningTypeScript/ProjectsREADME
Welcome to the repository housing all of the projects for Learning TypeScript! I'm excited you're here -- whether you're using the projects to practice as you read the book, or just browsing.
Setup
Clone the repository to your computer, then run npm install to install packages.
git clone https://github.com/LearningTypeScript/projects learning-typescript-projects
cd learning-typescript-projects
npm install
Assuming that all succeeded, you're now ready to work on any and all projects! 🚀
Starting on Projects
<!-- TODO: switch to the first project they'd ever need to work on -->Projects are located under the name of their chapter, such as arrays/analyzing-dna.
Each has their own README.md with instructions on the commands to run from within that directory.
Don't forget to
cdinto a project's directory before running its commands!
Types of Projects
Each project follows a chapter in the Learning TypeScript book and aligns to one of the following three categories:
- 🥗 Appetizers: bite-sized directed warmups: set of independent mini-projects
- 🍲 Entrees: larger, more hands-off challenge: a single self-contained project
- 🍰 Desserts: the same structure as entrees, with a fun thematic twist
Contributors ✨
Thanks goes to these wonderful people (emoji key):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tbody> <tr> <td align="center" valign="top" width="14.28%"><a href="http://www.joshuakgoldberg.com"><img src="https://avatars.githubusercontent.com/u/3335181?v=4?s=100" width="100px;" alt="Josh Goldberg"/><br /><sub><b>Josh Goldberg</b></sub></a><br /><a href="https://github.com/LearningTypeScript/projects/issues?q=author%3AJoshuaKGoldberg" title="Bug reports">🐛</a> <a href="https://github.com/LearningTypeScript/projects/commits?author=JoshuaKGoldberg" title="Code">💻</a> <a href="https://github.com/LearningTypeScript/projects/commits?author=JoshuaKGoldberg" title="Documentation">📖</a> <a href="#ideas-JoshuaKGoldberg" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-JoshuaKGoldberg" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#maintenance-JoshuaKGoldberg" title="Maintenance">🚧</a> <a href="https://github.com/LearningTypeScript/projects/pulls?q=is%3Apr+reviewed-by%3AJoshuaKGoldberg" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/LearningTypeScript/projects/commits?author=JoshuaKGoldberg" title="Tests">⚠️</a> <a href="#tool-JoshuaKGoldberg" title="Tools">🔧</a></td> <td align="center" valign="top" width="14.28%"><a href="http://fuadolatunji.me"><img src="https://avatars.githubusercontent.com/u/65264054?v=4?s=100" width="100px;" alt="Fuad Olatunji"/><br /><sub><b>Fuad Olatunji</b></sub></a><br /><a href="#infra-fuadop" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/LearningTypeScript/projects/commits?author=fuadop" title="Documentation">📖</a> <a href="https://github.com/LearningTypeScript/projects/issues?q=author%3Afuadop" title="Bug reports">🐛</a> <a href="#security-fuadop" title="Security">🛡️</a></td> <td align="center" valign="top" width="14.28%"><a href="https://xavd.id"><img src="https://avatars.githubusercontent.com/u/1231935?v=4?s=100" width="100px;" alt="David Brownman"/><br /><sub><b>David Brownman</b></sub></a><br /><a href="#content-xavdid" title="Content">🖋</a></td> <td align="center" valign="top" width="14.28%"><a href="http://agmyintmyatoo.github.io"><img src="https://avatars.githubusercontent.com/u/37968696?v=4?s=100" width="100px;" alt="agmyintmyatoo"/><br /><sub><b>agmyintmyatoo</b></sub></a><br /><a href="#content-agmyintmyatoo" title="Content">🖋</a></td> <td align="center" valign="top" width="14.28%"><a href="http://owenboreham.tech"><img src="https://avatars.githubusercontent.com/u/73446766?v=4?s=100" width="100px;" alt="Owen Boreham"/><br /><sub><b>Owen Boreham</b></sub></a><br /><a href="#content-bobrossrtx" title="Content">🖋</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/sisPedro"><img src="https://avatars.githubusercontent.com/u/16280628?v=4?s=100" width="100px;" alt="sisPedro"/><br /><sub><b>sisPedro</b></sub></a><br /><a href="#content-sisPedro" title="Content">🖋</a></td> <td align="center" valign="top" width="14.28%"><a href="https://benchong.dev/"><img src="https://avatars.githubusercontent.com/u/61606639?v=4?s=100" width="100px;" alt="Ben Chong"/><br /><sub><b>Ben Chong</b></sub></a><br /><a href="#content-chonginator" title="Content">🖋</a></td> </tr> </tbody> </table> <!-- markdownlint-restore --> <!-- prettier-ignore-end --> <!-- ALL-CONTRIBUTORS-LIST:END -->This project follows the all-contributors specification. Contributions of any kind welcome!
Related Skills
Writing Hookify Rules
99.2kThis skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
review-duplication
99.9kUse this skill during code reviews to proactively investigate the codebase for duplicated functionality, reinvented wheels, or failure to reuse existing project best practices and shared utilities.
mcp-for-beginners
15.7kThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.
repomix
22.8k📦 Repomix is a powerful tool that packs your entire repository into a single, AI-friendly file. Perfect for when you need to feed your codebase to Large Language Models (LLMs) or other AI tools like Claude, ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok, and more.
