@mrtrinhvn/ag-kit 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/.agent/agents/backend-specialist.md +2 -2
  2. package/.agent/agents/frontend-specialist.md +37 -74
  3. package/.agent/agents/quant-architect.md +31 -0
  4. package/.agent/rules/GEMINI.md +8 -1
  5. package/.agent/skills/app-builder/SKILL.md +1 -1
  6. package/.agent/skills/app-builder/scaffolding.md +3 -3
  7. package/.agent/skills/app-builder/tech-stack.md +3 -4
  8. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +39 -79
  9. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +53 -75
  10. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +56 -119
  11. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +61 -94
  12. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +56 -82
  13. package/.agent/skills/brainstorming/SKILL.md +13 -8
  14. package/.agent/skills/business-ops/SKILL.md +26 -0
  15. package/.agent/skills/clean-code/SKILL.md +4 -3
  16. package/.agent/skills/cli-generator/SKILL.md +48 -0
  17. package/.agent/skills/data-science/SKILL.md +28 -0
  18. package/.agent/skills/doc.md +36 -36
  19. package/.agent/skills/frontend-design/SKILL.md +0 -34
  20. package/.agent/skills/frontend-design/ux-psychology.md +10 -585
  21. package/.agent/skills/knowledge-management/SKILL.md +66 -0
  22. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +2 -14
  23. package/.agent/skills/llm-routing-quirks/SKILL.md +41 -0
  24. package/.agent/skills/memory-architecture/SKILL.md +107 -0
  25. package/.agent/skills/mini-antigravity-injection/SKILL.md +59 -0
  26. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +1 -40
  27. package/.agent/skills/nextjs-react-expert/SKILL.md +21 -47
  28. package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +1 -1
  29. package/.agent/skills/plan-writing/SKILL.md +32 -31
  30. package/.agent/skills/product-management/SKILL.md +30 -0
  31. package/.agent/skills/systematic-debugging/SKILL.md +11 -0
  32. package/.agent/skills/tdd-workflow/SKILL.md +6 -7
  33. package/.agent/workflows/orchestrate.md +6 -6
  34. package/package.json +1 -1
  35. package/template/.agent/skills/llm-routing-quirks/SKILL.md +41 -0
  36. package/template/.agent/skills/mini-antigravity-injection/SKILL.md +59 -0
@@ -1,21 +1,20 @@
1
1
  ---
2
2
  name: nextjs-fullstack
3
- description: Next.js full-stack template principles. App Router, Prisma, Tailwind v4.
3
+ description: Next.js full-stack template principles. App Router, Prisma, Tailwind.
4
4
  ---
5
5
 
6
- # Next.js Full-Stack Template (2026 Edition)
6
+ # Next.js Full-Stack Template
7
7
 
8
8
  ## Tech Stack
9
9
 
10
- | Component | Technology | Version / Notes |
11
- |-----------|------------|-----------------|
12
- | Framework | Next.js | v16+ (App Router, Turbopack) |
13
- | Language | TypeScript | v5+ (Strict Mode) |
14
- | Database | PostgreSQL | Prisma ORM (Serverless friendly) |
15
- | Styling | Tailwind CSS | v4.0 (Zero-config, CSS-first) |
16
- | Auth | Clerk / Better Auth | Middleware Protected Routes |
17
- | UI Logic | React 19 | Server Actions, useActionState |
18
- | Validation | Zod | Schema validation (API & Forms) |
10
+ | Component | Technology |
11
+ |-----------|------------|
12
+ | Framework | Next.js 14 (App Router) |
13
+ | Language | TypeScript |
14
+ | Database | PostgreSQL + Prisma |
15
+ | Styling | Tailwind CSS |
16
+ | Auth | Clerk (optional) |
17
+ | Validation | Zod |
19
18
 
20
19
  ---
21
20
 
@@ -24,40 +23,33 @@ description: Next.js full-stack template principles. App Router, Prisma, Tailwin
24
23
  ```
25
24
  project-name/
26
25
  ├── prisma/
27
- │ └── schema.prisma # Database schema
26
+ │ └── schema.prisma
28
27
  ├── src/
29
28
  │ ├── app/
30
- │ │ ├── (auth)/ # Route groups for Login/Register
31
- │ │ ├── (dashboard)/ # Protected routes
32
- │ │ ├── api/ # Route Handlers (only for Webhooks/External integration)
33
- │ │ ├── layout.tsx # Root Layout (Metadata, Providers)
34
- │ │ ├── page.tsx # Landing Page
35
- │ │ └── globals.css # Tailwind v4 config (@theme) lives here
29
+ │ │ ├── layout.tsx
30
+ │ │ ├── page.tsx
31
+ │ │ ├── globals.css
32
+ │ │ └── api/
36
33
  │ ├── components/
37
- │ │ ├── ui/ # Reusable UI (Button, Input)
38
- │ │ └── forms/ # Client forms using useActionState
34
+ │ │ └── ui/
39
35
  │ ├── lib/
40
- │ │ ├── db.ts # Prisma singleton client
41
- │ │ ├── utils.ts # Helper functions
42
- └── dal.ts # Data Access Layer (Server-only)
43
- ├── actions/ # Server Actions (Mutations)
44
- │ └── types/ # Global TS Types
45
- ├── public/
46
- ├── next.config.ts # TypeScript Config
36
+ │ │ ├── db.ts # Prisma client
37
+ │ │ └── utils.ts
38
+ │ └── types/
39
+ ├── .env.example
47
40
  └── package.json
48
41
  ```
49
42
 
50
43
  ---
51
44
 
52
- ## Key Concepts (Updated)
45
+ ## Key Concepts
53
46
 
54
47
  | Concept | Description |
55
48
  |---------|-------------|
56
- | Server Components | Render on server (default). Direct DB access (Prisma) without APIs. |
57
- | Server Actions | Handle Form mutations. Replaces traditional API Routes. Use in action={}. |
58
- | React 19 Hooks | Form state management: useActionState, useFormStatus, useOptimistic. |
59
- | Data Access Layer | Data security. Separation of DB logic (DTOs) for safe reuse. |
60
- | Tailwind v4 | Styling engine. No tailwind.config.js. Config directly in CSS. |
49
+ | Server Components | Default, fetch data |
50
+ | Server Actions | Form mutations |
51
+ | Route Handlers | API endpoints |
52
+ | Prisma | Type-safe ORM |
61
53
 
62
54
  ---
63
55
 
@@ -65,58 +57,26 @@ project-name/
65
57
 
66
58
  | Variable | Purpose |
67
59
  |----------|---------|
68
- | DATABASE_URL | PostgreSQL connection string (Prisma) |
69
- | NEXT_PUBLIC_APP_URL | Public application URL |
70
- | NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY | Auth (if using Clerk) |
71
- | CLERK_SECRET_KEY | Auth Secret (Server only) |
60
+ | DATABASE_URL | Prisma connection |
61
+ | NEXT_PUBLIC_APP_URL | Public URL |
72
62
 
73
63
  ---
74
64
 
75
65
  ## Setup Steps
76
66
 
77
- 1. Initialize Project:
78
- ```bash
79
- npx create-next-app@latest my-app --typescript --tailwind --eslint
80
- # Select Yes for App Router
81
- # Select No for src directory (optional, this template uses src)
82
- ```
83
-
84
- 2. Install DB & Validation:
85
- ```bash
86
- npm install prisma @prisma/client zod
87
- npm install -D ts-node # For running seed scripts
88
- ```
89
-
90
- 3. Configure Tailwind v4 (If missing):
91
- Ensure `src/app/globals.css` uses the new import syntax instead of a config file:
92
- ```css
93
- @import "tailwindcss";
94
-
95
- @theme {
96
- --color-primary: oklch(0.5 0.2 240);
97
- --font-sans: "Inter", sans-serif;
98
- }
99
- ```
100
-
101
- 4. Initialize Database:
102
- ```bash
103
- npx prisma init
104
- # Update schema.prisma
105
- npm run db:push
106
- ```
107
-
108
- 5. Run Developer Server:
109
- ```bash
110
- npm run dev --turbo
111
- # --turbo to enable faster Turbopack
112
- ```
67
+ 1. `npx create-next-app {{name}} --typescript --tailwind --app`
68
+ 2. `npm install prisma @prisma/client zod`
69
+ 3. `npx prisma init`
70
+ 4. Configure schema
71
+ 5. `npm run db:push`
72
+ 6. `npm run dev`
113
73
 
114
74
  ---
115
75
 
116
- ## Best Practices (2026 Standards)
76
+ ## Best Practices
117
77
 
118
- - **Fetch Data**: Call Prisma directly in Server Components (async/await). Do not use useEffect for initial data fetching.
119
- - **Mutations**: Use Server Actions combined with React 19's `useActionState` to handle loading and error states instead of manual useState.
120
- - **Type Safety**: Share Zod schemas between Server Actions (input validation) and Client Forms.
121
- - **Security**: Always validate input data with Zod before passing it to Prisma.
122
- - **Styling**: Use native CSS variables in Tailwind v4 for easier dynamic theming.
78
+ - Server Components by default
79
+ - Server Actions for mutations
80
+ - Prisma for type-safe DB
81
+ - Zod for validation
82
+ - Edge runtime where possible
@@ -1,21 +1,20 @@
1
1
  ---
2
2
  name: nextjs-saas
3
- description: Next.js SaaS template principles (2026 Standards). React 19, Server Actions, Auth.js v6.
3
+ description: Next.js SaaS template principles. Auth, payments, email.
4
4
  ---
5
5
 
6
- # Next.js SaaS Template (Updated 2026)
6
+ # Next.js SaaS Template
7
7
 
8
8
  ## Tech Stack
9
9
 
10
- | Component | Technology | Version / Notes |
11
- |-----------|------------|-----------------|
12
- | Framework | Next.js | v16+ (App Router, React Compiler) |
13
- | Runtime | Node.js | v24 (Krypton LTS) |
14
- | Auth | Auth.js | v6 (formerly NextAuth) |
15
- | Payments | Stripe API | Latest |
16
- | Database | PostgreSQL | Prisma v6 (Serverless Driver) |
17
- | Email | Resend | React Email |
18
- | UI | Tailwind CSS | v4 (Oxide Engine, no config file) |
10
+ | Component | Technology |
11
+ |-----------|------------|
12
+ | Framework | Next.js 14 (App Router) |
13
+ | Auth | NextAuth.js v5 |
14
+ | Payments | Stripe |
15
+ | Database | PostgreSQL + Prisma |
16
+ | Email | Resend |
17
+ | UI | Tailwind (ASK USER: shadcn/Headless UI/Custom?) |
19
18
 
20
19
  ---
21
20
 
@@ -24,28 +23,24 @@ description: Next.js SaaS template principles (2026 Standards). React 19, Server
24
23
  ```
25
24
  project-name/
26
25
  ├── prisma/
27
- │ └── schema.prisma # Database Schema
28
26
  ├── src/
29
- │ ├── actions/ # NEW: Server Actions (Replaces API Routes for data mutation)
30
- │ │ ├── auth-actions.ts
31
- │ │ ├── billing-actions.ts
32
- │ │ └── user-actions.ts
33
27
  │ ├── app/
34
- │ │ ├── (auth)/ # Route Group: Login, register
35
- │ │ ├── (dashboard)/ # Route Group: Protected routes (App Layout)
36
- │ │ ├── (marketing)/ # Route Group: Landing, pricing (Marketing Layout)
37
- │ │ └── api/ # Only used for Webhooks or Edge cases
28
+ │ │ ├── (auth)/ # Login, register
29
+ │ │ ├── (dashboard)/ # Protected routes
30
+ │ │ ├── (marketing)/ # Landing, pricing
31
+ │ │ └── api/
32
+ │ │ ├── auth/[...nextauth]/
38
33
  │ │ └── webhooks/stripe/
39
34
  │ ├── components/
40
- │ │ ├── emails/ # React Email templates
41
- │ │ ├── forms/ # Client components using useActionState (React 19)
42
- │ │ └── ui/ # Shadcn UI
35
+ │ │ ├── auth/
36
+ │ │ ├── billing/
37
+ │ │ └── dashboard/
43
38
  │ ├── lib/
44
- │ │ ├── auth.ts # Auth.js v6 config
45
- │ │ ├── db.ts # Prisma Singleton
46
- │ │ └── stripe.ts # Stripe Singleton
47
- │ └── styles/
48
- │ └── globals.css # Tailwind v4 imports (CSS only)
39
+ │ │ ├── auth.ts # NextAuth config
40
+ │ │ ├── stripe.ts # Stripe client
41
+ │ │ └── email.ts # Resend client
42
+ │ └── config/
43
+ │ └── subscriptions.ts
49
44
  └── package.json
50
45
  ```
51
46
 
@@ -55,22 +50,21 @@ project-name/
55
50
 
56
51
  | Feature | Implementation |
57
52
  |---------|---------------|
58
- | Auth | Auth.js v6 + Passkeys + OAuth |
59
- | Data Mutation | Server Actions (No API routes) |
60
- | Subscriptions | Stripe Checkout & Customer Portal |
61
- | Webhooks | Asynchronous Stripe event handling |
53
+ | Auth | NextAuth + OAuth |
54
+ | Subscriptions | Stripe Checkout |
55
+ | Billing Portal | Stripe Portal |
56
+ | Webhooks | Stripe events |
62
57
  | Email | Transactional via Resend |
63
- | Validation | Zod (Server-side validation) |
64
58
 
65
59
  ---
66
60
 
67
61
  ## Database Schema
68
62
 
69
- | Model | Fields (Key fields) |
70
- |-------|---------------------|
71
- | User | id, email, stripeCustomerId, subscriptionId, plan |
72
- | Account | OAuth provider data (Google, GitHub...) |
73
- | Session | User sessions (Database strategy) |
63
+ | Model | Fields |
64
+ |-------|--------|
65
+ | User | id, email, stripeCustomerId, subscriptionId |
66
+ | Account | OAuth provider data |
67
+ | Session | User sessions |
74
68
 
75
69
  ---
76
70
 
@@ -78,45 +72,29 @@ project-name/
78
72
 
79
73
  | Variable | Purpose |
80
74
  |----------|---------|
81
- | DATABASE_URL | Prisma connection string (Postgres) |
82
- | AUTH_SECRET | Replaces NEXTAUTH_SECRET (Auth.js v6) |
83
- | STRIPE_SECRET_KEY | Payments (Server-side) |
84
- | STRIPE_WEBHOOK_SECRET | Webhook verification |
85
- | RESEND_API_KEY | Email sending |
86
- | NEXT_PUBLIC_APP_URL | Application Canonical URL |
75
+ | DATABASE_URL | Prisma |
76
+ | NEXTAUTH_SECRET | Auth |
77
+ | STRIPE_SECRET_KEY | Payments |
78
+ | STRIPE_WEBHOOK_SECRET | Webhooks |
79
+ | RESEND_API_KEY | Email |
87
80
 
88
81
  ---
89
82
 
90
83
  ## Setup Steps
91
84
 
92
- 1. Initialize project (Node 24):
93
- ```bash
94
- npx create-next-app@latest {{name}} --typescript --eslint
95
- ```
96
-
97
- 2. Install core libraries:
98
- ```bash
99
- npm install next-auth@beta stripe resend @prisma/client
100
- ```
101
-
102
- 3. Install Tailwind v4 (Add to globals.css):
103
- ```css
104
- @import "tailwindcss";
105
- ```
106
-
107
- 4. Configure environment (.env.local)
108
-
109
- 5. Sync Database:
110
- ```bash
111
- npx prisma db push
112
- ```
113
-
114
- 6. Run local Webhook:
115
- ```bash
116
- npm run stripe:listen
117
- ```
118
-
119
- 7. Run project:
120
- ```bash
121
- npm run dev
122
- ```
85
+ 1. `npx create-next-app {{name}} --typescript --tailwind --app`
86
+ 2. Install: `npm install next-auth @auth/prisma-adapter stripe resend`
87
+ 3. Setup Stripe products/prices
88
+ 4. Configure environment
89
+ 5. `npm run db:push`
90
+ 6. `npm run stripe:listen` (webhooks)
91
+ 7. `npm run dev`
92
+
93
+ ---
94
+
95
+ ## Best Practices
96
+
97
+ - Route groups for layout separation
98
+ - Stripe webhooks for subscription sync
99
+ - NextAuth with Prisma adapter
100
+ - Email templates with React Email
@@ -1,93 +1,54 @@
1
1
  ---
2
2
  name: nextjs-static
3
- description: Modern template for Next.js 16, React 19 & Tailwind v4. Optimized for Landing pages and Portfolios.
3
+ description: Next.js static site template principles. Landing pages, portfolios, marketing.
4
4
  ---
5
5
 
6
- # Next.js Static Site Template (Modern Edition)
6
+ # Next.js Static Site Template
7
7
 
8
8
  ## Tech Stack
9
9
 
10
- | Component | Technology | Notes |
11
- |-----------|------------|-------|
12
- | Framework | Next.js 16+ | App Router, Turbopack, Static Exports |
13
- | Core | React 19 | Server Components, New Hooks, Compiler |
14
- | Language | TypeScript | Strict Mode |
15
- | Styling | Tailwind CSS v4 | CSS-first configuration (No js config), Oxide Engine |
16
- | Animations | Framer Motion | Layout animations & gestures |
17
- | Icons | Lucide React | Lightweight SVG icons |
18
- | SEO | Metadata API | Native Next.js API (Replaces next-seo) |
10
+ | Component | Technology |
11
+ |-----------|------------|
12
+ | Framework | Next.js 14 (Static Export) |
13
+ | Language | TypeScript |
14
+ | Styling | Tailwind CSS |
15
+ | Animations | Framer Motion |
16
+ | Icons | Lucide React |
17
+ | SEO | Next SEO |
19
18
 
20
19
  ---
21
20
 
22
21
  ## Directory Structure
23
22
 
24
- Streamlined structure thanks to Tailwind v4 (theme configuration lives inside CSS).
25
-
26
23
  ```
27
24
  project-name/
28
25
  ├── src/
29
26
  │ ├── app/
30
- │ │ ├── layout.tsx # Contains root SEO Metadata
31
- │ │ ├── page.tsx # Landing Page
32
- │ │ ├── globals.css # Import Tailwind v4 & @theme config
33
- │ │ ├── not-found.tsx # Custom 404 page
34
- │ │ └── (routes)/ # Route groups (about, contact...)
27
+ │ │ ├── layout.tsx
28
+ │ │ ├── page.tsx # Landing
29
+ │ │ ├── about/
30
+ │ │ ├── contact/
31
+ │ │ └── blog/
35
32
  │ ├── components/
36
33
  │ │ ├── layout/ # Header, Footer
37
- │ │ ├── sections/ # Hero, Features, Pricing, CTA
38
- │ │ └── ui/ # Atomic components (Button, Card)
34
+ │ │ ├── sections/ # Hero, Features, CTA
35
+ │ │ └── ui/
39
36
  │ └── lib/
40
- │ └── utils.ts # Helper functions (cn, formatters)
41
- ├── content/ # Markdown/MDX content
42
- ├── public/ # Static assets (images, fonts)
43
- ├── next.config.ts # Next.js Config (TypeScript)
44
- └── package.json
37
+ ├── content/ # Markdown content
38
+ ├── public/
39
+ └── next.config.js
45
40
  ```
46
41
 
47
42
  ---
48
43
 
49
44
  ## Static Export Config
50
45
 
51
- Using `next.config.ts` instead of `.js` for better type safety.
52
-
53
- ```typescript
54
- // next.config.ts
55
- import type { NextConfig } from "next";
56
-
57
- const nextConfig: NextConfig = {
58
- output: 'export', // Required for Static Hosting (S3, GitHub Pages)
59
- images: {
60
- unoptimized: true // Required if not using Node.js server image optimization
61
- },
62
- trailingSlash: true, // Recommended for SEO and fixing 404s on some hosts
63
- reactStrictMode: true,
64
- };
65
-
66
- export default nextConfig;
67
- ```
68
-
69
- ---
70
-
71
- ## SEO Implementation (Metadata API)
72
-
73
- Deprecated next-seo. Configure directly in layout.tsx or page.tsx.
74
-
75
- ```typescript
76
- // src/app/layout.tsx
77
- import type { Metadata } from 'next';
78
-
79
- export const metadata: Metadata = {
80
- title: {
81
- template: '%s | Product Name',
82
- default: 'Home - Product Name',
83
- },
84
- description: 'SEO optimized description for the landing page.',
85
- openGraph: {
86
- type: 'website',
87
- locale: 'en_US',
88
- url: 'https://mysite.com',
89
- siteName: 'My Brand',
90
- },
46
+ ```javascript
47
+ // next.config.js
48
+ const nextConfig = {
49
+ output: 'export',
50
+ images: { unoptimized: true },
51
+ trailingSlash: true,
91
52
  };
92
53
  ```
93
54
 
@@ -95,75 +56,51 @@ export const metadata: Metadata = {
95
56
 
96
57
  ## Landing Page Sections
97
58
 
98
- | Section | Purpose | Suggested Component |
99
- |---------|---------|---------------------|
100
- | Hero | First impression, H1 & Main CTA | `<HeroSection />` |
101
- | Features | Product benefits (Grid/Bento layout) | `<FeaturesGrid />` |
102
- | Social Proof | Partner logos, User numbers | `<LogoCloud />` |
103
- | Testimonials | Customer reviews | `<TestimonialCarousel />` |
104
- | Pricing | Service plans | `<PricingCards />` |
105
- | FAQ | Questions & Answers (Good for SEO) | `<Accordion />` |
106
- | CTA | Final conversion | `<CallToAction />` |
59
+ | Section | Purpose |
60
+ |---------|---------|
61
+ | Hero | Main headline, CTA |
62
+ | Features | Product benefits |
63
+ | Testimonials | Social proof |
64
+ | Pricing | Plans |
65
+ | CTA | Final conversion |
107
66
 
108
67
  ---
109
68
 
110
- ## Animation Patterns (Framer Motion)
69
+ ## Animation Patterns
111
70
 
112
- | Pattern | Usage | Implementation |
113
- |---------|-------|----------------|
114
- | Fade Up | Headlines, paragraphs | `initial={{ opacity: 0, y: 20 }} animate={{ opacity: 1, y: 0 }}` |
115
- | Stagger | Lists of Features/Cards | Use variants with `staggerChildren` |
116
- | Parallax | Background images or floating elements | `useScroll` & `useTransform` |
117
- | Micro-interactions | Hover buttons, click effects | `whileHover={{ scale: 1.05 }} whileTap={{ scale: 0.95 }}` |
71
+ | Pattern | Use |
72
+ |---------|-----|
73
+ | Fade up | Content entry |
74
+ | Stagger | List items |
75
+ | Scroll reveal | On viewport |
76
+ | Hover | Interactive feedback |
118
77
 
119
78
  ---
120
79
 
121
80
  ## Setup Steps
122
81
 
123
- 1. Initialize Project:
124
- ```bash
125
- npx create-next-app@latest my-site --typescript --tailwind --eslint
126
- # Select 'Yes' for App Router
127
- # Select 'No' for 'Would you like to customize the default import alias?'
128
- ```
129
-
130
- 2. Install Auxiliary Libraries:
131
- ```bash
132
- npm install framer-motion lucide-react clsx tailwind-merge
133
- # clsx and tailwind-merge help handle dynamic classes better
134
- ```
135
-
136
- 3. Configure Tailwind v4 (in `src/app/globals.css`):
137
- ```css
138
- @import "tailwindcss";
139
-
140
- @theme {
141
- --color-primary: #3b82f6;
142
- --font-sans: 'Inter', sans-serif;
143
- }
144
- ```
145
-
146
- 4. Development:
147
- ```bash
148
- npm run dev --turbopack
149
- ```
82
+ 1. `npx create-next-app {{name}} --typescript --tailwind --app`
83
+ 2. Install: `npm install framer-motion lucide-react next-seo`
84
+ 3. Configure static export
85
+ 4. Create sections
86
+ 5. `npm run dev`
150
87
 
151
88
  ---
152
89
 
153
90
  ## Deployment
154
91
 
155
- | Platform | Method | Important Notes |
156
- |----------|--------|-----------------|
157
- | Vercel | Git Push | Auto-detects Next.js. Best for performance. |
158
- | GitHub Pages | GitHub Actions | Need to set `basePath` in `next.config.ts` if not using a custom domain. |
159
- | AWS S3 / CloudFront | Upload out folder | Ensure Error Document is configured to `404.html`. |
160
- | Netlify | Git Push | Set build command to `npm run build`. |
92
+ | Platform | Method |
93
+ |----------|--------|
94
+ | Vercel | Auto |
95
+ | Netlify | Auto |
96
+ | GitHub Pages | gh-pages branch |
97
+ | Any host | Upload `out` folder |
161
98
 
162
99
  ---
163
100
 
164
- ## Best Practices (Modern)
101
+ ## Best Practices
165
102
 
166
- - **React Server Components (RSC)**: Default all components to Server Components. Only add `'use client'` when you need state (`useState`) or event listeners (`onClick`).
167
- - **Image Optimization**: Use the `<Image />` component but remember `unoptimized: true` for static export or use an external image CDN (Cloudinary/Imgix).
168
- - **Font Optimization**: Use `next/font` (Google Fonts) to automatically host fonts and prevent layout shift.
169
- - **Responsive**: Mobile-first design using Tailwind prefixes like `sm:`, `md:`, `lg:`.
103
+ - Static export for maximum performance
104
+ - Framer Motion for premium animations
105
+ - Responsive mobile-first design
106
+ - SEO metadata on every page