Vee documentation
Documentation
Everything you need to install Vee, bring over your existing plugins, write new ones, and understand the trust model. New here? Start with Getting started.
Start here
Getting started
Install Vee, write your first plugin in five lines, and learn where plugins live.
02Migrating from SwiftBar / xbar
Point Vee at your existing plugins folder — that’s the whole migration.
Write plugins
Plugin authoring reference
The full output format: filenames, menus, line params, headers, SF Symbols, ANSI, Markdown, streaming, cron.
04Widgets
Render a plugin on the desktop and in Notification Center — the surface contract, the card schema, five templates, and a composable layout tree.
06Preferences
Declare typed settings with <xbar.var>; Vee builds a form and keeps secrets in the Keychain.
Plugin SDKs
Typed Menu/Section builders for TypeScript, Python, and Go — byte-identical output, with a golden-fixture drift guard.
JSON output
An optional structured-JSON format — opt in with a {"vee":1} object and skip the text protocol's quoting and nesting rules.
CLI & URL actions
Run from source and drive Vee with vee:// / swiftbar:// actions — refresh, toggle, notify.
Debugging & testing
Preview, watch, and lint a plugin without installing it — vee render, show, dev, lint, plus timeouts and the Debug console.
Understand & troubleshoot
Trust model
How plugins declare what they touch, and how Vee turns that into a plain-language summary. Advisory, not a sandbox.
11Writing plugins with an LLM
Hand a model the whole format in one file, give it the schemas instead of prose, and close the loop with vee lint.
Custom plugin stores
Point Vee at your own curated catalog — a GitHub repo, static HTTP, or an air-gapped mirror — with integrity checks and MDM configuration.
13FAQ
Safety, compatibility, requirements, secrets, updates — the questions people ask first.
14Troubleshooting
Plugin not appearing, Gatekeeper blocks, timeouts, missing interpreters, PATH differences.