Contribute to Unleash

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. 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 →

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 →

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 →

Ways to contribute

Code contributions

  • Fix bugs: Check our GitHub 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.
  • Maintain existing SDKs: Help maintain our official and 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 or Slack.
  • 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
  2. Create a branch: Create a feature branch for your changes.
  3. Make changes: Follow the developer guide 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.

Need help?