{"id":18824436,"url":"https://github.com/scratchaddons/manifest-schema","last_synced_at":"2026-01-20T03:30:24.127Z","repository":{"id":42002517,"uuid":"295075398","full_name":"ScratchAddons/manifest-schema","owner":"ScratchAddons","description":"Schema for the addon manifest files (addon.json) hosted on the main repository.","archived":false,"fork":false,"pushed_at":"2025-01-13T23:13:51.000Z","size":107,"stargazers_count":5,"open_issues_count":5,"forks_count":10,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-01-14T00:22:03.348Z","etag":null,"topics":["schema"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ScratchAddons.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-13T04:08:22.000Z","updated_at":"2025-01-13T23:13:32.000Z","dependencies_parsed_at":"2023-10-12T14:55:17.575Z","dependency_job_id":"3b230c62-00b4-44e2-bafa-af5661f5416e","html_url":"https://github.com/ScratchAddons/manifest-schema","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScratchAddons%2Fmanifest-schema","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScratchAddons%2Fmanifest-schema/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScratchAddons%2Fmanifest-schema/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScratchAddons%2Fmanifest-schema/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ScratchAddons","download_url":"https://codeload.github.com/ScratchAddons/manifest-schema/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239763390,"owners_count":19692783,"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":["schema"],"created_at":"2024-11-08T00:56:29.618Z","updated_at":"2026-01-20T03:30:24.040Z","avatar_url":"https://github.com/ScratchAddons.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scratch Addons' addon manifest\n\n[![Dist. Branch Update workflow status](https://img.shields.io/github/actions/workflow/status/ScratchAddons/manifest-schema/update-dist.yml?label=dist\u0026style=flat-square)](https://github.com/ScratchAddons/manifest-schema/actions/workflows/update-dist.yml)\n[![View on json-schema.app](https://img.shields.io/badge/view-json--schema.app-blue?style=flat-square)](https://json-schema.app/view/%23?url=https%3A%2F%2Fraw.githubusercontent.com%2FScratchAddons%2Fmanifest-schema%2Fdist%2Fschema.json)\n\nThis repository hosts the schema for Scratch Addons' addon manifest. For more information, there's [the documentation for the manifest](https://scratchaddons.com/docs/reference/addon-manifest/).\n\n- [View the changelog](https://github.com/ScratchAddons/manifest-schema/wiki/Changelog)\n- [View the schema on json-schema.app](https://json-schema.app/view/%23?url=https%3A%2F%2Fraw.githubusercontent.com%2FScratchAddons%2Fmanifest-schema%2Fdist%2Fschema.json)\n\n## How-to\n\nThe simplest way to use the schema is to add the property of `$schema` with the URL. \n\nAs an example, add the pointed line to your manifest. This will use the latest version of the schema. Depending on your placement, you need to add a comma after the line. \n\n```json5\n{\n    \"$schema\": \"https://raw.githubusercontent.com/ScratchAddons/manifest-schema/dist/schema.json\", // This one!\n    \"name\": \"...\",\n    ...\n}\n```\n\nYou can also add other variations of the schema, such as...\n\n```json5\n{\n    // v1.19\n    \"$schema\": \"https://raw.githubusercontent.com/ScratchAddons/manifest-schema/master/1/1.19.json\",\n\n    // or...\n\n    // v1.18\n    \"$schema\": \"https://raw.githubusercontent.com/ScratchAddons/manifest-schema/master/1/1.18.json\",\n\n    // or...\n    \n    // v1.17\n    \"$schema\": \"https://raw.githubusercontent.com/ScratchAddons/manifest-schema/master/1/1.17.json\",\n\n    // or...\n\n    // latest\n    \"$schema\": \"https://raw.githubusercontent.com/ScratchAddons/manifest-schema/dist/schema.json\",\n\n    // (you only have to add one!)\n}\n```\n\nAdding the schema is optional. On [the main repo](https://github.com/ScratchAddons/ScratchAddons), this will be checked by the workflow, regardless of the presence of the `$schema` property.\n\n## Contributing\n\nPRs and issues are welcome. If there are PRs on [the main repo](https://github.com/ScratchAddons/ScratchAddons) that require changes on the schema, you may also open a PR or an issue to handle the change.\n\n### Considerations\n\n1. For the description, mind the grammar.  \n   Most of the times it is a noun phrase, but sometimes it is a proper sentence. Either way, you need to use proper grammar on the description.\n2. Also mind the [Addon Manifest page](https://scratchaddons.com/docs/reference/addon-manifest/) on the docs.  \n   You may refer to the page when in doubt, or you may change some parts of the page if there are inaccuracies.\n\n### Versioning\n\nThe versioning consist of the major version and the minor version. The major version is rarely bumped, because it is reserved for very, very, large changes, either on the schema or on SA itself.\n\nIn most times, you bump the minor once there is a new feature, but for Scratch Addons, **you only bump the minor version when the new minor version of Scratch Addons requires changes on the schema**.\n\nFor example, if a new feature (or multiple) on a certain minor version of SA require changes on the schema, you have to increment the minor version by 1. \n\nThis means that **there's no need to bump** if there are **no necessary changes** on the schema on a certain minor version of SA. This also means that the schema's versioning is seperate from SA's versioning. (e.q. SA 1.6.x doesn't need changes on the schema, so bumping is skipped and SA 1.7.x gets the previous schema version)\n\nIf the changes are **patch-level** (or **not necessarily needed**), such as bug/typo fixes and description changes, then it also **doesn't need a bump** on the minor version.\n\nTo bump a minor version, copy the latest schema and rename it to the new version number, along with replacing any instance of the old version number with the new one. It is suggested to commit this separately, before doing the relevant changes.\n\n## Folder structure\n\n```bash\n.\n└── 📂 1 # Folder with major version as the name\n    └── 📜 1.0.json # Schema with both major and minor versions as the name\n```\n\n## License\n\nThis project is licensed under the terms of GNU General Public License v3.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscratchaddons%2Fmanifest-schema","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscratchaddons%2Fmanifest-schema","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscratchaddons%2Fmanifest-schema/lists"}