8000 GitHub - zeikar/vaquita: Agentic development environment (ADE) for macOS. Run Claude Code and Codex side by side and see every agent's status at a glance. No hooks. · GitHub
[go: up one dir, main page]

Skip to content
zeikarPublic

About

Agentic development environment (ADE) for macOS. Run Claude Code and Codex side by side and see every agent's status at a glance. No hooks.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

265 Commits

Folders and files

Repository files navigation

vaquita app icon
vaquita

A lightweight ADE for Claude Code and Codex on macOS.
Every agent in one sidebar: working, waiting for you, or done. No hooks.

Latest release macOS on Apple Silicon MIT license

vaquita is a lightweight ADE (agentic development environment) for macOS. It runs AI coding agents such as Claude Code and Codex CLI side by side in the repos they work on: a Tauri app and a Go daemon in a download of about 10 MB, with no hooks to install. Think of it as a smaller take on Orca, the agent IDE.

The vaquita app: repos and their sessions in the sidebar, each with its agent's state, a Claude Code session open, and the repo's files on the right

Features

  • Every agent in one sidebar. Your repos are listed with their sessions under them. Start Claude Code, Codex or a shell in a repo from its header, its right-click menu or ⌘T.
  • See what each agent is doing. A spinner while it works, ⚠ with the permission or question it waits on, ✓ or ✗ when its turn ends, and a dot until you have looked.
  • Notifications that take you there. A desktop notification when an agent finishes, fails or needs input; click it to open that session. The ones missed while the app was closed are summed up when it comes back.
  • Sessions outlive the app. Shells and agents run in a small daemon, vaquitad, so quitting or updating the app leaves them running. After a reboot, reopen a session and Claude Code or Codex resumes its conversation.
  • No hooks, no global config. State comes from what the agents already write to the terminal (Claude Code's OSC 7501 status reports, Codex's notifications), so nothing is written into your agents' settings.
  • Titles that say what a session is about. A session takes the topic its agent gives the conversation; double-click it to rename.
  • Open the files agents mention. ⌘-click a path or a file link in the output to open it in a tab inside the app (text, code, Markdown, images, audio and video) or else in its default app. Terminal output is not trusted, so anything that could run something is only shown in Finder.
  • The repo's files beside the terminal. A tree of the selected session's repo sits on the right (⌥⌘B shows or hides it) and follows the disk as agents create and change files; click a file to open it in a tab or in its default app. Its Changes view lists what changed since the last commit, and a click shows the diff.
  • Light. With 10 or so sessions open, the app, its WebKit processes and the daemon use about 200 MB of memory together, and next to no CPU while idle. The editor loads only when a text file or a diff is first opened, and adds about 100 MB from then on (how it was measured).

Install

vaquita needs a Mac with Apple Silicon. Install it with:

curl -fsSL https://raw.githubusercontent.com/zeikar/vaquita/main/install.sh | bash

The script downloads the latest release, checks its checksum, puts vaquita.app in /Applications (or ~/Applications when /Applications is not writable) and opens it. It is for a first install and stops if vaquita is already there.

To install by hand instead, download vaquita-<version>-macos-arm64.zip from Releases, unzip it and move vaquita.app to /Applications. The app is signed with a self-signed certificate and not notarized, so a browser download needs its quarantine flag cleared once (recursive, so the embedded daemon is covered too):

xattr -dr com.apple.quarantine /Applications/vaquita.app

The app installs and starts its daemon by itself. It runs the claude and codex you already have; it does not bundle them. Releases after 0.1.3 update themselves: when a newer release is out, a notice in the app offers it, and one click installs it and relaunches the app while your sessions keep running; the app takes care of the daemon (how updates work). To update by hand, as you need to once from 0.1.3 or earlier, quit vaquita, replace the app in Finder and open it. Don't cp -R over the app while the daemon runs.

vaquita is young (0.1.x) and macOS only. Issues and ideas are welcome.

Develop

A dev instance keeps its own home, so a stable install is untouched:

export VAQUITA_HOME=~/.vaquita-dev PATH=~/.vaquita-dev/bin:$PATH
make -C daemon
vaquitad serve --allow-origin http://localhost:1420
# in another terminal, after the same export, in app/
npm ci
PATH="/opt/homebrew/opt/rustup/bin:$PATH" npm run tauri dev

Docs

  • Daemon: vaquitad commands, Codex notifications, reopening sessions after a restart, and the rules the daemon keeps.
  • App: the dev loop, what the app does, the rules it keeps, release builds, the icon and the screenshot.
  • Design decisions: why it is built the way it is, and what was left out on purpose.
  • tools/probe: the recorders and test beds used to check the risky parts.

License

MIT

About

Agentic development environment (ADE) for macOS. Run Claude Code and Codex side by side and see every agent's status at a glance. No hooks.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

0