tribunal-kit 4.5.1 → 4.6.0
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/.shared/ui-ux-pro-max/README.md +4 -4
- package/.agent/ARCHITECTURE.md +279 -277
- package/.agent/GEMINI.md +127 -121
- package/.agent/agents/accessibility-reviewer.md +187 -187
- package/.agent/agents/ai-code-reviewer.md +199 -199
- package/.agent/agents/api-architect.md +71 -66
- package/.agent/agents/backend-specialist.md +219 -215
- package/.agent/agents/cloud-engineer.md +98 -0
- package/.agent/agents/code-archaeologist.md +168 -161
- package/.agent/agents/database-architect.md +184 -184
- package/.agent/agents/db-latency-auditor.md +213 -216
- package/.agent/agents/debugger.md +198 -191
- package/.agent/agents/dependency-reviewer.md +106 -103
- package/.agent/agents/devops-engineer.md +218 -218
- package/.agent/agents/documentation-writer.md +209 -201
- package/.agent/agents/explorer-agent.md +167 -160
- package/.agent/agents/frontend-reviewer.md +162 -160
- package/.agent/agents/frontend-specialist.md +257 -248
- package/.agent/agents/game-developer.md +48 -48
- package/.agent/agents/logic-reviewer.md +118 -116
- package/.agent/agents/mobile-developer.md +197 -200
- package/.agent/agents/mobile-reviewer.md +159 -162
- package/.agent/agents/orchestrator.md +187 -181
- package/.agent/agents/penetration-tester.md +160 -157
- package/.agent/agents/performance-optimizer.md +183 -183
- package/.agent/agents/performance-reviewer.md +178 -178
- package/.agent/agents/precedence-reviewer.md +251 -250
- package/.agent/agents/product-manager.md +149 -142
- package/.agent/agents/product-owner.md +81 -80
- package/.agent/agents/project-planner.md +152 -142
- package/.agent/agents/qa-automation-engineer.md +216 -225
- package/.agent/agents/resilience-reviewer.md +88 -88
- package/.agent/agents/schema-reviewer.md +67 -67
- package/.agent/agents/security-auditor.md +180 -174
- package/.agent/agents/seo-specialist.md +188 -193
- package/.agent/agents/sql-reviewer.md +159 -161
- package/.agent/agents/supervisor-agent.md +173 -184
- package/.agent/agents/swarm-worker-contracts.md +170 -166
- package/.agent/agents/swarm-worker-registry.md +92 -92
- package/.agent/agents/system-architect.md +85 -0
- package/.agent/agents/test-coverage-reviewer.md +158 -160
- package/.agent/agents/test-engineer.md +118 -118
- package/.agent/agents/throughput-optimizer.md +291 -299
- package/.agent/agents/type-safety-reviewer.md +182 -175
- package/.agent/agents/ui-ux-auditor.md +300 -292
- package/.agent/agents/vitals-reviewer.md +223 -223
- package/.agent/mcp_config.json +37 -40
- package/.agent/patterns/generator.md +11 -9
- package/.agent/patterns/inversion.md +14 -12
- package/.agent/patterns/pipeline.md +11 -9
- package/.agent/patterns/reviewer.md +15 -13
- package/.agent/patterns/tool-wrapper.md +11 -9
- package/.agent/routing_index.json +654 -0
- package/.agent/rules/GEMINI.md +358 -352
- package/.agent/scripts/compile_router.py +112 -0
- package/.agent/scripts/migrate_skills_frontmatter.py +64 -0
- package/.agent/scripts/strengthen_skills.js +1 -1
- package/.agent/skills/advanced-rag-pipelines/SKILL.md +56 -0
- package/.agent/skills/agent-organizer/SKILL.md +156 -150
- package/.agent/skills/agentic-patterns/SKILL.md +313 -315
- package/.agent/skills/ai-prompt-injection-defense/SKILL.md +190 -184
- package/.agent/skills/api-patterns/SKILL.md +253 -247
- package/.agent/skills/api-security-auditor/SKILL.md +195 -193
- package/.agent/skills/app-builder/SKILL.md +573 -572
- package/.agent/skills/app-builder/templates/SKILL.md +108 -115
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +126 -122
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +127 -122
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +172 -169
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +139 -134
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +122 -119
- package/.agent/skills/appflow-wireframe/SKILL.md +146 -145
- package/.agent/skills/architecture/SKILL.md +226 -219
- package/.agent/skills/authentication-best-practices/SKILL.md +197 -189
- package/.agent/skills/backend-security-expert/SKILL.md +16 -2
- package/.agent/skills/bash-linux/SKILL.md +179 -179
- package/.agent/skills/behavioral-modes/SKILL.md +239 -223
- package/.agent/skills/brainstorming/SKILL.md +498 -486
- package/.agent/skills/browser-native-ai/SKILL.md +57 -4
- package/.agent/skills/building-native-ui/SKILL.md +202 -202
- package/.agent/skills/cicd-pro/SKILL.md +442 -0
- package/.agent/skills/clean-code/SKILL.md +400 -381
- package/.agent/skills/cloud-architect/SKILL.md +439 -0
- package/.agent/skills/code-review-checklist/SKILL.md +203 -194
- package/.agent/skills/config-validator/SKILL.md +165 -165
- package/.agent/skills/containerization-pro/SKILL.md +452 -0
- package/.agent/skills/csharp-developer/SKILL.md +518 -518
- package/.agent/skills/data-validation-schemas/SKILL.md +333 -328
- package/.agent/skills/database-design/SKILL.md +247 -240
- package/.agent/skills/deployment-procedures/SKILL.md +172 -169
- package/.agent/skills/devops-engineer/SKILL.md +345 -345
- package/.agent/skills/devops-incident-responder/SKILL.md +143 -137
- package/.agent/skills/doc.md +209 -177
- package/.agent/skills/documentation-templates/SKILL.md +291 -279
- package/.agent/skills/edge-computing/SKILL.md +183 -181
- package/.agent/skills/error-resilience/SKILL.md +411 -428
- package/.agent/skills/extract-design-system/SKILL.md +160 -158
- package/.agent/skills/framer-motion-expert/SKILL.md +253 -244
- package/.agent/skills/frontend-design/SKILL.md +208 -201
- package/.agent/skills/frontend-security-expert/SKILL.md +16 -3
- package/.agent/skills/game-design-expert/SKILL.md +132 -129
- package/.agent/skills/game-engineering-expert/SKILL.md +148 -146
- package/.agent/skills/generative-ui-expert/SKILL.md +57 -1
- package/.agent/skills/geo-fundamentals/SKILL.md +148 -147
- package/.agent/skills/git-pro/SKILL.md +435 -0
- package/.agent/skills/github-operations/SKILL.md +335 -329
- package/.agent/skills/gsap-core/SKILL.md +319 -308
- package/.agent/skills/gsap-frameworks/SKILL.md +213 -207
- package/.agent/skills/gsap-performance/SKILL.md +139 -133
- package/.agent/skills/gsap-plugins/SKILL.md +486 -480
- package/.agent/skills/gsap-react/SKILL.md +202 -189
- package/.agent/skills/gsap-scrolltrigger/SKILL.md +357 -350
- package/.agent/skills/gsap-timeline/SKILL.md +165 -161
- package/.agent/skills/gsap-utils/SKILL.md +344 -338
- package/.agent/skills/harness-protocol/SKILL.md +48 -0
- package/.agent/skills/i18n-localization/SKILL.md +174 -163
- package/.agent/skills/intelligent-routing/SKILL.md +202 -246
- package/.agent/skills/knowledge-graph/SKILL.md +60 -52
- package/.agent/skills/lint-and-validate/SKILL.md +261 -261
- package/.agent/skills/llm-engineering/SKILL.md +400 -394
- package/.agent/skills/local-first/SKILL.md +178 -178
- package/.agent/skills/mcp-builder/SKILL.md +143 -142
- package/.agent/skills/mobile-design/SKILL.md +272 -263
- package/.agent/skills/monorepo-management/SKILL.md +335 -334
- package/.agent/skills/motion-engineering/SKILL.md +266 -234
- package/.agent/skills/nextjs-react-expert/SKILL.md +236 -234
- package/.agent/skills/nodejs-best-practices/SKILL.md +547 -548
- package/.agent/skills/observability/SKILL.md +343 -343
- package/.agent/skills/parallel-agents/SKILL.md +143 -146
- package/.agent/skills/performance-profiling/SKILL.md +259 -267
- package/.agent/skills/plan-writing/SKILL.md +150 -142
- package/.agent/skills/platform-engineer/SKILL.md +148 -147
- package/.agent/skills/playwright-best-practices/SKILL.md +188 -187
- package/.agent/skills/powershell-windows/SKILL.md +162 -162
- package/.agent/skills/project-idioms/SKILL.md +137 -137
- package/.agent/skills/python-patterns/SKILL.md +260 -259
- package/.agent/skills/python-pro/SKILL.md +324 -323
- package/.agent/skills/react-specialist/SKILL.md +305 -277
- package/.agent/skills/readme-builder/SKILL.md +310 -300
- package/.agent/skills/realtime-patterns/SKILL.md +323 -319
- package/.agent/skills/red-team-tactics/SKILL.md +231 -218
- package/.agent/skills/rust-pro/SKILL.md +671 -673
- package/.agent/skills/seo-fundamentals/SKILL.md +179 -179
- package/.agent/skills/server-management/SKILL.md +218 -214
- package/.agent/skills/shadcn-ui-expert/SKILL.md +231 -231
- package/.agent/skills/skill-creator/SKILL.md +87 -86
- package/.agent/skills/sql-pro/SKILL.md +629 -629
- package/.agent/skills/supabase-postgres-best-practices/SKILL.md +97 -97
- package/.agent/skills/swiftui-expert/SKILL.md +204 -201
- package/.agent/skills/system-design-pro/SKILL.md +345 -0
- package/.agent/skills/systematic-debugging/SKILL.md +153 -142
- package/.agent/skills/tailwind-patterns/SKILL.md +610 -566
- package/.agent/skills/tdd-workflow/SKILL.md +169 -161
- package/.agent/skills/test-result-analyzer/SKILL.md +313 -309
- package/.agent/skills/testing-patterns/SKILL.md +566 -579
- package/.agent/skills/trend-researcher/SKILL.md +243 -237
- package/.agent/skills/typescript-advanced/SKILL.md +336 -335
- package/.agent/skills/ui-ux-pro-max/SKILL.md +590 -562
- package/.agent/skills/ui-ux-researcher/SKILL.md +244 -244
- package/.agent/skills/vue-expert/SKILL.md +294 -275
- package/.agent/skills/vulnerability-scanner/SKILL.md +416 -404
- package/.agent/skills/web-accessibility-auditor/SKILL.md +219 -218
- package/.agent/skills/web-design-guidelines/SKILL.md +192 -186
- package/.agent/skills/webapp-testing/SKILL.md +167 -169
- package/.agent/skills/webgpu-performance/SKILL.md +56 -2
- package/.agent/skills/whimsy-injector/SKILL.md +346 -325
- package/.agent/skills/workflow-optimizer/SKILL.md +231 -229
- package/.agent/workflows/acf.md +141 -0
- package/.agent/workflows/api-tester.md +176 -151
- package/.agent/workflows/audit.md +150 -127
- package/.agent/workflows/brainstorm.md +134 -110
- package/.agent/workflows/changelog.md +140 -112
- package/.agent/workflows/create.md +168 -124
- package/.agent/workflows/debug.md +190 -165
- package/.agent/workflows/deploy.md +201 -180
- package/.agent/workflows/enhance.md +154 -128
- package/.agent/workflows/fix.md +136 -114
- package/.agent/workflows/generate.md +198 -183
- package/.agent/workflows/marathon.md +37 -11
- package/.agent/workflows/migrate.md +184 -160
- package/.agent/workflows/orchestrate.md +192 -168
- package/.agent/workflows/performance-benchmarker.md +135 -114
- package/.agent/workflows/plan.md +196 -173
- package/.agent/workflows/preview.md +103 -80
- package/.agent/workflows/refactor.md +192 -161
- package/.agent/workflows/review-ai.md +125 -101
- package/.agent/workflows/review.md +141 -116
- package/.agent/workflows/session.md +122 -94
- package/.agent/workflows/status.md +101 -79
- package/.agent/workflows/strengthen-skills.md +164 -138
- package/.agent/workflows/super-prompt.md +24 -0
- package/.agent/workflows/swarm.md +193 -179
- package/.agent/workflows/test.md +211 -189
- package/.agent/workflows/tribunal-backend.md +136 -105
- package/.agent/workflows/tribunal-database.md +122 -95
- package/.agent/workflows/tribunal-frontend.md +221 -96
- package/.agent/workflows/tribunal-full.md +129 -100
- package/.agent/workflows/tribunal-mobile.md +122 -95
- package/.agent/workflows/tribunal-performance.md +136 -110
- package/.agent/workflows/tribunal-speed.md +209 -183
- package/.agent/workflows/ui-ux-pro-max.md +145 -122
- package/README.md +107 -55
- package/mcp_config.json +1 -3
- package/package.json +94 -94
|
@@ -1,122 +1,127 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: nextjs-saas
|
|
3
|
-
description: Next.js SaaS template principles (2026 Standards). React 19, Server Actions, Auth.js v6.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Next.js SaaS Template (Updated 2026)
|
|
7
|
-
|
|
8
|
-
## Tech Stack
|
|
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)|
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## Directory Structure
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
project-name/
|
|
26
|
-
├── prisma/
|
|
27
|
-
│ └── schema.prisma # Database Schema
|
|
28
|
-
├── 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
|
-
│ ├── 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
|
|
38
|
-
│ │ └── webhooks/stripe/
|
|
39
|
-
│ ├── components/
|
|
40
|
-
│ │ ├── emails/ # React Email templates
|
|
41
|
-
│ │ ├── forms/ # Client components using useActionState (React 19)
|
|
42
|
-
│ │ └── ui/ # Shadcn UI
|
|
43
|
-
│ ├── 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)
|
|
49
|
-
└── package.json
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## SaaS Features
|
|
55
|
-
|
|
56
|
-
|Feature|Implementation|
|
|
57
|
-
|
|
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|
|
|
62
|
-
|Email|Transactional via Resend|
|
|
63
|
-
|Validation|Zod (Server-side validation)|
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## Database Schema
|
|
68
|
-
|
|
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)|
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## Environment Variables
|
|
78
|
-
|
|
79
|
-
|Variable|Purpose|
|
|
80
|
-
|
|
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|
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## Setup Steps
|
|
91
|
-
|
|
92
|
-
1. Initialize project (Node 24):
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
npm run
|
|
122
|
-
```
|
|
1
|
+
---
|
|
2
|
+
name: nextjs-saas
|
|
3
|
+
description: Next.js SaaS template principles (2026 Standards). React 19, Server Actions, Auth.js v6.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Next.js SaaS Template (Updated 2026)
|
|
7
|
+
|
|
8
|
+
## Tech Stack
|
|
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) |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Directory Structure
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
project-name/
|
|
26
|
+
├── prisma/
|
|
27
|
+
│ └── schema.prisma # Database Schema
|
|
28
|
+
├── 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
|
+
│ ├── 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
|
|
38
|
+
│ │ └── webhooks/stripe/
|
|
39
|
+
│ ├── components/
|
|
40
|
+
│ │ ├── emails/ # React Email templates
|
|
41
|
+
│ │ ├── forms/ # Client components using useActionState (React 19)
|
|
42
|
+
│ │ └── ui/ # Shadcn UI
|
|
43
|
+
│ ├── 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)
|
|
49
|
+
└── package.json
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## SaaS Features
|
|
55
|
+
|
|
56
|
+
| Feature | Implementation |
|
|
57
|
+
| ------------- | ---------------------------------- |
|
|
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 |
|
|
62
|
+
| Email | Transactional via Resend |
|
|
63
|
+
| Validation | Zod (Server-side validation) |
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Database Schema
|
|
68
|
+
|
|
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) |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Environment Variables
|
|
78
|
+
|
|
79
|
+
| Variable | Purpose |
|
|
80
|
+
| --------------------- | ------------------------------------- |
|
|
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 |
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Setup Steps
|
|
91
|
+
|
|
92
|
+
1. Initialize project (Node 24):
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
npx create-next-app@latest {{name}} --typescript --eslint
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
2. Install core libraries:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
npm install next-auth@beta stripe resend @prisma/client
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
3. Install Tailwind v4 (Add to globals.css):
|
|
105
|
+
|
|
106
|
+
```css
|
|
107
|
+
@import "tailwindcss";
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
4. Configure environment (.env.local)
|
|
111
|
+
|
|
112
|
+
5. Sync Database:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
npx prisma db push
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
6. Run local Webhook:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
npm run stripe:listen
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
7. Run project:
|
|
125
|
+
```bash
|
|
126
|
+
npm run dev
|
|
127
|
+
```
|
|
@@ -1,169 +1,172 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: nextjs-static
|
|
3
|
-
description: Modern template for Next.js 16, React 19 & Tailwind v4. Optimized for Landing pages and Portfolios.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Next.js Static Site Template (Modern Edition)
|
|
7
|
-
|
|
8
|
-
## Tech Stack
|
|
9
|
-
|
|
10
|
-
|Component|Technology|Notes|
|
|
11
|
-
|
|
12
|
-
|Framework|Next.js 16
|
|
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)|
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## Directory Structure
|
|
23
|
-
|
|
24
|
-
Streamlined structure thanks to Tailwind v4 (theme configuration lives inside CSS).
|
|
25
|
-
|
|
26
|
-
```
|
|
27
|
-
project-name/
|
|
28
|
-
├── src/
|
|
29
|
-
│ ├── 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...)
|
|
35
|
-
│ ├── components/
|
|
36
|
-
│ │ ├── layout/ # Header, Footer
|
|
37
|
-
│ │ ├── sections/ # Hero, Features, Pricing, CTA
|
|
38
|
-
│ │ └── ui/ # Atomic components (Button, Card)
|
|
39
|
-
│ └── 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
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## Static Export Config
|
|
50
|
-
|
|
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:
|
|
59
|
-
images: {
|
|
60
|
-
unoptimized: true
|
|
61
|
-
},
|
|
62
|
-
trailingSlash: true,
|
|
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
|
|
78
|
-
|
|
79
|
-
export const metadata: Metadata = {
|
|
80
|
-
title: {
|
|
81
|
-
template:
|
|
82
|
-
default:
|
|
83
|
-
},
|
|
84
|
-
description:
|
|
85
|
-
openGraph: {
|
|
86
|
-
type:
|
|
87
|
-
locale:
|
|
88
|
-
url:
|
|
89
|
-
siteName:
|
|
90
|
-
},
|
|
91
|
-
};
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
## Landing Page Sections
|
|
97
|
-
|
|
98
|
-
|Section|Purpose|Suggested Component|
|
|
99
|
-
|
|
100
|
-
|Hero|First impression, H1 & Main CTA
|
|
101
|
-
|Features|Product benefits (Grid/Bento layout)
|
|
102
|
-
|Social Proof|Partner logos, User numbers
|
|
103
|
-
|Testimonials|Customer reviews
|
|
104
|
-
|Pricing|Service plans
|
|
105
|
-
|FAQ|Questions & Answers (Good for SEO)
|
|
106
|
-
|CTA|Final conversion
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
## Animation Patterns (Framer Motion)
|
|
111
|
-
|
|
112
|
-
|Pattern|Usage|Implementation|
|
|
113
|
-
|
|
114
|
-
|Fade Up|Headlines, paragraphs
|
|
115
|
-
|Stagger|Lists of Features/Cards|Use variants with `staggerChildren
|
|
116
|
-
|Parallax|Background images or floating elements
|
|
117
|
-
|Micro-interactions|Hover buttons, click effects
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
## Setup Steps
|
|
122
|
-
|
|
123
|
-
1. Initialize Project:
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
# Select '
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
|
159
|
-
|
|
|
160
|
-
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
- **
|
|
1
|
+
---
|
|
2
|
+
name: nextjs-static
|
|
3
|
+
description: Modern template for Next.js 16, React 19 & Tailwind v4. Optimized for Landing pages and Portfolios.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Next.js Static Site Template (Modern Edition)
|
|
7
|
+
|
|
8
|
+
## Tech Stack
|
|
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) |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Directory Structure
|
|
23
|
+
|
|
24
|
+
Streamlined structure thanks to Tailwind v4 (theme configuration lives inside CSS).
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
project-name/
|
|
28
|
+
├── src/
|
|
29
|
+
│ ├── 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...)
|
|
35
|
+
│ ├── components/
|
|
36
|
+
│ │ ├── layout/ # Header, Footer
|
|
37
|
+
│ │ ├── sections/ # Hero, Features, Pricing, CTA
|
|
38
|
+
│ │ └── ui/ # Atomic components (Button, Card)
|
|
39
|
+
│ └── 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
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Static Export Config
|
|
50
|
+
|
|
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
|
+
},
|
|
91
|
+
};
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Landing Page Sections
|
|
97
|
+
|
|
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 />` |
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Animation Patterns (Framer Motion)
|
|
111
|
+
|
|
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 }}` |
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Setup Steps
|
|
122
|
+
|
|
123
|
+
1. Initialize Project:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
npx create-next-app@latest my-site --typescript --tailwind --eslint
|
|
127
|
+
# Select 'Yes' for App Router
|
|
128
|
+
# Select 'No' for 'Would you like to customize the default import alias?'
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
2. Install Auxiliary Libraries:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
npm install framer-motion lucide-react clsx tailwind-merge
|
|
135
|
+
# clsx and tailwind-merge help handle dynamic classes better
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
3. Configure Tailwind v4 (in `src/app/globals.css`):
|
|
139
|
+
|
|
140
|
+
```css
|
|
141
|
+
@import "tailwindcss";
|
|
142
|
+
|
|
143
|
+
@theme {
|
|
144
|
+
--color-primary: #3b82f6;
|
|
145
|
+
--font-sans: "Inter", sans-serif;
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
4. Development:
|
|
150
|
+
```bash
|
|
151
|
+
npm run dev --turbopack
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Deployment
|
|
157
|
+
|
|
158
|
+
| Platform | Method | Important Notes |
|
|
159
|
+
| ------------------- | ----------------- | ------------------------------------------------------------------------ |
|
|
160
|
+
| Vercel | Git Push | Auto-detects Next.js. Best for performance. |
|
|
161
|
+
| GitHub Pages | GitHub Actions | Need to set `basePath` in `next.config.ts` if not using a custom domain. |
|
|
162
|
+
| AWS S3 / CloudFront | Upload out folder | Ensure Error Document is configured to `404.html`. |
|
|
163
|
+
| Netlify | Git Push | Set build command to `npm run build`. |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Best Practices (Modern)
|
|
168
|
+
|
|
169
|
+
- **React Server Components (RSC)**: Default all components to Server Components. Only add `'use client'` when you need state (`useState`) or event listeners (`onClick`).
|
|
170
|
+
- **Image Optimization**: Use the `<Image />` component but remember `unoptimized: true` for static export or use an external image CDN (Cloudinary/Imgix).
|
|
171
|
+
- **Font Optimization**: Use `next/font` (Google Fonts) to automatically host fonts and prevent layout shift.
|
|
172
|
+
- **Responsive**: Mobile-first design using Tailwind prefixes like `sm:`, `md:`, `lg:`.
|