From 6ab2626c8ac02a6d19aea1e9fb22d2778e22c820 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 21 Feb 2026 16:40:24 +0000 Subject: [PATCH 1/2] Initial plan From e920bc5f7cb2fa4686161a0f2c3e8d9cb29dcde2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 21 Feb 2026 16:42:25 +0000 Subject: [PATCH 2/2] docs: add Overview section to README explaining what FluxMedia is Co-authored-by: codewithveek <65457498+codewithveek@users.noreply.github.com> --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 60d3b51..029294c 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,19 @@ A unified, TypeScript-first media library for modern applications. Upload to Cloudinary, S3, R2, and more with a single interface. +## Overview + +FluxMedia is a **monorepo** that provides a single, consistent API for media uploads across multiple cloud storage and CDN providers. Instead of writing provider-specific integration code for Cloudinary, AWS S3, or Cloudflare R2, you configure one `MediaUploader` instance and your upload logic stays the same no matter which backend you use. + +The monorepo is organized into focused packages: + +- **`@fluxmedia/core`** – the provider-agnostic `MediaUploader` class, shared TypeScript types, error codes, file-type detection utilities, and the plugin interface. +- **`@fluxmedia/cloudinary`**, **`@fluxmedia/s3`**, **`@fluxmedia/r2`** – thin provider adapters that translate the unified API into provider-specific SDK calls. +- **`@fluxmedia/plugins`** – optional, composable plugins (validation, image optimization, metadata extraction, analytics, retry). +- **`@fluxmedia/react`** – React hooks (`useMediaUpload`) and ready-to-use components built on top of the core library. + +Typical use cases include profile-picture uploads, document management, video hosting pipelines, and any scenario where you need reliable, type-safe file uploads without locking yourself into a single cloud provider. + ## Features - **Unified API** - Write once, use any provider