How to contribute

Thank you for showing interest in contributing to Lume!

As a new data viz project, we're hoping to create an active community of developers who submit issues, create pull requests, and provide invaluable feedback.

Before you start contributing to Lume's code repository, please read this page carefully.

The following information is mostly developer-oriented. We're working on finding a better process for contributing to the design guidelines. For now, please use GitHub issues for design contributions.

Important links

Development

Any contribution must start by creating an issue; this is important for tracking purposes. Code contributions should be made via pull requests. These must be reviewed and need at least two approvals from project owners to be merged.

Issues

Issues should be used to report problems, provide suggestions, or request new features. They can also be used for discussing potential changes before a merge request is created.

Before creating a new issue, please check the existing issues (both open and closed) to avoid duplication. If you do find an issue that addresses the problem you're experiencing, please add your own reproduction information and/or add an emoji reaction to increase the visibility of said issue.

When creating an issue, a template will be loaded to guide you through collecting and providing the information we need for investigation. If it's a problem report, please provide a concise way to reproduce it.

Pull requests

Pull requests in this project should:

  • Add unit or integration tests for fixed or changed functionality (if a test suite already exists).
  • Include documentation.
  • Be accompanied by a complete Pull Request template (this is loaded automatically when a merge request is created).
  • Have a version bump and corresponding changelog entry, following the Semver conventions.
  • Reference the issue it relates to, and classify how it relates to it (for example: fixes #123).

Before creating a pull request, please check if your commits comply with the conventions used in this repository.

Commits

Commits in this project must adhere to the following conventions.

  • Follow the single responsibility principle. This means a commit should aim to do one thing only.
  • Commit messages must use gitmoji. It helps to scope the commit purpose and also provides a visual filter in a commit list.
  • Commit subject must be concise and imperative. It shouldn't exceed 60 characters. Use fix, not fixes or fixed.
  • Use the commit body to provide extra information. Only when the subject isn't comprehensive enough. If present, it should explain what and why, but not how (that belongs in the documentation).
  • Any line of the commit message shouldn't exceed 100 characters. This makes the message easier to read on GitHub as well as in various git tools.

License

By contributing your code to the Lume repository on GitHub, you agree to license your contribution under the MIT license.