Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jvcode-cli

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.

Requirements

  • Node.js 22.5 or newer
  • macOS, Linux, or Windows

Quick start

npx jvcode-cli init my-project
cd my-project
echo hello > note.txt
jvcode status
jvcode history note.txt
jvcode verify

init 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.

Commands

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.

Immutability boundary

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.

Development

bun install
bun run typecheck
bun test
bun run build

The CLI uses Node's built-in node:sqlite, so the published package has no native SQLite addon to compile.

About

Automatic immutable local file history backed by SQLite

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages