Local-first machine history
Your code has Git.
Your machine has Envidence.
It worked yesterday. The code did not change. Envidence records the machine layer Git ignores, shows what changed around a failing command, and helps you plan a way back.
npm install -g envidenceNode.js 24 or newer. Windows 10 and 11 have the broadest coverage.
npm test exit 1
Test failed after a package upgrade
Ranked leads from the machine layer
Global npm package changed
typescript 5.9.2 to 6.0.0-dev
PATH order changed
npm global directory moved
What it catches
Built for the failures Git cannot see
Source diffs explain code changes. Envidence covers the machine state around them, the part that often changes without a commit.
A package moved
A global npm, pip, cargo, or VS Code package changed between a passing run and a failing one.
A command sees a different machine
PATH order, shell profiles, environment values, proxies, or tool versions differ from the last good state.
Something outside the repository broke
A service stopped, a port changed owner, a startup entry appeared, or a config file was edited.
You need evidence, not a guess
Turn the case into a self-contained report that another developer can read without your whole store.
How it works
From failure to evidence
A snapshot is not a backup of your files. It is a normalized record of the environment around them, stored locally so you can compare one moment with another.
Read how evidence is ranked- 01
Snapshot
Record the machine facts that Git ignores, from PATH and runtimes to services, ports, packages, and config hashes.
- 02
Watch a command
Run the failing command between two snapshots. Envidence compares the state before and after and labels what changed.
- 03
Review the leads
See ranked hypotheses with before and after values, the change category, and the reason each item was ranked.
- 04
Plan the way back
Generate a reversible plan and preview it. Real rollback applies go through a confirmation gate and a safety snapshot.
Quick start
Start from a known-good state
Initialize the store while the project is in a known-good state. Then wrap the command you care about. If it fails, Envidence opens a case and ranks the machine changes it observed.
Local by default
No account, no cloud sync, and no telemetry. Reports are single HTML files. The store stays where you put it.
npm install -g envidence
cd /path/to/project
evd init --label "Known good"
evd watch -- npm test
# If the command fails, review the case
evd whyKeep the machine layer in view
Install Envidence, take a snapshot before your next risky change, and stop guessing what moved.