tasty-cloths-go/.opencode/plugin/file-protection.ts
2025-12-03 19:28:48 +05:00

28 lines
632 B
TypeScript

import type { Plugin } from "@opencode-ai/plugin";
import micromatch from "micromatch";
const uneditableFiles = [
".env",
".env.local",
".env.development",
".env.production",
"**/src/lib/**.ts",
"opencode.json",
"**/.opencode/**",
];
export const FileProtectionPlugin: Plugin = async () => {
return {
"tool.execute.before": async (input, output) => {
if (
input.tool === "edit" &&
uneditableFiles.some((pattern) =>
micromatch.isMatch(output.args.filePath, pattern)
)
) {
throw new Error(`Do not edit ${output.args.filePath} files`);
}
},
};
};