@mrtrinhvn/ag-kit 1.0.6 → 1.0.7
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.
- package/.agent/agents/backend-specialist.md +2 -2
- package/.agent/agents/frontend-specialist.md +37 -74
- package/.agent/agents/quant-architect.md +31 -0
- package/.agent/rules/GEMINI.md +8 -1
- package/.agent/skills/app-builder/SKILL.md +1 -1
- package/.agent/skills/app-builder/scaffolding.md +3 -3
- package/.agent/skills/app-builder/tech-stack.md +3 -4
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +39 -79
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +53 -75
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +56 -119
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +61 -94
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +56 -82
- package/.agent/skills/brainstorming/SKILL.md +13 -8
- package/.agent/skills/business-ops/SKILL.md +26 -0
- package/.agent/skills/clean-code/SKILL.md +4 -3
- package/.agent/skills/cli-generator/SKILL.md +48 -0
- package/.agent/skills/data-science/SKILL.md +28 -0
- package/.agent/skills/doc.md +36 -36
- package/.agent/skills/frontend-design/SKILL.md +0 -34
- package/.agent/skills/frontend-design/ux-psychology.md +10 -585
- package/.agent/skills/knowledge-management/SKILL.md +66 -0
- package/.agent/skills/lint-and-validate/scripts/lint_runner.py +2 -14
- package/.agent/skills/memory-architecture/SKILL.md +107 -0
- package/.agent/skills/mini-antigravity-injection/SKILL.md +59 -0
- package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +1 -40
- package/.agent/skills/nextjs-react-expert/SKILL.md +21 -47
- package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +1 -1
- package/.agent/skills/plan-writing/SKILL.md +32 -31
- package/.agent/skills/product-management/SKILL.md +30 -0
- package/.agent/skills/systematic-debugging/SKILL.md +11 -0
- package/.agent/skills/tdd-workflow/SKILL.md +6 -7
- package/.agent/workflows/orchestrate.md +6 -6
- package/package.json +1 -1
- 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
|
|
3
|
+
description: Next.js full-stack template principles. App Router, Prisma, Tailwind.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Next.js Full-Stack Template
|
|
6
|
+
# Next.js Full-Stack Template
|
|
7
7
|
|
|
8
8
|
## Tech Stack
|
|
9
9
|
|
|
10
|
-
| Component | Technology |
|
|
11
|
-
|
|
12
|
-
| Framework | Next.js
|
|
13
|
-
| Language | TypeScript |
|
|
14
|
-
| Database | PostgreSQL
|
|
15
|
-
| Styling | Tailwind CSS |
|
|
16
|
-
| Auth | Clerk
|
|
17
|
-
|
|
|
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
|
|
26
|
+
│ └── schema.prisma
|
|
28
27
|
├── src/
|
|
29
28
|
│ ├── app/
|
|
30
|
-
│ │ ├──
|
|
31
|
-
│ │ ├──
|
|
32
|
-
│ │ ├──
|
|
33
|
-
│ │
|
|
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
|
-
│ │
|
|
38
|
-
│ │ └── forms/ # Client forms using useActionState
|
|
34
|
+
│ │ └── ui/
|
|
39
35
|
│ ├── lib/
|
|
40
|
-
│ │ ├── db.ts
|
|
41
|
-
│ │
|
|
42
|
-
│
|
|
43
|
-
|
|
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
|
|
45
|
+
## Key Concepts
|
|
53
46
|
|
|
54
47
|
| Concept | Description |
|
|
55
48
|
|---------|-------------|
|
|
56
|
-
| Server Components |
|
|
57
|
-
| Server Actions |
|
|
58
|
-
|
|
|
59
|
-
|
|
|
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 |
|
|
69
|
-
| NEXT_PUBLIC_APP_URL | Public
|
|
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.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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
|
|
76
|
+
## Best Practices
|
|
117
77
|
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
-
|
|
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
|
|
3
|
+
description: Next.js SaaS template principles. Auth, payments, email.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Next.js SaaS Template
|
|
6
|
+
# Next.js SaaS Template
|
|
7
7
|
|
|
8
8
|
## Tech Stack
|
|
9
9
|
|
|
10
|
-
| Component | Technology |
|
|
11
|
-
|
|
12
|
-
| Framework | Next.js
|
|
13
|
-
|
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
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)/ #
|
|
35
|
-
│ │ ├── (dashboard)/ #
|
|
36
|
-
│ │ ├── (marketing)/ #
|
|
37
|
-
│ │ └── api/
|
|
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
|
-
│ │ ├──
|
|
41
|
-
│ │ ├──
|
|
42
|
-
│ │ └──
|
|
35
|
+
│ │ ├── auth/
|
|
36
|
+
│ │ ├── billing/
|
|
37
|
+
│ │ └── dashboard/
|
|
43
38
|
│ ├── lib/
|
|
44
|
-
│ │ ├── auth.ts #
|
|
45
|
-
│ │ ├──
|
|
46
|
-
│ │ └──
|
|
47
|
-
│ └──
|
|
48
|
-
│ └──
|
|
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 |
|
|
59
|
-
|
|
|
60
|
-
|
|
|
61
|
-
| Webhooks |
|
|
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
|
|
70
|
-
|
|
71
|
-
| User | id, email, stripeCustomerId, subscriptionId
|
|
72
|
-
| Account | OAuth provider data
|
|
73
|
-
| Session | User sessions
|
|
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
|
|
82
|
-
|
|
|
83
|
-
| STRIPE_SECRET_KEY | Payments
|
|
84
|
-
| STRIPE_WEBHOOK_SECRET |
|
|
85
|
-
| RESEND_API_KEY | Email
|
|
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.
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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:
|
|
3
|
+
description: Next.js static site template principles. Landing pages, portfolios, marketing.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Next.js Static Site Template
|
|
6
|
+
# Next.js Static Site Template
|
|
7
7
|
|
|
8
8
|
## Tech Stack
|
|
9
9
|
|
|
10
|
-
| Component | Technology |
|
|
11
|
-
|
|
12
|
-
| Framework | Next.js
|
|
13
|
-
|
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
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
|
|
31
|
-
│ │ ├── page.tsx # Landing
|
|
32
|
-
│ │ ├──
|
|
33
|
-
│ │ ├──
|
|
34
|
-
│ │ └──
|
|
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,
|
|
38
|
-
│ │ └── ui/
|
|
34
|
+
│ │ ├── sections/ # Hero, Features, CTA
|
|
35
|
+
│ │ └── ui/
|
|
39
36
|
│ └── lib/
|
|
40
|
-
|
|
41
|
-
├──
|
|
42
|
-
|
|
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
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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 |
|
|
99
|
-
|
|
100
|
-
| Hero |
|
|
101
|
-
| Features | Product benefits
|
|
102
|
-
|
|
|
103
|
-
|
|
|
104
|
-
|
|
|
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
|
|
69
|
+
## Animation Patterns
|
|
111
70
|
|
|
112
|
-
| Pattern |
|
|
113
|
-
|
|
114
|
-
| Fade
|
|
115
|
-
| Stagger |
|
|
116
|
-
|
|
|
117
|
-
|
|
|
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.
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
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 |
|
|
156
|
-
|
|
157
|
-
| Vercel |
|
|
158
|
-
|
|
|
159
|
-
|
|
|
160
|
-
|
|
|
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
|
|
101
|
+
## Best Practices
|
|
165
102
|
|
|
166
|
-
-
|
|
167
|
-
-
|
|
168
|
-
-
|
|
169
|
-
-
|
|
103
|
+
- Static export for maximum performance
|
|
104
|
+
- Framer Motion for premium animations
|
|
105
|
+
- Responsive mobile-first design
|
|
106
|
+
- SEO metadata on every page
|