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.
If you encounter a bug, please report it via GitHub issues. Be sure to include a detailed description of the bug and steps to reproduce it.
To propose a new feature, you can also use GitHub issues or discuss it on our Community Board.
For general discussions and questions about using JSON Forms, please visit our Community Board.
If you'd like to contribute code, please do so via a pull request to one of our repositories. Make sure to review the following sections to understand our requirements and recommendations.
All contributors are required to sign a CLA, which will be checked automatically when you open a pull request.
Contributions to the main repository should adhere to the following:
- Pass all automated checks, including test cases, linting, and format checking.
- Include new unit tests for new code.
- If appropriate, modify an existing example or add a new one to demonstrate the new feature or improvement.
The better the quality of the contribution, the faster it can be merged.
If you have an idea for a feature, we recommend first opening an issue or starting a discussion on the Community Board to assess whether it aligns with the goals and scope of JSON Forms. We aim to keep the core framework lean and clean, focusing on features that provide the most value.
We strive to always support the latest versions of dependencies, while carefully managing the lower bounds of our (peer) dependency declarations. For seed applications, we use the latest dependencies as a testbed to ensure compatibility.
When contributing version upgrades:
- Only raise the lower bound of (peer) dependencies if necessary, or if avoiding such a raise requires substantial effort.
- Extend the upper bounds to include the latest supported version, which should ideally be the latest available stable version
- Test the new JSON Forms version in the respective seed application, both with and without updating the corresponding dependencies. Tip: tools like yalc can be particularly useful for this purpose.
You can contribute to any of the following repositories:
- JSON Forms Core
- JSON Forms Website
- JSON Forms React Seed
- JSON Forms Vue Seed
- JSON Forms Angular Seed
Contributions to our website and documentation are particularly encouraged!