Skip to main content
Thank you for your interest in contributing to Stormkit! We welcome contributions from the community and are excited to see what you’ll bring to the project.

Community Edition vs Enterprise Edition

Stormkit has two editions with different licensing and contribution models:
  • Community Edition (src/ce/): Licensed under AGPL-3.0, open for contributions
  • Enterprise Edition (src/ee/): Proprietary, contributions require signed CLA
  • Shared Libraries (src/lib/): Part of Community Edition, open for contributions

Ways to Contribute

There are many ways you can contribute to Stormkit:
  • Bug Reports: Found a bug? Let us know!
  • Feature Requests: Have an idea? We’d love to hear it!
  • Code Contributions: Fix bugs, add features, improve performance
  • Documentation: Help improve our docs
  • Testing: Write tests, test new features
  • Translations: Help us support more languages

Reporting Issues

Before creating an issue, please:
  1. Search existing issues to avoid duplicates
  2. Use the issue templates when available
  3. Provide detailed information:
    • Stormkit version
    • Operating system
    • Browser (if applicable)
    • Steps to reproduce
    • Expected vs actual behavior
    • Screenshots/logs if helpful

Suggesting Features

We love feature suggestions! Please:
  1. Check existing feature requests first
  2. Describe the problem you’re trying to solve
  3. Explain your proposed solution
  4. Consider the scope: CE vs EE features
  5. Think about implementation complexity

Pull Request Process

1

Fork the repository

Create your own fork of the Stormkit repository on GitHub.
2

Create a feature branch

3

Make your changes

  • Follow our coding standards
  • Add tests for new functionality
  • Update documentation if needed
4

Test your changes

Ensure all tests pass before submitting your PR. See the Local Development guide for testing instructions.
5

Commit your changes

Use Conventional Commits format:
Commit types:
  • feat: for new features
  • fix: for bug fixes
  • docs: for documentation changes
  • test: for test changes
  • refactor: for code refactoring
  • chore: for maintenance tasks
6

Push and create PR

Then create a pull request on GitHub.

PR Requirements

Your pull request should meet these requirements:
  • Descriptive title and description
  • Tests pass (automated checks)
  • Code review approved by maintainers
  • Documentation updated (if applicable)
  • No merge conflicts
  • Signed commits (if required)

Coding Standards

Go Code

  • Follow Go Code Review Comments
  • Use gofmt for formatting
  • Use golangci-lint for linting
  • Write meaningful variable and function names
  • Add comments for exported functions and types
  • Keep functions small and focused

Testing

  • Write unit tests for new functions
  • Use table-driven tests when appropriate
  • Mock external dependencies
  • Aim for good test coverage
  • Test both success and error paths

Documentation

  • Use clear, concise language
  • Include code examples where helpful
  • Update README files when adding features
  • Document breaking changes clearly

Code of Conduct

This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders at conduct@stormkit.io.

License Compliance

  • Community Edition: Your contributions will be licensed under AGPL-3.0
  • Enterprise Edition: Additional licensing terms may apply
  • Shared Libraries: Licensed under AGPL-3.0 as part of CE
By contributing to this project, you agree that your contributions will be licensed under the same license as the component you’re contributing to.

Getting Help

Community Support

  • Discussions: Use GitHub Discussions for questions
  • Issues: Report bugs via GitHub Issues
  • Email: Contact us at hello@stormkit.io
  • Website: Visit stormkit.io for more info

Recognition

Contributors who make significant contributions may be:
  • Listed in our CONTRIBUTORS file
  • Mentioned in release notes
  • Invited to join our contributor program
  • Offered swag and recognition
Thank you for contributing to Stormkit!