Automatic local file history, backed by SQLite.
jvcode watches a workspace like autosave. Every stable create, modify, or delete becomes an append-only event. Old file bytes stay available through content-addressed blobs. No .git, no manual save command, no remote service.
- Node.js 22.5 or newer
- macOS, Linux, or Windows
npx jvcode-cli init my-project
cd my-project
echo hello > note.txt
jvcode status
jvcode history note.txt
jvcode verifyinit starts a detached watcher. The watcher records stable filesystem writes and reconciles changes made while it was offline. Stop it with jvcode stop when needed.
jvcode init [directory]
jvcode watch [directory]
jvcode stop [directory]
jvcode status [directory]
jvcode history [path]
jvcode show <path> <event-seq>
jvcode restore <path> <event-seq>
jvcode verify [directory]
jvcode doctor [directory]
History is local. Branches, merges, and remotes are intentionally not part of this first release.
The CLI only appends events and blobs. SQLite triggers reject normal update/delete attempts, while each event links to the previous event hash. A local owner can still replace the database file with filesystem access. jvcode verify makes that kind of tampering detectable; it cannot make a local disk physically immutable.
bun install
bun run typecheck
bun test
bun run buildThe CLI uses Node's built-in node:sqlite, so the published package has no native SQLite addon to compile.