This is a Next.js 15 Boilerplate project base on create-next-app.
For Next.js 14, check this: Next.js 14 Boilerplate
For Next.js 15.1.4 + tailwindcss v3., check this: Next.js 15.1.4 Boilerplate
- pnpm
- chore
- husky
- lint-stage
- eslint v9
- prettier
- commitlint
- css: tailwindcss v4
- UI Library: shadcn/ui
- bundle-analyzer: @next/bundle-analyzer
- logger: pino && development pretty logging pino-pretty
- test:
- vitest
- react testing library
- fast-check TBD, Property based testing framework for JavaScript (like QuickCheck) written in TypeScript
- i18n(TBD)
- setting-tutorials
- next-intl not compatible with turbo mode
Module not found: Can't resolve 'next-intl/config' - next-international seems better, but not compatible with Not found page
- Maybe the best choice is official Example: app-dir-i18n-routing
- A readable, automated, and optimized internationalization for JavaScript
- Docker
- Playwright: Write end-to-end tests like a pro or cypress
- Github actions/CI
- Turbo for task cache
- loading and streaming UI
- table pagination RSC + RCC, RCC will update the data
- i18n
E2E test- Zustand, too simplify, maybe RTK or xstate if needed
- After gpr, run pnpm install automatically
- how to update rsc in client?
- Update to Next.js 15 - How to test, the test strategy/architecture with RSC
- in table pagination demo, Suspense fallback will cover table pagination and header when paginate on client, how to show them when request on client
- Fixed by using useTransition, refer: Preventing unwanted loading indicators
Remove"react-is": "19.0.0-rc-1631855f-20241023"inpackage.jsonfor support React 19eslint v9
- nuqs Type-safe search params state manager for Next.js - Like React.useState, but stored in the URL query string.
- next-safe-action Type safe and validated Server Actions in your Next.js project.
- eslint-plugin-unicorn strict lint rules for a more consistent codebase.
- Standalone building output can't run if copy its folder, cause pnpm
symlink,node_modulecant resolve correctly. It can be avoided by installing the package withnode-linker=hoistedin the pnpm configuration before standalone output.
- V0
- Cursor
First, run the development server:
pnpm dev
# or
pnpm dev:turboOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Inter, a custom Google Font.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.