Skip to content

Feature: Workspaces - Organize sessions into logical groups #17

@vultuk

Description

@vultuk

Description

Implement a workspace system to organize related sessions into logical groups, similar to VS Code workspaces or browser profiles.

Problem Statement

  • Sessions pile up without organization
  • Difficult to separate work/personal/project sessions
  • No way to save and restore session groups
  • Context switching between projects is manual

Workspace Features

Core Functionality

  • Create Workspace: Name and describe workspace purpose
  • Add Sessions: Assign existing or new sessions to workspace
  • Switch Workspaces: Load all sessions in a workspace
  • Save State: Preserve session arrangement and settings
  • Workspace Isolation: Separate environment variables per workspace

Workspace Management

📁 Workspaces
├── 🏢 Work Project A
│   ├── Backend API
│   ├── Frontend Dev
│   └── Database Console
├── 🔬 Research
│   ├── Data Analysis
│   ├── Model Training
│   └── Jupyter Server
└── 🏠 Personal
    ├── Blog Development
    └── Side Project

Workspace Actions

  • Quick Switch: Dropdown or sidebar for workspace selection
  • Bulk Operations: Start/stop all sessions in workspace
  • Clone Workspace: Duplicate with all settings
  • Export/Import: Share workspace configurations
  • Archive: Hide inactive workspaces

Session Templates per Workspace

  • Define default sessions for new workspaces
  • Auto-start specific sessions on workspace load
  • Set default working directories
  • Configure environment variables
  • Pre-run initialization commands

Workspace Settings

  • Theme: Different color schemes per workspace
  • Layout: Remember window arrangements
  • Resources: CPU/memory limits per workspace
  • Permissions: Read-only or restricted workspaces
  • Scheduling: Auto-start/stop at specific times

Advanced Features

Workspace Sync

  • Cloud sync across devices
  • Team workspace sharing
  • Version control for workspace configs
  • Conflict resolution for concurrent edits

Smart Features

  • Auto-organization: Suggest workspace based on directory
  • Session migration: Move sessions between workspaces
  • Workspace templates: Pre-configured for common stacks
  • Activity tracking: Time spent per workspace

Integration Points

  • Git branch detection (auto-create workspace per branch)
  • Docker compose integration
  • VS Code workspace file compatibility
  • Import from other terminal multiplexers

UI/UX Design

  • Workspace switcher in header
  • Visual indicators for active workspace
  • Workspace overview dashboard
  • Drag-and-drop session organization
  • Keyboard shortcuts for workspace operations

Benefits

  • Better organization for power users
  • Faster context switching
  • Improved productivity
  • Team collaboration features
  • Reduced cognitive load

Implementation Approach

  1. Define workspace data model
  2. Implement workspace CRUD operations
  3. Add session-workspace associations
  4. Build workspace switcher UI
  5. Implement state persistence
  6. Add advanced features progressively

Configuration Example

{
  "workspace": {
    "name": "E-commerce Platform",
    "id": "workspace-123",
    "sessions": [
      {
        "name": "API Server",
        "directory": "/projects/api",
        "autoStart": true,
        "command": "npm run dev"
      },
      {
        "name": "Frontend",
        "directory": "/projects/frontend",
        "autoStart": true
      }
    ],
    "environment": {
      "NODE_ENV": "development",
      "API_URL": "http://localhost:3000"
    },
    "theme": "dark",
    "layout": "split-horizontal"
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions