Skip to main content

Installation

ovecc ships as a single self-contained binary. There is no runtime to install, no service to run, and no database to provision: the storage engine is compiled into the executable, and everything works offline.

The fastest path is npm. Nothing to download by hand, and it works the same on Linux, macOS, and Windows:

npx ovecc index .

To keep ovecc on your PATH instead of invoking it through npx:

npm i -g ovecc
ovecc --version

The ovecc package is a small launcher. The platform binaries are published as separate optional dependencies, so npm downloads only the one your machine needs:

PackagePlatform
@ovecc/cli-linux-x64Linux x86_64
@ovecc/cli-darwin-arm64macOS arm64 (Apple Silicon)
@ovecc/cli-win32-x64Windows x86_64

Node.js 18 or newer is required for the launcher. It is not a runtime dependency of the analysis itself: once resolved, the binary runs on its own.

Prebuilt binaries

Every release also publishes the raw binaries. Grab the one for your platform from the latest release:

PlatformAsset
Linux x86_64ovecc-linux-x86_64
macOS arm64 (Apple Silicon)ovecc-macos-aarch64
Windows x86_64ovecc-windows-x86_64.exe

A rolling dev build is published on every push to main under the latest tag, if you want the unreleased commits.

Linux

chmod +x ovecc-linux-x86_64
sudo mv ovecc-linux-x86_64 /usr/local/bin/ovecc
ovecc --version

macOS (Apple Silicon)

chmod +x ovecc-macos-aarch64
sudo mv ovecc-macos-aarch64 /usr/local/bin/ovecc
ovecc --version
Gatekeeper quarantine

The macOS binary is unsigned, so Gatekeeper quarantines it when a browser downloads it, and macOS refuses to run it. Clear the flag once:

xattr -d com.apple.quarantine ./ovecc-macos-aarch64

curl and npm do not set that attribute, so npx ovecc and a curl-downloaded binary never hit this.

Intel Macs are not published as a prebuilt binary today. Build from source covers them.

Windows (PowerShell)

# from the folder containing the downloaded binary
New-Item -ItemType Directory -Force "$env:LOCALAPPDATA\Programs\ovecc" | Out-Null
Move-Item ovecc-windows-x86_64.exe "$env:LOCALAPPDATA\Programs\ovecc\ovecc.exe" -Force
# add that folder to your user PATH once:
[Environment]::SetEnvironmentVariable('Path',
"$env:LOCALAPPDATA\Programs\ovecc;" + [Environment]::GetEnvironmentVariable('Path','User'), 'User')
# open a new terminal, then:
ovecc --version

Build from source

ovecc builds with stable Rust. The analysis database is compiled from source on the first build, so expect that one to take a while.

git clone https://github.com/Ovecc-labs/ovecc
cd ovecc
cargo build --release

The binary lands at target/release/ovecc. On Windows, use the windows-gnu toolchain.

Verify

$ ovecc --version
ovecc 0.2.4

That is the entire installation. The binary is on the large side (~100 MB) because the analysis database engine is statically linked; the trade-off is that ovecc index . works on a fresh machine with zero additional setup.

What ovecc will (and won't) touch

  • ovecc writes its state into a .ovecc/ directory inside the repository you analyze (and adds it to .gitignore for you via ovecc init).
  • ovecc never makes network calls, with one explicit, opt-in exception: ovecc audit --fetch downloads public OSV vulnerability advisories into .ovecc/osv/.
  • ovecc never modifies your source files unless you explicitly run ovecc fix --apply.

Next step

Head to the quickstart and index your first repository.