{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-cli/schemas/appManifest.schema.json", "title": "Twenty App Manifest", "description": "Schema for Twenty application manifest files", "type": "object", "required": ["universalIdentifier", "name", "version", "license", "engines", "packageManager"], "properties": { "$schema": { "type": "string", "description": "JSON Schema reference for validation and IDE support" }, "universalIdentifier": { "type": "string", "description": "Unique identifier (UUID format recommended)", "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" }, "name": { "type": "string", "description": "Human-readable display name for the application", "minLength": 1, "maxLength": 200 }, "description": { "type": "string", "description": "Brief description of what the application does", "maxLength": 1000 }, "icon": { "type": "string", "description": "Icon for the application (emoji or icon name)", "maxLength": 50 }, "license": { "const": "MIT", "title": "The application's license", "description": "Currently only MIT is accepted, although more licenses will probably be available in the future." }, "engines": { "type": "object", "title": "The application's engines", "description": "Define engines here" }, "packageManager": { "const": "yarn@4.9.2", "title": "Package manager of the application" }, "version": { "type": "string", "description": "Semantic version of the application", "pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9-]+)?$" }, "dependencies": { "type": "object", "title": "The extension's source dependencies", "description": "Source dependencies following the npm package.json dependency format." }, "devDependencies": { "type": "object", "title": "The extension's source devDependencies", "description": "Dev dependencies following the npm package.json dependency format." }, "agents": { "type": "array", "description": "Optional inline agent definitions (agents are typically discovered from the agents/ folder)", "items": { "type": "object", "description": "Inline agent definition", "$ref": "https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-cli/schemas/agent.schema.json" } }, "objects": { "type": "array", "description": "Optional inline object definitions (objects are typically discovered from the objects/ folder)", "items": { "type": "object", "description": "Inline object definition", "$ref": "https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-cli/schemas/object.schema.json" } } }, "examples": [ { "standardId": "550e8400-e29b-41d4-a716-446655440000", "name": "Customer Support App", "description": "Comprehensive customer support application with AI agents", "icon": "🎧", "version": "1.0.0", "license": "MIT", "engines": { "node": "^24.5.0", "npm": "please-use-yarn", "yarn": ">=4.9.2" } } ] }