Skip to content

Add project groups and CodeMirror editors#3

Closed
aarlint wants to merge 2 commits intodoctly:mainfrom
aarlint:feature/project-groups
Closed

Add project groups and CodeMirror editors#3
aarlint wants to merge 2 commits intodoctly:mainfrom
aarlint:feature/project-groups

Conversation

@aarlint
Copy link

@aarlint aarlint commented Mar 14, 2026

Summary

Two enhancements to the Switchboard sidebar and viewer experience:

Project Groups (Folder Groups)

Adds collapsible named folder groups to the sidebar for organizing projects into logical categories.

  • Drag-and-drop projects into/out of groups for effortless organization
  • Inline rename via double-click on group headers
  • Tree-line connectors give visual hierarchy between groups and their projects
  • Collapse/expand groups to reduce sidebar clutter
  • Persisted state — group membership, collapse state, and names survive restarts via global settings
  • Search-aware — groups automatically flatten during search so no results are hidden
  • Full morphdom integration — sidebar updates are efficient DOM patches, not full re-renders

CodeMirror Editors for Memory, Skills, and Agents Viewers

Replaces read-only textContent rendering with full CodeMirror editors in the Memory, Skills, and Agents viewers.

  • Syntax highlighting and proper code editing matching the existing Plans viewer pattern
  • Save, Copy Content, and Copy Path action buttons added to each viewer header
  • Consistent UX across all file viewers — no more plain-text rendering for code files
  • Fix: Replaces hardcoded .claude string checks with CLAUDE_DIRNAME constant derived from CLAUDE_DIR for correct behavior across environments

Test Plan

  • Create, rename, and delete folder groups in the sidebar
  • Drag projects into and out of groups; verify persistence after restart
  • Collapse/expand groups; verify state persists
  • Search while groups exist — verify all matching sessions appear (groups flatten)
  • Open Memory, Skills, and Agents viewers — verify CodeMirror renders with syntax highlighting
  • Use Save, Copy Content, and Copy Path buttons in each viewer
  • Verify no regressions in Plans viewer or terminal behavior

🤖 Generated with Claude Code

@abasiri abasiri self-requested a review March 15, 2026 20:54
aarlint and others added 2 commits March 16, 2026 13:44
Replace read-only textContent rendering with full CodeMirror editors
matching the existing Plans viewer pattern. Add Save, Copy Content,
and Copy Path buttons to each viewer header. Fix hardcoded '.claude'
string checks to use CLAUDE_DIRNAME constant derived from CLAUDE_DIR.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Allows grouping projects under named collapsible folders with tree-line
connectors. Groups persist via global settings, support drag-and-drop
to add/remove projects, inline rename via double-click, and flatten
during search. Includes add-group button, delete button, and full
morphdom integration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@aarlint aarlint force-pushed the feature/project-groups branch from 1f1b801 to af461b4 Compare March 16, 2026 19:45
@aarlint aarlint changed the title Add project groups to sidebar Add project groups and CodeMirror editors Mar 16, 2026
@aarlint
Copy link
Author

aarlint commented Mar 16, 2026

Hey @abasiri, I rebased and cleaned up the pull requests into one. I hope this helps with the merge.

@abasiri
Copy link
Contributor

abasiri commented Mar 16, 2026

Thank you Aarlint, The design overall looks great. One thing I was thinking is if we should combine all the different tabs for the different files into a single one, instead of the Memory tab, just having one that has all the agent files. Claude was complaining that the file lookups were a bit fragile, so I'm going to review that piece in more detail.

@aarlint
Copy link
Author

aarlint commented Mar 17, 2026

Yeah, I was thinking those should actually be accessible / viewable at the project level since many of them are project specific. In design it could have one global tab for skills/agents/memories that exist in the ~.claude/ and each project would/could have its own subset. Let me see if i can refactor a bit

@aarlint
Copy link
Author

aarlint commented Mar 17, 2026

Superseded by #8 which adds the unified Config tab on top of these changes.

@aarlint aarlint closed this Mar 17, 2026
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.

2 participants