Skip to content

Instantly share code, notes, and snippets.

@kinlane
Created November 21, 2025 01:04
Show Gist options
  • Select an option

  • Save kinlane/d6f79561dca7d0eafac48d5b86e1a249 to your computer and use it in GitHub Desktop.

Select an option

Save kinlane/d6f79561dca7d0eafac48d5b86e1a249 to your computer and use it in GitHub Desktop.
capabilities.json
{
"$id": "https://github.com/naftiko/capabilities/blob/main/schema.yml",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Capability",
"description": "Capabilities are open-source, declarative, standards-based integrations that are aligned with business outcomes within specific domains, providing what is needed to deliver and automate integrations across a variety of use cases.",
"type": "object",
"required": [
"info"
],
"properties": {
"info": {
"type": "object",
"required": [
"name",
"description"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the capability"
},
"description": {
"type": "string",
"description": "Description of the capability"
},
"icon": {
"type": "string",
"format": "uri",
"description": "URL to the capability icon"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tags for categorizing the capability"
},
"pinned": {
"type": "boolean",
"description": "Whether the capability is pinned"
},
"featured": {
"type": "boolean",
"description": "Whether the capability is featured"
},
"state": {
"type": "string",
"enum": [
"New",
"Active",
"Deprecated",
"Archived"
],
"description": "Current state of the capability"
},
"visibility": {
"type": "string",
"enum": [
"Private",
"Public",
"Internal"
],
"description": "Visibility level of the capability"
}
}
},
"useCase": {
"type": "array",
"items": {
"type": "object",
"properties": {
"$ref": {
"type": "string",
"description": "Reference to use case definition"
}
}
},
"description": "Use cases associated with this capability"
},
"stakeholders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"FN": {
"type": "string",
"description": "Full name of the stakeholder"
},
"email": {
"type": "string",
"format": "email",
"description": "Email address of the stakeholder"
}
}
},
"description": "Stakeholders involved with this capability"
},
"capabilities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"$ref": {
"type": "string",
"description": "Reference to individual capability"
}
}
},
"description": "References to individual capabilities in this aggregate"
},
"events": {
"type": "array",
"items": {
"type": "object",
"required": [
"specversion",
"type",
"source"
],
"properties": {
"specversion": {
"type": "string",
"description": "CloudEvents specification version"
},
"type": {
"type": "string",
"description": "Event type identifier"
},
"source": {
"type": "string",
"format": "uri",
"description": "Event source URI"
},
"datacontenttype": {
"type": "string",
"description": "Content type of the event data"
},
"dataschema": {
"type": "string",
"format": "uri",
"description": "URI of the schema for the event data"
}
}
},
"description": "CloudEvents associated with this capability"
},
"environments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"$ref": {
"type": "string",
"description": "Reference to environment configuration"
}
}
},
"description": "Environment configurations"
},
"virtualization": {
"type": "object",
"properties": {
"sandboxes": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"url"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the sandbox"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL to the sandbox"
}
}
},
"description": "Sandbox environments for testing"
},
"data": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"url"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the data source"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL to the data source"
}
}
},
"description": "Synthetic or test data sources"
}
},
"description": "Virtualization resources including sandboxes and test data"
},
"metrics": {
"type": "object",
"properties": {
"weavingScore": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "Weaving score metric"
},
"maturityScore": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "Maturity score metric"
},
"rating": {
"type": "number",
"minimum": 0,
"maximum": 10,
"description": "Overall rating"
},
"numberOfDownloads": {
"type": "integer",
"minimum": 0,
"description": "Number of downloads"
},
"forks": {
"type": "integer",
"minimum": 0,
"description": "Number of forks"
},
"watches": {
"type": "integer",
"minimum": 0,
"description": "Number of watchers"
},
"likes": {
"type": "integer",
"minimum": 0,
"description": "Number of likes"
}
},
"description": "Metrics and statistics for the capability"
},
"change": {
"type": "object",
"required": [
"schemaVersion",
"capabilityVersion",
"updated",
"created"
],
"properties": {
"schemaVersion": {
"type": "string",
"description": "Version of the capability schema"
},
"capabilityVersion": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+$",
"description": "Version of this capability (semver)"
},
"updated": {
"type": "string",
"format": "date-time",
"description": "Last updated timestamp"
},
"created": {
"type": "string",
"format": "date-time",
"description": "Creation timestamp"
}
},
"description": "Change tracking information"
},
"source": {
"type": "object",
"properties": {
"httpUrl": {
"type": "string",
"format": "uri",
"description": "HTTP URL to the source repository"
},
"sshUrl": {
"type": "string",
"description": "SSH URL to the source repository"
},
"dockertHub": {
"type": "string",
"format": "uri",
"description": "Docker Hub URL"
},
"workspace": {
"type": "string",
"format": "uri",
"description": "Workspace URL"
}
},
"description": "Source code and artifact locations"
},
"support": {
"type": "object",
"properties": {
"issues": {
"type": "string",
"format": "uri",
"description": "URL to issue tracker"
},
"discussions": {
"type": "string",
"format": "uri",
"description": "URL to discussions forum"
},
"slack": {
"type": "string",
"format": "uri",
"description": "Slack channel URL"
}
},
"description": "Support and communication channels"
},
"license": {
"type": "object",
"properties": {
"license": {
"type": "string",
"format": "uri",
"description": "URL to the license"
},
"attribution": {
"type": "string",
"description": "License attribution text"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL to license documentation"
}
},
"description": "License information"
},
"policies": {
"type": "array",
"items": {
"type": "object"
},
"description": "Policies associated with this capability"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment