ai-ops-templates/schemas/ai-context.schema.json
DMleadgen 2598e55a54 Add sync protocol for portable context management
- ai-sync-protocol.md: Session start and post-change sync rules
- _sync section in schema for auto-sync configuration
- Updated client skill template with Forgejo fetch patterns
- Client projects now self-sufficient via central repo fetch

Version 1.1.0

Made-with: Cursor
2026-03-06 16:24:57 -07:00

160 lines
4.7 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://git.abundancepartners.app/abundance/ai-ops-templates/schemas/ai-context.schema.json",
"title": "AI Context Manifest",
"description": "Schema for per-project AI context manifest - the single source of truth for AI agents",
"type": "object",
"required": ["client", "_sync"],
"properties": {
"_sync": {
"type": "object",
"description": "Sync configuration for fetching context from central repository",
"required": ["templates_repo"],
"properties": {
"templates_repo": {
"type": "string",
"format": "uri",
"description": "URL of the ai-ops-templates repository"
},
"last_check": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp of last sync check"
},
"auto_sync": {
"type": "boolean",
"default": true,
"description": "Whether to automatically sync at session start"
},
"sync_interval_hours": {
"type": "integer",
"default": 24,
"minimum": 1,
"description": "Hours between automatic sync checks"
},
"preset_path": {
"type": "string",
"description": "Path to preset file (e.g., presets/slc-bride.json)"
},
"cached_context": {
"type": "object",
"description": "Locally cached context from last sync",
"properties": {
"brand": { "type": "object" },
"rules": { "type": "array", "items": { "type": "string" } },
"snippets": { "type": "array", "items": { "type": "string" } }
}
}
}
},
"_meta": {
"type": "object",
"required": ["last_updated", "version"],
"properties": {
"last_updated": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp of last update"
},
"version": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+$",
"description": "Semantic version of context"
},
"synced_from": {
"type": "string",
"format": "uri",
"description": "URL of the templates repo this was synced from"
},
"updated_by": {
"type": "string",
"enum": ["ai-agent", "human"],
"description": "Who made the last update"
}
}
},
"client": {
"type": "string",
"description": "Client/project identifier"
},
"brand_preset": {
"type": "string",
"format": "uri",
"description": "URL to the brand preset JSON"
},
"mcp_namespace": {
"type": "string",
"enum": ["all", "ui", "deploy", "seo", "supabase"],
"default": "all",
"description": "Which MCP tools are available for this project"
},
"infrastructure": {
"type": "object",
"required": ["server"],
"properties": {
"server": {
"type": "string",
"description": "Server short name"
},
"database": {
"type": "string",
"description": "Database identifier or 'from-env'"
},
"coolify_app_id": {
"type": "string",
"description": "Coolify app UUID or 'from-env'"
},
"coolify_staging_app_id": {
"type": "string",
"description": "Staging Coolify app UUID"
}
}
},
"common_patterns": {
"type": "array",
"items": { "type": "string" },
"description": "Paths to commonly used snippet files"
},
"routes": {
"type": "object",
"additionalProperties": { "type": "string" },
"description": "Route patterns for the application"
},
"database_schema": {
"type": "object",
"properties": {
"tables": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"description": { "type": "string" },
"key_columns": {
"type": "array",
"items": { "type": "string" }
}
}
}
}
}
},
"api_endpoints": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"path": { "type": "string" },
"method": { "type": "string", "enum": ["GET", "POST", "PUT", "DELETE", "PATCH"] },
"description": { "type": "string" }
}
}
},
"notes": {
"type": "string",
"description": "Any additional context for AI agents"
}
},
"additionalProperties": true
}