Skip to content

Releases: stephengolub/opencode-workspaces

v0.2.1

Choose a tag to compare

@stephengolub stephengolub released this 15 Apr 18:07
4ee7cf2

Remove duplicate workspace.manage command that conflicted with built-in /workspaces slash command.

v0.2.0 — Lean on built-in workspace UI

Choose a tag to compare

@stephengolub stephengolub released this 15 Apr 18:00
df8d9ab

v0.2.0

Breaking change

Requires OPENCODE_EXPERIMENTAL_WORKSPACES=1 (or OPENCODE_EXPERIMENTAL=1). The plugin now delegates workspace list, create, delete, and reset to OpenCode's built-in UI and focuses on the UX gaps it fills uniquely.

What's removed (now handled by built-in)

  • Toggle enable/disable (command.workspace.toggle is built-in)
  • Delete workspace dialog (built-in /workspaces has better UX with unmerged-change detection)
  • Reset workspace dialog (built-in handles session archiving)
  • Sidebar workspace list (sidebar_content slot — built-in renders its own list)
  • Worktree API fallback and synthetic workspace fabrication

What's kept (plugin-unique)

  • Switch workspace dialog with status indicators
  • Rename workspace (KV-persisted display names)
  • Home dashboard card (home_bottom slot)
  • Prompt badge showing current workspace (home_prompt_right slot)
  • Sidebar footer actions: + new / ⎇ switch / ≡ manage
  • Full manage route (/workspaces)
  • Slash commands: /ws, /ws-new, /ws-switch, /ws-sessions, /wsm, /wsc, /wsl
  • Session browser grouped by workspace

What's new

  • createWorkspace() now calls experimental.workspace.create() directly (was using worktree.create())

v0.1.5

Choose a tag to compare

@stephengolub stephengolub released this 15 Apr 17:21
1cdcc92

Fix npm plugin loading: use actual .ts/.tsx extensions in imports

OpenCode's bun-plugin-solid calls readFileSync() on import paths during analysis. The TypeScript ESM convention of using .js extensions (e.g. './components.js') was causing ENOENT errors since the actual files are .tsx/.ts. This was the root cause of the silent plugin load failure when installed from npm.

v0.1.4

Choose a tag to compare

@stephengolub stephengolub released this 15 Apr 16:50
ca62966

Fix: Add @jsxImportSource pragma to all JSX source files.

Without the per-file JSX pragma, Bun cannot determine the JSX transform when loading source files from the npm cache (no tsconfig.json is available in the installed package). This caused the plugin to silently fail when configured as an npm plugin.

The fix matches the pattern used by oc-plugin-rainbow and other working TUI plugins.

v0.1.3

Choose a tag to compare

@stephengolub stephengolub released this 15 Apr 16:31
a11f35b

Fix: mark tui peer deps as required so npm installs solid-js and @OpenTui

Root cause: @opentui/solid, @opentui/core and solid-js were marked as optional peer deps, causing npm to skip them during installation. Without these packages, the Bun JSX transform plugin and solid-js cannot be resolved at runtime, silently preventing the TUI plugin from loading.

Fix: Only @opencode-ai/plugin remains optional (it's provided by the OpenCode host). The three TUI framework packages are now required peer deps and will be installed automatically.

v0.1.2

Choose a tag to compare

@stephengolub stephengolub released this 15 Apr 16:20
dfd42d6

Fixes

  • npm plugin loading: Align package.json with TUI plugin ecosystem conventions so OpenCode can resolve and load the plugin when configured as "plugin": ["opencode-workspaces"] in tui.json
    • Simplify ./tui export to plain string ./src/index.tsx (matches 79% of working plugins)
    • Move @opencode-ai/plugin from dependencies → peerDependencies + devDependencies (eliminates 27-package transitive dep bloat in cached install)
    • Remove dist/ from published files (entry point is now src/ directly)
    • Fix prepublishOnly script: use npm run build instead of bun run build

v0.1.1

Choose a tag to compare

@stephengolub stephengolub released this 15 Apr 15:59
dbea0b0

Fix npm plugin loading by pointing ./tui export at source (src/index.tsx) instead of compiled dist/index.jsx.

OpenCode's Bun runtime loads TUI plugins directly from source — aligned with the 79% of ecosystem TUI plugins that use this convention.

v0.1.0

Choose a tag to compare

@stephengolub stephengolub released this 15 Apr 15:07
c8e7233

Initial release of opencode-workspaces — TUI workspace management plugin for OpenCode.

Features

  • Git worktree management in the TUI (no terminal spawning)
  • Create, switch, rename, reset, delete workspaces
  • Sidebar workspace list with current session highlighted
  • Home screen dashboard and workspace badge
  • Full-screen manage route with keyboard navigation
  • Session browser grouped by workspace
  • Slash commands: /ws, /ws-new, /ws-switch, /ws-session, /ws-sessions, /workspaces
  • Session scoping — new sessions created in the correct worktree directory