From 49621316c9f21a7ab0d77640e5a98dbbe20dce27 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 18 Feb 2026 23:00:20 +0000 Subject: [PATCH 1/5] chore(release): 1.0.0-beta.19 [skip ci] # [1.0.0-beta.19](https://github.com/cloudinary-devs/create-cloudinary-react/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2026-02-18) ### Bug Fixes * update readme ([b7a77ca](https://github.com/cloudinary-devs/create-cloudinary-react/commit/b7a77caaf4bf052c68bd912a0ae9c51d424d07cd)) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5151474..447ab92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [1.0.0-beta.19](https://github.com/cloudinary-devs/create-cloudinary-react/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2026-02-18) + + +### Bug Fixes + +* update readme ([b7a77ca](https://github.com/cloudinary-devs/create-cloudinary-react/commit/b7a77caaf4bf052c68bd912a0ae9c51d424d07cd)) + # [1.0.0-beta.18](https://github.com/cloudinary-devs/create-cloudinary-react/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2026-02-18) diff --git a/package.json b/package.json index 8ef599a..0658ac7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "create-cloudinary-react", - "version": "1.0.0-beta.18", + "version": "1.0.0-beta.19", "description": "Scaffold a Cloudinary React + Vite + TypeScript project with interactive setup", "type": "module", "bin": { From 462378aad5b3b4b7679adb572dc469f405c02763 Mon Sep 17 00:00:00 2001 From: Jen Looper Date: Wed, 18 Feb 2026 15:23:17 -0800 Subject: [PATCH 2/5] Update README.md --- README.md | 107 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 76 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 7acffad..dcea541 100644 --- a/README.md +++ b/README.md @@ -1,57 +1,99 @@ # create-cloudinary-react -> **Beta Release** - This is a beta version. We welcome feedback and bug reports! - -Part of the [Cloudinary Developers](https://github.com/cloudinary-devs) organization. +[![npm version](https://img.shields.io/npm/v/create-cloudinary-react.svg?style=flat-square)](https://www.npmjs.com/package/create-cloudinary-react) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT) +[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) -Scaffold a Cloudinary React + Vite + TypeScript project with interactive setup. +**The fastest way to start building with Cloudinary and React.** -## Prerequisites +Scaffold a modern, production-ready Cloudinary application with React 19, Vite 6, and TypeScript 5. Features interactive setup, automatic environment configuration, and built-in AI coding assistance. - Node.js 18+ installed - A Cloudinary account (free tier available) - [Sign up for free](https://cld.media/reactregister) - Your cloud name is in your [dashboard](https://console.cloudinary.com/app/home/dashboard) -## Usage +> **Beta Release** - This is a beta version. We welcome feedback and bug reports! + +Part of the [Cloudinary Developers](https://github.com/cloudinary-devs) organization. + +![Build with Cloudinary!](https://res.cloudinary.com/cloudinary-creators-community/image/upload/c_thumb,w_200,g_face/v1771434800/Tee-Mascot-Hacktoberfest-cloudicorn_x6zvtf.png) + +## šŸ“½ļø Demo + +[![Watch the demo](https://res.cloudinary.com/drir0kpia/video/upload/so_1/reactstarterdemo.jpg)](https://res.cloudinary.com/drir0kpia/video/upload/v1771449633/reactstarterdemo.mp4) + + +## šŸŽ¬ Features + +- **šŸš€ Modern Stack**: React 19 + Vite 6 + TypeScript 5.7 +- **šŸ“¦ Cloudinary SDKs**: Pre-configured `@cloudinary/react` +- **šŸ¤– AI-First**: Auto-generates configuration for Cursor, GitHub Copilot, and Claude +- **šŸ› ļø Best Practices**: ESLint 9 + TypeScript-ESLint, strict type checking +- **⚔ Interactive Setup**: Validates your cloud name and configures `.env` automatically +- **šŸŽØ Typed Components**: Includes a fully typed Upload Widget component +- **šŸ”Œ MCP Support**: Built-in Model Context Protocol configuration for advanced AI integrations + +## šŸš€ Quick Start + +Ensure you have Node.js 18+ installed. ```bash npx create-cloudinary-react ``` +*(No installation required)* + +The CLI will guide you through: +1. **Project Name**: naming your new folder +2. **Cloud Name**: entering your [Cloudinary cloud name](https://console.cloudinary.com/app/home/dashboard) +3. **Upload Preset** (Optional): handling unsigned uploads +4. **AI Assistant**: generating custom rules for your tool of choice (Cursor, VS Code, etc.) + +## šŸ› ļø What's Included -The CLI will prompt you for: -- Project name -- **Cloudinary cloud name** (found in your [dashboard](https://console.cloudinary.com/app/home/dashboard)) -- Unsigned upload preset (optional - required for uploads, but transformations work without it) -- AI coding assistant(s) you're using (Cursor, GitHub Copilot, Claude, etc.) -- Whether to install dependencies -- Whether to start dev server +Your new project comes with: -## Features +- **`src/`**: specialized for Cloudinary workflows +- **`src/components/UploadWidget.tsx`**: A ready-to-use, typed upload component +- **`.env`**: Pre-filled with your Cloud Name (and Upload Preset if provided) +- **`README.md`**: Custom instructions for your specific project +- **AI Configuration**: + - `.cursorrules` / `.cursor/mcp.json` (for Cursor) + - `.github/copilot-instructions.md` (for Copilot) + - `.claude` / `claude.md` (for Claude) -- āœ… Interactive setup with validation -- āœ… Pre-configured Cloudinary React SDK -- āœ… TypeScript + Vite + React 19 -- āœ… Typed Upload Widget component -- āœ… Environment variables with VITE_ prefix -- āœ… Multi-tool AI assistant support (Cursor, GitHub Copilot, Claude, and more) -- āœ… MCP configuration for Cloudinary integration -- āœ… ESLint + TypeScript configured +## šŸ¤– AI Assistant Support -## AI Assistant Support +We believe AI is the future of development. This starter kit doesn't just give you code; it gives your AI context. -During setup, you'll be asked which AI coding assistant(s) you're using. The CLI will generate the appropriate configuration files: +During setup, select your AI tool to generate **Context Rules**. These rules teach your AI: +- How to construct Cloudinary transformation URLs correctly +- How to use the `@cloudinary/react` SDK components +- Common pitfalls to avoid (like mixing up import paths) +- How to handle upload widget events -- āœ… **Cursor** → `.cursorrules` + `.cursor/mcp.json` (if selected) -- āœ… **GitHub Copilot** → `.github/copilot-instructions.md` -- āœ… **Claude Code** → `CLAUDE.md` + `.mcp.json` (if selected) -- āœ… **Generic AI tools** → `AI_INSTRUCTIONS.md`, `PROMPT.md` +**Supported Tools:** +- āœ… **Cursor** (Rules + MCP) +- āœ… **GitHub Copilot** (Instructions) +- āœ… **Claude** (Project context + MCP) +- āœ… **Generic LLMs** (System prompts provided) -**MCP Configuration**: Cursor and Claude Code use different config paths. If you select **Cursor**, the CLI writes `.cursor/mcp.json`. If you select **Claude**, it writes `.mcp.json` in the project root. Each tool only reads its own path, so both files are generated when you select both. +## šŸ“‹ Prerequisites -These rules help AI assistants understand Cloudinary React SDK patterns, common errors, and best practices. The generated app also includes an "AI Prompts" section with ready-to-use suggestions for your AI assistant. +- **Node.js 18+** +- **Cloudinary Account**: [Sign up for free](https://cloudinary.com/users/register/free) if you haven't already. -## Development +## šŸ¤ Contributing + +Contributions are welcome! Please feel free to submit a Pull Request. + +1. Fork the repository +2. Create your feature branch (`git checkout -b feature/amazing-feature`) +3. Commit your changes (`git commit -m 'feat: add some amazing feature'`) +4. Push to the branch (`git push origin feature/amazing-feature`) +5. Open a Pull Request + +## āš™ļø Development This project uses [Conventional Commits](https://www.conventionalcommits.org/) for version management and [semantic-release](https://github.com/semantic-release/semantic-release) for automated releases. @@ -79,3 +121,6 @@ Releases are triggered manually via GitHub Actions workflow. The workflow uses n - `perf`: Performance improvements - `chore`: Other changes +## šŸ“„ License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. From efd03e5119ee50edf21e92e3008d87389b227683 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Mon, 23 Feb 2026 22:14:57 +0000 Subject: [PATCH 3/5] chore(release): 1.0.0-beta.20 [skip ci] # [1.0.0-beta.20](https://github.com/cloudinary-devs/create-cloudinary-react/compare/v1.0.0-beta.19...v1.0.0-beta.20) (2026-02-23) ### Bug Fixes * Merge pull request [#9](https://github.com/cloudinary-devs/create-cloudinary-react/issues/9) from jlooper-cloudinary/main ([9696686](https://github.com/cloudinary-devs/create-cloudinary-react/commit/96966864d65168b0210a8200f26c9d0d144b6fa9)) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 447ab92..7de15b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [1.0.0-beta.20](https://github.com/cloudinary-devs/create-cloudinary-react/compare/v1.0.0-beta.19...v1.0.0-beta.20) (2026-02-23) + + +### Bug Fixes + +* Merge pull request [#9](https://github.com/cloudinary-devs/create-cloudinary-react/issues/9) from jlooper-cloudinary/main ([9696686](https://github.com/cloudinary-devs/create-cloudinary-react/commit/96966864d65168b0210a8200f26c9d0d144b6fa9)) + # [1.0.0-beta.19](https://github.com/cloudinary-devs/create-cloudinary-react/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2026-02-18) diff --git a/package.json b/package.json index 0658ac7..aab8c17 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "create-cloudinary-react", - "version": "1.0.0-beta.19", + "version": "1.0.0-beta.20", "description": "Scaffold a Cloudinary React + Vite + TypeScript project with interactive setup", "type": "module", "bin": { From 54f633e6fc2a6e800979c9962383c8f83523f79b Mon Sep 17 00:00:00 2001 From: strausr Date: Wed, 25 Feb 2026 09:17:45 -0800 Subject: [PATCH 4/5] fix: update title in readme and ui --- cli.js | 2 +- templates/src/App.tsx.template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cli.js b/cli.js index 91edae0..01a6c15 100755 --- a/cli.js +++ b/cli.js @@ -69,7 +69,7 @@ async function main() { } else { - console.log(chalk.cyan.bold('\nšŸš€ Cloudinary React + Vite\n')); + console.log(chalk.cyan.bold('\nšŸš€ Cloudinary React Starter Kit\n')); console.log(chalk.gray('šŸ’” Need a Cloudinary account? Sign up for free: https://cld.media/reactregister\n')); const questions = [ diff --git a/templates/src/App.tsx.template b/templates/src/App.tsx.template index 7fe7adc..01bacf8 100644 --- a/templates/src/App.tsx.template +++ b/templates/src/App.tsx.template @@ -60,7 +60,7 @@ function App() { return (
-

Cloudinary React + Vite

+

Cloudinary React Starter Kit

This is a ready-to-use development environment with Cloudinary integration.

{hasUploadPreset && ( From b07017ec6c9e9a30e6fa9768766f6edd1300bde7 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 25 Feb 2026 17:20:00 +0000 Subject: [PATCH 5/5] chore(release): 1.0.0-beta.21 [skip ci] # [1.0.0-beta.21](https://github.com/cloudinary-devs/create-cloudinary-react/compare/v1.0.0-beta.20...v1.0.0-beta.21) (2026-02-25) ### Bug Fixes * update title in readme and ui ([54f633e](https://github.com/cloudinary-devs/create-cloudinary-react/commit/54f633e6fc2a6e800979c9962383c8f83523f79b)) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7de15b1..0a27e20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# [1.0.0-beta.21](https://github.com/cloudinary-devs/create-cloudinary-react/compare/v1.0.0-beta.20...v1.0.0-beta.21) (2026-02-25) + + +### Bug Fixes + +* update title in readme and ui ([54f633e](https://github.com/cloudinary-devs/create-cloudinary-react/commit/54f633e6fc2a6e800979c9962383c8f83523f79b)) + # [1.0.0-beta.20](https://github.com/cloudinary-devs/create-cloudinary-react/compare/v1.0.0-beta.19...v1.0.0-beta.20) (2026-02-23) diff --git a/package.json b/package.json index aab8c17..6718323 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "create-cloudinary-react", - "version": "1.0.0-beta.20", + "version": "1.0.0-beta.21", "description": "Scaffold a Cloudinary React + Vite + TypeScript project with interactive setup", "type": "module", "bin": {