From bb233880b1f319e1a911edb80355757e3732645d Mon Sep 17 00:00:00 2001 From: "Alex Pooley (@zuedev)" Date: Thu, 5 Feb 2026 15:35:25 +0000 Subject: add json schema --- gitinfo.schema.json | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 gitinfo.schema.json (limited to 'gitinfo.schema.json') diff --git a/gitinfo.schema.json b/gitinfo.schema.json new file mode 100644 index 0000000..1b9f241 --- /dev/null +++ b/gitinfo.schema.json @@ -0,0 +1,69 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/zuedev/gitinfo/main/gitinfo.schema.json", + "title": ".gitinfo", + "description": "Schema for the .gitinfo file specification", + "type": "object", + "required": ["root"], + "properties": { + "root": { + "type": "string", + "format": "uri", + "description": "The URL of the root repository. This is the main hosting location that acts as the source of truth for the codebase." + }, + "gitmail": { + "type": "string", + "format": "email", + "description": "An email address associated with the repository for submitting git patches." + }, + "icon": { + "type": "string", + "description": "A public URL or data URI formatted image (PNG, SVG, etc.) representing an icon for the repository.", + "pattern": "^(https?://|data:image/)" + }, + "description": { + "type": "string", + "description": "A brief description of the repository's purpose or contents." + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of tags or keywords associated with the repository for easier categorization and searchability." + }, + "mirrors": { + "type": "array", + "items": { + "type": "string", + "format": "uri" + }, + "description": "A list of URLs representing mirror repositories." + }, + "maintainers": { + "type": "array", + "items": { + "type": "array", + "items": [ + { + "type": "string", + "description": "Maintainer name" + }, + { + "type": "string", + "format": "email", + "description": "Maintainer email" + } + ], + "minItems": 2, + "maxItems": 2 + }, + "description": "A list of maintainers or contributors to the repository, provided as a 2D array with names and email addresses in the format [[name, email], ...]." + }, + "license": { + "type": "string", + "description": "The license under which the repository is distributed. Use the short identifier from SPDX License List for consistency." + } + }, + "additionalProperties": false +} -- cgit v1.2.3