A modern, feature-rich starter template for building production-ready applications with Next.js 15, Tailwind CSS, and TypeScript.
- ⚡ Next.js 15 - The latest version with App Router
- 🎨 Tailwind CSS - Utility-first CSS framework
- 📘 TypeScript - Type-safe code
- 🔒 Authentication - Clerk integration with persistent authorization toggle
- 🎭 Shadcn/ui - Beautiful and accessible components
- 🖼️ SVG Support - Native SVG rendering with image fallbacks
- 🚀 Route Prefetching - Instant page transitions for dashboard, playground, and auth pages
- 🖼️ Optimized Images - Eager loading for critical images
- 🌓 Dark/Light Mode - System-aware theme switching with custom gradients
- 📱 Responsive Design - Mobile-first approach
- 💾 State Persistence - Local storage for user preferences
- 🧩 Component Library - Pre-built, customizable components
- 🎮 AI Playground - Built-in AI chat interface
- 📊 Dashboard Template - Ready-to-use admin interface
- 🔍 SEO Optimized - Meta tags and sitemap generation
- 🎬 Custom Video Player - Built-in video playback component
- 📝 Blog Support - Ready for content creation
- 🔄 State Management - Clean and efficient
- 🌐 API Integration - Ready for backend services
- Clone the repository:
git clone https://github.com/michaelshimeles/nextjs14-starter-template.git
- Install dependencies:
bun install
- Set up environment variables:
cp .env.example .env.local
- Configure your environment variables:
# Authentication (Clerk)
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/
# Database
DATABASE_URL=
# Frontend
NEXT_PUBLIC_BASE_URL=http://localhost:3000
# Optional: AI Integration
OPENAI_API_KEY=
- Run the development server:
bun run dev
Open http://localhost:3000 to see your application.
├── app/
│ ├── (auth)/ # Authentication routes
│ ├── (marketing)/ # Marketing pages
│ ├── api/ # API routes
│ ├── dashboard/ # Dashboard pages
│ └── playground/ # AI Playground
├── components/
│ ├── homepage/ # Landing page components
│ ├── shared/ # Shared UI components
│ └── wrapper/ # Layout wrappers and navigation
├── config/ # Configuration files
├── lib/ # Utility functions
├── public/ # Static assets
│ ├── images/ # Image assets
│ └── svg/ # SVG assets
└── styles/ # Global styles
bun run dev
- Start development serverbun run build
- Build for productionbun run start
- Start production serverbun run lint
- Run ESLintbun run format
- Format code with Prettier
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this template helpful, please give it a ⭐️ on GitHub!