Skip to content

Commit 255ee6f

Browse files
authored
chore: add contributing information
1 parent c0549f2 commit 255ee6f

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

CONTRIBUTING.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Contributing to JSON Forms
2+
3+
We enthusiastically welcome participation in the JSON Forms project! Whether you're reporting bugs, proposing features, participating in discussions, or making direct contributions, your involvement is highly valued.
4+
5+
## Ways to Contribute
6+
7+
### Reporting Bugs
8+
9+
If you encounter a bug, please report it via [GitHub issues](https://github.com/eclipsesource/jsonforms/issues/new/choose).
10+
Be sure to include a detailed description of the bug and steps to reproduce it.
11+
12+
### Feature Proposals
13+
14+
To propose a new feature, you can also use [GitHub issues](https://github.com/eclipsesource/jsonforms/issues/new/choose) or discuss it on our [Community Board](https://jsonforms.discourse.group).
15+
16+
### Discussions and Questions
17+
18+
For general discussions and questions about using JSON Forms, please visit our [Community Board](https://jsonforms.discourse.group).
19+
20+
### Code Contributions
21+
22+
If you'd like to contribute code, please do so via a pull request to one of our repositories.
23+
Make sure to review the following sections to understand our requirements and recommendations.
24+
25+
## Before Contributing
26+
27+
### Contributor License Agreement (CLA)
28+
29+
All contributors are required to sign a CLA, which will be checked automatically when you open a pull request.
30+
31+
### Contribution Quality
32+
33+
Contributions to the main repository should adhere to the following:
34+
35+
- Pass all automated checks, including test cases, linting, and format checking.
36+
- Include new unit tests for new code.
37+
- If appropriate, modify an existing example or add a new one to demonstrate the new feature or improvement.
38+
39+
The better the quality of the contribution, the faster it can be merged.
40+
41+
### Contributing Features
42+
43+
If you have an idea for a feature, we recommend first opening an issue or starting a discussion on the [Community Board](https://jsonforms.discourse.group) to assess whether it aligns with the goals and scope of JSON Forms.
44+
We aim to keep the core framework lean and clean, focusing on features that provide the most value.
45+
46+
### Contributing Version Upgrades
47+
48+
We strive to always support the latest versions of dependencies, while carefully managing the lower bounds of our (peer) dependency declarations.
49+
For seed applications, we use the latest dependencies as a testbed to ensure compatibility.
50+
51+
When contributing version upgrades:
52+
53+
- Only raise the lower bound of (peer) dependencies if necessary, or if avoiding such a raise requires substantial effort.
54+
- Extend the upper bounds to include the latest supported version, which should ideally be the latest available stable version
55+
- Test the new JSON Forms version in the respective seed application, both with and without updating the corresponding dependencies. Tip: tools like [yalc](https://github.com/wclr/yalc) can be particularly useful for this purpose.
56+
57+
## Repositories
58+
59+
You can contribute to any of the following repositories:
60+
61+
- [JSON Forms Core](https://github.com/eclipsesource/jsonforms)
62+
- [JSON Forms Website](https://github.com/eclipsesource/jsonforms2-website)
63+
- [JSON Forms React Seed](https://github.com/eclipsesource/jsonforms-react-seed)
64+
- [JSON Forms Vue Seed](https://github.com/eclipsesource/jsonforms-vue-seed)
65+
- [JSON Forms Angular Seed](https://github.com/eclipsesource/jsonforms-angular-seed)
66+
67+
Contributions to our website and documentation are particularly encouraged!

0 commit comments

Comments
 (0)