files-sdk is a unified storage SDK providing a consistent API for various object and blob storage backends like S3, R2, Google Cloud Storage, and MinIO. It focuses on web standards for I/O operations, making it easy for developers to switch storage providers without rewriting their application logic.
A starter prompt for Claude Code, what you'll need, and how to reach them.
You are an expert full-stack developer. I need you to build a proof-of-concept for a unified storage SDK similar to `files-sdk`. The goal is to provide a single, minimal JavaScript API for common file operations (upload, download, delete, list). Focus on web-standard I/O, particularly using `Blob` and `ReadableStream` where appropriate. Use Next.js 16 App Router, React 19, Tailwind v4, and Node.js for server-side logic. The MVP should support two storage backends: AWS S3 and Vercel Blob. Here's the plan: 1. **Define the Core Interface:** Create a TypeScript interface for `StorageAdapter` with methods like `upload(path: string, file: Blob | ReadableStream, options?: object): Promise<string (URL)>`, `download(path: string): Promise<ReadableStream>`, `delete(path: string): Promise<void>`, and `list(prefix?: string): Promise<string[] (paths)>`. 2. **Implement S3 Adapter:** Create `S3Adapter` implementing `StorageAdapter` using the `@aws-sdk/client-s3` package. Focus on `PutObjectCommand`, `GetObjectCommand`, `DeleteObjectCommand`, and `ListObjectsV2Command`. 3. **Implement Vercel Blob Adapter:** Create `VercelBlobAdapter` implementing `StorageAdapter` using the `@vercel/blob` package. Use `put`, `del`, and `list` methods. 4. **Create a Unified Client:** Build a `StorageClient` class that takes an `StorageAdapter` instance in its constructor and exposes the core methods. 5. **Develop a Next.js Demo:** Create a simple Next.js page (`/app/page.tsx`) with two forms: one for uploading a file (to either S3 or Vercel Blob, selected via a dropdown) and another to list and download/delete files. Ensure client-side file selection and server-side processing for storage operations. Do not worry about persistent configuration; hardcode API keys/secrets for the demo (clearly marked). 6. **Build/Verify Gate:** The application should successfully upload a file to both S3 and Vercel Blob, list files from both, and successfully download and delete files. Provide instructions on how to set up AWS S3 and Vercel Blob for testing.
Reach developers using AI coding tools and building agency projects by showing how a unified storage SDK simplifies deploying new projects across various client hosting environments.
A unified storage SDK for object and blob backends. One small, honest API. Web-standards I/O. Topics: agents, blob, cloudflare, files, google, minio, r2, s3, storage, vercel.
Open a pull request on the GitHub repository `haydenbleasel/files-sdk` with improvements or alternative implementations, or create a new issue for discussion.
“I've been exploring unified storage SDKs and built a similar proof-of-concept using web standards and Next.js, targeting a more minimal API. I'd be interested in contributing or discussing how to integrate some of these concepts into files-sdk.”
Open the original ↗