Organizes pages based on Next.js App Router, with source code divided into directories such as app, components, lib, and styles
nextjs-template — Next.js Starter Template
By Khushal-ag
A minimal Next.js App Router starter template integrating TypeScript, Tailwind CSS, ESLint, Prettier, and Husky, with site configuration and SEO metadata files.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Integrates TypeScript strict mode, ESLint flat config, Prettier, and Husky + lint-staged pre-commit checks
Uses Tailwind CSS's CSS-first configuration, defining themes with @theme in globals.css
Provides src/config/site.ts for centralized management of SEO, metadata, social links, and robots configuration
Includes npm scripts such as dev, build, lint, type-check, fmt, and validate; validate can be used in CI
Defaults to bun and keeps bun.lock, while explaining how to switch to other package managers
Template Details
This is a Next.js starter template for initializing new projects. The repository describes it as "A Minimal Next.js Starter Template with TypeScript, Tailwind CSS, and pre-configured with ESLint, Prettier, and Husky." It organizes pages using the App Router, with source code concentrated in the src/app, src/components, src/lib, and src/styles directories.
The template includes a code quality and formatting toolchain: ESLint uses flat config and integrates rules for Next, TypeScript, Prettier, and React Compiler; Prettier handles import sorting and Tailwind class name sorting; Husky works with lint-staged to run ESLint and Prettier on staged files before commits. For styling, it uses Tailwind CSS's CSS-first configuration approach, defining themes via @theme in globals.css.
The project provides a centralized site configuration file at src/config/site.ts for fields such as name, description, URL, keywords, author, social links, Twitter card, and OG image. Metadata, Open Graph, Twitter, sitemap, and robots all read from this configuration. The base URL can be overridden via NEXT_PUBLIC_SITE_URL in .env. When using next/image to load remote images, NEXT_PUBLIC_IMAGE_HOSTS must be set (comma-separated, https only).
Usage limitations: The README requires Node.js ≥ 20.9.0; the template defaults to bun and keeps bun.lock. Switching to npm, yarn, or pnpm requires deleting that lock file first. The repository is MIT licensed, with free use limited to this version of the code; third-party assets such as demo images, fonts, and icons, as well as external services like domains and hosting, require separate license and cost verification.
Is it right for your project?
Use Cases
- Quickly initializing a Next.js project with a complete code standards toolchain
- Maintaining SEO metadata, Open Graph, sitemap, and robots in a single configuration file
- Teams using ESLint, Prettier, and pre-commit hooks to unify code style
- Defining theme variables and building page skeletons in Tailwind CSS's CSS-first approach
Suitable For
- Frontend developers familiar with Next.js App Router and TypeScript
- Teams needing to reuse the same engineering configuration across multiple new projects
- Users who want to modify and redistribute based on MIT-licensed code
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Requires Node.js ≥ 20.9.0
- 2
Create a project with bunx create-next-app -e "https://github.com/Khushal-ag/nextjs-template" <project-name>, then run bun i to install dependencies
- 3
Husky sets up the pre-commit hook via the prepare script during installation
- 4
To switch to npm, yarn, or pnpm, delete bun.lock before installing dependencies
- 5
Set NEXT_PUBLIC_SITE_URL in .env; when using remote images, set NEXT_PUBLIC_IMAGE_HOSTS (comma-separated, https only)
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is limited to this version of the code and does not imply that external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this version of the code are permitted.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Demo images, fonts, icons, and other third-party assets must be checked under their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur additional charges.
- Using this template requires Node.js version 20.9.0 or higher; environments below this version cannot run it.
- The template defaults to bun and keeps bun.lock; to switch to npm, yarn, or pnpm, you must delete bun.lock before installing dependencies.
- When using next/image to load remote images, the NEXT_PUBLIC_IMAGE_HOSTS environment variable must be set to a comma-separated list of hostnames, supporting https only.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
Node.js ≥ 20.9.0
Original README
The template uses [bun](https://bun.sh/) and keeps `bun.lock`. To use npm, yarn, or pnpm: remove `bun.lock`, then run `npm i`, `yarn`, or `pnpm i`.
Original README
https://github.com/Khushal-ag/nextjs-template/blob/main/LICENSEhttps://github.com/Khushal-ag/nextjs-template/blob/main/README.mdIf you use remote images with `next/image`, set **`NEXT_PUBLIC_IMAGE_HOSTS`** (comma-separated hostnames, `https` only)
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-05. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 88 / 100
- Technologies
- Next.js · React
- Website type
- Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-10-05
- Screenshot last checked
- 2026-10-05
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: [email protected] · 2026-10-05
Inspect the recorded source material
SHA-256: d805161b955caa44d8315957b4a4f839dc5e63c5adafefae210b925f4375bf48
2026-10-05T06:41:00.445Z
Source file / repository<div align=center> ![views] ![stars] ![forks] ![issues] ![license] ![repo-size] <picture> <source media="(prefers-color-scheme: dark)" srcset="./public/nextjs-light.svg"> <source media="(prefers-color-scheme: light)" srcset="./public/nextjs-dark.svg"> <img alt="Next.js" src="./public/nextjs-light.svg"> </picture> # Next.js Starter Template A minimal Next.js starter with **Next.js 16**, **Tailwind CSS v4**, **TypeScript**, **ESLint 10** (flat config), **Prettier**, and **Husky**. </div> ## Features - **Next.js 16** – App Router, Turbopack, React Compiler (prod) - **Tailwind CSS v4** – CSS-first config (`@theme` in `globals.css`) - **TypeScript** – Strict mode - **ESLint 10** – Flat config with Next, TypeScript, Prettier, React Compiler - **Prettier** – Import sort + Tailwind class sorting - **Husky + lint-staged** – Pre-commit: ESLint + Prettier on staged files ## Prerequisites Node.js ≥ 20.9.0 ## Getting Started ```bash bunx create-next-app -e "https://github.com/Khushal-ag/nextjs-template" <project-name> ``` **Install dependencies** ```bash bun i # or: pnpm i | yarn | npm i ``` **Initialize git _(optional)_** ```bash git init git add . git commit -m "init" ``` Husky runs on install (`prepare`) and sets up the pre-commit hook. ## Available Scripts | Script | Description | | ------------ | -------------------------------------------- | | `dev` | Start dev server (Turbopack) | | `build` | Production build | | `start` | Serve production build | | `preview` | Build and serve (production mode) | | `lint` | ESLint + TypeScript type-check | | `lint:fix` | ESLint with auto-fix | | `type-check` | TypeScript type-check only | | `fmt:check` | Check Prettier formatting | | `fmt` | Format with Prettier | | `validate` | `lint` + `fmt:check` + `build` (for CI) | | `ui` | Shadcn UI CLI | | `clean` | Remove `.next` cache | | `cleani` | Remove `.next` and `node_modules`, reinstall | ## Project Structure - `src/app/` – App Router (layout, page, robots, sitemap) - `src/components/` – React components - `src/config/site.ts` – Site config (SEO, links, metadata) - `src/lib/` – Utilities, fonts - `src/styles/globals.css` – Global styles + Tailwind `@theme` ## Customization Edit **`src/config/site.ts`** for your project: - `name`, `description`, `url`, `keywords` - `authors`, `creator`, `links` (repo, github, social) - `twitter`, `ogImage`, `robots` Set **`NEXT_PUBLIC_SITE_URL`** in `.env` to override the base URL (e.g. per environment). See `.env.example`. If you use remote images with `next/image`, set **`NEXT_PUBLIC_IMAGE_HOSTS`** (comma-separated hostnames, `https` only), for example: `images.example.com,cdn.example.org`. Metadata, Open Graph, Twitter, sitemap, and robots all use this config. ## After Installation - [ ] Update `package.json` with your project details - [ ] Update `README.md` and `LICENSE` - [ ] Edit `src/config/site.ts` - [ ] Replace or edit `src/app/page.tsx` and `src/app/layout.tsx` - [ ] Remove or repurpose `src/app/client-components.tsx` if not needed ## Switching Package Manager The template uses [bun](https://bun.sh/) and keeps `bun.lock`. To use npm, yarn, or pnpm: remove `bun.lock`, then run `npm i`, `yarn`, or `pnpm i`. Other lockfiles are in `.gitignore`. `validate` is package-manager agnostic, so `npm run validate`, `pnpm validate`, `yarn validate`, and `bun run validate` all work. ## License MIT – see [LICENSE](LICENSE). ## Contributors <div align=center> [![][contributors]][contributors-graph] _It may take up to 24h for the [contrib.rocks][contrib-rocks] plugin to update._ </div> [views]: https://komarev.com/ghpvc/?username=nextjs-template&label=view%20counter&color=red&style=flat [repo-size]: https://img.shields.io/github/repo-size/Khushal-ag/nextjs-template [issues]: https://img.shields.io/github/issues-raw/Khushal-ag/nextjs-template [license]: https://img.shields.io/github/license/Khushal-ag/nextjs-template [forks]: https://img.shields.io/github/forks/Khushal-ag/nextjs-template?style=flat [stars]: https://img.shields.io/github/stars/Khushal-ag/nextjs-template [contributors]: https://contrib.rocks/image?repo=Khushal-ag/nextjs-template&max=500 [contributors-graph]: https://github.com/Khushal-ag/nextjs-template/graphs/contributors [contrib-rocks]: https://contrib.rocks/preview?repo=Khushal-ag%2Fnextjs-template
Explore similar templates
Compare previews and descriptions within the same stack and category.

Next.js SaaS Starter
The official Next.js SaaS starter template, integrating email/password authentication, Stripe Checkout subscriptions, a dashboard with user/team CRUD, basic Owner/Member RBAC, and activity logging.
Next.js · SaaS

Next.js Commerce
Vercel's officially maintained Next.js App Router ecommerce starter with deep Shopify integration, offering a complete product catalog, cart, and checkout flow. Core logic is modular for swapping backends, and community provider versions exist for BigCommerce, Medusa, and Saleor.
Next.js · E-commerce

Next-js-Boilerplate
A developer-first Next.js 16 starter with Tailwind CSS 4 and TypeScript, supporting both App Router and Page Router.
Next.js · Starter

tailwind-nextjs-starter-blog
A Next.js and Tailwind CSS blog starter template using Contentlayer for Markdown/MDX, with built-in SEO, code highlighting, and tags. It targets personal technical blogs and migration from Jekyll/Hugo to React, and supports one-click Vercel deployment.
Next.js · Blog

next-forge
next-forge is a Turborepo-based Next.js template maintained by Vercel, positioned as a starting point for SaaS products.
Next.js · Starter

SaaS-Boilerplate
SaaS-Boilerplate is an open-source SaaS starter template built with Next.js App Router, React 19, TypeScript, Tailwind CSS, and Shadcn UI.
Next.js · SaaS
