A modern, feature-rich starter template built with Next.js, Tailwind CSS, TypeScript, and shadcn/ui. Perfect for building scalable web applications with best practices and developer experience in mind.
- ⚡️ Next.js 14 with App Router and Server Components
- 💎 Tailwind CSS for utility-first styling
- 🔍 TypeScript for type safety
- 🎨 shadcn/ui for beautiful, accessible components
- 🧪 Jest and React Testing Library for testing
- 📝 ESLint and Prettier for code quality
- 🐶 Husky for Git hooks
- 🚫 lint-staged for pre-commit code quality checks
- 📱 Fully responsive design
- 🌙 Dark mode support
- 🔧 Absolute imports
- 📄 SEO optimization ready
- 🚦 Pre-configured with best practices
- Node.js 18+
- pnpm (recommended)
- Clone the repository:
git clone https://github.com/andrechandra/next-tailwind-starter.git
cd next-tailwind-starter- Install dependencies:
pnpm install- Run the development server:
pnpm devOpen http://localhost:3000 with your browser to see the result.
.
├── .husky/ # Git hooks
├── app/ # App router pages
├── components/ # React components
│ ├── ui/ # shadcn/ui components
│ └── ... # Custom components
├── lib/ # Utility functions
├── public/ # Static files
├── .eslintrc.json # ESLint configuration
├── .prettierrc # Prettier configuration
├── jest.config.js # Jest configuration
└── tailwind.config.ts # Tailwind configuration
pnpm dev- Start development serverpnpm build- Build for productionpnpm start- Start production serverpnpm test- Run testspnpm lint- Run ESLintpnpm format- Format code with Prettier
This template uses Husky and lint-staged to ensure code quality before commits:
- Pre-commit: Runs ESLint and Prettier on staged files
- Pre-push: Runs tests and type checking
To skip hooks temporarily, use the --no-verify flag:
git commit -m "Your message" --no-verifyThis template is ready to be deployed to Vercel. Click the button below to deploy:
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.