*** title: Contribute to Unleash slug: contribute 'og:site\_name': Unleash Documentation 'og:title': Contribute to Unleash - Developer Guide & Resources description: >- Learn how to contribute to Unleash with our developer guides, client specification, and architectural decision records (ADRs). keywords: >- contribute, open source, developer guide, client specification, ADRs, architecture, backend, frontend max-toc-depth: 3 ---------------- ## Overview Unleash is an open-source feature management platform, and we welcome contributions from the community! Whether you're fixing bugs, adding features, improving documentation, or building integrations, your contributions help make Unleash better for everyone. ## Get started All technical documentation for contributing to Unleash is maintained in the [Unleash GitHub repository](https://github.com/Unleash/unleash/tree/main/contributing). This includes: * Developer guides for backend and frontend development. * Client specification for building Unleash SDKs. * Architectural Decision Records (ADRs) documenting design decisions. ### Developer guide The developer guide provides comprehensive information for contributing to the Unleash codebase: **[View Developer Guide →](https://github.com/Unleash/unleash/blob/main/contributing/developer-guide.md)** This includes: * Setting up your development environment. * Understanding the codebase architecture. * Backend development guide (Node.js/TypeScript). * Frontend development guide (React/TypeScript). * Testing guidelines. * Code style and conventions. ### Client specification If you're building a new Unleash SDK or maintaining an existing one, refer to our client specification: **[View Client Specification →](https://github.com/Unleash/unleash/blob/main/contributing/client-specification.md)** This includes: * SDK architecture overview. * Required SDK capabilities. * API integration patterns. * Metrics and registration. * Best practices for SDK implementation. ### Architectural Decision Records (ADRs) ADRs document important architectural and technical decisions made in the Unleash project: **[View All ADRs →](https://github.com/Unleash/unleash/tree/main/contributing/ADRs)** ## Ways to contribute ### Code contributions * **Fix bugs**: Check our [GitHub issues](https://github.com/Unleash/unleash/issues) for bugs labeled `good first issue`. * **Add features**: Propose new features by opening an issue for discussion first. * **Improve performance**: Help optimize code and reduce resource usage. * **Write tests**: Increase test coverage and improve test quality. ### SDKs and integrations * **Build SDKs**: Create official or community SDKs for new languages using the [client specification](https://github.com/Unleash/unleash/blob/main/contributing/client-specification.md). * **Maintain existing SDKs**: Help maintain our [official](/sdks/node) and [community SDKs](/sdks#community-sdks). * **Create integrations**: Build integrations with third-party tools and platforms. ### Documentation * **Improve docs**: Help improve this documentation by submitting issues or pull requests. * **Write guides**: Create tutorials and how-to guides. ### Community * **Answer questions**: Help other users on [GitHub Discussions](https://github.com/Unleash/unleash/discussions) or [Slack](https://slack.unleash.run/). * **Share knowledge**: Write blog posts or create videos about Unleash. * **Report issues**: Submit detailed bug reports with reproduction steps. ## Contribution workflow 1. **Fork the repository**: Start by forking the [Unleash repository](https://github.com/Unleash/unleash) 2. **Create a branch**: Create a feature branch for your changes. 3. **Make changes**: Follow the [developer guide](https://github.com/Unleash/unleash/blob/main/contributing/developer-guide.md) and relevant ADRs. 4. **Write tests**: Add tests for your changes. 5. **Submit a pull request**: Open a PR with a clear description of your changes. 6. **Code review**: Respond to feedback from maintainers. 7. **Merge**: Once approved, your contribution will be merged! ## Code of conduct We are committed to providing a welcoming and inclusive experience for everyone. Please read and follow our [Code of Conduct](https://github.com/Unleash/unleash/blob/main/CODE_OF_CONDUCT.md). ## Need help? * **Technical questions**: Check the [developer guide](https://github.com/Unleash/unleash/blob/main/contributing/developer-guide.md). * **General questions**: Join our [Slack community](https://slack.unleash.run/). * **Bug reports**: Open an issue on [GitHub](https://github.com/Unleash/unleash/issues). * **Feature requests**: Start a discussion on [GitHub Discussions](https://github.com/Unleash/unleash/discussions).