feat: migrate to OpenCode SDK worktrees with per-project config

Add SDK-based worktree management that lists and starts SDK worktrees
Migrate per-project setup to ~/.config/openchamber/<projectId>.json
Deprecate .openchamber legacy paths and adapt UI to new config
This commit is contained in:
Bohdan Triapitsyn
2026-01-27 20:00:07 +02:00
parent 63a4c32dfa
commit 415b043326
32 changed files with 1514 additions and 897 deletions
@@ -124,9 +124,6 @@ const sanitizeProjects = (value: unknown): ProjectEntry[] => {
if (candidate.worktreeDefaults && typeof candidate.worktreeDefaults === 'object') {
const wt = candidate.worktreeDefaults as Record<string, unknown>;
const defaults: WorktreeDefaults = {};
if (typeof wt.branchPrefix === 'string') {
defaults.branchPrefix = wt.branchPrefix;
}
if (typeof wt.baseBranch === 'string') {
defaults.baseBranch = wt.baseBranch;
}
@@ -463,13 +460,6 @@ export const useProjectsStore = create<ProjectsStore>()(
}
const merged: WorktreeDefaults = { ...target.worktreeDefaults };
if (defaults.branchPrefix !== undefined) {
if (defaults.branchPrefix.trim()) {
merged.branchPrefix = defaults.branchPrefix.trim();
} else {
delete merged.branchPrefix;
}
}
if (defaults.baseBranch !== undefined) {
if (defaults.baseBranch.trim()) {
merged.baseBranch = defaults.baseBranch.trim();