GitHub Docs

Download VibeCody release packages below. All binaries are built via GitHub Actions with SHA-256 checksums.

Quick install (Linux/macOS):

curl -fsSL https://vibecody.online/dl/install.sh | sh

Package managers

Self-hosted — no submission to homebrew-core or community.chocolatey.org, so availability tracks the release pipeline rather than third-party review. Built by .github/workflows/release.yml’s publish-homebrew-tap, publish-choco-feed and publish-linux-repos jobs (all downstream of the main release job, all optional — a missing secret skips with a notice rather than failing the release). Rendering scripts live in scripts/packaging/.

Homebrew (macOS + Linux)

brew tap turingworks/vibecody
brew install vibecli                # CLI + daemon, both platforms
brew install --cask vibecoder       # desktop apps — macOS only, casks don't target Linux
brew install --cask vibedesk
brew install --cask vibeaichat

Tap source: TuringWorks/homebrew-vibecody, regenerated each release by scripts/packaging/render_homebrew_tap.py (verified locally with brew style/brew audit before every push — see that script’s module docstring). Formula/cask files there are generated; don’t hand-edit them.

apt (Debian/Ubuntu) and dnf (Fedora/RHEL)

Both are self-hosted, GPG-signed repos on the R2 mirror, served through vibecody.online/dl/ — vibecli as a native .deb/.rpm (built with nfpm, since only a tarball existed before this), plus every desktop app’s .deb/.rpm that tauri-bundler already produces (the .rpm used to be built and silently discarded — release.yml’s artifact-collection step never globbed for it).

# apt — flat repository format, no dists/ tree
curl -fsSL https://vibecody.online/dl/apt/vibecody-repo.gpg | sudo gpg --dearmor -o /usr/share/keyrings/vibecody.gpg
echo "deb [signed-by=/usr/share/keyrings/vibecody.gpg] https://vibecody.online/dl/apt ./" | sudo tee /etc/apt/sources.list.d/vibecody.list
sudo apt update
sudo apt install vibecli vibecoder vibedesk vibeaichat   # whichever you want

# dnf
sudo dnf config-manager --add-repo https://vibecody.online/dl/yum/vibecody.repo
sudo dnf install vibecli vibecoder vibedesk vibeaichat

Verified end-to-end locally (nfpm-built .deb/.rpm structure inspected by hand, GPG clearsign + detached signatures round-tripped through gpg --verify) against a throwaway test key — createrepo_c itself (the dnf repodata generator) only runs in CI, since it isn’t packaged for macOS.

Chocolatey (Windows)

choco source add -n vibecody -s "https://vibecody.online/dl/choco/v3/index.json"
choco install vibecli -y
choco install vibecoder -y

⚠️ Unverified against a real choco.exe. The feed is a NuGet v3 static layout (PackageBaseAddress flat-container only — no SearchQueryService, so choco search isn’t expected to work against it, but choco install PACKAGE -y should resolve and download directly). The nuspec/install/uninstall scripts were rendered and PowerShell-syntax-checked, but nothing in this repo’s CI has run choco install against the live feed. If you hit a problem, please file it — this is the one package-manager path here that hasn’t been exercised end-to-end.


v0.5.19 — Latest

Released: October 11, 2026.

An Office-editing release: DOCX, XLSX and PPTX open and edit in place in VibeCoder, a browser-side Office engine and LibreOffice as a first-class engine, document RAG for the agent, and download links that go through vibecody.online/dl/.

Highlights

  • Office documents, edited in place. DOCX paragraph and table-cell edits keep run styling; table rows can be inserted and deleted from the Word view; XLSX renders like Excel (palette, sheet view, text boxes, number formats, combo charts); PPTX keeps run styles and gains resolved styles, 3D charts, explicit font sizes and anchored Markdown editing.
  • Browser Office engine. A WASM document engine (packages/office-wasm) runs edits in a Worker, gated by a corpus test in CI. LibreOffice (soffice) is available as a first-class engine, including PDF/sheet rendering.
  • Document RAG. Workspace PDFs and Office files are indexed; the agent gets a search_documents tool and an optional knowledge graph. The indexer refuses the home directory and filesystem root.
  • Providers. Perplexity moved to the Agent API; model lists refreshed and read from one catalog; vLLM, LM Studio and Apple Foundation Models appear in the toolbar.
  • VibeCoder. Commit patch preview in the git diff view; PDF zoom no longer flickers; window dragging from the header restored; SQLite files open straight to the database tab; “Morning Briefing” is now “Daily Briefing”.
  • Release pipeline. Downloads link through vibecody.online/dl/ so they are counted; a new updater signing key (stable releases fail without signed updater artifacts); finalize verifies public downloadability once; the release page stays in step with R2; every deploy artifact starts the daemon with --serve.

Downloads: GitHub release. The R2 mirror uses the v0.5.19/ prefix.

Generated from what is on R2 for v0.5.19; updated 2026-10-12 12:15 UTC. A platform with no row is not published yet.

VibeCLI — Terminal AI Assistant

Platform Download
macOS (Apple Silicon) vibecli-aarch64-apple-darwin.tar.gz
macOS (Intel, not notarized) vibecli-x86_64-apple-darwin.tar.gz
Linux (x86_64) vibecli-x86_64-linux.tar.gz
Linux (arm64) vibecli-aarch64-linux.tar.gz
Windows (x86_64) vibecli-x86_64-windows.zip

VibeCoder — Desktop Code Editor

Platform Download
macOS (Apple Silicon) VibeCoder_0.5.19_aarch64.dmg
macOS (Apple Silicon, .app) VibeCoder-macOS-arm64.app.zip
macOS (Intel, not notarized) VibeCoder_0.5.19_x64.dmg
macOS (Intel, .app, not notarized) VibeCoder-macOS-x64.app.zip
Windows (installer) VibeCoder_0.5.19_x64-setup.exe
Windows (MSI) VibeCoder_0.5.19_x64_en-US.msi
Linux (x86_64, AppImage) VibeCoder_0.5.19_amd64.AppImage
Linux (x86_64, deb) VibeCoder_0.5.19_amd64.deb
Linux (arm64, AppImage) VibeCoder_0.5.19_aarch64.AppImage
Linux (arm64, deb) VibeCoder_0.5.19_arm64.deb

VibeAIChat — Desktop AI Assistant

Platform Download
macOS (Apple Silicon) VibeAIChat_0.5.19_aarch64.dmg
macOS (Intel, not notarized) VibeAIChat_0.5.19_x64.dmg
Windows (installer) VibeAIChat_0.5.19_x64-setup.exe
Windows (MSI) VibeAIChat_0.5.19_x64_en-US.msi
Linux (x86_64, AppImage) VibeAIChat_0.5.19_amd64.AppImage
Linux (x86_64, deb) VibeAIChat_0.5.19_amd64.deb
Linux (arm64, AppImage) VibeAIChat_0.5.19_aarch64.AppImage
Linux (arm64, deb) VibeAIChat_0.5.19_arm64.deb

VibeDesk — Desktop Task Shell

Platform Download
macOS (Apple Silicon) VibeDesk_0.5.19_aarch64.dmg
macOS (Intel, not notarized) VibeDesk_0.5.19_x64.dmg
Windows (installer) VibeDesk_0.5.19_x64-setup.exe
Windows (MSI) VibeDesk_0.5.19_x64_en-US.msi
Linux (x86_64, AppImage) VibeDesk_0.5.19_amd64.AppImage
Linux (x86_64, deb) VibeDesk_0.5.19_amd64.deb
Linux (arm64, AppImage) VibeDesk_0.5.19_aarch64.AppImage
Linux (arm64, deb) VibeDesk_0.5.19_arm64.deb

VibeMobile — Flutter Companion

Platform Download
Android (AAB) VibeCody-Mobile-v0.5.19-android.aab
Android (APK) VibeCody-Mobile-v0.5.19-android.apk
iOS (unsigned — sideload via AltStore / Sideloadly) VibeCody-Mobile-v0.5.19-ios.ipa

VibeWatch — Apple Watch & Wear OS

Platform Download
watchOS 10+ (unsigned — sideload via Xcode) VibeCody-WatchOS-v0.5.19.app.zip
Wear OS 3+ (AAB) VibeCody-Wear-v0.5.19.aab
Wear OS 3+ (APK) VibeCody-Wear-v0.5.19.apk

Sandbox

Platform Download
Firecracker Tier-3 rootfs vibecody-firecracker-rootfs-v0.5.19.ext4
Firecracker rootfs checksum vibecody-firecracker-rootfs-v0.5.19.ext4.sha256
Firecracker rootfs cosign bundle vibecody-firecracker-rootfs-v0.5.19.ext4.cosign.bundle

SHA256SUMS.txt is published when the release completes.


v0.5.15

Released: September 30, 2026.

Adds charts and image/SVG editing to VibeCoder, tool_choice across providers, encrypted-store-first configuration, the Apple Foundation Models provider for macOS 27, and self-hosted Homebrew, Chocolatey and apt/dnf package feeds.

Highlights

  • Charts and image editing in VibeCoder. Bar, line, pie and area charts; embedded OOXML charts in the document viewers; crop, rotate, resize and colour tools for images and SVG.
  • tool_choice across providers, with local-provider settings.
  • Configuration is stored encrypted first, with a TOML fallback and migration.
  • Apple Foundation Models on macOS 27. The on-device model, run through fm serve — no key, no download. Apple’s terms are accepted in Settings → Providers, never automatically. See the provider page.
  • Package managers. brew, choco, apt and dnf — see Package managers.

Version numbers. Earlier attempts at this release were numbered 0.5.15 to 0.5.18 while the release pipeline was being fixed; none of them was ever published (no files reached R2), so the version is reset to 0.5.15 — the first release after v0.5.14. If you see a v0.5.16–v0.5.18 tag anywhere, it is a stale attempt.

macOS Intel is built, but not notarized. The Intel (x86_64) builds — CLI, VibeCoder, VibeDesk and VibeAIChat — are shipped alongside Apple silicon. They are ad-hoc signed and never submitted to Apple’s notary service, so a quarantined download needs xattr -dr com.apple.quarantine <App>.app on first launch (the Apple silicon builds are Developer ID signed and notarized when signing credentials are configured).

Release pipeline. Each build now publishes its own files to R2 as soon as it finishes — nothing waits for the other builds — and a build that fails can be retried for the same release, without a new version number. See Releasing below.

Downloads: GitHub release. The R2 mirror uses the v0.5.15/ prefix.

Generated from what is on R2 for v0.5.15; updated 2026-09-30 03:02 UTC. A platform with no row is not published yet.

VibeCLI — Terminal AI Assistant

Platform Download
macOS (Apple Silicon) vibecli-aarch64-apple-darwin.tar.gz
macOS (Intel, not notarized) vibecli-x86_64-apple-darwin.tar.gz
Linux (x86_64) vibecli-x86_64-linux.tar.gz
Linux (arm64) vibecli-aarch64-linux.tar.gz
Windows (x86_64) vibecli-x86_64-windows.zip
Docker image (tarball) vibecli-docker-v0.5.15.tar.gz

VibeCoder — Desktop Code Editor

Platform Download
macOS (Apple Silicon) VibeCoder_0.5.15_aarch64.dmg
macOS (Apple Silicon, .app) VibeCoder-macOS-arm64.app.zip
macOS (Intel, not notarized) VibeCoder_0.5.15_x64.dmg
macOS (Intel, .app, not notarized) VibeCoder-macOS-x64.app.zip
Windows (installer) VibeCoder_0.5.15_x64-setup.exe
Windows (MSI) VibeCoder_0.5.15_x64_en-US.msi
Linux (x86_64, AppImage) VibeCoder_0.5.15_amd64.AppImage
Linux (x86_64, deb) VibeCoder_0.5.15_amd64.deb
Linux (arm64, AppImage) VibeCoder_0.5.15_aarch64.AppImage
Linux (arm64, deb) VibeCoder_0.5.15_arm64.deb

VibeAIChat — Desktop AI Assistant

Platform Download
macOS (Apple Silicon) VibeAIChat_0.5.15_aarch64.dmg
macOS (Intel, not notarized) VibeAIChat_0.5.15_x64.dmg
Windows (installer) VibeAIChat_0.5.15_x64-setup.exe
Windows (MSI) VibeAIChat_0.5.15_x64_en-US.msi
Linux (x86_64, AppImage) VibeAIChat_0.5.15_amd64.AppImage
Linux (x86_64, deb) VibeAIChat_0.5.15_amd64.deb
Linux (arm64, AppImage) VibeAIChat_0.5.15_aarch64.AppImage
Linux (arm64, deb) VibeAIChat_0.5.15_arm64.deb

VibeDesk — Desktop Task Shell

Platform Download
macOS (Apple Silicon) VibeDesk_0.5.15_aarch64.dmg
macOS (Intel, not notarized) VibeDesk_0.5.15_x64.dmg
Windows (installer) VibeDesk_0.5.15_x64-setup.exe
Windows (MSI) VibeDesk_0.5.15_x64_en-US.msi
Linux (x86_64, AppImage) VibeDesk_0.5.15_amd64.AppImage
Linux (x86_64, deb) VibeDesk_0.5.15_amd64.deb
Linux (arm64, AppImage) VibeDesk_0.5.15_aarch64.AppImage
Linux (arm64, deb) VibeDesk_0.5.15_arm64.deb

VibeMobile — Flutter Companion

Platform Download
Android (AAB) VibeCody-Mobile-v0.5.15-android.aab
Android (APK) VibeCody-Mobile-v0.5.15-android.apk
iOS (unsigned — sideload via AltStore / Sideloadly) VibeCody-Mobile-v0.5.15-ios.ipa

VibeWatch — Apple Watch & Wear OS

Platform Download
watchOS 10+ (unsigned — sideload via Xcode) VibeCody-WatchOS-v0.5.15.app.zip
Wear OS 3+ (AAB) VibeCody-Wear-v0.5.15.aab
Wear OS 3+ (APK) VibeCody-Wear-v0.5.15.apk

Sandbox

Platform Download
Firecracker Tier-3 rootfs vibecody-firecracker-rootfs-v0.5.15.ext4
Firecracker rootfs checksum vibecody-firecracker-rootfs-v0.5.15.ext4.sha256
Firecracker rootfs cosign bundle vibecody-firecracker-rootfs-v0.5.15.ext4.cosign.bundle

SHA256SUMS.txt

v0.5.14

Released: September 14, 2026 (partial — see below).

This release is a hardening pass on the release pipeline itself plus targeted performance and correctness fixes in the shared agent loop and VibeDesk’s streaming path — no new user-facing feature.

Highlights

  • The tool-call parser no longer allocates on ordinary prose. Every streamed reply used to run thinking removal, XML parsing, element parsing and JSON parsing even when the model was just talking — a fixed fast-path check (all supported tool dialects require < or {) now returns immediately for anything else. Measured on the parser’s prose fixture: 36 allocations / 1,568 bytes → 0 per parse.
  • VibeDesk’s transcript replay is linear again, not quadratic. Reopening a saved conversation rebuilt the whole rendered list on every event with slice/spread copies whose lengths summed to the size of the conversation squared. On a 12,000-event fixture, replay dropped from 120.97 ms to 0.624 ms (single-run, instrumented, not a wall-clock guarantee).
  • VibeDesk’s SSE line framing reuses one buffer instead of copying every chunk. stream_agent and stream_approvals now borrow complete lines out of the HTTP chunk and only fall back to an owned buffer for a line split across chunks. On a 2,000-line coalesced-chunk fixture: 3,000 allocations / ~27 MB → 0.

Notable fixes

  • A multibyte character split across two network chunks was silently dropped by VibeDesk’s old per-chunk decoder, which decoded UTF-8 before line assembly instead of after. The new framing decodes only complete lines, so a character split at any byte boundary survives — verified against every two-chunk split of a Unicode fixture.
  • A release could publish with a broken VibeDesk build. The publish gate previously waited only on VibeCLI, VibeCoder and VibeAIChat; VibeDesk’s own build could fail and the release still shipped without it. VibeDesk is now a required job, same as the other three desktop apps.
  • Release artifacts could be reported live before R2 actually had them. The pipeline now verifies each uploaded object’s size against the local build and checks public download availability (with a cache-bust and a propagation retry for R2’s CDN lag) before the release is considered complete — this is why this build shipped partial rather than silently pointing at missing files.
  • The macOS arm64 and x64 updater archives could clobber each other. Tauri names .app.tar.gz after the product only, identically for both Mac architectures, and artifact collection merges every build leg into one directory — so the x64 upload could silently overwrite the arm64 one before either was published. Both are now renamed with their architecture on the way in.

Known gap: Linux builds for VibeCoder, VibeAIChat and VibeDesk are not yet available (VibeCoder is missing both Linux architectures; VibeAIChat and VibeDesk are missing Linux x86_64 only — their Linux arm64 builds are below). The Docker image also isn’t published for this tag. A follow-up fix for all of these is in progress; this page will be updated once they land. Every other platform below, and VibeCLI on all five platforms including Linux, is unaffected.

Downloads: GitHub release. The R2 mirror uses the v0.5.14/ prefix. Signed updater manifests are generated only when the Tauri signing secrets are configured; installer publication does not imply that signed in-app updates are available.

VibeCLI — Terminal AI Assistant

Platform Download
macOS (Apple Silicon) vibecli-aarch64-apple-darwin.tar.gz
Linux (arm64) vibecli-aarch64-linux.tar.gz
macOS (Intel) vibecli-x86_64-apple-darwin.tar.gz
Linux (x86_64) vibecli-x86_64-linux.tar.gz
Windows (x86_64) vibecli-x86_64-windows.zip

VibeCoder — Desktop Code Editor

Linux is not available for this release (both x86_64 and arm64) — see the known gap above.

Platform Download
macOS (Apple Silicon, .app) VibeCoder-macOS-arm64.app.zip
macOS (Intel, .app) VibeCoder-macOS-x64.app.zip
macOS (Apple Silicon) VibeCoder_0.5.14_aarch64.dmg
Windows (installer) VibeCoder_0.5.14_x64-setup.exe
macOS (Intel) VibeCoder_0.5.14_x64.dmg
Windows (MSI) VibeCoder_0.5.14_x64_en-US.msi

VibeAIChat — Desktop AI Assistant

Linux x86_64 is not available for this release — see the known gap above.

Platform Download
Linux (arm64, AppImage) VibeAIChat_0.5.14_aarch64.AppImage
macOS (Apple Silicon) VibeAIChat_0.5.14_aarch64.dmg
Linux (arm64, deb) VibeAIChat_0.5.14_arm64.deb
Windows (installer) VibeAIChat_0.5.14_x64-setup.exe
macOS (Intel) VibeAIChat_0.5.14_x64.dmg
Windows (MSI) VibeAIChat_0.5.14_x64_en-US.msi

VibeDesk — Desktop Task Shell

Linux x86_64 is not available for this release — see the known gap above.

Platform Download
Linux (arm64, AppImage) VibeDesk_0.5.14_aarch64.AppImage
macOS (Apple Silicon) VibeDesk_0.5.14_aarch64.dmg
Linux (arm64, deb) VibeDesk_0.5.14_arm64.deb
Windows (installer) VibeDesk_0.5.14_x64-setup.exe
macOS (Intel) VibeDesk_0.5.14_x64.dmg
Windows (MSI) VibeDesk_0.5.14_x64_en-US.msi

VibeMobile — Flutter Companion

Platform Download
Android (AAB) VibeCody-Mobile-v0.5.14-android.aab
Android (APK) VibeCody-Mobile-v0.5.14-android.apk
iOS (unsigned — sideload via AltStore / Sideloadly) VibeCody-Mobile-v0.5.14-ios.ipa

VibeWatch — Apple Watch & Wear OS

Platform Download
watchOS 10+ (unsigned — sideload via Xcode) VibeCody-WatchOS-v0.5.14.app.zip
Wear OS 3+ (AAB) VibeCody-Wear-v0.5.14.aab
Wear OS 3+ (APK) VibeCody-Wear-v0.5.14.apk

SHA256SUMS.txt

v0.5.12

Released: September 5, 2026

The latest release consolidates the daemon, desktop, mobile, watch and release-pipeline updates described below.

Highlights

  • Full-duplex voice. The microphone stays open while the assistant speaks, and you can interrupt it mid-sentence. The whole pipeline — voice activity detection, turn-taking, transcription, the model call, synthesis — lives in the daemon, so a client contributes a microphone and speakers and nothing else. Measured end of speech to first audio: 134–158 ms, down from 1076 ms in the first build. Push-to-talk stays, because it is the right control for dictating a long prompt and the only one that works without echo cancellation.
  • Any language you speak in. Detection runs every turn across 99 languages, the reply comes back in that language, and a voice that speaks it is chosen to read it. Code-switching mid-conversation is the normal case for multilingual speakers, not an edge case.
  • A neural voice, and something that installs it. Kokoro-82M through MLX — 28 voices, 9 languages, Apache-2.0, Apple Silicon. Settings → Voice in all three shells picks the engine, language and voice, and make voice-sidecar / make voice-kokoro install them. For most of this feature’s life nothing built the speech sidecar at all, so every spoken reply came from the slowest path in the system default voice.
  • A spoken turn can act. “Open that file” opens it in the editor rather than describing it, and the assistant can see the project you have open — the workspace, the file tree, the open file — which the typed chat path had always had and the voice path never did.
  • Composers rebuilt. One + menu replaces the row of permanent buttons across all three shells, controls are grouped by what they describe rather than listed, and the send button is no longer clipped out of a narrow sidebar.
  • Charcoal is the default theme, on every surface, including the first paint before any JavaScript runs. Existing installs keep the theme they chose.
  • DOCX, EPUB and Pages documents open in the editor as documents, with EPUBs rendered as books.
  • Every model gets its own context budget, read from its provider. The agent loop pruned history at a flat 200 000 tokens and the chat panel compacted at 80 000 characters; neither number had anything to do with the model in front of you, and both failed silently.

Notable fixes

  • The voice assistant could not use a single one of the tools it was given — two independent defects, either sufficient on its own.
  • It read its own reasoning aloud before answering.
  • A question asked in Hindi was answered in fluent, correct English.
  • Every PUT and DELETE route in the daemon was unreachable from every browser client: they were missing from the CORS method list, so the browser refused the preflight before sending and the caller saw a transport error with no status.
  • The git diff showed almost every line as added — the “before” side was reconstructed from the patch, which does not contain the unchanged file.
  • VibeCoder rendered the voice controls with no stylesheet at all, for the whole life of the feature.
  • Streamed replies re-parsed the entire transcript per token in two shells.

VibeCLI — Terminal AI Assistant

Platform Download
macOS (Apple Silicon) vibecli-aarch64-apple-darwin.tar.gz
Linux (arm64) vibecli-aarch64-linux.tar.gz
Docker image (tarball) vibecli-docker-v0.5.12.tar.gz
macOS (Intel) vibecli-x86_64-apple-darwin.tar.gz
Linux (x86_64) vibecli-x86_64-linux.tar.gz
Windows (x86_64) vibecli-x86_64-windows.zip

VibeCoder — Desktop Code Editor

Platform Download
macOS (Apple Silicon, .app) VibeCoder-macOS-arm64.app.zip
macOS (Intel, .app) VibeCoder-macOS-x64.app.zip
Linux (arm64, AppImage) VibeCoder_0.5.12_aarch64.AppImage
macOS (Apple Silicon) VibeCoder_0.5.12_aarch64.dmg
Linux (x86_64, AppImage) VibeCoder_0.5.12_amd64.AppImage
Linux (x86_64, deb) VibeCoder_0.5.12_amd64.deb
Linux (arm64, deb) VibeCoder_0.5.12_arm64.deb
Windows (installer) VibeCoder_0.5.12_x64-setup.exe
macOS (Intel) VibeCoder_0.5.12_x64.dmg
Windows (MSI) VibeCoder_0.5.12_x64_en-US.msi

VibeAIChat — Desktop AI Assistant

Platform Download
Linux (arm64, AppImage) VibeAIChat_0.5.12_aarch64.AppImage
macOS (Apple Silicon) VibeAIChat_0.5.12_aarch64.dmg
Linux (x86_64, AppImage) VibeAIChat_0.5.12_amd64.AppImage
Linux (x86_64, deb) VibeAIChat_0.5.12_amd64.deb
Linux (arm64, deb) VibeAIChat_0.5.12_arm64.deb
Windows (installer) VibeAIChat_0.5.12_x64-setup.exe
macOS (Intel) VibeAIChat_0.5.12_x64.dmg
Windows (MSI) VibeAIChat_0.5.12_x64_en-US.msi

VibeDesk — Desktop Task Shell

Platform Download
Linux (arm64, AppImage) VibeDesk_0.5.12_aarch64.AppImage
macOS (Apple Silicon) VibeDesk_0.5.12_aarch64.dmg
Linux (x86_64, AppImage) VibeDesk_0.5.12_amd64.AppImage
Linux (x86_64, deb) VibeDesk_0.5.12_amd64.deb
Linux (arm64, deb) VibeDesk_0.5.12_arm64.deb
Windows (installer) VibeDesk_0.5.12_x64-setup.exe
macOS (Intel) VibeDesk_0.5.12_x64.dmg
Windows (MSI) VibeDesk_0.5.12_x64_en-US.msi

VibeMobile — Flutter Companion

Platform Download
Android (AAB) VibeCody-Mobile-v0.5.12-android.aab
Android (APK) VibeCody-Mobile-v0.5.12-android.apk
iOS (unsigned — sideload via AltStore / Sideloadly) VibeCody-Mobile-v0.5.12-ios.ipa

VibeWatch — Apple Watch & Wear OS

Platform Download
watchOS 10+ (unsigned — sideload via Xcode) VibeCody-WatchOS-v0.5.12.app.zip
Wear OS 3+ (AAB) VibeCody-Wear-v0.5.12.aab
Wear OS 3+ (APK) VibeCody-Wear-v0.5.12.apk

SHA256SUMS.txt

Older builds are no longer listed here. For historical release artifacts, contact us.


Maintainer notes

Local macOS notarization setup

For an automated VibeCoder release, run make release-notarized-macos. On its first run it prompts securely for missing Keychain credentials, then builds with Developer ID, notarizes and staples the app, packages that stapled app into a DMG with an Applications shortcut, notarizes/staples the DMG, and checks Gatekeeper and the image checksum. Subsequent runs reuse Keychain. The final DMG appears in target/release/bundle/dmg/ only after verification succeeds. For another desktop shell use bash scripts/release-notarized-macos.sh vibedesk (or vibeaichat).

Install a Developer ID Application certificate with its private key in macOS Keychain, then run make notarize-setup in Terminal. The setup detects the certificate’s team and uses Apple’s secure prompts for your Apple ID and app-specific password. Create that password at https://account.apple.com; do not put it in shell commands, environment files, or this repository. Credentials are validated and stored in the vibecody Keychain profile.

Run make notarize-check to validate access. Then rebuild with make build-ui (or make build-aichat / make build-vibedesk) to apply the Developer ID signature, and run make notarize-macos to submit the built app/DMG artifacts to Apple and staple accepted tickets. make notarize-verify checks Gatekeeper. Notarization is a separate step; configuring Keychain does not set Tauri’s Apple credential environment variables or suppress its skip warning. An existing ad-hoc-signed DMG must be rebuilt before submission; signing only the outer image does not fix the signature on its embedded app.

NOTARY_PROFILE can select a different Keychain profile for all three notarization commands. If several Developer ID certificates are installed, set APPLE_SIGNING_IDENTITY to choose the intended identity.

Local installer builds

make build-ui, make build-aichat, and make build-vibedesk generate installers without updater archives when TAURI_SIGNING_PRIVATE_KEY is absent. To build signed updater archives, export the existing matching private key and its password before building. Apple Developer ID signing is separate.

Releasing and retrying a failed build

The pipeline (.github/workflows/release.yml) is a set of independent legs — one per (component, platform), listed in scripts/release-plan.py. Each leg builds, copies its files to R2 (.github/actions/publish-leg), checks their size on R2, and only then writes a marker (<tag>/.meta/legs/<leg>.done). Nothing waits for any other leg.

A final finalize job counts those markers. No package is privileged: every build runs and publishes on its own, so one failure never stops another from building or shipping. When every leg is published, finalize writes SHA256SUMS.txt, install.sh, latest.txt and the updater manifests, un-drafts the GitHub Release, and the Homebrew / Chocolatey / apt-dnf jobs run. If any leg is missing, finalize fails, lists exactly which ones, and prints the command to rebuild only those — so the workflow is build everything, see what failed, fix it, rebuild the failed legs. The root pointers (latest.txt, the updater manifests) only advance when the release is complete, so a half-published release is never what curl | sh or the in-app updater picks up. To finish a release anyway with a leg still missing, dispatch with -f only=finalize -f partial=true.

Start a release (creates the tag at the built commit — do not pre-create it):

gh workflow run release.yml -f tag=v0.5.15 -f ref=main

Retry a failed leg — same tag, same version:

gh workflow run release.yml -f tag=v0.5.15 -f ref=<fixed-commit-or-branch> -f only=vibecoder-Windows-x64
  • ref may be a fixed commit: the artifacts are built from it and published under the same tag. It must carry the tag’s version in Cargo.toml; a mismatch is refused, and so is a tag that already exists at a different commit.
  • partial=true (with only=finalize) completes the release with the legs that are published and lists the rest.
  • only takes leg ids, groups (cli, desktop, vibecoder, mobile, watch), single jobs (docker, firecracker, …), or finalize to re-check completeness without building anything. An unknown name is an error, so a typo cannot pass as a successful retry.
  • Legs that already published are not rebuilt. GitHub’s Re-run failed jobs on the original run also works.

In-app updates

VibeCoder, VibeDesk and VibeAIChat each check Settings → Updates against a per-app manifest on the R2 mirror (<app>-latest.json at the bucket root, e.g. https://vibecody.online/dl/vibecoder-latest.json) and, on confirmation, download and install the update via tauri-plugin-updater. Every update artifact is signed with a minisign keypair (tauri signer generate); the public half lives in each app’s tauri.conf.json (plugins.updater.pubkey), and the app refuses anything that doesn’t verify against it — a compromised mirror can serve garbage, not a trusted update.

scripts/setup-updater-key.sh generates the keypair, patches every tauri.conf.json and prints the two gh secret set commands; --check verifies the configs agree and the secrets exist. On TuringWorks/vibecody a stable release with no signed updater artifacts now fails the manifest step instead of skipping it.

To make CI actually sign releases, add two repository secrets:

  • TAURI_SIGNING_PRIVATE_KEY — the private key’s contents (tauri signer generate -w PATH, then the file’s contents).
  • TAURI_SIGNING_PRIVATE_KEY_PASSWORD — the password chosen when generating it.

Without them, .github/workflows/release.yml still builds and publishes normally — the shared scripts/tauri.mjs wrapper disables updater artifact generation when TAURI_SIGNING_PRIVATE_KEY is absent, and Generate and mirror updater manifests logs a notice and skips whichever app has no signed artifacts, rather than publishing a manifest nothing can install. Losing the private key means past releases can no longer be superseded by a signed one; there’s no recovery short of shipping a new keypair (and a new pubkey in every tauri.conf.json) and asking users to reinstall by hand once.

The manifest only advances on a stable tag (same -rc/-beta gate as latest.txt), so a prerelease build is never offered as “the” update.