Skip to content

feat: Orchestration Session Screen Configuration for TUI Dashboard #3

@JeremyDev87

Description

@JeremyDev87

Summary

When taskMaestro orchestrates multiple Claude Code instances across tmux panes with git worktree isolation, there is no configurable screen layout for monitoring the orchestration session. Users need the ability to configure how orchestration session dashboards are displayed — including pane layout, panel visibility, and visual preferences.

This feature draws from codingbuddy's existing TUI dashboard architecture (apps/mcp-server/src/tui/) which already provides rich orchestration visualization (responsive grid layout, FlowMap, agent panels, activity sparklines, multi-session tabs) but currently has no user-facing configuration options — everything is hardcoded or auto-computed.

Problem

  1. No layout customization: TUI grid layout is fixed to 3 breakpoints (narrow/medium/wide) with hardcoded dimensions — users cannot choose which panels to show/hide or resize them
  2. No session display preferences: Multi-session tab bar format is auto-determined — users cannot set preferred view (compact vs full tabs)
  3. No theme customization: Neon/cyberpunk color palette is hardcoded — no ability to switch themes or customize colors
  4. No panel priority configuration: All 6 dashboard regions (header, checklist, flowMap, monitor, focusedAgent, stageHealth) are always rendered — users cannot prioritize which panels matter most for their workflow

Proposed Feature: Orchestration Session Screen Configuration

1. Layout Configuration

# .taskmaestro/screen.yml (or similar config file)
layout:
  mode: auto | narrow | medium | wide    # Override auto-detection
  panels:
    header: { visible: true, height: 3 }
    flowMap: { visible: true, priority: 1 }
    checklistPanel: { visible: true, priority: 2 }
    focusedAgent: { visible: true, priority: 3 }
    activityVisualizer: { visible: true, priority: 4 }
    stageHealth: { visible: true, height: 3 }
  flowMap:
    renderMode: full | simplified | compact   # Override auto-selection

Panel Priority: When terminal space is limited, lower-priority panels are hidden first. This replaces the current all-or-nothing approach.

2. Session Display Preferences

sessions:
  tabBar:
    style: full | compact | hidden         # Tab bar display style
    showStatus: true                        # Show ●/○/✗ status icons
    maxVisibleTabs: 5                       # Tabs before scrolling
  maxSessions: 10                           # Override MAX_SESSIONS default
  pollInterval: 5000                        # Session refresh interval (ms)

3. Theme Configuration

theme:
  preset: neon | minimal | solarized | custom
  custom:
    primary: cyan
    secondary: magenta
    running: green
    warning: yellow
    error: red
    done: green
    inactive: gray
  modeColors:
    PLAN: cyan
    ACT: magenta
    EVAL: yellow
    AUTO: green

4. Tmux Pane Integration

tmux:
  orchestratorPane:
    position: top | bottom | left | right   # Where the dashboard pane goes
    size: 30%                                # Percentage of terminal
  workerPanes:
    layout: tiled | even-horizontal | even-vertical | main-horizontal
    showBorders: true
    statusLine: agent-name | task-id | both

Reference: Existing TUI Architecture (codingbuddy)

The following components from apps/mcp-server/src/tui/ are relevant:

Component File Description
Grid Layout components/grid-layout.pure.ts Responsive 3-mode layout (narrow < 80, medium 80-119, wide >= 120 cols)
Header Bar components/HeaderBar.tsx Mode flow (PLAN→ACT→EVAL), global state spinner
Flow Map components/FlowMap.tsx Agent orchestration network visualization (3 render modes)
Activity Visualizer components/ActivityVisualizer.tsx Agent tree + active agent status card (60/40 split)
Checklist Panel components/ChecklistPanel.tsx Task items, context decisions, context notes
Focused Agent Panel components/FocusedAgentPanel.tsx Agent detail: avatar, progress, objectives, event log
Stage Health Bar components/StageHealthBar.tsx 60s sparkline, per-stage stats, bottleneck detection
Multi-Session Mgr ipc/multi-session-manager.ts Up to 10 concurrent sessions, Unix Domain Socket IPC
Dashboard State hooks/use-dashboard-state.ts 13 action types, full session state management
Theme utils/theme.ts Neon/cyberpunk color palette, status styles, mode colors

Acceptance Criteria

  • Config file schema defined (YAML or JSON)
  • Panel visibility and priority configuration working
  • Layout mode override (force narrow/medium/wide)
  • FlowMap render mode override (full/simplified/compact)
  • Session tab bar style configuration
  • Theme preset system with custom color support
  • Tmux pane layout integration for orchestrator dashboard
  • Config file hot-reload (apply changes without restart)
  • Fallback to sensible defaults when config is missing
  • Documentation with example configurations

Related

  • codingbuddy TUI source: apps/mcp-server/src/tui/
  • Grid layout: components/grid-layout.pure.ts
  • Theme: utils/theme.ts
  • Multi-session: ipc/multi-session-manager.ts

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions