create-esa-stack 0.1.9 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/CHANGELOG.md +52 -9
  2. package/README.md +84 -24
  3. package/dist/cli.js +2202 -84
  4. package/package.json +3 -2
package/CHANGELOG.md CHANGED
@@ -5,15 +5,58 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [Unreleased]
9
-
10
- ### Planned for 0.2.0
11
- - Template registry system
12
- - Project structure schema
13
- - Commander.js CLI framework
14
- - AST-based code transformations
15
- - Test infrastructure
16
- - Critical bug fixes
8
+ ## [0.1.11] - 2026-01-24
9
+
10
+ ### Added
11
+ - **CLI Flags**: Added support for CLI arguments and flags (e.g., `create-esa-stack my-app --supabase --no-testing`).
12
+ - **Non-Interactive Mode**: Added `--default` / `-y` flag to skip all prompts and use default values.
13
+ - **Help Command**: Added `--help` to list all available options.
14
+
15
+ ## [0.1.10] - 2026-01-24
16
+
17
+ ### Docs
18
+ - Comprehensive documentation update in README and CHANGELOG.
19
+
20
+ ## [0.1.9] - 2026-01-24
21
+
22
+ ### Added
23
+ - **Storybook**: Added support for Storybook component development environment.
24
+ - **Smart Testing Configuration**: Automatically skips separate testing tools setup if Storybook is used (since it includes testing infrastructure).
25
+
26
+ ## [0.1.8] - 2026-01-24
27
+
28
+ ### Added
29
+ - **Testing Tools**: Added optional installation for Vitest and React Testing Library.
30
+
31
+ ## [0.1.7] - 2026-01-24
32
+
33
+ ### Added
34
+ - **Supabase**: Added optional integration for Supabase (Auth, Database, Realtime). Installs `@supabase/supabase-js`, `@supabase/ssr` and CLI.
35
+
36
+ ## [0.1.6] - 2026-01-24
37
+
38
+ ### Added
39
+ - **React Email**: Added optional integration for React Email, including preview server and components.
40
+
41
+ ## [0.1.5] - 2026-01-24
42
+
43
+ ### Added
44
+ - **Resend**: Added optional integration for Resend transactional emails.
45
+
46
+ ## [0.1.4] - 2026-01-24
47
+
48
+ ### Added
49
+ - **@next/third-parties**: Added optional support for optimized third-party scripts (Google Analytics, GTM, etc).
50
+
51
+ ## [0.1.3] - 2026-01-24
52
+
53
+ ### Added
54
+ - **TanStack Query**: Added optional integration for server-state management.
55
+
56
+ ## [0.1.2] - 2026-01-24
57
+
58
+ ### Added
59
+ - **shadcn/ui**: Added optional integration for shadcn/ui component library.
17
60
 
18
61
  ## [0.1.0] - 2026-01-22
19
62
 
package/README.md CHANGED
@@ -1,49 +1,111 @@
1
1
  # create-esa-stack
2
2
 
3
- A CLI tool to quickly scaffold Next.js projects with ESA's preferred tech stack.
3
+ A CLI tool to quickly scaffold Next.js projects with ESA's preferred tech stack.
4
+
5
+ > **Opinionated but flexible.** Starts with a robust modern foundation, then lets you pick exactly the extras you need.
4
6
 
5
7
  ## Features
6
8
 
7
- Creates a Next.js project with the following tech stack:
9
+ Every project is created with a solid baseline:
8
10
 
9
11
  - ✅ **Next.js** - React framework with App Router
10
12
  - ✅ **TypeScript** - Type-safe JavaScript
11
- - ✅ **Tailwind CSS** - Utility-first CSS framework
12
- - ✅ **Biome.js** - Fast linter and formatter
13
+ - ✅ **Tailwind CSS** - Utility-first CSS framework (v4)
14
+ - ✅ **Biome.js** - Ultra-fast linter and formatter
13
15
  - ✅ **React Compiler** - Optimized React performance
14
16
  - ✅ **Turbopack** - Fast bundler for development
15
17
  - ✅ **pnpm** - Efficient package manager
16
18
 
19
+ ### Optional Integrations
20
+
21
+ During setup, you can interactively choose to add:
22
+
23
+ - 🎨 **shadcn/ui** - Beautiful, accessible, copy-paste components.
24
+ - 📡 **TanStack Query** - Powerful asynchronous state management.
25
+ - 🚦 **@next/third-parties** - Optimized loading for third-party scripts.
26
+ - 📧 **Resend** - The best API for sending emails.
27
+ - ✉️ **React Email** - Build emails using React components.
28
+ - ⚡ **Supabase** - Open Source Firebase alternative (Auth, DB, Realtime).
29
+ - 🧪 **Testing Tools** - Vitest & React Testing Library (Unit/Integration testing).
30
+ - 📚 **Storybook** - Frontend workshop for UI development (Includes testing setup).
31
+
17
32
  ## Usage
18
33
 
19
- ### Using npx (Recommended)
34
+ ### Recommended (pnpm)
35
+
36
+ ```bash
37
+ pnpm create esa-stack@latest
38
+ ```
39
+
40
+ ### Other Package Managers
41
+
42
+ **npm**
43
+
44
+ ```bash
45
+ npx create-esa-stack@latest
46
+ ```
47
+
48
+ **yarn**
20
49
 
21
50
  ```bash
22
- npx create-esa-stack
51
+ yarn create esa-stack
23
52
  ```
24
53
 
25
- ### Using Bun
54
+ **bun**
26
55
 
27
56
  ```bash
28
57
  bun create esa-stack
29
58
  ```
30
59
 
31
- ### Local Development
60
+ ### Interactive Flow
61
+
62
+ The CLI will guide you through the setup:
63
+
64
+ 1. **Project Name**: Choose a name for your directory.
65
+ 2. **Scaffolding**: Sets up the base Next.js application.
66
+ 3. **Optional Packages**:
67
+ - *Install shadcn/ui?* (Default: Yes)
68
+ - *Install TanStack Query?* (Default: Yes)
69
+ - *Install @next/third-parties?* (Default: Yes)
70
+ - *Install Resend?* (Default: No)
71
+ - *Install React Email?* (Default: No)
72
+ - *Install Supabase?* (Default: Yes)
73
+ - *Install Storybook?* (Default: No)
74
+ - *If Yes*: Sets up Storybook environment.
75
+ - *If No*: Asks to install *Testing Tools (Vitest)* separately.
76
+
77
+ ### CLI Options
78
+
79
+ You can pass the project name and options directly via CLI to skip prompts:
32
80
 
33
81
  ```bash
34
- # Install dependencies
35
- bun install
82
+ pnpm create esa-stack <project-name> [options]
83
+ ```
84
+
85
+ **Available Flags:**
86
+
87
+ | Flag | Description | Default |
88
+ | :--- | :--- | :--- |
89
+ | `--shadcn` / `--no-shadcn` | Install shadcn/ui | Yes |
90
+ | `--tanstack-query` / `--no-tanstack-query` | Install TanStack Query | Yes |
91
+ | `--next-third-parties` / `--no-next-third-parties` | Install @next/third-parties | Yes |
92
+ | `--resend` / `--no-resend` | Install Resend | No |
93
+ | `--react-email` / `--no-react-email` | Install React Email | No |
94
+ | `--supabase` / `--no-supabase` | Install Supabase | Yes |
95
+ | `--storybook` / `--no-storybook` | Install Storybook | No |
96
+ | `--testing` / `--no-testing` | Install Vitest + RTL | Yes |
97
+ | `--default`, `-y` | Skip prompts and use defaults | - |
98
+ | `--help` | Show help message | - |
36
99
 
37
- # Run the CLI locally
38
- bun run dev
100
+ **Example:**
39
101
 
40
- # Build the CLI
41
- bun run build
102
+ ```bash
103
+ pnpm create esa-stack my-app --supabase --no-testing -y
42
104
  ```
43
105
 
44
106
  ## How It Works
45
107
 
46
- The CLI prompts you for a project name and then runs `create-next-app` with the following flags:
108
+ The CLI wraps `create-next-app` with a specific set of high-performance flags:
47
109
 
48
110
  ```bash
49
111
  npx create-next-app@latest <project-name> \
@@ -57,18 +119,16 @@ npx create-next-app@latest <project-name> \
57
119
  --yes
58
120
  ```
59
121
 
60
- ## Roadmap
61
-
62
- Optional integrations available:
122
+ After scaffolding, it programmatically installs and configures selected integrations (e.g., running `shadcn init`, `storybook init`, etc.) so you're ready to code immediately.
63
123
 
64
- - [x] **@tanstack/react-query** - Data fetching and caching ✨
65
- - [x] **shadcn/ui** - Beautiful UI component library ✨
66
- - [x] **resend** - Email API for sending emails ✨
124
+ ## Contributing
67
125
 
68
- Coming soon:
126
+ Contributions are welcome!
69
127
 
70
- - [ ] **react-email** - Email templates
71
- - [ ] **Storybook** - Component development
128
+ 1. Clone the repository.
129
+ 2. Install dependencies: `bun install`
130
+ 3. Run the CLI locally: `bun run dev`
131
+ 4. Build: `bun run build`
72
132
 
73
133
  ## License
74
134