contributing_guidelines

Last updated: 2024-11-07 21:05:55.841041 File source: link on GitLab

Table of contents

Contributing guidelines

This page contains guidelines for the community to contribute in NuNet's development. We appreciate any kind of contribution, including:

  • Bug reporting and fixes

  • Documentation improvements

  • Code contributions & improvements

  • New features

  • Testing etc

Before you get started

Please take a look at Device Management Service (DMS) README to get an overall understanding of the project architecture and the underlying concepts. This will also tell you basics of how to get started with using the DMS functionality.

It is recommended that you familiarize yourself with the codebase. Read the associated documentation specified in the README files present in each directory. To understand how the README files are structured refer to the Specification and Documentation Framework

How to report a bug?

  • Bug reports should be submitted to the issue tracker on the appropriate repository. For example, if the bug about Device Management Service (DMS), use the DMS issue tracker.

Note: Bugs should be reproducible! Include detailed steps on how to reproduce the problem, along with any error messages. Screenshots and GIFs are helpful too! If you are unsure if what you are experiencing is reproducible, reach out to our community and ask help to reproduce what you need in order to confirm!

  • Always search the Bug Tracking Board FIRST! It’s likely someone caught this before you, or already reported something similar, and it will save time and effort. If you find an existing issue, show your support with an award emoji and/or join the discussion.

  • Use the Bug Issue Template! This template can be chosen while creating a new issue. See below for an illustrative screenshot.

The boxes in template have some prompters to help you on what should be included. The template can be populated and edited as needed.

  • Add the ~type::bug label to your issue!

How to ask a question or report a non reproducible issue?

  • Questions should be submitted to the issue tracker on the appropriate repository. For example, if the question is about Device Management Service (DMS), use the DMS issue tracker.

  • Always search the Feedback Board FIRST! It's likely that someone already reported something similar, and it will save time and effort. If you find an existing issue, show your support with an award emoji and/or join the discussion.

  • Use the Questions template! This template can be chosen while creating a new issue. See below for an illustrative screenshot.

  • Add the ~type::question label to your issue!

How to request a new feature?

Feature proposals should be submitted to the issue tracker.

  1. Refer to the Update Procedure for steps to be followed while suggesting a change to the existing functionality.

  2. Keep it simple! Keep feature proposals as small and simple as possible, complex ones might be edited to make them small and simple.

  3. Always search the Feedback Board FIRST! It’s likely someone already reported something similar, and it will save time and effort. If you find an existing issue, show your support with an award emoji and/or join the discussion.

  4. Use the Feature Proposal Issue Template! This template can be chosen while creating a new issue. See below for an illustrative screenshot.

The boxes in template have some prompters to help you on what should be included. The template can be populated and edited as needed.

  1. Add the ~type::feature label to your issue!

How to make a code contribution?

Finding an issue

  1. Search the Issue Tracker to look at already created issues ready for development.

Apply the filter with ~good-first-issue label to see issues suitable for those who are new to the project.

Understand the development process

  1. Familiarise yourself with the Specification and Documentation Framework.

  2. Here you can find the development workflow used in NuNet platform.

Implementation

  1. Refer to these steps for the process to be followed while implementing a new feature or functionality.

  2. Create a merge request with the contributed code, filling out all requested information accordingly to the merge request template.

  3. After submitting the merge request, verify that all CI/CD pipeline stages are running successfully. Fix the merge request if necessary.

  4. All code and contributions have to include appropriate documentation updates, corresponding to the code changes, as explained in Specification and Documentation README file.

How to initite a discussion?

  • To start a conversation or to share your thoughts on a specific topic, a new issue should be submitted to the issue tracker on the appropriate repository. For example, if the question is about Device Management Service (DMS), use the DMS issue tracker.

  • Always search the Feedback Board FIRST! It's likely that someone already reported something similar, and it will save time and effort. If you find an existing issue, show your support with an award emoji and/or join the discussion.

  • Use the Discussion template! This template can be chosen while creating a new issue. See below for an illustrative screenshot.

  • Add the ~type::discussion label to your issue!

Last updated