Skip to content

Commit 16304d9

Browse files
authored
docs: add CONTRIBUTING.md #43
1 parent c4b4858 commit 16304d9

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed

CONTRIBUTING.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Information for contributors
2+
3+
Great to see you. We appreciate your interest in contributing to ELIXIR Cloud Components. The project is open for community contributions, please read the following guidelines carefully before making any contributions.
4+
5+
If you don't know what [ELIXIR Cloud Component][elixir-cloud-component] is all about, just
6+
follow the link. Otherwise read on to find out more
7+
about our values and how you can contribute.
8+
9+
## General
10+
11+
- ELIXIR Cloud Components (from here on out referred to simply as “components”) are reusable frontend components (or “micro-frontends”)
12+
- Components MUST follow the [Web Components design][web-component-design] feature set; entry point for standardized and upcoming features: https://github.com/WICG/webcomponents.
13+
- Components MUST be implemented based on the [Stencil][stencil] toolchain.
14+
- Components MUST be free and open source software and SHOULD be published under the [Apache 2.0][apache] license
15+
- Components SHOULD be made public from day one, as per the [4OSS recommendations][4oss-recommendations]
16+
17+
## Our values
18+
19+
- **_Openness:_** all of our code is open source, usually from day one, and
20+
available publicly under a license approved the [Open Source Initiative][osi]
21+
- **_FAIRness:_** we want data, code, analysis workflows and infrastructure to
22+
be [findable, accessible, interoperable and reusable][fair]
23+
- **_Privacy:_** we believe that sensitive personal data should be under the
24+
control of the individual and should be shared, processed and analyzed only
25+
upon and to the degree covered by informed and specific consent, using the
26+
highest security standards
27+
28+
## Design guidelines
29+
30+
- Components MAY be nested, i.e., a component may import other components to create one or multiple levels of child components
31+
- Components SHOULD provide basic, clearly defined functionalities; for complex functionalities, nest multiple components in such a way that the top-level as well as all child components each provide basic functionality
32+
33+
## Code repository
34+
35+
- ELIXIR Cloud Components are reusable frontend components that follow the Web Components design/feature set
36+
- Components should be implemented based on the Stencil toolchain and published under the Apache 2.0 license
37+
- Components should be made public from day one and live inside their own project directory in the monorepo located at https://github.com/elixir-cloud-aai/web-components
38+
- Developers should use semantic commit messages following the Conventional Commits specification to allow for automated versioning and changelog creation.
39+
- Code changes should be proposed through feature branches and be reviewed by at least one reviewer before being merged into the main or dev branches.
40+
- Fast-forward merges/rebases should be used, and all commits should be squashed or grouped together under individual semantic commits
41+
- If commits are not to be squashed when merging, they SHOULD be interactively rebased to include few semantic commits (i.e., different topical changes to the codebase or different new features or bug fixes should be grouped together under individual commits)
42+
- Code changes must pass all CI tests and maintain 100% test coverage
43+
44+
## Our expectations
45+
46+
We would only expect you to
47+
48+
- please respect our [Code of Conduct][code-of-conduct]
49+
- make an effort to adhere to good coding practices and our [contribution
50+
guidelines][contributing] (we will of course help you with that!)
51+
- communicate clearly and openly with us with regard to any issues that you
52+
take responsibility for, especially if you realize that you cannot or do not
53+
want you to continue with something (which is of course totally fine!)
54+
55+
#### Contribute via GitHub
56+
57+
1. Explore issues section on github and see if there
58+
is anything that you would like to work on in particular (links to issue boards
59+
are available and most projects should have one or more issues flagged as `good
60+
1st issue`); or perhaps you would like to propose an issue or even a project
61+
yourself?
62+
1. Sign up to [GitHub][github]
63+
1. Before you start working on your first issue, please carefully read the
64+
[contribution guidelines][contributing]
65+
1. Assign yourself to the issue of your choice
66+
1. Start coding :)
67+
68+
[bh-ddbj]: http://www.biohackathon.org/
69+
[bh-denbi]: https://www.denbi.de/de-nbi-events/1454-biohackathon-germany
70+
[bh-elixir]: https://www.biohackathon-europe.org/
71+
[cloud-computing]: https://en.wikipedia.org/wiki/Cloud_computing
72+
[code-of-conduct]: https://github.com/elixir-cloud-aai/elixir-cloud-aai/blob/dev/CODE_OF_CONDUCT.md
73+
[contributing]: https://github.com/elixir-cloud-aai/elixir-cloud-aai/blob/dev/CONTRIBUTING.md
74+
[elixir-cloud-component]: https://web-components-beta.vercel.app
75+
[fair]: https://www.go-fair.org/fair-principles/
76+
[ga4gh]: https://www.ga4gh.org/
77+
[github]: https://github.com/join
78+
[osi]: https://opensource.org/
79+
[testribute]: https://github.com/elixir-cloud-aai/TEStribute
80+
[web-component-design]: https://en.wikipedia.org/wiki/Web_Components
81+
[stencil]: https://stenciljs.com
82+
[apache]: https://www.apache.org/licenses/LICENSE-2.0
83+
[4oss-recommendations]: https://softdev4research.github.io/recommendations/
84+

0 commit comments

Comments
 (0)