Ways to Contribute
There are several ways you can contribute to this project:Share Your Solutions
Solved a challenge? Share your solution with the community! Your approach might help others understand different ways to solve type-level problems. Learn more about sharing solutions →Propose New Challenges
Have an interesting type problem from a real-world project? Turn it into a challenge! The community would love to tackle it. Learn how to create a challenge →Add Test Cases
Help make existing challenges more robust by adding additional test cases that cover edge cases or alternative scenarios.Provide Learning Resources
Share articles, videos, or explanations of how to solve challenges. Help others learn type-level programming concepts.Share Real-World Problems
Encountered a tricky type problem at work? Share it with the community - even if you don’t have a solution yet. The community can help you solve it, and it might become a new challenge.Help Others
Participate in discussions, answer questions, and help fellow developers understand TypeScript’s type system better.Contribute to Infrastructure
Interested in improving the project’s tooling and infrastructure? Check out the TODOs.md for current needs.Getting Started
To contribute, simply open an issue on GitHub and choose the corresponding template:- New Challenge - Propose a new challenge
- Answer - Share your solution to a challenge
- Help - Ask for help or guidance
- Discussion - Start a discussion about type-level programming
- Bug - Report a bug or issue
Community Guidelines
- Be respectful and constructive - We’re all here to learn
- Search before posting - Someone might have already shared a similar solution
- Provide context - When sharing problems, include enough detail for others to understand
- Share your thinking - Explain your approach, not just the code
- Engage with feedback - Be open to suggestions and alternative approaches
Join the Community
Connect with other type challenge enthusiasts:- Discord - Chat with the community
- GitHub Discussions - Longer-form discussions
- GitHub Issues - Track challenges and solutions
All challenges work in TypeScript’s strict mode. Make sure your solutions and test cases account for strict type checking.