Everything in Unix is a file, except for the filesystem itself.
Until now.
Filesystems as plain text.
A c4m file describes an entire directory tree — permissions, timestamps, sizes, names, and a permanent identity for every file. Human-readable, diff-able, and small enough to email.
It's a filesystem in a text file.
cd, ls, mv, rm — they all work. The file is the filesystem.
Copy the file. Copy the filesystem.
Whole filesystems as simple text file copies. cp, scp, email, git — they all just work.
240 frames. One line.
Range expressions let you treat frame sequences as single units. 240 plates + a Nuke script = 3 lines. Email it.
Every file gets a permanent identity.
c4 stores content automatically. The ID is a permanent pointer to exactly those bytes.
What changed? See it instantly.
No need to have both versions on disk. The c4m file remembers what was there.
Lost files, found instantly.
Identity follows the content, not the path. Rename it, move it, archive it — the link holds.
The description is a view
A c4m file is a window into a project. Have many views — snapshots, versions, organizations. Switch between them instantly because views are tiny.
Pull from any source
Identities come from the content, not a system. A local drive, NAS, cloud bucket, or colleague's machine — any source with the right content works.
Indelible metadata
Link anything to a file by its identity. The file can move, be renamed, archived. The link holds — it links to what the file is, not what it's named.
Plain text is the superpower
grep, diff, awk, email, git — they all work on c4m files. When compressed, the text format is within 2% of an optimal binary format. It's not a compromise.
Install
brew install mrjoshuak/tap/c4go install github.com/Avalanche-io/c4/cmd/c4@latestpip install c4pynpm install @avalanche-io/c4See c4toolkit for binary downloads and the full version matrix.
The toolkit
c4
GoThe CLI. Describe directories, diff c4m files, reconcile filesystems.
c4sh
GoShell integration. cd project.c4m and ls just works.
c4py
PythonScan, diff, verify in Python. Zero dependencies.
c4git
GoGit for large files. No repo bloat, no server.
c4ts
TypeScriptBrowser + Node.js. WebCrypto. Zero dependencies.
c4-swift
SwiftNative Swift for Apple platforms.
Embed file identification in any application.