Drive Overview
Build file managers, media libraries, and provider-backed document experiences with the Drive package.
@tulip-systems/drive gives you a shared UI and contract layer for browsing, uploading,
organising, and mutating files across multiple backends.
It currently exposes:
- provider-agnostic contracts and validators
- reusable client primitives for grid, list, selection, and view state
- a local provider with upload and serving support
- a Google Drive provider with tree and mutation support
Start here
What Drive is good at
- file pickers inside forms and admin workflows
- media libraries with grid and list views
- internal document managers with folders and bulk actions
- provider-specific implementations that still reuse the same shell
Package entrypoints
import "@tulip-systems/drive/styles.css";
import { DriveViewProvider } from "@tulip-systems/drive/client";
import { LocalDriveProvider } from "@tulip-systems/drive/local/client";
import { localDriveRouterContract } from "@tulip-systems/drive/local/server";Documentation map
Getting Started: installation and first integrationConcepts: data model, providers, selection, optimistic uploadsLocal: self-managed storage and uploadsGoogle: remote tree access and mutations for Google DriveComponents: reusable building blocksCustomization: columns, rendering, commands, stylingRecipes: concrete product patternsReference: exports, types, and gotchas