Next.js 14 kickstarter. Zero setup & edge ready. Take what you need: ESLint, Prettier, Tailwind, tRPC, WebSockets, Drizzle, Lucia Auth, Vitest, Testing Library, Playwright, PWA, Docker, CI, Bun
next-kickstart is a minimal yet feature-packed Next.js 13.4 boilerplate that provides a convenient starting point for building Next.js applications. It is designed to require zero configuration and can run on the edge. The boilerplate includes a variety of features such as TypeScript support, environment variable validation, ESLint for code consistency, Prettier for code styling, Tailwind CSS for utility-first CSS framework, components built with Radix UI and Tailwind CSS, ORM with maximal type safety using Drizzle, flexible and secure authentication using NextAuth, progressive web app (PWA) support with next-pwa, flexible testing framework with Vitest, maintainable component testing with React Testing Library, End-to-end testing with Playwright, robust CI/CD capabilities with GitHub Actions, and VS Code configurations for easy debugging.
npm install
npm run dev
tsconfig.json:
"noUncheckedIndexedAccess" option to true to increase type safety."target" option to "ES6" for compatibility with Drizzle Studio.~/* (to differentiate from @/* namespace imports).types/reset.d.ts: Use ts-reset to increase type safety.env.mjs: Configure environment variables..eslintrc.json: ESLint configuration for consistent code standards..eslintrc.json, .prettierignore, .prettierrc.json: Prettier configuration for consistent code styling.src/styles/globals.css, tailwind.config.js: Tailwind CSS configuration.src/components/ui/, src/components/theme-provider.tsx, src/components/theme-toggle.tsx, components.json: Components built with Radix UI and Tailwind CSS.src/db/, src/lib/db.ts, drizzle.config.ts: ORM with maximal type safety (requires enabling).src/app/api/auth/[...nextauth]/route.ts, src/components/auth.tsx, src/db/schemas/auth.ts: Flexible and secure authentication (requires enabling).public/icon-512x512.png, public/manifest.json, next.config.mjs: Installable as a progressive web app (PWA).testing/setup.ts, types/vitest.d.ts, vitest.config.ts: Flexible testing framework.src/app/page.test.tsx: Maintainable component testing.e2e/, playwright.config.ts: End-to-end testing against multiple environments..github/workflows/ci.yml: Robust CI/CD configuration..vscode/launch.json: Debug configurations..vscode/settings.json: Use project TypeScript version.next-kickstart is a highly customizable Next.js boilerplate that provides an extensive set of features out of the box. It comes with TypeScript support, environment variable validation, code consistency and styling tools, utility-first CSS framework, pre-built components, ORM with maximal type safety, flexible and secure authentication, progressive web app support, flexible testing framework, maintainable component testing, end-to-end testing, robust CI/CD capabilities, and convenient debugging configurations for VS Code. With next-kickstart, developers can jumpstart their Next.js projects without needing to spend time on initial setup and configuration.
Next.js is a React-based web framework that enables server-side rendering, static site generation, and other powerful features for building modern web applications.
React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components
Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.
Drizzle ORM is a TypeScript ORM for SQL databases designed with maximum type safety in mind. It comes with a drizzle-kit CLI companion for automatic SQL migrations generation. Drizzle ORM is meant to be a library, not a framework. It stays as an opt-in solution all the time at any levels.
A template or theme refers to a pre-designed layout or structure that provides a basic framework for building a specific type of application or website. It typically includes good design, placeholder content and functional features, allowing developers to customize and fill in the details according to their specific needs.
ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.
MDX is a format that allows developers to write JSX within Markdown documents, combining the power of React with the simplicity of Markdown. This allows for the creation of dynamic and interactive content that can be easily shared and consumed across different platforms and devices.
PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.
A Progressive Web App (PWA) is a type of web application that uses modern web technologies to provide a native app-like experience to users, including offline functionality, push notifications, and device hardware access. PWAs can be installed on a user's home screen and launched like a traditional app, but do not require a separate app store listing or download.
TanStack is a collection of high-quality, framework-agnostic libraries including TanStack Query for data fetching, TanStack Router for routing, TanStack Table for tables, and more. These tools provide powerful, type-safe solutions for common web development challenges.
TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.