UNPKG

aios-core

Version:

Synkra AIOS: AI-Orchestrated System for Full Stack Development - Core Framework

186 lines (185 loc) 5.32 kB
{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://github.com/SynkraAI/aios-core/schemas/squad-schema.json", "title": "AIOS Squad Manifest", "description": "Schema for squad.yaml manifest files (Task-First Architecture)", "type": "object", "required": ["name", "version"], "properties": { "name": { "type": "string", "pattern": "^[a-z0-9-]+$", "description": "Squad name in kebab-case (e.g., my-squad-name)", "minLength": 2, "maxLength": 50 }, "version": { "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+$", "description": "Semantic version (e.g., 1.0.0)" }, "short-title": { "type": "string", "maxLength": 100, "description": "Short title for the squad" }, "description": { "type": "string", "maxLength": 500, "description": "Brief description of the squad's purpose" }, "author": { "type": "string", "description": "Author name or organization" }, "license": { "type": "string", "enum": ["MIT", "Apache-2.0", "ISC", "GPL-3.0", "UNLICENSED"], "default": "MIT", "description": "License type" }, "slashPrefix": { "type": "string", "pattern": "^[a-z0-9-]+$", "description": "Prefix for slash commands (e.g., 'etl' for /etl-*)" }, "aios": { "type": "object", "properties": { "minVersion": { "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+$", "description": "Minimum AIOS version required" }, "type": { "type": "string", "enum": ["squad"], "description": "Must be 'squad'" } } }, "requires": { "type": "object", "description": "Runtime requirements", "properties": { "node": { "type": "string", "description": "Node.js version requirement (e.g., >=18.0.0)" }, "aios": { "type": "string", "description": "AIOS version requirement (e.g., >=2.0.0)" } } }, "tags": { "type": "array", "items": { "type": "string" }, "description": "Keywords for discovery" }, "components": { "type": "object", "description": "Task-first: tasks are primary entry point", "properties": { "tasks": { "type": "array", "items": { "type": "string" }, "description": "List of task files (primary - task-first!)" }, "agents": { "type": "array", "items": { "type": "string" }, "description": "List of agent definition files" }, "workflows": { "type": "array", "items": { "type": "string" }, "description": "List of workflow files" }, "checklists": { "type": "array", "items": { "type": "string" }, "description": "List of checklist files" }, "templates": { "type": "array", "items": { "type": "string" }, "description": "List of template files" }, "tools": { "type": "array", "items": { "type": "string" }, "description": "List of tool scripts" }, "scripts": { "type": "array", "items": { "type": "string" }, "description": "List of automation scripts" } } }, "scripts": { "type": "object", "description": "Script definitions organized by category", "additionalProperties": { "type": "array", "items": { "type": "string" } } }, "config": { "type": "object", "description": "Configuration inheritance from aios-core", "properties": { "extends": { "type": "string", "enum": ["extend", "override", "none"], "default": "extend", "description": "How to handle core config (extend adds rules, override replaces)" }, "coding-standards": { "type": "string", "description": "Path to squad-specific coding standards (relative to squad root)" }, "tech-stack": { "type": "string", "description": "Path to squad-specific tech stack doc" }, "source-tree": { "type": "string", "description": "Path to squad-specific source tree doc" } } }, "dependencies": { "type": "object", "properties": { "node": { "type": "array", "items": { "type": "string" }, "description": "Node.js package dependencies" }, "python": { "type": "array", "items": { "type": "string" }, "description": "Python package dependencies" }, "squads": { "type": "array", "items": { "type": "string" }, "description": "Other squads this depends on" } } }, "mcps": { "type": "object", "description": "MCP server configurations", "additionalProperties": true }, "integration": { "type": "object", "description": "Integration configurations", "additionalProperties": true } }, "additionalProperties": true }