7.3 KiB
7.3 KiB
Next.js Frontend Development Guidelines
Universal frontend development guidelines for Next.js full-stack applications with React + TypeScript + TailwindCSS.
Tech Stack
- Framework: Next.js 15, React 19
- Language: TypeScript (strict mode)
- Styling: TailwindCSS 4, Radix UI
- API: oRPC (OpenAPI RPC), React Query (TanStack Query)
- URL State: nuqs
- Auth: better-auth
- AI: Vercel AI SDK (@ai-sdk/react)
Documentation Files
| File | Description | Priority |
|---|---|---|
| components.md | Server/Client components, semantic HTML, next/image | Must Read |
| authentication.md | better-auth client, session, protected routes | Must Read |
| orpc-usage.md | Type-safe API calls, React Query integration | Must Read |
| hooks.md | Query and mutation hook patterns | Reference |
| api-integration.md | oRPC client, real-time, AI streaming | Reference |
| state-management.md | URL state with nuqs, React Context patterns | Reference |
| directory-structure.md | Project structure and module conventions | Reference |
| type-safety.md | TypeScript guidelines, type inference, Zod | Reference |
| css-layout.md | CSS patterns, flexbox, responsive, touch | Reference |
| ai-sdk-integration.md | useChat hook, streaming, tool call handling | Reference |
| quality.md | Pre-commit checklist and code quality standards | Reference |
Quick Navigation by Task
Before Starting Development
| Task | Document |
|---|---|
| Understand project structure | directory-structure.md |
| Learn Server vs Client components | components.md |
| Set up authentication | authentication.md |
During Development
| Task | Document |
|---|---|
| Make type-safe API calls | orpc-usage.md |
| Create custom hooks | hooks.md |
| Manage application state | state-management.md |
| Build UI components | components.md |
| Ensure type safety | type-safety.md |
| Integrate AI features | ai-sdk-integration.md |
| Handle CSS & layout | css-layout.md |
Before Committing
| Task | Document |
|---|---|
| Run quality checklist | quality.md |
| Verify CSS in both envs | css-layout.md |
| Check type safety | type-safety.md |
Core Rules Summary
| Rule | Reference |
|---|---|
| Default to Server Components | components.md |
Use <button> for clickable actions, not <div> |
components.md |
Always use next/image instead of <img> |
components.md |
| Import types from backend, never redefine them | type-safety.md |
No any types or @ts-expect-error in new code |
type-safety.md |
| Use oRPC client for API calls (not raw fetch) | orpc-usage.md |
| Use oRPC generated query keys (not manual strings) | orpc-usage.md |
| Store shareable state in URL with nuqs | state-management.md |
Use items-stretch on main flex containers |
css-layout.md |
| Handle both tool call formats (streaming + history) | ai-sdk-integration.md |
| Always check session loading state before rendering | authentication.md |
Architecture Overview
+--------------------------------------------------------------+
| Next.js Application |
| |
| app/ modules/ |
| ├── (marketing)/ ├── [feature]/ |
| │ └── [locale]/ │ ├── components/ |
| └── (app)/ │ ├── hooks/ |
| └── [routes]/ │ ├── context/ |
| │ └── lib/ |
| ├── shared/ |
| └── ui/ |
+-------------------------------+------------------------------+
|
oRPC (type-safe RPC) | React Query (cache)
|
+-------------------------------+------------------------------+
| API Layer (Server) |
| +--------------+ +----------------+ +------------------+ |
| | oRPC | | better-auth | | AI SDK | |
| | Router | | Sessions | | Streaming | |
| +--------------+ +----------------+ +------------------+ |
+--------------------------------------------------------------+
Getting Started
- Read the Must-Read documents - Components, authentication, and oRPC usage
- Set up your project structure - Follow directory-structure.md
- Configure TypeScript paths - See type-safety.md
- Set up API client - Use patterns from orpc-usage.md
- Build components - Follow components.md and hooks.md
- Before committing - Complete the quality.md checklist
Language: All documentation is written in English.