Contributing to JSON Schema Website
March 29, 2026 ยท View on GitHub
First off, thanks for taking the time to contribute! ๐ซถ
All types of contributions are encouraged and valued. See the Table of Contents for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it much easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions. ๐
If you don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation:
- Star the project on Github
- Post on X or Linkedin about JSON Schema
#jsonschema
Table of Contents
- ๐ฑ Code of Conduct
- ๐ฌ I Have a Question
- ๐ป I Want To Contribute
- ๐ Reporting Bugs
- ๐ก Issues and feature requests
- ๐ ๏ธ Add a new implementation
- โ๏ธ Publish a blog post
- ๐ Publish a case study
- ๐ Improving the Documentation
- ๐ Improving the website
- ๐จ Improving the Design
- ๐ Contributing to CI/CD Pipeline
- ๐งช Contributing to Testing
- โจ๏ธ Pull requests
- ๐ License
๐ฑ Code of Conduct
Before making your first contribution, please ensure you are familiar with our Code of Conduct.
๐ฌ I have a question
If you need clarification after reading this document, we encourage you to join the #contribute channel in our Slack workspace.
๐ป I want to contribute
๐ Reporting bugs
Please use our issues templates that provide hints on what information we need to help you.
๐ก Issues and feature requests
Open an issue only to report a bug or a feature. Don't open issues for questions or support, instead join our Slack workspace and ask there. Remember to follow our Code of Conduct while interacting with community members! It's more likely you'll get help, and much faster!
๐ ๏ธ Add a new Implementation
To add a new implementation, please open a PR, adding the details of your implementation to pages/implementations/main.md file. We also invite you to join the discussion in #implementers channel in our Slack workspace.
โ๏ธ Publish a blog post
Before publishing your first blog post, please ensure you are familiar with our blog guidelines.
To publish a blog post, please open a PR, adding your post in Markdown format into the pages/blog/posts folder using any existing posts as reference e.g.: json-schema-in-5-minutes.md. Remember to add all the images into the public/img folder.
๐ Publish a Case Study
To publish a case study, we encourage you to join #adopters channel in our Slack workspace and introduce your use case.
๐ Improving the Documentation
Want to help us improve the JSON Schema documentation? Check out our docs Contributing guide for docs and Style guide. These documents will give you the basics of our processes to get you started and text-formatting guidelines to create consistent documentation for JSON Schema.
๐ Improving the Website
If you would like to join the efforts to improve the JSON Schema Website, we encourage you to check our website contribution board to get a sense of the pending issues and bugs and who is doing what. We also invite you to join the discussion in #website channel in our Slack workspace.
๐จ Improving the Design
If you would like to contribute with designs, we encourage you to join #design channel in our Slack workspace and read the contributing guidelines in the Brand repository.
๐ Contributing to CI/CD Pipeline
If you would like to contribute to our CI/CD pipeline, we encourage you to review our current setup in the workflows README.
๐งช Contributing to Testing
We value contributions to our testing efforts. Here are ways you can help improve our test coverage and quality:
-
Writing Tests: If you're adding new features or fixing bugs, please include relevant tests. We use Cypress for both end-to-end (E2E) and component testing.
- For new components, add component tests in the
cypress/componentsdirectory. - For new features or bug fixes affecting user interactions, add E2E tests in the
cypress/e2edirectory.
- For new components, add component tests in the
-
Improving Existing Tests: Review and enhance our existing test suite. Look for areas where test coverage could be improved or where tests could be made more robust.
-
Test Documentation: Help improve our testing documentation, making it easier for new contributors to understand and write tests.
-
Running Tests: Before submitting a pull request, ensure all tests pass by running:
yarn cypress:run:all -
Reporting Test Issues: If you find inconsistencies or problems with our tests, please open an issue describing the problem and how to reproduce it.
For more details on our testing setup and how to run tests, please refer to the Testing section in our INSTALLATION.md file.
โจ๏ธ Pull requests
We welcome pull requests for editorial suggestions and resolving open issues.
If your pull request addresses a specific issue, please reference this issue in your pull request description using a supported descriptor. This helps automatically link and close the issue when the pull request is merged.
We strongly encourage linking every pull request to an existing issue. If no corresponding issue exists, please create one first. This allows the community to discuss the required changes. If you are addressing an existing issue, ensure the scope is clear and consider the following:
- If the issue is several years old, verify its relevance by asking in the comments.
- Ensure the discussion within the issue has led to a clear, actionable decision.
Generally, pull requests should be made to the main branch.
Most PRs, will be left open for a minimum of 14 days. Minor fixes may be merged more quickly once approved by a project member.
Markdown Style Guide
Contributors to our Docs or our Blog can have a look at the custom markdown style guide with a list of useful markdown tags providing tools to easily create cool content that provides a better user experience.
Triage
Please check the triage process to learn how we review and label incoming issues.
Feedback
Feedback on this process can be made informally through our Slack server and formally using our Community Discussions.
References
This document was adapted from https://contributing.md!