roomodes.json 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. {
  2. "type": "object",
  3. "properties": {
  4. "customModes": {
  5. "type": "array",
  6. "items": {
  7. "type": "object",
  8. "properties": {
  9. "slug": {
  10. "type": "string",
  11. "pattern": "^[a-zA-Z0-9-]+$"
  12. },
  13. "name": {
  14. "type": "string",
  15. "minLength": 1
  16. },
  17. "roleDefinition": {
  18. "type": "string",
  19. "minLength": 1
  20. },
  21. "whenToUse": {
  22. "type": "string"
  23. },
  24. "description": {
  25. "type": "string"
  26. },
  27. "customInstructions": {
  28. "type": "string"
  29. },
  30. "source": {
  31. "type": "string",
  32. "enum": ["global", "project"]
  33. },
  34. "groups": {
  35. "type": "array",
  36. "items": {
  37. "anyOf": [
  38. {
  39. "type": "string",
  40. "enum": ["read", "edit", "command", "mcp", "modes", "browser"]
  41. },
  42. {
  43. "type": "array",
  44. "minItems": 2,
  45. "maxItems": 2,
  46. "items": [
  47. {
  48. "type": "string",
  49. "enum": ["read", "edit", "command", "mcp", "modes", "browser"]
  50. },
  51. {
  52. "type": "object",
  53. "properties": {
  54. "fileRegex": {
  55. "type": "string"
  56. },
  57. "description": {
  58. "type": "string"
  59. }
  60. },
  61. "additionalProperties": false
  62. }
  63. ]
  64. }
  65. ]
  66. }
  67. },
  68. "rulesFiles": {
  69. "type": "array",
  70. "items": {
  71. "type": "object",
  72. "properties": {
  73. "relativePath": {
  74. "type": "string"
  75. },
  76. "content": {
  77. "type": "string"
  78. }
  79. },
  80. "required": ["relativePath"],
  81. "additionalProperties": false
  82. }
  83. }
  84. },
  85. "required": ["slug", "name", "roleDefinition", "groups"],
  86. "additionalProperties": false
  87. }
  88. }
  89. },
  90. "required": ["customModes"],
  91. "additionalProperties": false,
  92. "$schema": "http://json-schema.org/draft-07/schema#",
  93. "$id": "https://github.com/RooCodeInc/Roo-Code/blob/main/schemas/roomodes.json",
  94. "title": "Roo Code Custom Modes",
  95. "description": "Schema for .roomodes configuration files used by Roo Code to define custom modes."
  96. }