-
-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GSoC 2025: Comprehensive JSON Schema linting for encouraging best practices and catching anti-patterns early #856
Comments
Great idea Juan, thanks for your submission. |
Hi Juan, have you seen the work done by @gregsdennis here: |
Ah, very nice @benjagm. We should definitely take that as inspiration. Cool stuff. @gregsdennis Is it something you are actively working on? |
No. I started some Spectral stuff a year or so ago, but never got beyond a start. Feel free to overwrite what I've done. |
Adding myself as a mentor as discussed with @jviotti =] |
Hi @jviotti and @Relequestual |
Please also see the prior work at
|
Hii everyone , so JSON-SCHEMA now officially Gsoc 2025 orgs list , And I wants to work on this Project with respected mentor . |
This comment has been minimized.
This comment has been minimized.
Here is a proposal for the qualification task for this project (cc @Relequestual we can discuss it here in the open if you have better ideas!)
The point here is not to have a comprehensive list, but show us that:
|
(@GANESHSHARMA1, it looks like posted in the wrong issue 😄. If you want to repost in the right place, I'd be happy to respond.) |
I think this, plus:
Too much? Also, do we want the rule definitions to be JSON based as opposed to code based, and then for there to be an engine to process the rules? |
Hello @jviotti @Relequestual , I've been an active contributor in the JSON Schema organisation and also have tried and contributed to Sourcemeta repositories like core and jsonschema (cli wrapper on blaze and core) and created a vs-code extension using jsonschema-cli based on this conversation |
We can try to prototype this during GSoC as a bonus and see where we end up at. In parallel to researching and collecting the actual set of linting rules? |
Really excited to contribute to this! Can't wait to get started! 🚀 |
@jviotti @Relequestual I am looking forward to work on this project, though I am relatively new to JSON Schema. Could you provide some Source to learn best practices for JSON Schema? is there any existing linting doc available ? |
Hello @ShivamBisen , you can learn JSON Schema from the https://tour.json-schema.org/ and https://www.learnjsonschema.com/2020-12/, after that write some schemas yourself. |
Brief Description
Writing well-crafted schemas is extremely hard. Not only JSON Schema is a complex schema language and it is easy to shoot yourself in the foot, but as an organisation, we never properly encoded and shared what the best practices and anti-patterns are. As a consequence, our users (including users of API specifications like OpenAPI and AsyncAPI) don't know how to write great schemas, and don't even know what the quality of the schemas they already have is.
I kickstarted some of this work on my open-source tooling (https://github.com/sourcemeta/jsonschema/blob/main/docs/lint.markdown) and would like to take it to the next level.
Expected Outcomes
Skills Required
Mentors
Expected Difficulty
Medium.
Expected Time Commitment
350 hours. We expect most of the time being spent driving discussions to reach agreement. Doing so often takes a lot of time!
The text was updated successfully, but these errors were encountered: