<p>If you spend your days hopping between projects, you know the little rituals by heart. Open a terminal. <code>cd</code> into the right folder. Open another tab for the dev server. Squint at the prompt to remember which branch you're on. Pop open your editor. Realize you're in the wrong project. Start again.</p><p>None of these steps are hard. But there are <em>so many</em> of them, and they quietly add up — a hundred tiny papercuts between you and the thing you actually wanted to do.</p><p><strong>Elyra Conductor</strong> is our answer to that. It's a single, calm cockpit for every local project on your machine: pick a project from the sidebar and it opens in a terminal rooted right where you need it. Split panes however you like, browse the files, quick-edit inline, and launch your real editor — all without leaving the window.</p><h2>Why we built it</h2><p>There are plenty of terminals, plenty of editors, and plenty of multiplexers. What there <em>wasn't</em>, for us, was a comfortable place to stand <strong>in between</strong> all of them — something that knows about your projects, not just your shell.</p><p>So Conductor leans into a few opinions:</p><ul><li><p><strong>Projects are the unit, not tabs.</strong> The sidebar scans a folder (by default <code>~/Code</code>) and shows each repo with its current git branch, dirty state, and ahead/behind counts. You see the lay of the land at a glance.</p></li><li><p><strong>Nothing should die when you rearrange things.</strong> Split a pane or drag a divider and your shell session keeps running. No respawned shells, no lost scrollback.</p></li><li><p><strong>It orchestrates; it does not reason.</strong> Conductor is a launcher and a host UI — never an AI agent. (More on that below, because it's a deliberate choice.)</p></li></ul><p>The result is something that feels less like a tool you operate and more like a desk that's already tidy when you sit down.</p><h2>How it works (with examples)</h2><p>Let's walk through a normal afternoon.</p><h3>1. Pick a project, get a terminal</h3><p>You launch Conductor and the sidebar is already populated from <code>~/Code</code>. Each entry tells you something useful:</p><pre><code>●  elyra-conductor     main ✱   ↑2
   acme-api            feat/billing
   marketing-site      main      ↓1
</code></pre><p>That <code>✱</code> means uncommitted changes; <code>↑2</code> means two commits ahead of the remote. Click <code>elyra-conductor</code> and a terminal tab opens, already <code>cd</code>'d into the folder. No typing required.</p><p>Want it back tomorrow without scrolling? Pin it, and it sticks to the top of the sidebar — even if you point Conductor at a different folder later.</p><h3>2. Split panes that survive everything</h3><p>You need a dev server <em>and</em> a place to run tests. Hit <code>⌘D</code> to split right:</p><pre><code>┌──────────────────────┬──────────────────────┐
│ $ pnpm dev           │ $ pnpm test --watch  │
│ ➜ localhost:1420     │ ✓ 42 passed          │
│                      │                       │
└──────────────────────┴──────────────────────┘
</code></pre><p>Drag the divider to give the test pane more room. Split again with <code>⇧⌘D</code> for a third pane. The key trick under the hood: terminals live in a flat layer keyed by id, and a pure layout module computes their geometry from a split tree. So resizing never remounts a terminal — your <code>pnpm dev</code> keeps running through every relayout.</p><p>Switch to another tab and the test pane quietly pulses green when new output arrives, so you know the moment something finished (or broke) while you were looking elsewhere.</p><h3>3. Browse, peek, and quick-edit</h3><p>Tap <code>⌘B</code> to open the file sidebar — a lazy-loaded tree of the active project. Click a file and it opens in an inline Monaco editor. Fix a typo in a config file, hit <code>⌘S</code>, done — no context switch, no separate window.</p><p>Need the full power of your real editor? The per-project buttons launch the project straight into <strong>Zed</strong>, <strong>VS Code</strong>, or <strong>Cursor</strong>, whichever you have installed.</p><h3>4. Everything from one keystroke</h3><p><code>⌘K</code> opens the command palette — the fastest way to do almost anything:</p><pre><code>⌘K  ▸ bil
    Switch to project: acme-api  (feat/billing)
    Run: build
    Load workspace: billing-deep-dive
</code></pre><p>Jump between projects and tabs, run a per-project task (Conductor reads your <code>package.json</code>, <code>composer.json</code>, <code>Makefile</code>, and <code>justfile</code> and offers them as <strong>Run: …</strong>), or restore an entire saved <strong>workspace</strong> — all your projects, tabs, split panes, the open file, and theme — exactly as you left it.</p><h3>5. Commit without leaving</h3><p>When the work is done, the built-in commit dialog lets you review the changes, write a message, and commit (and push) with <code>⌘↵</code>. You never had to drop back to the shell just to ship.</p><h2>A deliberate boundary: Conductor conducts, it doesn't reason</h2><p>Here's a choice we care about. Conductor will <strong>never</strong> call an LLM, store an API key, or grow built-in "AI features." All of that intelligence lives in external tools — chiefly the <a target="_blank" rel="noopener noreferrer nofollow" href="https://elyracode.com/">Elyra</a> coding-agent CLI — which Conductor runs and displays the same way it runs Zed, iTerm, or git.</p><blockquote><p><strong>Rule of thumb:</strong> if a feature needs an API key or a model call, it belongs in Elyra, not in Conductor.</p></blockquote><p>This keeps Conductor small, auditable, and free of secrets. When you <em>do</em> want the agent, Conductor hosts it nicely: open a native panel, watch replies stream in, answer confirm/select/input prompts, and get a notification ring when it needs you. But the reasoning stays in Elyra. Conductor is the terminal emulator <em>for</em> the agent — never the agent itself.</p><h2>Under the hood</h2><p>For the curious, Conductor is cross-platform Rust + web rather than a native Swift app or a wrapper around one terminal:</p><p>Layer Choice Shell <a target="_blank" rel="noopener noreferrer nofollow" href="https://tauri.app/">Tauri 2</a> — Rust core + system webview Frontend <a target="_blank" rel="noopener noreferrer nofollow" href="https://svelte.dev/">Svelte 5</a> (runes) + Vite Terminal <code>xterm.js</code> ↔ <code>portable-pty</code> Editor <a target="_blank" rel="noopener noreferrer nofollow" href="https://microsoft.github.io/monaco-editor/">Monaco</a></p><p>The heavy lifting — PTYs, the filesystem, git, launching processes — lives in Rust, while the UI uses battle-tested web components. One PTY per pane, read on a dedicated thread, streamed to the frontend as events. It's boring in the best way.</p><h2>Try it</h2><p>Elyra Conductor ships as a ready-to-run <strong>macOS app (Apple Silicon / arm64)</strong> — no toolchain, no build step. Grab it here:</p><p><strong>→ </strong><a target="_blank" rel="noopener noreferrer nofollow" href="https://elyracode.com/conductor"><strong>elyracode.com/conductor</strong></a></p><p>Download the binary, drag it into <code>/Applications</code>, and open it. On first launch it scans <code>~/Code</code> — use the <strong>⋯</strong> button (or the command palette) to point it somewhere else. Click a project, split a pane with <code>⌘D</code>, and hit <code>⌘K</code> whenever you're lost.</p><blockquote><p><strong>Requirements:</strong> an Apple Silicon Mac (M1 or newer). Updates are signed and install themselves — Conductor checks GitHub Releases on startup and offers a one-click update when there's a new version.</p></blockquote><p>That's the whole idea: a quiet, capable window that already knows about your projects, so you can get on with the work. Welcome to the cockpit. ☕</p>