Overview
vd is a single-binary vendoring package manager for the skills that power your coding agents. Skills live in your repo as plain files — vd fetches them from any upstream, locks them with a SHA, and dispatches them to every agent in your stack.
Install
Section titled “Install”# Homebrew (recommended)brew install vanducng/tap/vd
# or with the install scriptcurl -fsSL https://raw.githubusercontent.com/vanducng/vd-cli/main/install.sh | shPre-built binaries (darwin/linux/windows × amd64/arm64) and a from-source build are covered in the usage guide.
To update an existing install: brew update && brew upgrade vanducng/tap/vd for Homebrew, or vd upgrade for standalone binaries (downloads the latest release and self-replaces; Homebrew installs are deferred back to brew).
Quick start
Section titled “Quick start”vd init # bootstrap skills.toml at the repo rootvd add browserbase/skills/browser --as browser # track an upstream skillvd sync # vendor it locally (fetch, hash, lock)vd build # emit manifests for every configured agentvd install # (optional) detect local agents; install user-levelvd install cursor # (optional) or target Cursor onlySupported agents
Section titled “Supported agents”vd build emits the manifest each agent stack expects:
| Agent | What vd build emits |
|---|---|
| Claude Code | .claude-plugin/marketplace.json + plugin.json |
| OpenAI Codex | .agents/skills/<name> repo-scope symlinks; vd install codex for user scope |
| Factory Droid | .factory/skills/<name> repo entries (relative symlinks on Unix, copies on Windows); vd install droid for user scope |
| Pi | .pi/skills/<name> repo entries (relative symlinks on Unix, copies on Windows); vd install pi for user scope |
| Cursor | vd install cursor writes $HOME/.cursor/skills/<name> (or $VD_CURSOR_HOME/skills); --scope repo writes .cursor/skills/<name> (relative symlinks on Unix, copies on Windows) |
Droid, Pi, and Cursor support covers skills only, not plugins, hooks, extensions, or observability. vd install with no agent detects which of these homes exist and installs at user scope.