Repository navigation
Installation
Recommended: if you already have Node's ecosystem tooling, npm install -g @edge_166/3va is the fastest path. If you work primarily in Rust, cargo install vvva_cli avoids depending on npm at all.
npm install -g @edge_166/3vacargo install vvva_cliInstalls a 3va binary on $PATH — the crate is named vvva_cli (not 3va) because crates.io rejects package names starting with a digit.
scoop bucket add 3va https://github.com/OdinoCano/3va
scoop install 3vachoco install 3vawinget install OdinoCano.3vasnap install vvva-cliTo build locally from source (for testing):
snapcraft --use-lxd # uses dist/snap/snapcraft.yaml
sudo snap install ./vvva-cli_*.snap --dangerousThe flake lives under dist/nix/ in the repository:
nix run "github:OdinoCano/3va?dir=dist/nix"git clone https://github.com/OdinoCano/3va.git
cd 3va
cargo build --release
sudo cp target/release/3va /usr/local/bin/Pre-built binaries for every platform are attached to each GitHub Release:
| Platform | File |
|---|---|
| Linux x64 | 3va-vX.Y.Z-x86_64-unknown-linux-gnu.tar.gz |
| Linux arm64 | 3va-vX.Y.Z-aarch64-unknown-linux-gnu.tar.gz |
| macOS x64 | 3va-vX.Y.Z-x86_64-apple-darwin.tar.gz |
| macOS arm64 (M-series) | 3va-vX.Y.Z-aarch64-apple-darwin.tar.gz |
| Windows x64 | 3va-vX.Y.Z-x86_64-pc-windows-msvc.zip |
Android arm64 builds are currently broken on main — see Roadmap for the workaround branch (android-pre-v8).
3va --version
3va doctor3va doctor prints the resolved version and runs offline self-checks of the runtime itself (the permission engine, V8, an empty-sandbox probe and a SHA-256 known-answer test). It does not scan your project or its dependencies: use 3va audit for that.
Since 2.12.1: the empty-sandbox probe, the SHA-256 test and the non-zero exit code on failure (11 checks in total). 2.12.0 and earlier run 4 checks and always exit
0.
# Run a TypeScript file (no permissions granted)
3va run app.ts # or: 3va r app.ts
# Run with network and read access
3va run app.ts --allow-net=api.example.com --allow-read=./data
# Install packages — post-install scripts never run
3va install express --allow-net=registry.npmjs.org
# Audit the dependency tree
3va audit --secretsSee CLI Reference for all commands and flags, and Examples for 13 runnable projects.