Get Started
Install
Go (recommended)
go install github.com/Avalanche-io/c4/cmd/c4@latest
Python
pip install c4py
From source
git clone https://github.com/Avalanche-io/c4.git
cd c4
go build -o c4 ./cmd/c4
Your first scan
Point c4 id at any directory. It produces a c4m file — a human-readable manifest of every file, with content-based IDs.
$ c4 id ./myproject/
-rw-r--r-- 2026-03-20T09:15:00Z 1204 README.md c45xZeXwKjQ2...
-rw-r--r-- 2026-03-20T09:15:00Z 892 main.go c43nYtRmPvW7...
drwxr-xr-x 2026-03-20T09:15:00Z ... tests/ c41qLmNxBzJ4...
Save it:
c4 id ./myproject/ > myproject.c4m
That file is now a permanent record of your directory’s contents. You can read it, email it, store it, diff it.
Your first diff
Change a file in myproject/, then scan again:
echo "updated" >> myproject/README.md
c4 id ./myproject/ > myproject-v2.c4m
Now diff the two snapshots:
$ c4 diff myproject.c4m myproject-v2.c4m
c41oRmNxBzJ4kLpQvW8sYdHf3gTe6UaCb5jX7nZwPq9iMrDuEvFy2hGtSxAl0KcOmBJN
-rw-r--r-- 2026-03-20T09:16:00Z 1248 README.md c42qPnYsLwK8...
c45xZeXwKjQ2nMrBz7L1pYvWqRtN8sHfJd3g6CmAeU9kXoP4bG5hT0iVlDaSwFuO7yE
The output is a c4m patch — it shows the old manifest’s C4 ID, the changed entries with their new values, and the new manifest’s C4 ID. Only entries that changed appear in the patch.
Try c4sh
c4sh lets you treat c4m files as directories in your shell.
eval "$(c4sh shell-init)"
cd myproject.c4m
ls
You’re now browsing the manifest as if it were a real directory. Tab completion works. ls -la shows sizes and timestamps. This is the c4m file format earning its keep — it contains enough metadata to impersonate a filesystem.
Try c4py
import c4py
# Scan a directory to create a manifest
manifest = c4py.scan("./experiment-042/")
print(manifest.summary())
# Save as a c4m file
c4py.dump(manifest, "experiment-042.c4m")
# Later, verify nothing changed
report = c4py.verify_tree("experiment-042.c4m", "./experiment-042/")
print(f"{len(report.ok)} OK, {len(report.missing)} missing, {len(report.corrupt)} corrupt")
Next steps
- How It Works — understand the c4m format and content identity
- Tools — explore the full ecosystem
- Examples — real workflows for VFX, ML, and data management