diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts index 88fff6bf..e26d879a 100644 --- a/packages/opencode/src/config/config.ts +++ b/packages/opencode/src/config/config.ts @@ -233,6 +233,7 @@ export namespace Config { theme: z.string().optional().describe("Theme name to use for the interface"), keybinds: Keybinds.optional().describe("Custom keybind configurations"), plugin: z.string().array().optional(), + snapshot: z.boolean().optional(), share: z .enum(["manual", "auto", "disabled"]) .optional() diff --git a/packages/opencode/src/snapshot/index.ts b/packages/opencode/src/snapshot/index.ts index 2dd1c06f..0c8cc5e8 100644 --- a/packages/opencode/src/snapshot/index.ts +++ b/packages/opencode/src/snapshot/index.ts @@ -5,6 +5,7 @@ import fs from "fs/promises" import { Log } from "../util/log" import { Global } from "../global" import { z } from "zod" +import { Config } from "../config/config" export namespace Snapshot { const log = Log.create({ service: "snapshot" }) @@ -26,6 +27,8 @@ export namespace Snapshot { export async function track() { const app = App.info() if (!app.git) return + const cfg = await Config.get() + if (cfg.snapshot === false) return const git = gitdir() if (await fs.mkdir(git, { recursive: true })) { await $`git init`