fslite
A transport-independent, async virtual filesystem for Rust, with a SQLite-backed persistent backend, an HTTP adapter, and a CLI.
Four crate layers
- fslite-core — the canonical
FileSystemtrait, domain types (VirtualPath,Node,Revision,Capability), and stable typed errors. Transport-independent — no SQL, no HTTP, no host filesystem paths. - fslite-sqlite —
SqliteFileSystem: aFileSystemimplementation backed by one SQLite database that can hold many isolated workspaces. - fslite-server —
axum-based HTTP adapter exposingFileSystemas a resource- oriented API, gated behind a pluggableAuthProvider. - fslite-command + fslite-cli
— typed
Commandcodec, shell-like parser, and thefsliteCLI binary.
Integration audiences
- Embedding as a library — use
fslite-core+fslite-sqlitedirectly from your own binary. See the Embedding guide. - Running a turnkey HTTP server — use
fslite-serverwith a persistent SQLite database and your ownAuthProvider. See the AuthProvider guide. - Driving the CLI — use the
fslitebinary. See the CLI quickstart.