Skip to content

Installation

Edgar Cano edited this page Oct 12, 2026 · 4 revisions

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 (all platforms)

npm install -g @edge_166/3va

Cargo (all platforms)

cargo install vvva_cli

Installs a 3va binary on $PATH — the crate is named vvva_cli (not 3va) because crates.io rejects package names starting with a digit.

Scoop (Windows)

scoop bucket add 3va https://github.com/OdinoCano/3va
scoop install 3va

Chocolatey (Windows)

choco install 3va

winget (Windows)

winget install OdinoCano.3va

Snap (Linux)

snap install vvva-cli

To build locally from source (for testing):

snapcraft --use-lxd   # uses dist/snap/snapcraft.yaml
sudo snap install ./vvva-cli_*.snap --dangerous

Nix

The flake lives under dist/nix/ in the repository:

nix run "github:OdinoCano/3va?dir=dist/nix"

Build from source

git clone https://github.com/OdinoCano/3va.git
cd 3va
cargo build --release
sudo cp target/release/3va /usr/local/bin/

Direct binary download

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

Termux (Android)

Android arm64 builds are currently broken on main — see Roadmap for the workaround branch (android-pre-v8).


Verifying the install

3va --version
3va doctor

3va 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.


First run

# 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 --secrets

See CLI Reference for all commands and flags, and Examples for 13 runnable projects.

Clone this wiki locally