ovecc impact
Blast radius. Every module a change can break before you merge it.
architecture guardrails, in your terminal
AI writes more code than your team can review. ovecc catches the changes that break your architecture, before they merge.
ovecc MCP
Same repo, same question, same model. The answer comes from one indexed query.
| Reading files | With ovecc | |
|---|---|---|
| Finding the callers | grep, then open every hit | one indexed query |
| Tokens per question | baseline | 9× fewer |
| Cost per question | baseline | 7× cheaper |
| Wall clock | baseline | 9× faster |
| Dependency cycles | invisible to grep | named, with the edge that closes them |
| Verdict you can gate on | none | exit code |
The counters run live in the clip. Method and the numbers where ovecc loses: read the benchmarks.
Your reviewer sees the lines that changed. None of this shows up there, and every one of them gets more expensive the longer it sits.
architecture as code
Declare what each component may depend on. Every run checks the whole repo and points at the line that broke it.
.ovecc/architecture.toml
# your intended architecture, as code [[component]] name = "api" paths = ["src/api/**"] depends_on = ["core"] [[component]] name = "features" paths = ["src/features/**"] depends_on = ["core"] slices = true [[component]] name = "core" paths = ["src/core/**"] deny_capabilities = ["network"] max_cyclomatic = 8
$ ovecc architecture check
ovecc architecture init writes the first contract from your real imports, so
day one starts green. In CI, drift fails the pull request.
All of them read the same index and exit non-zero on a finding, so any of them can gate a build.
ovecc impactBlast radius. Every module a change can break before you merge it.
ovecc reviewOnly the new defects a change introduces, each with its file and line.
ovecc architectureYour contract, checked. Declare each component's allowed dependencies once.
ovecc gateOne exit code for CI. Fails the pull request on anything new.
ovecc mcpEvery command as an MCP tool your agent calls directly.
install
Nothing to configure and no account to create. Your code never leaves the machine.
npx ovecc index .
npm downloads only the binary for your platform. npm i -g ovecc keeps it on
your PATH.
Or take the binary directly, with no Node involved:
Older versions and checksums are on the releases page. A browser download on macOS needs one extra step.
One short email when a version ships. Nothing else, and unsubscribing is one click.
One command: npx ovecc index .