Skip to content
This repository was archived by the owner on May 15, 2026. It is now read-only.

Commit 70db387

Browse files
committed
fix: make content optional in RuleFile schema definition
The content property in RuleFile is now optional, matching the defensive runtime check in CustomModesManager that handles missing content. Only relativePath remains required.
1 parent d399085 commit 70db387

2 files changed

Lines changed: 21 additions & 3 deletions

File tree

schemas/roomodes.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
"RuleFile": {
5252
"type": "object",
5353
"description": "A rules file associated with a mode, used during import/export.",
54-
"required": ["relativePath", "content"],
54+
"required": ["relativePath"],
5555
"additionalProperties": false,
5656
"properties": {
5757
"relativePath": {

src/utils/__tests__/roomodes-schema.spec.ts

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -352,15 +352,33 @@ describe("roomodes JSON schema", () => {
352352
expect(valid).toBe(true)
353353
})
354354

355-
it("should reject rulesFiles entries missing required fields", () => {
355+
it("should accept rulesFiles entries with only relativePath (content is optional)", () => {
356+
const config = {
357+
customModes: [
358+
{
359+
slug: "path-only-rules",
360+
name: "Path Only Rules",
361+
roleDefinition: "A mode with rules files that only have relativePath.",
362+
groups: ["read"],
363+
rulesFiles: [{ relativePath: "rule1.md" }],
364+
},
365+
],
366+
}
367+
368+
const valid = validate(config)
369+
expect(validate.errors).toBeNull()
370+
expect(valid).toBe(true)
371+
})
372+
373+
it("should reject rulesFiles entries missing required relativePath", () => {
356374
const config = {
357375
customModes: [
358376
{
359377
slug: "bad-rules",
360378
name: "Bad Rules",
361379
roleDefinition: "A mode with invalid rules files.",
362380
groups: ["read"],
363-
rulesFiles: [{ relativePath: "rule1.md" }],
381+
rulesFiles: [{ content: "some content" }],
364382
},
365383
],
366384
}

0 commit comments

Comments
 (0)