Skip to content

Latest commit

 

History

History
97 lines (70 loc) · 4.27 KB

CONTRIBUTING.md

File metadata and controls

97 lines (70 loc) · 4.27 KB

Contributing to this project

Thanks for wanting to contribute to the project!

There are many things we appreciate help with. The simplest is to report problems you see in the documentation or while using the project, by creating an issue.

If you have a specific change you'd like to submit, be it documentation, bug fixes or new features, please read our contribution guide.

Before starting making large changes, please do talk about it with us! Some things, in particular, deploying to new platforms requires changes on our side as well.

The simplest way of contacting us is by creating an issue on this repository, or commenting in an existing issue. Some projects may also have a Discord server, if you prefer reaching us there.

Issue tracking

If you want to contribute, but do not know what to improve, we recommend going through to existing issues. We assign labels to issues to make them easier to find.

If you're reading this page in GitLab, the labels should appear in color and be clickable. If you're reading this on another tool, you can search by label in the issue list.

Labels common to all OpenSavvy projects

Issue type
  • ~feature: High-level feature/use-case description (implementation is split into multiple sub-issues).
  • ~discussion: More discussion is required before classification or implementation can be started.
  • ~deployment: Issues related to deployment, CI/CD or other kinds of automation.
  • ~documentation: Documentation improvements or problems.
  • ~bug: Something does not behave as expected.
  • ~security: Security risk to users of the project.
  • ~incident: Deployment issue (the website is down…).
  • ~wontfix: We decided that this issue is out of scope for the project, or cannot be done.
  • ~blocked-externally: We cannot go further on this topic, because some external service/library we depend on has a bug/is missing a feature.
Contribution difficulty

These labels are indicators of how hard we think it is to implement them for an external contributor. We do not always label issues by contribution difficulty. If you are interested in an issue that isn't labelled, don't hesitate to write a comment communicating your interest and asking for precision.

  • ~contribution::easy: Issues that are well explained and require little project knowledge.
  • ~contribution::medium: Issues that are well explained, but require some project knowledge.
  • ~contribution::difficult: Issues that are well explained, but require a strong understanding of the project.
Priority
  • ~priority::low: Implementation is not time-sensitive.
  • ~priority::medium: Normal priority.
  • ~priority::high: We want to do this soon.
  • ~priority::urgent: We want to do this as soon as possible.
Severity (only for bugs and incidents)
  • ~severity::cosmetic: Some parts of the project do not look as good as they could, or there is a minor error in documentation. Usage is not impacted.
  • ~severity::minor: Some parts of the project are inconvenient to use.
  • ~severity::moderate: Some parts of the project cannot be used.
  • ~severity::major: Some important parts of the project cannot be used.
  • ~severity::critical: The entire project cannot be used.
Development state (issues only)

We do not always use these labels. When in doubt, write a comment asking for precision. These labels should only be applied to issues, not merge requests.

  • ~issue::doing: Someone is currently working on it.
  • ~issue::review: A merge request exists that will close this issue, and it's entered the review cycle.

Labels specific to this project

Modules
  • ~"polymorphism": Our concept of polymorphic composable functions.
  • ~"components": Our design-agnostic UI component library.
  • ~"design:material3": Implementation of our component library for Material3.
  • ~"design:headless": Headless implementation, useful for testing.
Kotlin platform
  • ~"platform:jvm": Kotlin/JVM.
  • ~"platform:js": Kotlin/JS.
  • ~"platform:android": Android.
  • ~"platform:ios": All iOS variants.