Problem (one or two sentences)
When I add # yaml-language-server: $schema=https://www.schemastore.org/roomodes.json to the top of a .roomodes file, the documented structure does not validate against it. If I modify the file to conform to the schema, Roo no longer seems to understand it.
Context (who is affected and when)
Developers who want to declare a schema with which to validate their configuration.
Reproduction steps
-
Export a built-in Roo mode (e.g. architect-export.yaml)
-
In VSCode, add the following at the top of the file:
# yaml-language-server: $schema=https://www.schemastore.org/roomodes.json
---
-
Observe validation errors
# yaml-language-server: $schema=https://www.schemastore.org/roomodes.json
---
customModes:
- slug: architect
name: 🏗️ Architect
# ...
# Property description is not allowed.
description: Plan and design before implementation
# ...
groups:
- read
# Incorrect type. Expected "string | Edit Permission with Path Restrictions".
# Value is not accepted. Valid values: "read", "edit", "browser", "command", "mcp".
- - edit
- fileRegex: \.md$
description: Markdown files only
- mcp
# Property source is not allowed.
source: project
According to the schema, a valid groups: configuration should look something like:
groups:
- read
- type: edit
allowedPaths: [\.md$]
- mcp
Expected result
The configuration structure validates against the JSON schema without errors.
Actual result
There are multiple validation errors.
Variations tried (optional)
No response
App Version
v3.50.4
API Provider (optional)
None
Model Used (optional)
No response
Roo Code Task Links (optional)
No response
Relevant logs or errors (optional)
<details>
<summary>VSCode Problems Export</summary>
[{
"resource": "<project path>/architect-export.yaml",
"owner": "_generated_diagnostic_collection_name_#0",
"code": "513",
"severity": 8,
"message": "Property description is not allowed.",
"source": "yaml-schema: Custom Mode",
"startLineNumber": 15,
"startColumn": 5,
"endLineNumber": 15,
"endColumn": 16,
"modelVersionId": 3,
"origin": "extHost2"
},{
"resource": "<project path>/architect-export.yaml",
"owner": "_generated_diagnostic_collection_name_#0",
"severity": 8,
"message": "Incorrect type. Expected \"string | Edit Permission with Path Restrictions\".",
"source": "yaml-schema: Simple Permission | Edit Permission with Path Restrictions",
"startLineNumber": 74,
"startColumn": 9,
"endLineNumber": 77,
"endColumn": 1,
"modelVersionId": 3,
"origin": "extHost2"
},{
"resource": "<project path>/architect-export.yaml",
"owner": "_generated_diagnostic_collection_name_#0",
"code": "1",
"severity": 8,
"message": "Value is not accepted. Valid values: \"read\", \"edit\", \"browser\", \"command\", \"mcp\".",
"source": "yaml-schema: Simple Permission",
"startLineNumber": 74,
"startColumn": 9,
"endLineNumber": 77,
"endColumn": 1,
"modelVersionId": 3,
"origin": "extHost2"
},{
"resource": "<project path>/architect-export.yaml",
"owner": "_generated_diagnostic_collection_name_#0",
"code": "513",
"severity": 8,
"message": "Property source is not allowed.",
"source": "yaml-schema: Custom Mode",
"startLineNumber": 78,
"startColumn": 5,
"endLineNumber": 78,
"endColumn": 11,
"modelVersionId": 3,
"origin": "extHost2"
}]
</details>
Problem (one or two sentences)
When I add
# yaml-language-server: $schema=https://www.schemastore.org/roomodes.jsonto the top of a.roomodesfile, the documented structure does not validate against it. If I modify the file to conform to the schema, Roo no longer seems to understand it.Context (who is affected and when)
Developers who want to declare a schema with which to validate their configuration.
Reproduction steps
Export a built-in Roo mode (e.g. architect-export.yaml)
In VSCode, add the following at the top of the file:
# yaml-language-server: $schema=https://www.schemastore.org/roomodes.json ---Observe validation errors
According to the schema, a valid
groups:configuration should look something like:Expected result
The configuration structure validates against the JSON schema without errors.
Actual result
There are multiple validation errors.
Variations tried (optional)
No response
App Version
v3.50.4
API Provider (optional)
None
Model Used (optional)
No response
Roo Code Task Links (optional)
No response
Relevant logs or errors (optional)