| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- {
- "type": "object",
- "properties": {
- "customModes": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "slug": {
- "type": "string",
- "pattern": "^[a-zA-Z0-9-]+$"
- },
- "name": {
- "type": "string",
- "minLength": 1
- },
- "roleDefinition": {
- "type": "string",
- "minLength": 1
- },
- "whenToUse": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "customInstructions": {
- "type": "string"
- },
- "source": {
- "type": "string",
- "enum": ["global", "project"]
- },
- "groups": {
- "type": "array",
- "items": {
- "anyOf": [
- {
- "type": "string",
- "enum": ["read", "edit", "command", "mcp", "modes", "browser"]
- },
- {
- "type": "array",
- "minItems": 2,
- "maxItems": 2,
- "items": [
- {
- "type": "string",
- "enum": ["read", "edit", "command", "mcp", "modes", "browser"]
- },
- {
- "type": "object",
- "properties": {
- "fileRegex": {
- "type": "string"
- },
- "description": {
- "type": "string"
- }
- },
- "additionalProperties": false
- }
- ]
- }
- ]
- }
- },
- "rulesFiles": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "relativePath": {
- "type": "string"
- },
- "content": {
- "type": "string"
- }
- },
- "required": ["relativePath"],
- "additionalProperties": false
- }
- }
- },
- "required": ["slug", "name", "roleDefinition", "groups"],
- "additionalProperties": false
- }
- }
- },
- "required": ["customModes"],
- "additionalProperties": false,
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "https://github.com/RooCodeInc/Roo-Code/blob/main/schemas/roomodes.json",
- "title": "Roo Code Custom Modes",
- "description": "Schema for .roomodes configuration files used by Roo Code to define custom modes."
- }
|