yv — a specification for the commands a project runs, and the app that runs them.
quick-launch.mov
discovery.mov
We are in the age of AI-assisted development. Developers juggle more projects than ever — multiple repos, multiple stacks, multiple environments — often running several in parallel with help from AI agents and LLM harnesses.
In that context, two things keep slowing people down:
-
You forget commands. Not because you are bad at your job — because context switches are constant and the list keeps growing. You end up asking an AI agent or digging through terminal history for
./gradlew app:assembleReleaseor whatever it was. -
Sharing a command list takes effort. You figure out the right sequence, then explain it to a colleague over Slack, or they dig through the wiki. The next time, you do it again.
yv is a playbook for your shell commands. Instead of typing them, you click a button. Instead of explaining them, you export and share the project config. Your teammates import it and run the same commands with the same click.
This tool may not feel necessary if you type fast and keep everything in your head. It is built for the rest of the context.
- Click to run — each project holds a list of shell commands. One click runs any of them, with live output streaming into an inline terminal.
- Shareable config — export a project as a
yv.yamland commit it alongside your code. Teammates import it and get the same runbook immediately. - Environments — hook in named variable sets (
local,staging,prod) per project. Secrets stay on your machine and never appear in exported config. - Peer-to-peer sharing — send a project config or files directly to another device on the same network. No cloud, no account.
- Auto-updates — yv updates itself silently on macOS, Windows, and Linux (AppImage). No manual downloads after the first one.
Project data stays on your machine by default. Peer sharing sends selected data to devices on your local network, and update checks contact GitHub. Nothing is tracked.
Download the latest build from github.com/lakshmaji/yv/releases:
| Platform | Asset |
|---|---|
| macOS (Apple Silicon) | yv-macos-arm64-*.dmg |
| Windows (x86_64) | yv-windows-amd64-*-setup.exe |
| Linux (x86_64) | yv-linux-x86_64-*.AppImage (self-updating) |
| Linux (x86_64) | yv_*.deb or yv-linux-amd64-*.tar.gz |
# Linux .deb
sudo apt install ./yv_*.debEvery release asset ships with a .sha256 checksum beside it. To verify a download before installing:
shasum -a 256 -c yv-macos-arm64-*.dmg.sha256The app is not yet signed (no Apple Developer account — working on it). Gatekeeper will block the first open:
- Right-click
yv.app→ Open - Click Open in the dialog
Or from Terminal:
xattr -d com.apple.quarantine /Applications/yv.appOne-time step. After that it opens normally.
yv checks for updates silently a few seconds after launch. Help → Check for Updates… asks on demand. Updates are verified against a key built into your copy before anything is applied.
On Linux, only the AppImage self-updates. The .deb installs to root-owned /usr/bin and has no configured APT repository — to upgrade, download the new .deb from the releases page and run sudo apt install ./yv_*.deb again.
- Features & screenshots — what the app looks like and what each part does
- Development setup — how to build and run locally
- Environments guide — per-project variables and secrets
yv.yamlformat — commit a project config to your repo and let yv find it- Releasing — versioning, signing keys, CI pipeline
Issues and pull requests are welcome — open an issue if something is broken or missing. See DEVELOPMENT.md to get started.
If yv is useful to you, star the repo. It helps other developers find it.
yv is free for personal and noncommercial use. If it saves you time — fewer commands forgotten, faster onboarding for new teammates, less back-and-forth explaining runbooks — consider sponsoring.
Your support funds the time and effort it takes to keep improving this tool: new features, bug fixes, and making the daily lives of developers, project managers, and anyone drowning in context switches a little easier.
MIT © 2026 Lakshmaji Mutyala