create-next-quick
Bootstrap your Next.js project in seconds with your preferred setup
Why create-next-quick?
create-next-quick is a powerful, lightweight
alternative to create-next-app, designed for developers
who want more control and speed right from the start.
| Feature | create-next-quick |
create-next-app |
|---|---|---|
| Multi-page Generation | ✅ Yes (e.g., home, about, contact) |
❌ No |
| ORM Support | ✅ Yes (Prisma, Drizzle) | ❌ No |
| Linter Choice | ✅ Yes (ESLint, Biome) | ❌ ESLint only |
| Shadcn UI Auto-Setup | ✅ Yes (non-interactive) | ❌ No |
| Clean Project Start | ✅ Yes (removes boilerplate & default assets) | ❌ No |
| Package Manager Detection | ✅ Yes (npm, yarn, pnpm) | ✅ Yes |
| Robust Error Handling | ✅ Yes (retries, cleanup, clear tips) | ❌ Basic |
Features
Project Scaffolding
- CLI Argument for Project Name: Skip the project name prompt by passing it as an argument.
- Custom Page Generation: Create multiple pages at once from the CLI.
-
Clean Project Setup: Automatically removes
the default favicon, clears the public folder, and provides a
clean
page.tsxandlayout.tsx. - Safe Project Creation: Prevents accidental overwrites by checking if the target directory is empty.
-
Conditional API Route Deletion: Removes the
default
hello.jsAPI route when not needed.
Tooling & Integrations
-
Package Manager Detection: Auto-detects
npm,yarn, andpnpm. - Linter Support: Choose between ESLint, Biome, or no linter.
- ORM Support: Integrated setup for Prisma or Drizzle.
- Shadcn UI: Automatically installs and configures Shadcn UI non-interactively.
-
TypeScript CSS Module Support: Generates
global.d.tsto provide type declarations for CSS imports. - Authentication: Integrated setup for NextAuth.js, Clerk, or Lucia with middleware and API routes.
- Testing: Ready-to-use configuration for Vitest or Jest with React Testing Library.
-
Docker: Auto-generated
Dockerfileand.dockerignorefor containerized deployments.
Developer Experience
- Robust Error Handling: Automatic retries for failed installs, intelligent cleanup of incomplete projects, and actionable troubleshooting tips.
- Automated CI/CD Feedback: Get automated comments on the test status of your Pull Requests.
Usage
No global installation is needed. Run it instantly with
npx:
npx create-next-quick [project-name]
If you omit [project-name], the tool will prompt you
for it. Use . to create in the current directory (must
be empty).
Other Flags
-v, --version: Display the version number-h, --help: Display the help message
Interactive Mode (for existing projects)
Already have a Next.js project? Use the -i or
--interactive flag to run
create-next-quick on your existing project and add new
features without starting from scratch.
npx create-next-quick -i
When you run in interactive mode, the tool will:
-
Detect Your Project's Setup: It automatically
detects if you're using TypeScript, the
srcdirectory, theappdirectory, and Tailwind CSS. -
Skip Project Creation: It will not run
create-next-appor remove any existing files. - Prompt for Additions: It will only ask you what you want to add to your project, such as new pages, a linter, an ORM, or Shadcn UI.
This is perfect for when you want to add a new feature to your project and want to use the same streamlined setup process.
Interactive Prompts
The CLI will guide you through the following options:
| Prompt | Description | Default |
|---|---|---|
| Package Manager |
Auto-detects installed npm, yarn,
pnpm
|
pnpm |
| TypeScript | Use TypeScript for type safety | Yes |
| Tailwind CSS | Use Tailwind CSS for styling | Yes |
src/ Directory
|
Use the src/ directory for project structure
|
Yes |
| App Router | Use the Next.js App Router | Yes |
| Pages | Enter page names to create (comma-separated) | none |
| Linter |
Choose a linter (ESLint, Biome)
|
none |
| ORM |
Choose an ORM (Prisma, Drizzle)
|
none |
| Shadcn UI | Automatically install and set up Shadcn UI | Yes |
| Testing |
Choose a testing framework (Vitest,
Jest)
|
none |
| Authentication |
Choose auth solution (NextAuth,
Clerk, Lucia)
|
none |
| Docker | Add Docker support with Dockerfile and .dockerignore | No |
Example Walkthrough
$ npx create-next-quick my-portfolio
✔ Using default for package manager: pnpm
✔ Using default for TypeScript: Yes
✔ Using default for Tailwind CSS: Yes
✔ Using default for src directory: Yes
✔ Using default for app directory: Yes
? Enter the names of the pages you want to create (comma-separated): home, about, contact
✔ Using default for linter: none
✔ Using default for ORM: none
✔ Using default for Shadcn UI: Yes
Prerequisites
Before you begin, ensure you have the following installed:
- Node.js:
v20.0.0or higher.
Available Scripts
Once your project is created, you can use the following commands:
pnpm |
npm |
yarn |
Description |
|---|---|---|---|
pnpm dev |
npm run dev |
yarn dev |
Starts the development server. |
pnpm build |
npm run build |
yarn build |
Builds the app for production. |
pnpm start |
npm start |
yarn start |
Starts the production server. |
Testing
The test suite is dynamically generated to ensure comprehensive coverage.
-
Generate Test Cases:
npm run test:generate -
Run Tests:
npm test
Contributing
Contributions are welcome! Please fork the repository, create a feature branch, and open a Pull Request.
- Fork the repository.
-
Create a new branch:
git checkout -b feature/your-feature-name -
Commit your changes:
git commit -m "feat: Add some amazing feature" -
Push to the branch:
git push origin feature/your-feature-name - Open a Pull Request.
Show Your Support
Give a ⭐️ if this project helped you!
License
This project is licensed under the MIT License. See the LICENSE file for details.