From 48fe995b55a3e7bdd1e857b0785536d9b2ab0af9 Mon Sep 17 00:00:00 2001 From: mkorwel Date: Wed, 18 Mar 2026 23:30:40 -0700 Subject: [PATCH] feat(workspaces): darken tmux status bar and add pruning docs --- .gemini/skills/workspaces/SKILL.md | 1 + .gemini/skills/workspaces/scripts/orchestrator.ts | 14 +++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.gemini/skills/workspaces/SKILL.md b/.gemini/skills/workspaces/SKILL.md index fcf7dae2a6..89358e0dd3 100644 --- a/.gemini/skills/workspaces/SKILL.md +++ b/.gemini/skills/workspaces/SKILL.md @@ -27,6 +27,7 @@ This skill enables the agent to utilize **Gemini Workspaces**—a high-performan ``` - Actions: `review` (default), `fix`, `ready`. 3. **Check Status**: Poll the progress using `npm run workspace:check ` or see the global state with `npm run workspace:status`. +4. **Prune/Clean**: Cleanup old worktrees and dead sessions with `npm run workspace:clean` (all) or `npm run workspace:remove ` (specific). ## ⚠️ Important Constraints - **Absolute Paths**: Always use absolute paths (e.g., `/mnt/disks/data/...`) when orchestrating remote commands. diff --git a/.gemini/skills/workspaces/scripts/orchestrator.ts b/.gemini/skills/workspaces/scripts/orchestrator.ts index 8ed4f6ccd9..55fd80c718 100644 --- a/.gemini/skills/workspaces/scripts/orchestrator.ts +++ b/.gemini/skills/workspaces/scripts/orchestrator.ts @@ -100,15 +100,15 @@ export async function runOrchestrator(args: string[], env: NodeJS.ProcessEnv = p // PERSISTENCE: Wrap the entire execution in a tmux session inside the container // We also style the tmux bar here to be less intrusive and more informative const tmuxStyle = ` - set -g status-bg colour235; - set -g status-fg colour136; - set -g status-left-length 50; - set -g status-left '#[fg=colour235,bg=colour136,bold] WORKSPACE #[fg=colour136,bg=colour235,nobold] PR #${prNumber} (${action}) '; - set -g status-right '#[fg=colour245] %H:%M #[fg=colour235,bg=colour245,bold] #H '; - setw -g window-status-current-format '#[fg=colour235,bg=colour136,bold] #I:#W #[fg=colour136,bg=colour235,nobold]'; + tmux set -g status-bg colour238; + tmux set -g status-fg colour136; + tmux set -g status-left-length 50; + tmux set -g status-left '#[fg=colour238,bg=colour136,bold] WORKSPACE #[fg=colour136,bg=colour238,nobold] PR #${prNumber} (${action}) '; + tmux set -g status-right '#[fg=colour245] %H:%M #[fg=colour238,bg=colour245,bold] #H '; + tmux setw -g window-status-current-format '#[fg=colour238,bg=colour136,bold] #I:#W #[fg=colour136,bg=colour238,nobold]'; `.replace(/\n/g, ''); - const tmuxCmd = `tmux new-session -A -s ${sessionName} ${q(`tmux ${tmuxStyle} ; cd ${remoteWorktreeDir} && ${remoteWorker}; exec $SHELL`)}`; + const tmuxCmd = `tmux new-session -A -s ${sessionName} ${q(`${tmuxStyle} cd ${remoteWorktreeDir} && ${remoteWorker}; exec $SHELL`)}`; const containerWrap = `sudo docker exec -it ${authEnv}maintainer-worker sh -c ${q(tmuxCmd)}`; const finalSSH = provider.getRunCommand(containerWrap, { interactive: true });