- piattaforma
- Linux · macOS
- stack
- Rust, ZIP, SQLite, JSON Schema
- licenza
- MIT
- installazione
- cargo install --path . --locked
Panoramica
Darkbox è una specifica aperta per file di progetto, accompagnata da una CLI Rust per verificarli e ispezionarli offline. Ogni file è un archivio ZIP con database SQLite, un manifest JSON e la documentazione necessaria a interpretarne il contenuto.
Ideato da Vincenzo Petrucci per i software di Illegal Studio, Darkbox può essere adottato anche da altre applicazioni. L'obiettivo è mantenere il lavoro delle persone comprensibile e recuperabile oltre la vita del programma che lo ha creato: la documentazione del contenitore, del formato SQLite e dei dati applicativi viaggia insieme al progetto.
La specifica comune definisce il contenitore e i metadati. Ogni applicazione mantiene la propria estensione e descrive schemi, risorse, versioni e migrazioni nel proprio profilo, incluso nell'archivio.
La CLI include SQLite e i riferimenti delle versioni supportate, senza richiedere una connessione di rete. darkbox verify controlla le regole comuni del contenitore, la documentazione canonica e i database; darkbox inspect mostra i metadati. I controlli comuni non certificano la semantica dei dati del profilo applicativo.
Per installare la CLI dai sorgenti, clona il repository ed esegui il comando di installazione dalla sua directory. Sono necessari Rust 1.88 o successivo e un compilatore C.
Cosa fa
- Archivi ZIP con database SQLite e manifest JSON
- Documentazione del formato e del profilo applicativo inclusa in ogni file
- Verifica e ispezione offline, senza l'applicazione originale
- Controlli di integrità e chiavi esterne dei database SQLite
- Report JSON per script e pipeline
- Profili applicativi con schemi e versioni indipendenti