Everything in Unix is a file, except for the filesystem itself. Until now.
Manage files without holding on to them.
C4 is a file management system that decouples organization from storage. A c4m file describes your entire filesystem in plain text — without any of the file content itself.
Start with a directory.
The c4m file is just text.
One line per file. Permissions, timestamp, size, name, and a permanent identity.
Something changed. See it instantly.
No need to have both versions on disk. The c4m file remembers what was there.
cd into a text file. Browse it like a directory.
The files aren't on disk. Content is pulled from the store when you need it.
Send the description. Sync only what's different.
The c4m file travels instantly. Content follows only when needed, from any source that has it.
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 points to what the file is, not where it was.
Plain text is the superpower
grep, diff, awk, email, git — they all work on c4m files. The text format is within 2% of binary after compression. It's not a compromise.
Install
brew install Avalanche-io/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.