This is a Next.js 15 Boilerplate project base on create-next-app
.
For Next.js, check this: Next.js 14 Boilerplate
- pnpm
- chore
- husky
- lint-stage
- prettier
- use prettier-plugin-sort-imports ? current is
eslint-plugin-simple-import-sort
- use prettier-plugin-sort-imports ? current is
- commitlint
- css: tailwindcss
- UI Library: shadcn/ui
- bundle-analyzer: @next/bundle-analyzer
- logger: pino && development pretty logging pino-pretty
- test:
- 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
- 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 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.json
for support React 19
- 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.
- magic ui
- Standalone building output can't run if copy it's folder, cause pnpm
symlink
, node_module cant resolve correctly. It can be avoided by installing the package withnode-linker=hoisted
in the pnpm configuration before standalone output.
- Brainstorm first, code second
Claude/o1 are your best friends here. You should create a whole document containing every single detail of your project.
- core features
- goals & objectives
- tech stack & packages
- project folder structure
- database design
- landing page components
- color palette
- copyrighting
All this should be put into an instruction.md (name it however you want) so Cursor can index at any time.
- Get a
.cursorrules
file
https://docs.cursor.com/context/rules-for-ai#cursorrules
Take an example from:
- Use
v0
for landing page
Get your core features, color palette and components from your instructions.md
file you got.
Bonus tip is to use screenshots as reference from other landing pages just so v0 gets your idea.
Use component libraries shadcn since v0 works great with it. or with MagicUI.
Remember, you don’t have to get it perfect with v0.
You only need something good enough you can take and edit later in cursor.
- Chat vs Composer
Use chat for smaller tasks and for explaining code/commands. Use it to ask questions and navigate your.
Use composer for writing the code, tag your instructions.md
inside the composer always and tell him to update it as the project progresses.
Only ask composer to do one task at a time. Make it make the changes step by step, if you ask to it to edit multiple files it will hallucinate and you will lose control.
Always verify the code is clean before approving the change.
Save your claude credits for the composer and use gpt-4o-mini with chat.
- Tag your docs
Copy the documentation for the framework you use.
Go to Cursor Settings > Features > Docs
Paste the links and use them inside chat/composer with @Docs
First, run the development server:
pnpm dev
# or
pnpm dev:turbo
Open 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.