{"id":13452237,"url":"https://github.com/json-schema-org/json-schema-spec","last_synced_at":"2025-05-13T19:06:56.886Z","repository":{"id":34146935,"uuid":"37983912","full_name":"json-schema-org/json-schema-spec","owner":"json-schema-org","description":"The JSON Schema specification","archived":false,"fork":false,"pushed_at":"2025-04-26T20:24:26.000Z","size":3980,"stargazers_count":4222,"open_issues_count":86,"forks_count":308,"subscribers_count":107,"default_branch":"main","last_synced_at":"2025-04-27T04:49:16.733Z","etag":null,"topics":["api-documentation","json","json-schema","jsonschema","validation"],"latest_commit_sha":null,"homepage":"http://json-schema.org/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/json-schema-org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"json-schema-org","patreon":null,"open_collective":"json-schema","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2015-06-24T12:48:04.000Z","updated_at":"2025-04-27T04:00:36.000Z","dependencies_parsed_at":"2023-02-16T11:50:23.874Z","dependency_job_id":"4cad21d9-c1d1-4821-b399-00043ada939e","html_url":"https://github.com/json-schema-org/json-schema-spec","commit_stats":{"total_commits":1522,"total_committers":77,"mean_commits":"19.766233766233768","dds":0.7654402102496715,"last_synced_commit":"51285b3421e95c65b6f0de98c615d2046d11df0f"},"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/json-schema-org%2Fjson-schema-spec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/json-schema-org%2Fjson-schema-spec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/json-schema-org%2Fjson-schema-spec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/json-schema-org%2Fjson-schema-spec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/json-schema-org","download_url":"https://codeload.github.com/json-schema-org/json-schema-spec/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251089408,"owners_count":21534512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-documentation","json","json-schema","jsonschema","validation"],"created_at":"2024-07-31T07:01:17.939Z","updated_at":"2025-04-27T04:49:22.243Z","avatar_url":"https://github.com/json-schema-org.png","language":"JavaScript","readme":"# Welcome to JSON Schema\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://github.com/json-schema-org/.github/blob/main/CODE_OF_CONDUCT.md)\n[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\n[![Financial Contributors on Open Collective](https://opencollective.com/json-schema/all/badge.svg?label=financial+contributors)](https://opencollective.com/json-schema)\n\nJSON Schema is a vocabulary that allows you to validate, annotate, and\nmanipulate JSON documents.\n\nThis repository contains the sources for the **work in progress** of the next\nset of JSON Schema IETF Internet Draft (I-D) documents. For the latest released\nI-Ds, please see the\n[Specification page](http://json-schema.org/specification.html) on the website.\n\n## Call for contributions and feedback\n\nReviews, comments and suggestions are most welcome!\nPlease read our [guidelines for contributing](CONTRIBUTING.md).\n\n## Status\n\nFor the current status of issues and pull requests, please see the following\nlabels\n\n[![Available](https://img.shields.io/github/issues/json-schema-org/json-schema-spec/Status:%20Available.svg?color=brightgreen)](https://github.com/json-schema-org/json-schema-spec/issues?q=is%3Aopen+is%3Aissue+label%3A%22Status%3A+Available%22)\n[![In Progress](https://img.shields.io/github/issues/json-schema-org/json-schema-spec/Status:%20In%20Progress.svg)](https://github.com/json-schema-org/json-schema-spec/labels/Status:%20In%20Progress)\n[![Review Needed](https://img.shields.io/github/issues/json-schema-org/json-schema-spec/Status:%20Review%20Needed.svg)](https://github.com/json-schema-org/json-schema-spec/labels/Status%3A%20Review%20Needed)\n[![Critical](https://img.shields.io/github/issues/json-schema-org/json-schema-spec/Priority:%20Critical.svg?color=critical\n)](https://github.com/json-schema-org/json-schema-spec/labels/Priority%3A%20Critical)\n[![High](https://img.shields.io/github/issues/json-schema-org/json-schema-spec/Priority:%20High.svg?color=important)](https://github.com/json-schema-org/json-schema-spec/labels/Priority%3A%20High)\n[![Medium](https://img.shields.io/github/issues/json-schema-org/json-schema-spec/Priority:%20Medium.svg)](https://github.com/json-schema-org/json-schema-spec/labels/Priority%3A%20Medium)\n[![Low](https://img.shields.io/github/issues/json-schema-org/json-schema-spec/Priority:%20Low.svg)](https://github.com/json-schema-org/json-schema-spec/labels/Priority%3A%20Low)\n\nLabels are assigned based on\n[Sensible Github Labels](https://github.com/Relequestual/sensible-github-labels).\n\n## Authoring and Building\n\n### Specification\nTo build all the spec files to HTML from the Markdown sources, run `npm run\nbuild -- specs`. You can also build each individually with `npm run build --\nspecs/filename.md` (Example: `npm run build -- specs/jsonschema-core.md`). You\ncan also use wildcards to build multiple specs at the same time: `npm run build\n-- specs/jsonschema-*.md`. The HTML files will be available in the `web` folder.\n\nThe spec is built using [Remark](https://remark.js.org/), a markdown engine with\ngood support for plugins and lots of existing plugins we can use. Remark also\nhas a [language server](https://github.com/remarkjs/remark-language-server) and\na [VSCode extension](https://github.com/remarkjs/vscode-remark) we can use to\nget linting an link checking while developing the spec.\n\n#### Plugins\n\nThe following is a not-necessarily-complete list of configured plugins and the\nfeatures they make available to you.\n\n- [remark-lint](https://github.com/remarkjs/remark-lint) -- Enforce markdown\n  styles guide.\n- [remark-validate-links](https://github.com/remarkjs/remark-validate-links) --\n  Check for broken links.\n- [remark-gfm](https://github.com/remarkjs/remark-gfm) -- Adds support for\n  Github Flavored Markdown specific markdown features such as autolink literals,\n  footnotes, strikethrough, tables, and tasklists.\n- [remark-heading-id](https://github.com/imcuttle/remark-heading-id) -- Adds\n  support for `{#my-anchor}` syntax to add an `id` to an element so it can be\n  referenced using URI fragment syntax.\n- [remark-headings](./remark/remark-headings.js)\n  -- A collection of enhancements for headings.\n  - Adds hierarchical section numbers to headings.\n    - Use the `%appendix%` prefix on headings that should be numbered as an\n      appendix.\n  - Adds id anchors to headers that don't have one\n    - Example: `#section-2-13`\n    - Example: `#appendix-a`\n  - Makes the heading a link utilizing its anchor\n- [remark-reference-links](./remark/remark-reference-links.js)\n  -- Adds new syntax for referencing a section of the spec using the section\n  number as the link text.\n  - Example:\n    ```markdown\n    ## Foo {#foo}\n    ## Bar\n    This is covered in {{foo}} // --\u003e Renders to \"This is covered in [Section 2.3](#foo)\"\n    - Link text will use \"Section\" or \"Appendix\" as needed\n    ```\n- [remark-table-of-contents](./remark/remark-table-of-contents.js)\n  -- Adds a table of contents in a section with a header called \"Table of\n  Contents\".\n- [remark-code-titles](./remark/remark-code-titles.js)\n  -- Add titles to code blocks\n  - Example:\n    ```markdown\n    \\`\\`\\`jsonschema \"My Fun Title\"\n    { \"type\": \"string\" }\n    \\`\\`\\`\n    ```\n  - The languages `jsonschema` and `json` have special styling\n  - The title will be parsed as a JSON string, but you have to double escape\n    escaped characters. So, to get `My \"quoted\" title`, you would need to be\n    `\"My \\\\\\\\\"quoted\\\\\\\\\" title\"`.\n- [rehype-highlight](https://github.com/rehypejs/rehype-highlight) --\n  Syntax highlighting.\n- [rehype-highlight-code-lines](https://github.com/ipikuka/rehype-highlight-code-lines)\n  -- Adds line numbers to code blocks. Supports ranges.\n- [remark-flexible-containers](https://github.com/ipikuka/remark-flexible-containers)\n  -- Add a callout box using the following syntax. Supported container types are\n  `warning`, `note`, and `experimental`.\n  ```markdown\n  ::: {type} {title}\n  {content}\n  :::\n  ```\n\n### Internet-Drafts\n\nTo build components that are being maintained as IETF Internet-Drafts, run\n`make`. The Makefile will create the necessary Python venv for you as part of\nthe regular make target.\n\n`make clean` will remove all output including the venv. To clean just the spec\noutput and keep the venv, use `make spec-clean`.\n\nIf you want to run `xml2rfc` manually after running make for the first time, you\nwill need to activate the virtual environment: `source .venv/bin/activate`.\n\nThe version of \"xml2rfc\" that this project uses is updated by modifying\n`requirements.in` and running `pip-compile requirements.in`.\n\nDescriptions of the xml2rfc, I-D documents, and RFC processes:\n\n- \u003chttps://xml2rfc.tools.ietf.org/authoring/draft-mrose-writing-rfcs.html\u003e\n- \u003chttps://www.ietf.org/tao.html\u003e\n- \u003chttps://www.ietf.org/ietf-ftp/1id-guidelines.html\u003e\n- \u003chttps://www.rfc-editor.org/rfc/rfc7322.txt\u003e\n\n## Test suites\n\nConformance tests for JSON Schema and its vocabularies may be found\n[in their own repository](https://github.com/json-schema-org/JSON-Schema-Test-Suite).\n\n## The website\n\nThe JSON Schema web site is at \u003chttp://json-schema.org/\u003e\n\nThe source for the website is [maintained in a separate repository](https://github.com/json-schema-org/website).\n\n## Contributors\n\n### Code Contributors\n\nThis project exists thanks to all the people who contribute. \\[[Contribute](CONTRIBUTING.md)].\n\u003ca href=\"https://github.com/json-schema-org/json-schema-spec/graphs/contributors\"\u003e\u003cimg src=\"https://opencollective.com/json-schema/contributors.svg?width=890\u0026button=false\" /\u003e\u003c/a\u003e\n\n### Financial Contributors\n\nBecome a financial contributor and help us sustain our community. \\[[Contribute](https://opencollective.com/json-schema/contribute)]\n\n#### Sponsors\n\nHere are our top sponsors. You could be next! \\[[Become a sponsor](https://opencollective.com/json-schema#sponsor)]\n\n\u003ca href=\"https://opencollective.com/json-schema/sponsor/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/json-schema/sponsor/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/json-schema/sponsor/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/json-schema/sponsor/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/json-schema/sponsor/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/json-schema/sponsor/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/json-schema/sponsor/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/json-schema/sponsor/3/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/json-schema/sponsor/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/json-schema/sponsor/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/json-schema/sponsor/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/json-schema/sponsor/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/json-schema/sponsor/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/json-schema/sponsor/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/json-schema/sponsor/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/json-schema/sponsor/7/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/json-schema/sponsor/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/json-schema/sponsor/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/json-schema/sponsor/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/json-schema/sponsor/9/avatar.svg\"\u003e\u003c/a\u003e\n\n#### Individuals\n\n\u003ca href=\"https://opencollective.com/json-schema\"\u003e\u003cimg src=\"https://opencollective.com/json-schema/individuals.svg?width=890\"\u003e\u003c/a\u003e\n\n## License\n\nThe contents of this repository are [licensed under](./LICENSE) either the BSD\n3-clause license *or* the Academic Free License v3.0.\n","funding_links":["https://github.com/sponsors/json-schema-org","https://opencollective.com/json-schema","https://opencollective.com/json-schema/contribute"],"categories":["JavaScript","Resources","Recently Updated","json","Makefile"],"sub_categories":["Structure and Validation","[Mar 09, 2025](/content/2025/03/09/README.md)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjson-schema-org%2Fjson-schema-spec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjson-schema-org%2Fjson-schema-spec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjson-schema-org%2Fjson-schema-spec/lists"}