Next.js-based starter template written in TypeScript
xostarter — Next.js Starter Template
By egarrisxn
XOStarter is a Next.js starter template published by Ethan G., integrating TypeScript, Tailwind CSS, shadcn/ui, Motion, lucide-react, and ESLint/Prettier, using pnpm by default, and providing a Vercel deployment entry point.
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 Tailwind CSS, shadcn/ui, Motion, and lucide-react
Uses pnpm by default; can switch to npm, yarn, or bun by modifying package.json
Configuration is centralized in utils/config.ts for unified adjustment
Built-in Vercel Analytics, which can be enabled in the Vercel dashboard after deployment
Uses next/font for font loading, with Geist included by default
Template Details
XOStarter is a Next.js-based starter template by Ethan G., licensed under MIT. The README states its goal is to simplify the development workflow, but it does not provide specific performance or production-readiness claims.
Regarding the tech stack, the template uses TypeScript for type safety, Next.js as the React framework, Tailwind CSS for styling, shadcn/ui for UI components, Motion for animations, lucide-react for icons, and ESLint and Prettier for linting and formatting. Vercel is recommended for deployment, but the README also notes it can be deployed to any platform that supports Next.js.
The template enforces pnpm as the package manager by default; to switch to npm, yarn, or bun, you need to modify the preinstall and prebuild scripts in package.json. Project configuration is centralized in utils/config.ts for easy adjustment. The styling combines shadcn/ui with Tailwind CSS v4, and you can add components via the shadcn CLI or reinitialize to customize the base UI colors. Fonts use next/font, with Geist included by default.
For metadata, because it uses the Next.js 15 App Router, files such as OpenGraph/Twitter images, icons, manifest, robots, and sitemap can be placed directly in the app directory and are automatically recognized; the relevant properties in layout.tsx are commented out as a reference. The template also integrates Vercel Analytics, which can be enabled in the Vercel dashboard after deployment, or uninstalled with the reference removed from layout.tsx. The README does not provide information about additional features such as testing, CI/CD, databases, or authentication.
Is it right for your project?
Use Cases
- Quickly scaffold a new project skeleton using Next.js and TypeScript
- Need Tailwind CSS and the shadcn/ui component library as a styling and UI foundation
- Want to target Vercel for deployment and enable basic analytics
- Want a linting and formatting setup that includes ESLint and Prettier
Suitable For
- Developers familiar with Next.js and TypeScript
- Users who prefer pnpm or are willing to switch package managers themselves
- Those planning to deploy the project on Vercel or a platform that supports Next.js
- Projects that need shadcn/ui and Tailwind CSS as a UI starting point
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
After cloning the repository, run pnpm install to install dependencies
- 2
Run pnpm dev to start the development server, accessible by default at http://localhost:3000
- 3
To switch to npm, yarn, or bun, first remove the preinstall and prebuild scripts from package.json
- 4
Add shadcn/ui components via pnpm dlx shadcn@latest add [component]
- 5
Run pnpm dlx shadcn@latest init to reconfigure CSS variables and customize the base UI colors
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version in the public repository under the MIT license; the free scope is the code of that version 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's 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 against 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.
- The template enforces pnpm as the package manager by default; to switch to npm, yarn, or bun, you must first modify the preinstall and prebuild scripts in package.json.
- The template integrates Vercel Analytics, which must be enabled via the Vercel dashboard after deployment and is an external service dependent on the Vercel platform.
- The README recommends deploying with Vercel for the most convenient experience, but this is not mandatory; it can also be deployed to other platforms that support Next.js.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
By default, this template enforces `pnpm`. To use another package manager, follow these steps:
Original README
This template includes [Vercel Analytics](https://vercel.com/docs/analytics) for basic site tracking. After deployment, you can enable analytics through your Vercel dashboard.
Original README
https://github.com/egarrisxn/xostarter/blob/main/LICENSEhttps://github.com/egarrisxn/xostarter/blob/main/README.mdNote: You are not limited to Vercel and may deploy this template on any platform that supports Next.js. However, in my experience, Vercel provides the fastest and most convenient setup.
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-14. 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 · 85 / 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-05-16
- Screenshot last checked
- 2026-10-14
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: codex-user-requested-batch-review-20261017 · 2026-10-16
Inspect the recorded source material
SHA-256: 903bedd502e4a8faa8b4b7ee3ef360b4865b2411484255a2e9c0e9e9215e53fc
2026-10-14T06:53:06.373Z
Source file / repository# **XOStarter**  [](https://opensource.org/licenses/MIT)   ## **Overview** This is an easy-to-deploy [Next.js](https://nextjs.org) starter template created by [Ethan G.](https://egxo.dev). It is designed to streamline development with modern tools, ensuring a fast and efficient workflow from setup to deployment. ## **Technologies** This template leverages a modern tech stack for a smooth developer experience: - **Programming Language**: [TypeScript](https://www.typescriptlang.org/) – Ensures type safety and better maintainability. - **Framework**: [Next.js](https://nextjs.org/) – The leading React framework for hybrid static & server-side rendering. - **Deployment**: [Vercel](https://vercel.com) – Optimized for seamless, serverless deployment. - **Styling**: [Tailwind CSS](https://tailwindcss.com/) – Utility-first CSS for rapid styling. - **UI Components**: [shadcn/ui](https://ui.shadcn.com/) – A flexible, customizable UI component library. - **Animations**: [Motion](https://motion.dev) – Powerful animations with an intuitive API. - **Icons**: [lucide-react](https://lucide.dev/) – Crisp, open-source React icons. - **Linting & Formatting**: - [ESLint](https://eslint.org/) – Enforces code quality and best practices. - [Prettier](https://prettier.io/) – Automatic code formatting for consistency. ## **Before You Begin** This template uses [pnpm](https://pnpm.io) as the default package manager for faster dependency resolution and disk space efficiency. However, you can switch to `npm`, `yarn`, or `bun` if preferred. ### Updataing Package Manager By default, this template enforces `pnpm`. To use another package manager, follow these steps: #### 1. Remove `pnpm` Enforcement Open `package.json` and modify or remove the following lines: ```json "preinstall": "npx only-allow pnpm", "prebuild": "pnpm run lint" ``` #### 2. Install Dependencies Using Your Preferred Manager Run one of the following commands: ```bash npm install # or yarn install, bun install ``` Now you're ready to start building! 🚀 ## **Getting Started** #### 1. Clone the Template First, clone the repository onto your local machine: ```bash git clone https://github.com/egarrisxn/xostarter.git cd xo-starter ``` #### 2. Install Dependencies Run the following command to install dependencies: ```bash pnpm install ``` #### 3. Start the Development Server Launch the local development server: ```bash pnpm dev ``` #### 4. Open in Your Browser Once the server is running, open [http://localhost:3000](http://localhost:3000) with your browser to see the result. You can start editing the page by modifying `app/page.tsx`. The page will auto-update as you edit the file. Now, get to building! 🚀 ## **Configuration** Easily customize your project by updating `utils/config.ts`. This file centralizes important settings, allowing for quick adjustments without modifying multiple files. ## **Styling** This project utilizes [shadcn/ui](https://ui.shadcn.com/) alongside [Tailwind CSS v4](https://tailwindcss.com/blog/tailwindcss-v4). We will use the `shadcn/ui` CLI to add components. To install a UI component, run the following command, replacing `[component]` with the actual component name: ```bash pnpm dlx shadcn@latest add [component] ``` ### Updating UI To customize the base UI colors, you'll need to reconfigure your CSS variables. Run: ```bash pnpm dlx shadcn@latest init ``` ## **Fonts** This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) for optimized font loading. By default, it includes [Geist](https://vercel.com/font), a modern typeface by Vercel. You can easily swap out the font for another one. I recommend using `next/font` for built-in optimization or self-hosting fonts for better performance. Be mindful of font file sizes if sourcing them locally. ## **Metadata** Since we are using the app router in **Next.js 15**, many metadata-related assets no longer need to be manually defined in the `<Head>` of your layout. Instead, Next.js automatically picks them up when they are placed in the `app` folder. For example, the following files are already recognized by Next.js: - **OpenGraph & Twitter images**: `opengraph-image.png` & `twitter-image.png` + alt. txt files. - **Icons**: `favicon.ico`, `apple-icon.png`, `icon.svg`, & `icon.png`. - **Manifest**: `manifest.ts`, `manifest.json`, `manifest.webmanifest`, OR `site.webmanifest`. - **SEO & Crawler files**: `robots.ts` OR `robots.txt` & `sitemap.ts` OR `sitemap.xml`. Because of this, metadata properties like `robots`, `icons`, `manifest`, and OpenGraph/Twitter images are **commented out** in `layout.tsx`. They are left in the code for reference, but they are not necessary unless you want to override the default behavior. If you need to customize metadata on a **per-page basis**, you can still define it manually inside a `metadata` object in the corresponding page or layout file. Otherwise, Next.js will handle it automatically. ### Quick Note For generating favicons, icons, and a `manifest.json`, I **highly** recommend visiting [Real Favicon Generator](https://realfavicongenerator.net) and using their open-sourced tools. ## **Analytics** This template includes [Vercel Analytics](https://vercel.com/docs/analytics) for basic site tracking. After deployment, you can enable analytics through your Vercel dashboard. If you prefer another analytics solution or are deploying elsewhere, simply uninstall the package and remove the import from `layout.tsx`. ## **Deployment** For a seamless deployment experience, use the **Deploy** button below to launch your project on Vercel. Note: You are not limited to Vercel and may deploy this template on any platform that supports Next.js. However, in my experience, Vercel provides the fastest and most convenient setup. [](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fegarrisxn%2Fxostarter) ## **Learn More** To explore more about Next.js, check out these resources: - 📖 [Next.js Documentation](https://nextjs.org/docs) – Official docs covering features and best practices. - 🛠️ [Next.js GitHub](https://github.com/vercel/next.js) – Browse the source code and contribute. ## **License** This project is licensed under the [MIT license](https://opensource.org/licenses/MIT). ## **Contact** If you have any questions or need further assistance, feel free to reach out to me at [github.com/garrisxn](https://github.com/egarrisxn) or send an email to [[email protected]](mailto:[email protected]) and I'll get back to you as soon as possible!
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
