UNPKG

create-next-supabase-starter

Version:

A simple CLI to create a Next.js 15 + Supabase project

153 lines (104 loc) β€’ 7.56 kB
# πŸš€ create-next-supabase-starter A powerful CLI tool to **instantly scaffold a modern, production-ready Next.js 15 + Supabase project** with a single command! πŸŽ‰ --- ## πŸ€” Why Use This Starter Instead of Starting from Scratch? Setting up a **Next.js 15 + Supabase project** from scratch can be **time-consuming and repetitive**. Developers often spend **hours configuring** authentication, database setup, styling, and component libraries before even writing business logic. This starter **eliminates the setup hassle** and provides a **pre-configured, production-ready environment with stable versions**, allowing you to focus **on building features** instead of boilerplate code. πŸš€ **Why waste hours configuring when you can start coding in minutes?** --- ## πŸ“Œ Features βœ… **Next.js 15 with App Router** – Leverage the power of modern, server-driven architecture. βœ… **React 19 Ready** – Optimized with the latest React features. βœ… **TypeScript by Default** – Write safer, more maintainable code. βœ… **Supabase Integration** – Pre-configured authentication, database, and storage. βœ… **Tailwind CSS** – Fully styled with a scalable utility-based design system. βœ… **shadcn/ui** – Beautiful pre-built UI components. βœ… **React Hook Form** – Efficient and flexible form handling. βœ… **Git Initialization (Optional)** – Quickly set up version control. βœ… **Automated Dependency Installation** – No need to manually install packages. βœ… **Environment Variables Included** – `.env.example` setup for easy configuration. βœ… **Scalable & Production-Ready** – Best practices implemented out of the box. --- ## πŸ“₯ Installation & Usage ### **1️⃣ Quick Start (Recommended)** You **don’t need to install anything!** Simply run: ```sh npx create-next-supabase-starter@latest my-project ``` --- ### **2️⃣ Running Without a Project Name** If you don’t provide a name, the CLI will prompt you: ```sh npx create-next-supabase-starter@latest my-project ``` πŸ‘‰ If you press **Enter** without a name, it will use **"next-supabase-starter"** by default. --- ## πŸ“¦ What’s Inside This Starter? This starter is not just a simple Next.js setupβ€”it comes **fully loaded** with essential features to kickstart any serious project. ### **πŸš€ Technology Stack** | Technology | Purpose | | --------------------------- | ------------------------------------------------------------------------------------------------------------ | | **Next.js 15 (App Router)** | Optimized for **performance** and **scalability** with modern **server components** and **dynamic routing**. | | **React 19** | Utilizes the **latest features** for efficient rendering and state management. | | **React Query** | Utilizes the **best practices** for efficient fetching, mutating and client side state management. | | **TypeScript** | Provides **strong typing** for better maintainability and developer experience. | | **Supabase** | Includes **authentication, database, and storage** setup using `supabase`. | | **Tailwind CSS** | A **utility-first** CSS framework for quick and **scalable styling**. | | **shadcn/ui** | Pre-built, **accessible UI components** styled with Tailwind. | | **React Hook Form** | Lightweight and **powerful form handling** with built-in validation. | | **pnpm** | **Efficient package manager** with workspaces support. | | **ESLint & Prettier** | Code formatting and linting pre-configured. | | **Environment Variables** | Pre-configured `.env.example` for easy API setup. | --- ## πŸ› οΈ How It Works 1️⃣ **Clones the Next.js + Supabase starter template.** 2️⃣ **Installs all dependencies automatically** (`pnpm install`). 3️⃣ **Asks if you want to initialize Git** (`git init`). 4️⃣ **Sets up a pre-configured project** with: - Supabase authentication - Tailwind CSS & shadcn/ui - React Hook Form for forms - Next.js 15 (App Router) - TypeScript for type safety 5️⃣ **Displays a success message with your next steps.** --- ## πŸ› οΈ Options & Features | Feature | Description | | --------------------------- | ---------------------------------------------------------------------------------------------------- | | **Project Name** | If not provided, CLI will prompt for one. Default: `"next-supabase-starter"`. | | **Git Setup** | Asks if you want to initialize a Git repository. | | **Automatic Installs** | Installs all dependencies using `pnpm install`. | | **Pre-configured Supabase** | Ready to use with `supabase-js` for auth, database, and storage. | | **React Query** | Pre-configured React Query providers with custom hooks (fetch, mutate). | | **Auth Query Wrapper** | Auth Context mixed between supabase functions with react query providers ensures fresh user session. | | **Tailwind & shadcn/ui** | Built-in styling and UI components, ready to use. | | **React Hook Form** | Form handling setup with built-in validation. | --- ## πŸ”₯ Why Use This Starter? βœ… **No More Boilerplate Setup** – Everything is pre-configured for you. βœ… **Focus on Building, Not Configuring** – Get started instantly with Next.js 15, Supabase, and Tailwind. βœ… **Best Practices Included** – The latest web development trends and best practices are built-in. βœ… **Save Time & Effort** – Stop wasting hours setting up the same things repeatedly. βœ… **Built-Ins** – Built-in auth system and thats always was a little hard for beginners with react query and supabase. πŸ’‘ **With this starter, you can start writing actual business logic from Day 1!** --- ## πŸ› οΈ Example Output ``` πŸš€ Create Next.js + Supabase Project Enter your project name (or press enter to use default): my-app πŸ“¦ Setting up my-app... βœ… Starter project cloned successfully! πŸ“¦ Installing dependencies... πŸ”— Do you want to initialize Git? (Y/n) πŸš€ Setup complete! Run the following to start your project: cd my-app pnpm dev ---------------------------------------- πŸŽ‰ Created by Mohamed 4rarh πŸš€ πŸ’» GitHub: https://github.com/Mohamed-4rarh ---------------------------------------- ``` --- ## πŸ™Œ Support & Feedback πŸ“’ Have feedback or found an issue? Open an issue on GitHub! πŸ’» **GitHub:** [@Mohamed-4rarh](https://github.com/Mohamed-4rarh)