Thank you for considering to contribute to kconnect 🎉👍

This document will provide help on how to go about this. You can contribute in the following ways:

  • Reporting bugs
  • Disclosing security concerns responsibly
  • Suggesting features
  • Contributing code

All contributions and project spaces are subject to our Code of Conduct.

Reporting Bugs

Reporting bugs is an essential part in making kconnect better for its end users.

Please open an issue unless you are making a significant security disclosure. A new Bug Report can be raised here.

When raising bugs please include as much information as possible including steps about how to reproduce the problem and what you expect the behavior to be.

How to disclose security concerns responsibly

Please follow the instructions in our security policy (also visible in the Security tab on the project’s repo).

Suggesting features

If there is a feature that you would like in kconnect then please let us know about it.

Features are also suggested using GitHub Issues. A new Feature enhancement request can be raised here.

Include as much information as possible, understanding the problem that the feature is trying to solve will really help us in understanding the benefit.

Contributing Code

Code contributions to kconnect are very welcome as long as you follow a few rules:

  • Your contribution must be received under the project’s open source license.
  • You must have permission to make the contribution. We strongly recommend including a Signed-off-by line to indicate your adherence to the Developer Certificate of Origin.
  • All code contributions must be made via PR, and all checks must pass before merging.

If you need a pointer on where to start you can look at the good first issue and help wanted issues:

You can also choose your own issue to work on from this list of available issues.

When choosing an issue to work on its preferable that you choose a issue that is planned for the next milestone and that has a higher priority....but this is just a nice to have and any contribution would be considered and welcomed.

Getting started

  1. Install Go >= 1.17
  2. Fork the kconnect repo
  3. Create a branch for your change:
git checkout -b <feature-name>
  1. Make the change, including any additional tests
  2. Run the tests:
make test
  1. Check for linting errors:
make lint
  1. Build and manually test kconnect locally:
make build
  1. Commit and push your branch. We follow Conventional Commits for the commits and PRs.
  2. Create a pull request. If the PR is a work in progress ensure that that PR is created as a draft.
  3. Check that the PR checks pass

Once a PR has been created it will be reviewed by one of the maintainers of kconnect.

Getting help

If you have other questions about this project, please open an issue. To reach the Fidelity OSPO directly, please email opensource@fmr.com.