About this project

Spacedrive is an open-source, cross-platform file manager and data platform. Its core is a Virtual Distributed File System (VDFS) written in Rust, with apps for macOS, Windows, Linux, iOS and Android, plus CLI, headless server and web clients. Key capabilities described in the README: - Content identity: every file receives a BLAKE3 content hash, enabling deduplication and redundancy tracking across machines. - Cross-device view: files from all devices appear in one index; disconnected devices show as offline. - P2P sync: devices connect directly via Iroh/QUIC without central servers; metadata syncs while files stay in place. - Cloud volumes: S3, Google Drive, Dropbox, OneDrive, Azure and GCS can be indexed as first-class volumes. - Nine views: grid, list, columns, media, size, recents, search, knowledge and splat, with QuickPreview for video, audio, code, documents, 3D and images. - Local-first design: processing runs on the user's machine, with optional self-hosted relay and no telemetry. Data archival adapters index external sources such as Gmail, Apple Notes, Chrome bookmarks/history, Safari history, Obsidian, Slack, GitHub, contacts and calendars. Adapters are folders with an adapter.toml manifest and a sync script in any language that reads stdin and prints lines. Spacebot integration provides an optional AI agent runtime. Spacedrive supplies the data, permission and execution layer; each agent pairs with one node and operations proxy through the permission system to target devices. A safety pipeline can screen indexed records with Prompt Guard 2, trust tiers, quarantine and content fencing before exposure to agents. Architecture highlights: Rust with Tokio, SQLite via SeaORM/sqlx, Iroh for P2P, BLAKE3 hashing, LanceDB and FastEmbed for vector search, OpenDAL for cloud storage, Tauri 2 for desktop, React Native/Expo for mobile, and React 19/Vite/TanStack Query/Tailwind for the frontend. The core uses CQRS/DDD with registered actions and queries that auto-generate TypeScript types. Getting started requires Rust 1.81+, Bun 1.3+, just and Python 3.9+; commands include just setup, just dev-desktop and just test. The project is licensed under FSL-1.1-ALv2, converting to Apache 2.0 after two years.