aiwg
Version:
Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo
77 lines (76 loc) • 3.1 kB
JSON
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://aiwg.io/schemas/contributors/status.schema.json",
"title": "Status Contributor",
"description": "Frontmatter schema for `<framework>/status/contributor.md` files. Consumed by the project-status aggregator. Contributors report observed state for their domain — descriptive only, no prescriptive next-action arrays. Runtime authority is the zod schema in src/contributors/validation.ts; this JSON Schema serves as published documentation and external tooling integration.",
"type": "object",
"required": ["kind", "domain", "description", "detect"],
"additionalProperties": true,
"properties": {
"kind": {
"const": "status",
"description": "Discriminator. Must be the literal `status`."
},
"domain": {
"type": "string",
"minLength": 1,
"description": "Human-readable name of the domain this contributor reports on (e.g. 'SDLC', 'Research corpus', 'Media library')."
},
"description": {
"type": "string",
"minLength": 1,
"description": "One-line description of what this contributor reports."
},
"detect": {
"type": "object",
"required": ["glob"],
"additionalProperties": false,
"description": "Declarative detection spec. Determines whether the framework is in use on this project. No script execution.",
"properties": {
"glob": {
"type": "array",
"minItems": 1,
"items": { "type": "string" },
"description": "Glob patterns relative to project root. The aggregator deduplicates matches across all patterns."
},
"minCount": {
"type": "integer",
"minimum": 1,
"description": "Minimum unique matched files to count as in-use. Default: 1."
},
"conditions": {
"type": "object",
"additionalProperties": { "type": "string" },
"description": "Reserved for future regex-against-content checks. Currently unused."
}
}
},
"fields": {
"type": "object",
"description": "Optional declarative field extractors. Each entry pulls a value out of a file using regex or count. Lets contributors stay data-driven; the aggregator reads these to populate the report block.",
"additionalProperties": {
"type": "object",
"required": ["type", "source"],
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"enum": ["string", "number", "date"]
},
"source": {
"type": "string",
"description": "Path (relative to project root) of the file to read."
},
"regex": {
"type": "string",
"description": "Regex with one capture group to extract the field value."
},
"count": {
"type": "string",
"description": "Regex pattern; the field value is the count of matching lines in the source file."
}
}
}
}
}
}