Introduction

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 FileSystem trait, domain types (VirtualPath, Node, Revision, Capability), and stable typed errors. Transport-independent — no SQL, no HTTP, no host filesystem paths.
  • fslite-sqlite — SqliteFileSystem: a FileSystem implementation backed by one SQLite database that can hold many isolated workspaces.
  • fslite-server — axum-based HTTP adapter exposing FileSystem as a resource- oriented API, gated behind a pluggable AuthProvider.
  • fslite-command + fslite-cli — typed Command codec, shell-like parser, and the fslite CLI binary.

Integration audiences

  • Embedding as a library — use fslite-core + fslite-sqlite directly from your own binary. See the Embedding guide.
  • Running a turnkey HTTP server — use fslite-server with a persistent SQLite database and your own AuthProvider. See the AuthProvider guide.
  • Driving the CLI — use the fslite binary. See the CLI quickstart.

Next steps