Skip to content

v0.1.0

Choose a tag to compare

@gsvprharsha gsvprharsha released this 27 Jun 18:31

Tempest v0.1.0 — Initial Release

The first public release of Tempest. Run a fleet of AI coding agents in parallel — each isolated, none colliding.


What's in this release

Multi-agent workspace

Every agent session runs in its own git worktree — a real, isolated branch with its own working tree. Agents write to their branch. Your main branch is never touched. You can have five agents working in parallel on five different features and none of them will ever see each other's files.

Supported agents out of the box: Claude Code, Gemini CLI, Opencode, GitHub Copilot CLI, Cline, Cursor Agent, Goose.


Terminal & agent sessions

  • PTY-backed terminal sessions (PowerShell on Windows, $SHELL on Unix)
  • Agent sessions wrap the CLI so exiting the agent drops back to a live shell — no frozen terminal
  • Custom prompt — pass an opening instruction at spawn time; the agent starts on the task immediately without waiting for user input
  • Per-session tab bar with drag-to-reorder, inline rename, and close
  • Split panes — split any terminal vertically (Ctrl+Shift+|) or horizontally (Ctrl+Shift+_); sub-sessions nest under their parent in the sidebar with an L-connector; splitting a sub-session works recursively

Work-done detection

Tempest watches each agent session and signals when it has finished:

  • OSC 9 — Claude Code emits a shell notification on task completion; Tempest catches it instantly
  • Byte-quiet timer — 4-second silence after output stops triggers done for all other agents
  • Tab bar and sidebar show a spinner while the agent is working and a green dot when it finishes
  • Clicking the active tab while done resets to idle

Staging area

Full git staging UI accessible via the Eye button in the right sidebar:

  • Staged / Unstaged file lists with per-file stage (+), unstage (), and discard () buttons; Stage All / Unstage All one-click actions
  • Files with both staged and unstaged changes appear in both sections simultaneously
  • Per-file diff — click any file to see git diff --cached (staged) or git diff (unstaged); untracked files rendered as all-added lines
  • Commit form — title input + optional description textarea; Ctrl/Cmd+Enter submits; co-authored-by Tempest toggle (synced with Settings → Attribution)
  • Push / Open PR — solid green header buttons; push detects staged content and commits only that; falls back to stage-all only when nothing is staged

File editor

Click any file in the right sidebar's Files tab to open it in a CodeMirror 6 editor tab:

  • Syntax highlighting for JS, JSX, TS, TSX, CSS, HTML, Rust, Python, JSON, Markdown
  • Theme hot-swap — editor chrome and syntax colors update instantly when switching themes
  • Markdown preview — Raw / Preview toggle for .md files; rendered with react-markdown + GitHub-accurate theming (dark and light); local images resolve correctly via Tauri's asset protocol

Live Preview

Open a native embedded browser tab pointed at your local dev server. Watch changes land in real time as agents edit files — no switching to a separate browser window.

  • URL bar with Back, Forward, Reload
  • Tracks SPA navigation automatically
  • Webview is destroyed when hidden and recreated on reveal — no idle memory cost

Right sidebar

  • Files tab — lazy-loading file tree of the project root; directories expand on click
  • Changes tabgit status against the active worktree; auto-refreshes every time an agent finishes a turn
  • Resizable via drag handle (180–560px); collapses via PanelRight toggle in the sub-bar

Settings

  • Appearance — theme picker (Origin Dark / Origin Light), sidebar font size (12–18px)
  • Terminal — font size, font family (7 presets), cursor style, cursor blink, scrollback; all settings hot-swap on open sessions without restarting
  • Git — branch prefix (prepended to every new worktree branch), commit message template
  • Keybindings — rebind any action
  • Attribution — toggle the Co-authored-by: Tempest trailer on commits

Session persistence

All app state (sessions, projects, settings, keybindings, recents) is stored at:

  • Windows: %APPDATA%\com.user.tempest\runtime-state.json
  • macOS: ~/Library/Application Support/com.user.tempest/runtime-state.json
  • Linux: ~/.local/share/com.user.tempest/runtime-state.json

Sessions restore on restart. Closing a tab leaves a ghost entry in the sidebar — clicking it resumes the agent conversation from where it left off (--resume for Claude Code, -s <id> for Opencode, etc.).


Performance

  • DashMap — per-session writer locks replace a global mutex; session A's slow write never blocks session B
  • Channel<T> — per-session unicast channels replace a shared broadcast event; each terminal receives only its own output
  • WebGL pool — up to 6 GPU-accelerated xterm.js contexts shared across sessions; LRU eviction to canvas fallback prevents Chromium context exhaustion at 9+ sessions
  • Headless Session Manager — ring buffers and work-done detection run independently of visible panes; switching tabs never loses output
  • Junction linksnode_modules and .venv are junction-linked (Windows) or symlinked (Unix) into each worktree instead of copied; branch creation goes from 30–120s to under a second
  • OnceLock shell probe — shell binary resolved once at startup; per-session probe penalty eliminated

Overview page

Dashboard shown when no session tab is active:

  • Live list of all open workspaces — work-state dot, agent icon, branch name, changed file count
  • Rows sorted: done → working → idle
  • Open / Eye (diff) / PR buttons per row
  • Splash screen with recent projects and keyboard shortcut reference when no sessions are open

Broadcast

Send the same prompt to multiple agent sessions simultaneously via the Megaphone button in the tab bar (Ctrl+Shift+M). Useful for cross-agent instructions like "commit your changes" or "run tests".


CI / CD

  • .github/workflows/ci.yml — type check + frontend build + cargo check on every push and PR to main
  • .github/workflows/release.yml — full Windows build, artifact upload (NSIS installer, MSI, portable .exe, .sig files), and latest.json updater manifest published on every v* tag
  • In-app auto-updater wired via Tauri's updater plugin (quiet install mode)

Platform support

Platform Status
Windows 11 (x64) Supported. Pre-Built binary available
macOS Build from source (untested)
Linux Build from source (untested)

WebView2 is required on Windows (ships with Windows 11; installer bundles a bootstrapper for older systems).


Known issues

  • Zen mode blank screen — opening a project in Zen mode results in a blank white window; the child WebviewWindow is created but the React app does not render
  • Orphaned PTY on delete (unconfirmed) — the .tempest-pid sidecar fix is logically sound but has not been tested with a real orphaned process after restart
  • History nav blank — the History sidebar button sets a nav state but nothing renders for it; navigating to History shows a blank content area

What's next

  • macOS support — native .app bundle and DMG distribution
  • Linux support.AppImage and .deb packaging for major distributions