A copy-on-write virtual filesystem for Git trees and incremental builds. Compile everything instantly.
וַיֵּצֵא קַיִן, מִלִּפְנֵי יְהוָה; וַיֵּשֶׁב בְּאֶרֶץ-נוֹד, קִדְמַת-עֵדֶן.
And Cain went out from the presence of the LORD, and dwelt in the land of Nod, on the east of Eden.
Genesis 4:16 (KJV)
It's super easy to get started. Just pull and build with nodh, commit and push with git.
1. Pull your repository.
nodh pull https://github.com/acme/monorepo
cd monorepo2. Make your changes, then build and test.
Nodh reuses compatible results from previous builds, including CI.
nodh build
nodh test3. Commit and push with Git.
git add path/to/changed-file.rs
git commit -m "fix: handle empty input"
git push4. Pull updates when you need them.
nodh pull5. Use the same commands in CI.
Select the exact commit supplied by GitHub Actions.
nodh pull "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY" --rev "$GITHUB_SHA"
cd "${GITHUB_REPOSITORY##*/}"
nodh build
nodh testOpen a warm tree and build: 0.68 s, versus 3.61 s with mbx.
Four warm trees: 2.01 MiB of additional storage, versus 691.5 MiB for full copies.
September 20, 2026. mbx 1.14.0 (1acd603). Three APFS trials of Cowtree with Cargo, the storage experiment behind this design. Seed preparation excluded. mbx target views and compiler incrementality disabled. Method and samples.
mbx, by Jeff Dickey, creator of mise, shares Cargo artifacts across projects and manages their disk use. It is our practical baseline while Cargo's cross-workspace cache develops.
open resolves the Git ref once, then calls the source-tree service.
BSMR holds an immutable snapshot for each build while you continue editing.
| Request | Result |
|---|---|
POST /v1/trees |
Open an exact Git commit or retained snapshot on a selected host. |
POST /v1/trees/{id}/snapshots |
Capture a tree with local or remote durability. |
GET /v1/trees/{id} |
Read its source, placement, and operation status. |
DELETE /v1/trees/{id} |
Close the tree while retaining active build inputs. |
Apache 2.0. See LICENSE for more.
Nodh takes its name and inspiration from the land of Nod, just east of Eden.
