- platform
- Linux · macOS
- stack
- Rust, ZIP, SQLite, JSON Schema
- license
- MIT
- install
- cargo install --path . --locked
Overview
Darkbox is an open specification for project files, accompanied by a Rust CLI for offline verification and inspection. Each file is a ZIP archive containing SQLite databases, a JSON manifest and the documentation needed to interpret its contents.
Conceived by Vincenzo Petrucci for Illegal Studio software, Darkbox can also be adopted by other applications. Its goal is to keep people's work understandable and recoverable beyond the lifetime of the program that created it: documentation for the container, SQLite file format and application data travels with the project.
The common specification defines packaging and metadata. Each application keeps its own filename extension and describes its schemas, resources, versions and migrations in its own profile, included in the archive.
The CLI bundles SQLite and references for its supported versions, with no network connection required. darkbox verify checks common container rules, canonical documentation and databases; darkbox inspect reports metadata. Common checks do not certify application profile data semantics.
To install the CLI from source, clone the repository and run the installation command from its directory. Rust 1.88 or later and a C compiler are required.
What it does
- ZIP archives with SQLite databases and a JSON manifest
- Format and application profile documentation included in every file
- Offline verification and inspection without the original application
- SQLite integrity and foreign-key checks
- JSON reports for scripts and pipelines
- Application profiles with independent schemas and versions