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.
npm (recommended)
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:
| Package | Platform |
|---|---|
@ovecc/cli-linux-x64 | Linux x86_64 |
@ovecc/cli-darwin-arm64 | macOS arm64 (Apple Silicon) |
@ovecc/cli-win32-x64 | Windows 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:
| Platform | Asset |
|---|---|
| Linux x86_64 | ovecc-linux-x86_64 |
| macOS arm64 (Apple Silicon) | ovecc-macos-aarch64 |
| Windows x86_64 | ovecc-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
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.gitignorefor you viaovecc init). - ovecc never makes network calls, with one explicit, opt-in exception:
ovecc audit --fetchdownloads 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.