Skip to content

Commit e79bd98

Browse files
🧑‍💻 [#279] Add CONTRIBUTING guidelines
1 parent e044737 commit e79bd98

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

CONTRIBUTING.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Contribution guidelines
2+
3+
We are grateful for anyone spending their valuable time on contributions to this library.
4+
5+
To avoid dissapointments, before contributing code, please review our
6+
[Design goals](https://open-formulieren.github.io/formio-renderer/). We cannot commit to maintaining
7+
features that are not directly beneficial to
8+
[Open Forms](https://open-forms.readthedocs.io/en/stable/).
9+
10+
However, if you wish to contribute despite these warnings, you can do so in a number of ways!
11+
12+
## Reporting bugs
13+
14+
If you have encountered a bug in this project, please check if an issue already exists in the list
15+
of existing [issues][issues]. If such an issue does not exist, you can create a [new
16+
issue][new_issue]. When writing the bug report, try to add a clear example that shows how to
17+
reproduce said bug.
18+
19+
[issues]: https://github.com/open-formulieren/formio-renderer/issues
20+
[new_issue]: https://github.com/open-formulieren/formio-renderer/issues/new/choose
21+
22+
## Performing accessibility audits and testing
23+
24+
Accessibility is definitely a blind spot for us - if you can help out with user tests or by
25+
performing accessibility audits, we will happily receive the results and check what can be done to
26+
resolve issues!
27+
28+
## Adding new features
29+
30+
We recommend creating a feature request ticket **BEFORE** developing a new feature. This way, we can
31+
gauge interest in the feature and let you know if we're not (yet) open to it so that you don't spend
32+
a lot of time on something that will not be merged in the near future.
33+
34+
If you get the go-ahead and start writing code, that's wonderful! We do ask you to keep the quality
35+
control process in mind - and all of the things below are enforced through Github Actions:
36+
37+
- we use Typescript for its type-safety features - downcasting is frowned upon (i.e. you should
38+
really avoid using `as SomeType`!).
39+
- code formatting is done with prettier, you can run `npm run checkformat` and `npm run format`, or
40+
enable format-on-save in your editor.
41+
- code is linted using eslint, you can run it locally using `npm run lint`.
42+
- code must have tests - often these will be interaction tests in Storybook, but for unit-test like
43+
tests you can write additional tests and run them with vitest.
44+
- components must be documented in Storybook, so that they undergo visual regression testing.
45+
- use [NL Design System](https://www.nldesignsystem.nl/) components rather than reinventing the
46+
wheel.
47+
48+
In general - check the `scripts` section in `package.json` for the available developer tools!
49+
50+
### Commit messages
51+
52+
Commit messages are very important to us, as they are essential to understand _why_ changes are
53+
made. They should explain your thought process.
54+
55+
- always refer to the github issue in the commit message summary.
56+
- stick to commit message best practices by using a short summary, and add additional paragraphs to
57+
the body when relevant
58+
- good things to note down are: alternative solutions considered and reason why they were rejected,
59+
the requirements that applied at the time, possible limitations/external factors that were
60+
relevant...

0 commit comments

Comments
 (0)