Core Architecture Specification

Mora VCS is a fully self-contained, content-addressed version control engine written from scratch in Node.js and TypeScript. It implements a complete Git-like database model locally inside your workspaces.

Official NPM Package

The Mora VCS Command Line Interface is now publicly available on the npm registry. You can install it globally on any machine to start managing your projects:

npm install -g mora-vcs

View mora-vcs on npmjs.com →

Content-Addressed Database (.mora/)

Every object inside Mora VCS is addressed by its SHA-256 hash and compressed using Node's native zlib.deflateSync. This guarantees 100% collision-free data integrity and minimum payload transfer times.

Blobs

Store raw, compressed file content. Blobs are entirely isolated from file names or permissions; only the content determines the address.

Trees

Represent directory layouts. A tree references other trees (subdirectories) or blobs (files) along with their file names and permissions.

Commits

Contain metadata representing a project snapshot, pointing to a root tree hash, parent commit hashes, timestamps, and author signatures.

Refs & Heads

Branch markers stored under .mora/refs/heads/. They are lightweight files containing the 64-character SHA-256 of the branch's latest commit.