|
1 | | -# create-next-quick |
2 | | - |
3 | | -**create-next-quick** is a CLI tool that lets you instantly create a new Next.js project with your choice of options. |
4 | | - |
5 | | -## Why create-next-quick? |
6 | | - |
7 | | -`create-next-quick` is a lightweight and fast alternative to `create-next-app`. It provides an interactive setup process that lets you choose the options you want for your project, such as TypeScript, Tailwind CSS, and the Next.js app directory. It also lets you create multiple pages at once, which can save you a lot of time when starting a new project. |
8 | | - |
9 | | -## Features |
10 | | - |
11 | | -- **CLI Argument for Project Name** — skip the project name prompt by passing the app name as a CLI argument. |
12 | | -- **Package Manager Detection** — automatically detects installed package managers (`npm`, `yarn`, `pnpm`) and only prompts with available options. |
13 | | -- **Next.js App Directory** — support for the new Next.js app directory. |
14 | | -- **Custom Page Generation** — create multiple pages at once. |
15 | | -- **Linter Support** — choose between no linter, ESLint, and Biome. |
16 | | -- **Shadcn UI** — automatically installs and configures Shadcn UI with a default style and color. |
17 | | -- **Clean Project Setup** — removes default favicon and clears public folder. |
18 | | -- **Empty Default Page** — overwrites the default `page.tsx` or `index.tsx` with an empty template. |
19 | | -- **Dynamic Metadata** — always overwrites the `layout.tsx` or `layout.jsx` with a minimal template. |
20 | | -- **Conditional API Route Deletion** — deletes the default `api/hello.js` route if using the `src` directory and not the `app` directory. |
21 | | -- **Safe Project Creation** — checks if the current directory is empty when creating a project in the current directory (`.`) and prevents accidental overwrites. |
22 | | -- **ORM Support** — choose between no ORM, Prisma, and Drizzle. |
23 | | -- **Automated CI/CD Feedback** — Pull Requests now receive automated comments on test status. |
24 | | - |
25 | | -## Installation |
26 | | - |
27 | | -You don’t need to install it globally — run it instantly with `npx`: |
28 | | - |
29 | | -```bash |
30 | | -npx create-next-quick |
31 | | -``` |
32 | | - |
33 | | -## 🛠 Usage |
34 | | - |
35 | | -You can run `npx create-next-quick` with or without a project name. |
36 | | - |
37 | | -### With a Project Name |
38 | | - |
39 | | -```bash |
40 | | -npx create-next-quick my-app |
41 | | -``` |
42 | | - |
43 | | -This will skip the project name prompt and create a new directory named `my-app`. |
44 | | - |
45 | | -### Without a Project Name |
46 | | - |
47 | | -```bash |
48 | | -npx create-next-quick |
49 | | -``` |
50 | | - |
51 | | -When you run `npx create-next-quick` without a project name, you will be prompted to: |
52 | | - |
53 | | -1. **Enter Project Name** — e.g., `my-app` (or `.` to create in the current directory). If you use `.` the directory must be empty. |
54 | | -2. **Choose a package manager** — detects installed package managers (`npm`, `yarn`, `pnpm`) and prompts you to choose. |
55 | | -3. **Choose to use TypeScript (default: Yes)** |
56 | | -4. **Choose to use Tailwind CSS (default: Yes)** |
57 | | -5. **Choose to use the app directory (default: Yes)** |
58 | | -6. **Enter the names of the pages you want to create (default: none)** |
59 | | -7. **Choose a linter (default: none)** |
60 | | -8. **Choose an ORM (default: none)** |
61 | | - |
62 | | -Example run: |
63 | | - |
64 | | -```bash |
65 | | -npx create-next-quick |
66 | | -``` |
67 | | - |
68 | | -### Example Walkthrough |
69 | | - |
70 | | -``` |
71 | | -? Enter project name: my-portfolio |
72 | | -? Do you want to use TypeScript? Yes |
73 | | -? Do you want to use Tailwind CSS? Yes |
74 | | -? Do you want to use the app directory? Yes |
75 | | -? Enter the names of the pages you want to create (comma-separated): home, about, contact |
76 | | -? Choose a linter (default: none): none |
77 | | -? Choose an ORM (default: none): prisma |
78 | | -? Do you want to use Shadcn UI? No |
79 | | -``` |
80 | | - |
81 | | -## Commands |
82 | | - |
83 | | -- `npm run dev` — starts the development server. |
84 | | -- `npm run build` — builds the project for production. |
85 | | -- `npm start` — starts the production server. |
86 | | - |
87 | | -## Testing |
88 | | - |
89 | | -The test suite for `create-next-quick` is designed to be dynamic and data-driven. Test cases are automatically generated based on the available options in `index.js`, ensuring comprehensive coverage as the CLI evolves. |
90 | | - |
91 | | -To run the tests: |
92 | | - |
93 | | -1. **Generate Test Cases:** First, generate the test cases by running: |
94 | | - ```bash |
95 | | - npm run test:generate |
96 | | - ``` |
97 | | - This script parses `index.js` and creates `test/generated-test-cases.js`. |
98 | | -2. **Run Tests:** Then, execute the test suite: |
99 | | - ```bash |
100 | | - npm test |
101 | | - ``` |
102 | | - This will run all generated test cases using Mocha. |
103 | | - |
104 | | -## Contributing |
105 | | - |
106 | | -We welcome contributions! Follow these steps: |
107 | | - |
108 | | -1. Fork the repository |
109 | | -2. Create a new branch: `git checkout -b feature-name` |
110 | | -3. Commit your changes: `git commit -m "Added new feature"` |
111 | | -4. Push to your branch: `git push origin feature-name` |
112 | | -5. Open a Pull Request |
113 | | - |
114 | | -Our CI/CD pipeline will automatically run tests and provide feedback directly on your Pull Request. |
115 | | - |
116 | | -Before submitting, please ensure: |
117 | | - |
118 | | -- Your code follows project style guidelines |
119 | | -- You have tested your changes locally |
120 | | - |
121 | | -## License |
122 | | - |
123 | | -This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. |
124 | | - |
125 | | -## Contributors |
126 | | - |
127 | | -<div align="center"> |
128 | | -<a href="https://github.com/gaureshpai/create-next-quick/graphs/contributors"> |
129 | | - <img src="https://contrib.rocks/image?repo=gaureshpai/create-next-quick" /> |
130 | | -</a> |
131 | | -</div> |
| 1 | +test |
0 commit comments