Skip to content

feat(sidebar): workspace groups — manual cross-repo bundles#2102

Open
dragonfire1119 wants to merge 20 commits into
stablyai:mainfrom
dragonfire1119:feat/sidebar-link-related-workspaces
Open

feat(sidebar): workspace groups — manual cross-repo bundles#2102
dragonfire1119 wants to merge 20 commits into
stablyai:mainfrom
dragonfire1119:feat/sidebar-link-related-workspaces

Conversation

@dragonfire1119
Copy link
Copy Markdown
Contributor

@dragonfire1119 dragonfire1119 commented May 16, 2026

Summary

Adds Workspace Groups: manually-named, cross-repo bundles of worktrees in the
sidebar. Backend + frontend workspaces for the same feature can now live under
one collapsible header with a shared color stripe that follows them through any
groupBy mode (flat, none, repo, pr-status, group) and into the
workspace board.

Design summary

  • Single membership per worktree (workspaceGroupId on WorktreeMeta).
  • 8-color palette subset of the workspace-status palette (no conductor-*).
  • New 'group' view in the groupBy picker.
  • Group members cluster contiguously in every view; 'group' view adds the
    header + collapse + drag-and-drop + Ungrouped bucket.
  • Group color stripe rendered on each member card across sidebar + board.
  • Status auto-syncs across group members. Changing one member's
    workspaceStatus propagates to all members of its group so a feature bundle
    moves through the board as one unit.
  • Ungroup dissolves the group; workspaces survive as ungrouped.

Acceptance criteria

  • 1. Right-click → "Add to group → New group…" → name → Enter creates a group
  • 2. Add a workspace from a different repo to that group
  • 3. Colored stripe visible on grouped workspaces in flat, none, repo,
    pr-status, group views
  • 4. "Ungroup" dissolves group, members survive
  • 5. "Remove from group" on single member; group survives
  • 6. Restart app → groups, names, colors, sortOrder, collapse restored
  • 7. Drag workspace onto group header → joins group
  • 8. Drag workspace onto "Ungrouped" → cleared
  • 9. Drag-reorder group headers persists across restart
  • 10. Pinned grouped workspace appears under PINNED with color stripe

Test plan

  • Unit tests passing (workspace-groups helpers, action helpers, persistence,
    cluster fns, IPC updateMeta pass-through)
  • pnpm typecheck clean
  • Manual AC Linux support #1-10 walked
  • Screenshots / recording attached below

Screenshots

Workspace list:

Screenshot 2026-05-16 at 2 31 59 PM

Workspace Board:

Screenshot 2026-05-16 at 3 13 31 PM

Context menu:

Screenshot 2026-05-16 at 3 13 46 PM

View options:

Screenshot 2026-05-16 at 3 21 26 PM

@dragonfire1119 dragonfire1119 force-pushed the feat/sidebar-link-related-workspaces branch 4 times, most recently from 5d4764e to 18790a4 Compare May 18, 2026 04:19
@dragonfire1119 dragonfire1119 force-pushed the feat/sidebar-link-related-workspaces branch from 18790a4 to 9e24e7f Compare May 18, 2026 04:42
@chansantheman
Copy link
Copy Markdown

I was thinking of such a thing the other day +1

@nwparker
Copy link
Copy Markdown
Contributor

Looking at this!
@chansantheman you should join the Discord -- will be easier to chat.

But since you're here, can you let me know what your use case is?
Curious too @dragonfire1119 but I'll also ask on Discord

@chansantheman
Copy link
Copy Markdown

I am on discord - happy to convo there, but to answer you question: more of a workflow thing.

branches, worktrees, all support well, but worktrees allows for the mental model of multiple ais tackling same subject of a task.

ex. i work on various items at a time. it would be nice to group

feat 1 (gemini task, codex task, claude task) away from
feat 2 (gemini task, codex task, claude task) that looks exactly the same.

//

bug 1 (gemini task, codex task, claude task) away from
bug 2 (gemini task, codex task, claude task) that looks exactly the same.

@AmethystLiang AmethystLiang requested a review from nwparker May 19, 2026 19:15
@nwparker
Copy link
Copy Markdown
Contributor

@chansantheman @dragonfire1119
What do you guys feel about this? Very rough idea
image

image

Will let you select multiple repos here.
Woudl that solve your asks? If not LMK! Just trying to gather info right now

@nwparker
Copy link
Copy Markdown
Contributor

If you want to try/see :
#2384

Must enable under experimental

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants