Skip to content

Commit dc22a0d

Browse files
committed
icon adjustment, docs coordination, sidebar adjustment, cmux and zellij polish
1 parent eea99c2 commit dc22a0d

92 files changed

Lines changed: 1215 additions & 332 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/vscode-extension.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@ on:
55
branches: [main]
66
paths:
77
- 'vscode-extension/**'
8+
- 'icons/**'
89
- '.github/workflows/vscode-extension.yaml'
910
pull_request:
1011
branches: [main]
1112
paths:
1213
- 'vscode-extension/**'
14+
- 'icons/**'
1315
workflow_dispatch:
1416
inputs:
1517
publish:

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,25 @@
33
# Operator!
44
[![GitHub Tag](https://img.shields.io/github/v/tag/untra/operator)](https://github.com/untra/operator/releases) [![codecov](https://codecov.io/gh/untra/operator/branch/main/graph/badge.svg)](https://codecov.io/gh/untra/operator) [![VS Code Marketplace Installs](https://img.shields.io/visual-studio-marketplace/i/untra.operator-terminals?label=VS%20Code%20Installs)](https://marketplace.visualstudio.com/items?itemName=untra.operator-terminals)
55

6+
**Session** [![tmux](https://img.shields.io/badge/tmux-1BB91F?logo=tmux&logoColor=white)](https://operator.untra.io/getting-started/sessions/tmux/) [![cmux](https://img.shields.io/badge/cmux-333333)](https://operator.untra.io/getting-started/sessions/cmux/) [![Zellij](https://img.shields.io/badge/Zellij-E8590C)](https://operator.untra.io/getting-started/sessions/zellij/) [![VS Code](https://img.shields.io/badge/VS_Code-007ACC?logo=visualstudiocode&logoColor=white)](https://operator.untra.io/getting-started/sessions/vscode/) **|** **LLM Tool** [![Claude](https://img.shields.io/badge/Claude-D97757?logo=claude&logoColor=white)](https://operator.untra.io/getting-started/agents/claude/) [![Codex](https://img.shields.io/badge/Codex-000000?logo=openai&logoColor=white)](https://operator.untra.io/getting-started/agents/codex/) [![Gemini CLI](https://img.shields.io/badge/Gemini_CLI-8E75B2?logo=googlegemini&logoColor=white)](https://operator.untra.io/getting-started/agents/gemini-cli/) **|** **Kanban Provider** [![Jira](https://img.shields.io/badge/Jira-0052CC?logo=jira&logoColor=white)](https://operator.untra.io/getting-started/kanban/jira/) [![Linear](https://img.shields.io/badge/Linear-5E6AD2?logo=linear&logoColor=white)](https://operator.untra.io/getting-started/kanban/linear/) **|** **Git Version Control** [![GitHub](https://img.shields.io/badge/GitHub-181717?logo=github&logoColor=white)](https://operator.untra.io/getting-started/git/github/) [![GitLab](https://img.shields.io/badge/GitLab-FC6D26?logo=gitlab&logoColor=white)](https://operator.untra.io/getting-started/git/gitlab/)
67

78
An orchestration tool for [**AI-assisted**](https://operator.untra.io/getting-started/agents/) [_kanban-shaped_](https://operator.untra.io/getting-started/kanban/) [git-versioned](https://operator.untra.io/getting-started/git/) software development.
89

910
<a href="https://marketplace.visualstudio.com/items?itemName=untra.operator-terminals" target="_blank" class="button">Install <b>Operator! Terminals</b> extension from Visual Studio Code Marketplace</a>
1011

11-
**Operator** is for you if:
12+
**Operator** is for you if:
1213

13-
- you do work assigned from tickets on a kanban board , such as [_Jira Cloud_](https://operator.untra.io/getting-started/kanban/jira/) or [_Linear_](https://operator.untra.io/getting-started/kanban/linear/)
14-
- you use llm assisted coding agent tools to accomplish work, such as [_Claude Code_](https://operator.untra.io/getting-started/agents/claude/), [_OpenAI Codex_](https://operator.untra.io/getting-started/agents/codex/)
15-
- your work is version controlled with git repository provider (like [_Github_](https://operator.untra.io/getting-started/git/github/))
14+
- you do work assigned from tickets on a kanban board, such as [_Jira Cloud_](https://operator.untra.io/getting-started/kanban/jira/) or [_Linear_](https://operator.untra.io/getting-started/kanban/linear/)
15+
- you use LLM assisted coding agent tools to accomplish work, such as [_Claude Code_](https://operator.untra.io/getting-started/agents/claude/), [_OpenAI Codex_](https://operator.untra.io/getting-started/agents/codex/), or [_Gemini CLI_](https://operator.untra.io/getting-started/agents/gemini-cli/)
16+
- your work is version controlled with a git repository provider like [_GitHub_](https://operator.untra.io/getting-started/git/github/) or [_GitLab_](https://operator.untra.io/getting-started/git/gitlab/)
1617

1718
- you are drowning in the AI software development soup.
1819

1920
and you are ready to start seriously automating your work.
2021

2122
## Overview
2223

23-
`operator` is a TUI (terminal user interface) application that uses [Tmux](https://github.com/tmux/tmux/wiki) to manages multiple Claude Code agents across multi-project workspaces of many codebases. It is designed to be ticket-first, starting claude code keyed off from markdown stories from a ticketing provider. It provides:
24+
`operator` is a TUI (terminal user interface) application that uses session wrappers ([tmux](https://operator.untra.io/getting-started/sessions/tmux/), [cmux](https://operator.untra.io/getting-started/sessions/cmux/), [Zellij](https://operator.untra.io/getting-started/sessions/zellij/), or [VS Code](https://operator.untra.io/getting-started/sessions/vscode/)) to manage multiple AI coding agents across multi-project workspaces of many codebases. It is designed to be ticket-first, starting claude code keyed off from markdown stories from a ticketing provider. It provides:
2425

2526
- **Queue Management**: ticket queue with priority-based work assignment, launchable from a dashboard
2627
- **Agent Orchestration**: Launch, monitor, pause/resume Claude Desktop agents against kanban shaped work tickets, and track the ticket progress as it goes through your defined work implementation steps

bindings/ActiveAgentResponse.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,20 @@ started_at: string,
3535
/**
3636
* Current workflow step
3737
*/
38-
current_step: string | null, };
38+
current_step: string | null,
39+
/**
40+
* Which session wrapper is in use: "tmux", "vscode", "cmux", or "zellij"
41+
*/
42+
session_wrapper: string | null,
43+
/**
44+
* Session window reference ID (e.g. cmux window, tmux session)
45+
*/
46+
session_window_ref: string | null,
47+
/**
48+
* Session context reference (e.g. cmux workspace, zellij session)
49+
*/
50+
session_context_ref: string | null,
51+
/**
52+
* Session pane reference (e.g. cmux surface, zellij pane)
53+
*/
54+
session_pane_ref: string | null, };

bindings/LaunchTicketRequest.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,15 @@
55
*/
66
export type LaunchTicketRequest = {
77
/**
8-
* LLM provider to use (e.g., "claude")
8+
* Named delegator to use (takes precedence over provider/model)
9+
*/
10+
delegator: string | null,
11+
/**
12+
* LLM provider to use (e.g., "claude") — legacy fallback when no delegator
913
*/
1014
provider: string | null,
1115
/**
12-
* Model to use (e.g., "sonnet", "opus")
16+
* Model to use (e.g., "sonnet", "opus") — legacy fallback when no delegator
1317
*/
1418
model: string | null,
1519
/**

bindings/LaunchTicketResponse.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ session_wrapper: string | null,
3636
* Session window reference ID (e.g. cmux window, tmux session)
3737
*/
3838
session_window_ref: string | null,
39+
/**
40+
* Session context reference (e.g. cmux workspace, zellij session)
41+
*/
42+
session_context_ref: string | null,
3943
/**
4044
* Session UUID for the LLM tool
4145
*/

bindings/VsCodeLaunchOptions.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@ import type { VsCodeModelOption } from "./VsCodeModelOption";
66
*/
77
export type VsCodeLaunchOptions = {
88
/**
9-
* Model to use (sonnet, opus, haiku)
9+
* Named delegator to use (takes precedence over model)
10+
*/
11+
delegator: string | null,
12+
/**
13+
* Model to use (sonnet, opus, haiku) — fallback when no delegator
1014
*/
1115
model: VsCodeModelOption,
1216
/**

docs/_data/navigation.yml

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,30 @@ docs:
77
url: /getting-started/prerequisites/
88
- title: Installation
99
url: /getting-started/installation/
10+
- title: Supported Session Management
11+
url: /getting-started/sessions/
12+
children:
13+
- title: tmux
14+
url: /getting-started/sessions/tmux/
15+
icon: tmux
16+
- title: cmux
17+
url: /getting-started/sessions/cmux/
18+
icon: cmux
19+
- title: Zellij
20+
url: /getting-started/sessions/zellij/
21+
icon: zellij
22+
- title: VS Code Extension
23+
url: /getting-started/sessions/vscode/
24+
icon: vscode
25+
- title: Supported Kanban Providers
26+
url: /getting-started/kanban/
27+
children:
28+
- title: Jira Cloud
29+
url: /getting-started/kanban/jira/
30+
icon: jira
31+
- title: Linear
32+
url: /getting-started/kanban/linear/
33+
icon: linear
1034
- title: Supported Coding Agents
1135
url: /getting-started/agents/
1236
children:
@@ -19,21 +43,15 @@ docs:
1943
- title: Gemini CLI
2044
url: /getting-started/agents/gemini-cli/
2145
icon: gemini
22-
- title: Supported Kanban Providers
23-
url: /getting-started/kanban/
24-
children:
25-
- title: Jira Cloud
26-
url: /getting-started/kanban/jira/
27-
icon: jira
28-
- title: Linear
29-
url: /getting-started/kanban/linear/
30-
icon: linear
3146
- title: Supported Git Repositories
3247
url: /getting-started/git/
3348
children:
3449
- title: GitHub
3550
url: /getting-started/git/github/
3651
icon: github
52+
- title: GitLab
53+
url: /getting-started/git/gitlab/
54+
icon: gitlab
3755
- title: Supported Notification Integrations
3856
url: /getting-started/notifications/
3957
children:
@@ -43,15 +61,6 @@ docs:
4361
- title: Operating System
4462
url: /getting-started/notifications/os/
4563
icon: notification
46-
- title: Supported Session Management
47-
url: /getting-started/sessions/
48-
children:
49-
- title: tmux
50-
url: /getting-started/sessions/tmux/
51-
icon: tmux
52-
- title: VS Code Extension
53-
url: /getting-started/sessions/vscode/
54-
icon: vscode
5564
- title: Core
5665
children:
5766
- title: Kanban

docs/_includes/sidebar.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
{% for grandchild in item.children %}
5050
<li>
5151
<a href="{{ grandchild.url | relative_url }}" {% if page.url == grandchild.url %}class="active"
52-
{% endif %}>{% if grandchild.icon %}<span class="nav-icon"><img class="icon-light" src="{{ '/assets/icons/' | append: grandchild.icon | append: '-light.svg' | relative_url }}" alt="" width="16" height="16"><img class="icon-dark" src="{{ '/assets/icons/' | append: grandchild.icon | append: '-dark.svg' | relative_url }}" alt="" width="16" height="16"></span>{% endif %}{{ grandchild.title }}</a>
52+
{% endif %}>{% if grandchild.icon %}<span class="nav-icon"><img src="{{ '/assets/icons/' | append: grandchild.icon | append: '.svg' | relative_url }}" alt="" width="16" height="16"></span>{% endif %}{{ grandchild.title }}</a>
5353
</li>
5454
{% endfor %}
5555
</ul>

docs/assets/css/main.css

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -323,22 +323,9 @@ summary.nav-item-row::-webkit-details-marker {
323323
object-fit: contain;
324324
}
325325

326-
/* Light/dark icon swapping - show light by default */
327-
.nav-icon .icon-dark {
328-
display: none;
329-
}
330-
331-
.nav-icon .icon-light {
332-
display: inline-block;
333-
}
334-
335-
/* In dark mode, show dark icons and hide light icons */
336-
[data-theme="dark"] .nav-icon .icon-dark {
337-
display: inline-block;
338-
}
339-
340-
[data-theme="dark"] .nav-icon .icon-light {
341-
display: none;
326+
/* Dark mode: invert icon colors */
327+
[data-theme="dark"] .nav-icon img {
328+
filter: invert(1) brightness(1.1) sepia(0.3);
342329
}
343330

344331
/* Downloads nav link - highlighted */

docs/assets/icons/claude.svg

Lines changed: 3 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)