diff --git a/src/core/protect/RooProtectedController.ts b/src/core/protect/RooProtectedController.ts index f4d80c4d64..d498457ffd 100644 --- a/src/core/protect/RooProtectedController.ts +++ b/src/core/protect/RooProtectedController.ts @@ -19,9 +19,10 @@ export class RooProtectedController { ".clinerules*", ".roo/**", ".vscode/**", + "*.code-workspace", ".rooprotected", // For future use "AGENTS.md", - "AGENT.md", // Alternative singular form for compatibility + "AGENT.md", ] constructor(cwd: string) { diff --git a/src/core/protect/__tests__/RooProtectedController.spec.ts b/src/core/protect/__tests__/RooProtectedController.spec.ts index f19cf17548..974ad02839 100644 --- a/src/core/protect/__tests__/RooProtectedController.spec.ts +++ b/src/core/protect/__tests__/RooProtectedController.spec.ts @@ -44,6 +44,13 @@ describe("RooProtectedController", () => { expect(controller.isWriteProtected(".vscode/tasks.json")).toBe(true) }) + it("should protect .code-workspace files", () => { + expect(controller.isWriteProtected("myproject.code-workspace")).toBe(true) + expect(controller.isWriteProtected("pentest.code-workspace")).toBe(true) + expect(controller.isWriteProtected(".code-workspace")).toBe(true) + expect(controller.isWriteProtected("folder/workspace.code-workspace")).toBe(true) + }) + it("should protect AGENTS.md file", () => { expect(controller.isWriteProtected("AGENTS.md")).toBe(true) }) @@ -149,6 +156,7 @@ describe("RooProtectedController", () => { ".clinerules*", ".roo/**", ".vscode/**", + "*.code-workspace", ".rooprotected", "AGENTS.md", "AGENT.md",