awesome-copilot/.schemas/collection.schema.json
Aaron Powell 56d7ce73a0
Partners (#354)
* initial prototype of partners collection with featured collection support

* Starting to add the partners

* Preparing the repo for how the custom agents will work

* moving some files around

* Moving a bunch of stuff around to make the file easier to read

* improving the front matter parsing by using a real library

* Some verbage updates

* some more verbage

* Fixing spelling mistake

* tweaking badges

* Updating contributing guide to be correct

* updating casing to match product

* More agents

* Better handling link to mcp registry

* links to install mcp servers fixed up

* Updating collection tags

* writing the mcp registry url out properly

* Adding custom agents for C# and WinForms

Expert custom agents to improve your experience when working with C# and WinForms in Copilot

* Adding to agents readme

* Adding PagerDuty agent

* Fixing description for terraform agent

* Adding custom agents to the README usage

* Removing the button to make the links more obvious

* docs: relocate category READMEs to /docs and update generation + internal links

* Updating prompts for new path

* formatting

---------

Co-authored-by: Chris Patterson <chrispat@github.com>
2025-10-29 06:07:13 +11:00

94 lines
2.6 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Collection Manifest",
"description": "Schema for awesome-copilot collection manifest files",
"type": "object",
"required": ["id", "name", "description", "items"],
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the collection",
"pattern": "^[a-z0-9-]+$",
"minLength": 1,
"maxLength": 50
},
"name": {
"type": "string",
"description": "Display name for the collection",
"minLength": 1,
"maxLength": 100
},
"description": {
"type": "string",
"description": "Description of what this collection contains",
"minLength": 1,
"maxLength": 500
},
"tags": {
"type": "array",
"description": "Optional tags for discovery",
"items": {
"type": "string",
"pattern": "^[a-z0-9-]+$",
"minLength": 1,
"maxLength": 30
},
"uniqueItems": true,
"maxItems": 10
},
"items": {
"type": "array",
"description": "List of items in this collection",
"minItems": 1,
"maxItems": 50,
"items": {
"type": "object",
"required": ["path", "kind"],
"additionalProperties": false,
"properties": {
"path": {
"type": "string",
"description": "Relative path from repository root to the item file",
"pattern": "^(prompts|instructions|chatmodes|agents)/[^/]+\\.(prompt|instructions|chatmode|agent)\\.md$",
"minLength": 1
},
"kind": {
"type": "string",
"description": "Type of the item",
"enum": ["prompt", "instruction", "chat-mode", "agent"]
},
"usage": {
"type": "string",
"description": "Optional usage context for the item"
}
}
},
"uniqueItems": true
},
"display": {
"type": "object",
"description": "Optional display settings for the collection",
"additionalProperties": false,
"properties": {
"ordering": {
"type": "string",
"description": "How to order items in the collection",
"enum": ["manual", "alpha"],
"default": "alpha"
},
"show_badge": {
"type": "boolean",
"description": "Whether to show collection badge on items",
"default": false
},
"featured": {
"type": "boolean",
"description": "Whether this collection is featured on the main page",
"default": false
}
}
}
}
}