Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Deploy Documentation

on:
push:
branches: [ main ]
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write
actions: read

concurrency:
group: "pages"
cancel-in-progress: false

jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: read
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}

- name: Setup Pages
uses: actions/configure-pages@v4

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: './docs'

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
80 changes: 62 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,34 @@
# create-next-quick

**create-next-quick** is a CLI tool that lets you instantly create a new Next.js project with your choice of options.
⚑ **Fast Next.js project scaffolding with interactive setup**

## Why create-next-quick?
A lightweight CLI tool that creates Next.js projects with your preferred configuration - TypeScript, Tailwind CSS, ORMs, linters, and more.

`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.
πŸ“– **[View Documentation](https://gaureshpai.github.io/create-next-quick/)** | πŸš€ **[Quick Start](#installation)**

## Features
---

- **CLI Argument for Project Name** β€” skip the project name prompt by passing the app name as a CLI argument.
- **Package Manager Detection** β€” automatically detects installed package managers (`npm`, `yarn`, `pnpm`) and only prompts with available options.
- **Next.js App Directory** β€” support for the new Next.js app directory.
- **Custom Page Generation** β€” create multiple pages at once.
- **Linter Support** β€” choose between no linter, ESLint, and Biome.
- **Shadcn UI** β€” automatically installs and configures Shadcn UI with a default style and color.
- **Clean Project Setup** β€” removes default favicon and clears public folder.
- **Empty Default Page** β€” overwrites the default `page.tsx` or `index.tsx` with an empty template.
- **Dynamic Metadata** β€” always overwrites the `layout.tsx` or `layout.jsx` with a minimal template.
- **Conditional API Route Deletion** β€” deletes the default `api/hello.js` route if using the `src` directory and not the `app` directory.
- **Safe Project Creation** β€” checks if the current directory is empty when creating a project in the current directory (`.`) and prevents accidental overwrites.
- **ORM Support** β€” choose between no ORM, Prisma, and Drizzle.
- **Automated CI/CD Feedback** β€” Pull Requests now receive automated comments on test status.
## ✨ Why choose create-next-quick?

- **πŸš€ Faster setup** - Skip repetitive configuration steps
- **🎯 Interactive prompts** - Choose exactly what you need
- **πŸ“„ Multiple pages** - Generate several pages at once
- **πŸ”§ Modern tools** - Built-in support for TypeScript, Tailwind, ORMs
- **🧹 Clean output** - No unnecessary boilerplate files

## 🎯 Key Features

| Feature | Description |
|---------|-------------|
| **Smart Project Names** | Pass project name as argument to skip prompts |
| **Package Manager Detection** | Auto-detects npm, yarn, pnpm |
| **Modern Next.js** | App directory, TypeScript, Tailwind CSS |
| **Multiple Pages** | Generate several pages in one go |
| **Linting Options** | ESLint, Biome, or none |
| **Database Ready** | Prisma, Drizzle ORM integration |
| **UI Components** | Shadcn UI with auto-configuration |
| **Clean Setup** | No unnecessary files or boilerplate |
| **Safe Creation** | Prevents accidental overwrites |

## Installation

Expand Down Expand Up @@ -78,6 +86,19 @@ npx create-next-quick
? Do you want to use Shadcn UI? No
```

## Documentation

For comprehensive documentation, examples, templates, and API reference, visit:

**[https://gaureshpai.github.io/create-next-quick/](https://gaureshpai.github.io/create-next-quick/)**

The documentation includes:
- Detailed usage examples and configurations
- Template references and code samples
- Advanced features and customization options
- Contributing guidelines and development setup
- Complete API reference and troubleshooting

## Commands

- `npm run dev` β€” starts the development server.
Expand All @@ -101,6 +122,28 @@ To run the tests:
```
This will run all generated test cases using Mocha.

## Documentation Development

To work with the documentation locally:

```bash
# Install dependencies first
npm install

# Open documentation in browser (from GitHub Pages)
npm run docs:open

# Or serve locally using Python (if available)
python3 -m http.server 8080 --directory docs
# Then open http://localhost:8080 in your browser

# Or use any other static server like:
# npx serve docs
# npx live-server docs
```

The documentation is automatically deployed to GitHub Pages when changes are pushed to the main branch.

## Contributing

We welcome contributions! Follow these steps:
Expand All @@ -117,6 +160,7 @@ Before submitting, please ensure:

- Your code follows project style guidelines
- You have tested your changes locally
- Update documentation if adding new features

## License

Expand All @@ -128,4 +172,4 @@ This project is licensed under the MIT License. See the [LICENSE](LICENSE) file
<a href="https://github.com/gaureshpai/create-next-quick/graphs/contributors">
<img src="https://contrib.rocks/image?repo=gaureshpai/create-next-quick" />
</a>
</div>
</div>
70 changes: 70 additions & 0 deletions docs/404.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Page Not Found - create-next-quick</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
margin: 0;
padding: 0;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
}

.container {
text-align: center;
color: white;
padding: 2rem;
}

.error-code {
font-size: 8rem;
font-weight: 300;
margin: 0;
opacity: 0.8;
}

.error-message {
font-size: 1.5rem;
margin: 1rem 0;
}

.error-description {
font-size: 1rem;
opacity: 0.8;
margin-bottom: 2rem;
}

.btn {
display: inline-block;
padding: 1rem 2rem;
background: rgba(255, 255, 255, 0.2);
color: white;
text-decoration: none;
border-radius: 0.5rem;
border: 2px solid rgba(255, 255, 255, 0.3);
transition: all 0.3s ease;
}

.btn:hover {
background: rgba(255, 255, 255, 0.3);
transform: translateY(-2px);
}
</style>
</head>
<body>
<div class="container">
<h1 class="error-code">404</h1>
<div class="error-message">Page Not Found</div>
<div class="error-description">
The page you're looking for doesn't exist or has been moved.
</div>
<a href="/" class="btn">Back to Documentation</a>
</div>
</body>
</html>
Loading
Loading