My production-ready Next.js foundation for modern web applications.
ShaadKit is my personal, opinionated foundation for starting new Next.js projects.
It brings together the tools, conventions, architecture, and developer experience I use as a baseline across projects — so I can spend less time rebuilding infrastructure and more time building the actual product.
ShaadKit is a foundation, not a finished application.
Instead of starting from:
create-next-app
↓
configure
↓
fix conventions
↓
add tooling
↓
add testing
↓
add UI infrastructure
↓
finally start buildingyou can start from:
ShaadKit
↓
build the product
Ordinary boilerplates are just a simple starting point. ShaadKit is a complete, opinionated foundation that solves every concern of a professional project from day one:
-
⚡ Bun as Package Manager — blazing-fast install & run
-
🧩 Mantine v9 — powerful and accessible components
-
🌍 next-intl — internationalization (i18n) ready from the start
-
📖 Storybook 10 — component-driven development with MCP & A11y
-
🧪 Vitest + Playwright — fast and reliable testing
-
🎨 Stylelint + ESLint (Antfu Config) — top-tier code quality
-
🔍 Bundle Analyzer — analyze and optimize your bundle
-
⚛️ React 19 + React Compiler — the latest React with auto-optimization
| Category | Technology |
|---|---|
| Framework | Next.js(React) |
| Language | TypeScript |
| UI | Mantine |
| Styling | PostCSS / CSS Modules |
| Internationalization | next-intl |
| Component Development | Storybook |
| Testing | Vitest + Playwright |
| Code Quality | ESLint + Stylelint |
| Package Manager | Bun |
| Build Tooling | Next.js / Vite |
| Performance | Bundle Analyzer |
| React Optimization | React Compiler |
When you first look at this repo, you might see tools you're not currently using — but I believe in every project, you should consider the possibility that it might grow into a large project in the future!
The core technologies of ShaadKit are light and simple enough, they don't have a steep learning curve, and they can be used very quickly!
Some technologies also have secondary benefits, like next-intl. It's not just for internationalization, although that's its main purpose! You can use next-intl to manage the static texts of your site. You no longer need to open different files to change a message in different parts of the site.
In my opinion, ShaadKit can be used both for an MVP and for a scalable website. Even though its main focus is on the frontend, with a few changes it can also be used in a full-stack project.
# Clone the project
git clone https://github.com/shaadcode/shaadkit.git
cd shaadkit
# Install dependencies with Bun
bun install
# Run the development server
bun devThen open your browser at: http://localhost:3000
-
✅ Production-Ready — optimized settings from the start
-
✅ Component-Driven — integrated Storybook for design & documentation
-
✅ Testable — Vitest + Playwright in a real browser
-
✅ Accessible (A11y) — Storybook A11y addon included
-
✅ Multilingual — full i18n support
-
✅ Code Quality — automatic lint & format with best-in-class configs
-
✅ Bundle Optimization — analyze and reduce output size
ShaadKit will evolve as the underlying ecosystem evolves.
The focus is on maintaining a small, reliable, and opinionated foundation rather than continuously adding features for the sake of feature count.
We welcome contributions! Before submitting a PR, please:
-
Fork the project
-
Create a new branch (
git checkout -b feature/amazing-feature) -
Commit your changes (
git commit -m 'feat: add amazing feature') -
Push to the branch (
git push origin feature/amazing-feature) -
Open a Pull Request
This project is released under the MIT License.
Built and maintained by Seyed Mojtaba Shadab(ShaadCode).
If you find ShaadKit useful, consider giving the repository a ⭐
