Community Engagement

January 21, 2026 ยท View on GitHub

Questions, suggestions, corrections. All are welcome.

Channels for community engagement (where I'll be looking) include:

  • Issues
  • Slack (link in the README)
  • StackOverflow (tag with json-everything)

Submitting Issues

Please be sure that you've read the documentation and that you're using the library correctly. It sounds silly, but these kinds of issues are actually quite common.

For bugs, please submit minimal reproductions that demonstrate the problem you're reporting. Do not send me your production code and expect me to debug it for you. While testing can never cover every case, these libraries are very thoroughly tested using public suites supplemented by my own test cases. As such I'm very confident that the libraries adhere to their respective specifications.

Submitting PRs

Please be sure that an issue has been opened to allow for proper discussion before submitting a PR. If the project maintainers decide not to merge your PR, you might feel you've wasted your time, and no one wants that.

When submitting a PR for a bug fix, please follow this multistep process:

  1. Commit at least one test demonstrating the bug. Push this commit and create the PR. This triggers a build which runs the test. This build should fail.
  2. Apply the bug fix, commit, and push to the PR. This triggers the build again. At this point the tests should pass.

Following this procedure creates a sequence of builds which show that there was something wrong that was later fixed.

Development

Requirements

These libraries run tests in .Net 8, 9, and 10, so you'll need those.

All of the projects are configured to use the latest C# version.

IDE

I use Visual Studio Community with Resharper, and I try to keep everything updated.

Jetbrains Rider (comes with the Resharper stuff built-in), VS Code with your favorite extensions, or any basic text editor and a command line would work just fine. You do you.

Running Tests

The tests can be run with any runner. They do have quite a lot of output, which caused some problems with the results analyzer in the server build.

To address this, the test output has been disabled, but it can be re-enabled locally by setting the JSON_EVERYTHING_TEST_OUTPUT environment variable to "True".

Code Style & Releases

Whie I do have an .editorconfig that most editors should respect, please feel free to add any code contributions using your own coding style. Trying to conform to someone else's style can be a headache and confusing, and I prefer working code over pretty code. I find it's easier for contributors if I make my own style adjustments after a contribution rather than forcing conformance to my preferences.

Deployments to Nuget and json-everything.net occur automatically upon merging with master, so I usually create a secondary branch where I can first make any adjustments, including updating package versions and release notes.

For these reasons, you can expect your PRs to be retargeted to a branch other than master.

What Needs Doing?

Anything in the issues with a help wanted label is something that could benefit from a volunteer or two.

Of primary focus is translating the resource file into additional languages for JsonSchema.Net.

Outside of this, PRs are welcome. As mentioned above, for larger changes or changes to the API surface, it's preferred that there be some discussion in an issue before a PR is submitted. Mainly, I don't want you to feel like you've wasted your time if changes are requested or the PR is ultimately closed unmerged.