This project uses create-audora-next as its base.
bunx degit audoralabs/next-starter my-app
cd my-app
git init
bun install
bun devOpen http://localhost:3000 to see your app.
- MDX loading - Author posts with MDX and frontmatter support.
- Pagination - First-class paginated lists for posts and tags.
- Search - Fast, client-side search across content.
- MDX -
@next/mdxandcontentlayer - Search -
flexsearch - Pagination - Custom paginator (no external package)
| Technology | Version | Notes |
|---|---|---|
| Next.js | 16.1.1 | App Router, Turbopack enabled |
| React | 19.2.3 | React Compiler enabled |
| TypeScript | 5 | Strict mode |
| Tailwind CSS | 4 | PostCSS, no config file needed |
| Bun | Latest | Package manager and runtime |
This starter ships with everything you need for search engine optimization:
- Open Graph & Twitter Cards - Complete social sharing metadata
- Structured Data (JSON-LD) - WebSite, Organization, and Breadcrumb schemas
- Dynamic robots.txt - Generated from
robots.ts - Dynamic sitemap.xml - Generated from
sitemap.ts - llms.txt - AI-friendly documentation for LLM assistants
- Title Templates - Consistent page titles with
%s - Site Namepattern - Canonical URLs - Prevent duplicate content issues
- PWA Manifest - Web app manifest with icons and screenshots
Pre-configured security headers in next.config.ts:
X-Content-Type-Options: nosniffX-Frame-Options: DENYX-XSS-Protection: 1; mode=blockReferrer-Policy: strict-origin-when-cross-originPermissions-Policy- Camera, microphone, geolocation disabled
- ESLint 9 - Flat config with Next.js rules
- Prettier - With Tailwind CSS plugin for class sorting
- Husky - Git hooks for pre-commit linting
- lint-staged - Run linters on staged files only
- Path Alias -
@/*mapped to./src/*
Note: Git hooks (Husky) are installed automatically when a Git repository is present. If you initialize Git after installing dependencies, re-run
bun installto enable hooks.
- Type Checking - Dedicated
check-typesscript
- Dark Mode - System preference detection with next-themes
- Geist Font - Pre-configured sans and mono variants
- cn() Utility - Combines clsx and tailwind-merge
src/
├── app/
│ ├── layout.tsx # Root layout with metadata and JSON-LD
│ ├── page.tsx # Home page
│ ├── manifest.ts # PWA web app manifest
│ ├── robots.ts # robots.txt generation
│ ├── sitemap.ts # sitemap.xml generation
│ ├── llms.txt/ # AI-friendly summary
│ └── llms-full.txt/ # AI-friendly full documentation
├── components/
│ ├── icons.tsx # Icon components
│ ├── theme-provider.tsx # Theme context provider
│ └── theme-toggle.tsx # Dark/light mode toggle
├── config/
│ └── site.ts # Site configuration exports
├── data/
│ ├── site.ts # Site metadata (name, URL, description)
│ └── llms.ts # llms.txt content configuration
├── lib/
│ └── seo.ts # SEO utilities and JSON-LD generators
├── styles/
│ └── globals.css # Global styles and Tailwind imports
└── utils/
└── cn.ts # Class name merge utility
Edit src/data/site.ts to customize your site:
const SITE_DATA = {
name: "my-app",
url: "https://my-app.com",
ogImage: "https://my-app.com/og.png",
tagline: "Your tagline here",
description: "Your full description",
twitterHandle: "@myapp",
keywords: ["keyword1", "keyword2"],
};Edit src/data/llms.ts to customize AI-friendly documentation.
| Command | Description |
|---|---|
bun dev |
Start dev server with Turbopack |
bun run build |
Build for production |
bun start |
Start production server |
bun lint |
Run ESLint |
bun lint:fix |
Run ESLint with auto-fix |
bun check-types |
Run TypeScript type checking |
bun format |
Format all files with Prettier |
bun format:check |
Check formatting without writing |
bun clean |
Remove .next and node_modules |
bun upgrade:next |
Upgrade Next.js to latest |
bun upgrade:tailwind |
Upgrade Tailwind CSS |
Bun - Faster installs, native TypeScript, smaller lockfile.
App Router - Server components, streaming, better layouts. Pages Router is legacy.
React Compiler - Automatic memoization without manual useMemo/useCallback.
Tailwind CSS 4 - Native CSS layers, @theme directive, no config file for basics.
ESLint Flat Config - Cleaner, more composable than .eslintrc files.
No Component Library - Start clean, add shadcn/ui or Radix when needed.
Turbopack - Faster dev server and builds.