create-neon-flux 1.0.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/.env.example ADDED
@@ -0,0 +1,5 @@
1
+ # Neon Flux Template Configuration
2
+
3
+ # Site Information
4
+ NEXT_PUBLIC_SITE_NAME="Neon Flux"
5
+ NEXT_PUBLIC_SITE_URL="https://your-site.vercel.app"
package/.eslintrc.json ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "next/core-web-vitals"
3
+ }
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Neon Flux Template
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,398 @@
1
+ # Neon Flux - Cyberpunk Next.js Template
2
+
3
+ <div align="center">
4
+
5
+ ![Neon Flux Banner](./assets/banner.svg)
6
+
7
+ **A stunning cyberpunk-themed Next.js template with 3D graphics, neon effects, and interactive animations**
8
+
9
+ [![Next.js](https://img.shields.io/badge/Next.js-15-black?style=for-the-badge&logo=next.js)](https://nextjs.org/)
10
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5-blue?style=for-the-badge&logo=typescript)](https://www.typescriptlang.org/)
11
+ [![GSAP](https://img.shields.io/badge/GSAP-3.12-88CE02?style=for-the-badge&logo=greensock)](https://greensock.com/gsap/)
12
+ [![License](https://img.shields.io/badge/License-MIT-purple?style=for-the-badge)](LICENSE)
13
+
14
+ [Documentation](#documentation) • [Features](#features) • [Quick Start](#quick-start)
15
+
16
+ </div>
17
+
18
+ ---
19
+
20
+ ## Features
21
+
22
+ ### Design System
23
+ - **Cyberpunk Aesthetic** - Neon colors, glitch effects, and futuristic UI
24
+ - **Custom Neon Utilities** - Pre-configured Tailwind CSS classes
25
+ - **Glassmorphism** - Modern glass effects with backdrop blur
26
+ - **Typography** - Orbitron, Space Mono, Rajdhani fonts
27
+
28
+ ### Animations
29
+ - **Canvas 3D Effects** - Custom canvas-based cyberpunk city
30
+ - **GSAP Support** - Advanced scroll-triggered animations
31
+ - **Framer Motion** - Smooth micro-interactions
32
+ - **Particle Effects** - Interactive background particles
33
+
34
+ ### Effects Library
35
+ - **Glitch Text** - Dynamic text distortion effects
36
+ - **RGB Split** - Chromatic aberration animations
37
+ - **Scan Lines** - Retro CRT monitor effect
38
+ - **Neon Glow** - Pulsing neon borders and shadows
39
+ - **Particles** - Interactive particle system with connections
40
+
41
+ ### Components
42
+ - **Hero Section** - Eye-catching landing with 3D background
43
+ - **Navigation** - Glassmorphic navbar with smooth transitions
44
+ - **Buttons** - Neon-styled interactive buttons
45
+ - **Cards** - Holographic card components
46
+ - **Grid Background** - Animated cyber grid
47
+
48
+ ### Performance
49
+ - **Optimized Rendering** - Efficient canvas-based effects
50
+ - **Code Splitting** - Dynamic imports for better loading
51
+ - **Responsive** - Mobile-first design
52
+ - **Reduced Motion** - Respects user preferences
53
+ - **TypeScript** - Full type safety
54
+
55
+ ---
56
+
57
+ ## Quick Start
58
+
59
+ ### Prerequisites
60
+
61
+ - Node.js 18+
62
+ - npm 9+
63
+
64
+ ### Installation
65
+
66
+ #### Using npx (Recommended)
67
+
68
+ ```bash
69
+ npx create-neon-flux my-cyberpunk-app
70
+ cd my-cyberpunk-app
71
+ npm run dev
72
+ ```
73
+
74
+ #### Using npm init
75
+
76
+ ```bash
77
+ npm init @neon-flux/template my-cyberpunk-app
78
+ cd my-cyberpunk-app
79
+ npm run dev
80
+ ```
81
+
82
+ #### Manual Clone
83
+
84
+ ```bash
85
+ git clone https://github.com/kpab/neon-flux-template.git
86
+ cd neon-flux-template
87
+ npm install
88
+ npm run dev
89
+ ```
90
+
91
+ Open [http://localhost:3000](http://localhost:3000) to see your app!
92
+
93
+ ---
94
+
95
+ ## Project Structure
96
+
97
+ ```
98
+ neon-flux-template/
99
+ ├── app/
100
+ │ ├── layout.tsx # Root layout with fonts
101
+ │ ├── page.tsx # Home page
102
+ │ └── globals.css # Global styles & CSS variables
103
+
104
+ ├── components/
105
+ │ ├── 3d/
106
+ │ │ └── CyberCity.tsx # Canvas-based 3D city scene
107
+ │ ├── animations/
108
+ │ │ ├── Hero.tsx # Hero section
109
+ │ │ ├── GlitchText.tsx # Glitch text effect
110
+ │ │ └── CyberGrid.tsx # Animated grid background
111
+ │ ├── effects/
112
+ │ │ ├── ScanLines.tsx # CRT scan line effect
113
+ │ │ └── Particles.tsx # Particle background
114
+ │ ├── ui/
115
+ │ │ ├── CyberNav.tsx # Navigation component
116
+ │ │ ├── NeonButton.tsx # Neon-styled button
117
+ │ │ ├── HologramCard.tsx # Holographic card component
118
+ │ │ └── Terminal.tsx # Terminal simulator
119
+ │ └── hooks/
120
+ │ ├── useGlitch.ts # Glitch effect hook
121
+ │ ├── useNeonGlow.ts # Neon glow hook
122
+ │ ├── useParallax.ts # Parallax effect hook
123
+ │ └── useAudioReactive.ts # Audio reactive hook
124
+
125
+ ├── styles/
126
+ │ ├── neon.css # Neon effect styles
127
+ │ ├── glitch.css # Glitch animations
128
+ │ └── animations.css # Custom animations
129
+
130
+ └── bin/
131
+ └── create-app.js # CLI tool
132
+ ```
133
+
134
+ ---
135
+
136
+ ## Customization
137
+
138
+ ### Colors
139
+
140
+ Edit `tailwind.config.ts` to change neon colors:
141
+
142
+ ```typescript
143
+ colors: {
144
+ neon: {
145
+ pink: "#FF10F0", // Primary neon
146
+ cyan: "#00FFF0", // Secondary neon
147
+ yellow: "#FFFF00", // Accent
148
+ purple: "#B026FF",
149
+ },
150
+ cyber: {
151
+ black: "#0A0A0A", // Background
152
+ dark: "#0D0221", // Dark elements
153
+ grid: "#1A1A2E", // Grid color
154
+ },
155
+ }
156
+ ```
157
+
158
+ ### Configuration
159
+
160
+ Copy `.env.example` to `.env` and customize:
161
+
162
+ ```bash
163
+ cp .env.example .env
164
+ ```
165
+
166
+ ```env
167
+ # Site Information
168
+ NEXT_PUBLIC_SITE_NAME="Neon Flux"
169
+ NEXT_PUBLIC_SITE_URL="https://your-site.vercel.app"
170
+ ```
171
+
172
+ ### Typography
173
+
174
+ Import custom fonts in `app/layout.tsx`:
175
+
176
+ ```typescript
177
+ import { Orbitron, Space_Mono } from 'next/font/google';
178
+
179
+ const orbitron = Orbitron({ subsets: ['latin'] });
180
+ const spaceMono = Space_Mono({
181
+ weight: ['400', '700'],
182
+ subsets: ['latin']
183
+ });
184
+ ```
185
+
186
+ ---
187
+
188
+ ## Component Usage
189
+
190
+ ### GlitchText
191
+
192
+ ```tsx
193
+ import GlitchText from '@/components/animations/GlitchText';
194
+
195
+ <GlitchText
196
+ text="CYBERPUNK 2077"
197
+ className="text-6xl"
198
+ />
199
+ ```
200
+
201
+ ### NeonButton
202
+
203
+ ```tsx
204
+ import NeonButton from '@/components/ui/NeonButton';
205
+
206
+ <NeonButton variant="primary">
207
+ Launch App
208
+ </NeonButton>
209
+ ```
210
+
211
+ ### CyberCity (3D Scene)
212
+
213
+ ```tsx
214
+ import dynamic from 'next/dynamic';
215
+
216
+ const CyberCity = dynamic(() => import('@/components/3d/CyberCity'), {
217
+ ssr: false,
218
+ });
219
+
220
+ <CyberCity />
221
+ ```
222
+
223
+ ### Custom Hooks
224
+
225
+ ```tsx
226
+ import { useGlitch } from '@/components/hooks/useGlitch';
227
+ import { useNeonGlow } from '@/components/hooks/useNeonGlow';
228
+ import { useParallax } from '@/components/hooks/useParallax';
229
+
230
+ // Glitch effect
231
+ const isGlitching = useGlitch({ interval: 3000, duration: 300 });
232
+
233
+ // Neon glow effect
234
+ const { isGlowing, startGlow, stopGlow } = useNeonGlow();
235
+
236
+ // Parallax effect
237
+ const offset = useParallax(0.5);
238
+ ```
239
+
240
+ ---
241
+
242
+ ## Scripts
243
+
244
+ ```bash
245
+ npm run dev # Start development server
246
+ npm run build # Build for production
247
+ npm run start # Start production server
248
+ npm run lint # Run ESLint
249
+ ```
250
+
251
+ ---
252
+
253
+ ## Documentation
254
+
255
+ ### Design System
256
+
257
+ The template includes a comprehensive design system:
258
+
259
+ - **Colors**: Neon pink, cyan, yellow, purple + cyber blacks
260
+ - **Typography**: 4 cyberpunk-themed font families
261
+ - **Shadows**: Neon glow effects (sm, md, lg, xl)
262
+ - **Animations**: 12+ custom keyframe animations
263
+ - **Utilities**: Pre-configured Tailwind classes
264
+
265
+ ### CSS Classes
266
+
267
+ #### Neon Effects
268
+ ```css
269
+ .neon-text-pink /* Pink neon text */
270
+ .neon-text-cyan /* Cyan neon text */
271
+ .neon-border /* Neon border effect */
272
+ .neon-button /* Neon button style */
273
+ .neon-pulse /* Pulsing glow animation */
274
+ ```
275
+
276
+ #### Glitch Effects
277
+ ```css
278
+ .glitch /* Full glitch effect */
279
+ .rgb-split /* RGB color separation */
280
+ .chromatic-aberration /* Chromatic aberration */
281
+ ```
282
+
283
+ #### Animations
284
+ ```css
285
+ .fade-in-up /* Fade in from bottom */
286
+ .slide-in-left /* Slide from left */
287
+ .float-animation /* Floating effect */
288
+ .typewriter /* Typing animation */
289
+ ```
290
+
291
+ ---
292
+
293
+ ## Deployment
294
+
295
+ ### Vercel (Recommended)
296
+
297
+ [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/kpab/neon-flux-template)
298
+
299
+ ```bash
300
+ npm run build
301
+ vercel deploy
302
+ ```
303
+
304
+ ### Netlify
305
+
306
+ ```bash
307
+ npm run build
308
+ netlify deploy --prod
309
+ ```
310
+
311
+ ### Docker
312
+
313
+ ```dockerfile
314
+ FROM node:18-alpine
315
+ WORKDIR /app
316
+ COPY package*.json ./
317
+ RUN npm install
318
+ COPY . .
319
+ RUN npm run build
320
+ CMD ["npm", "start"]
321
+ ```
322
+
323
+ ---
324
+
325
+ ## Advanced Features
326
+
327
+ ### Audio Reactive (Optional)
328
+
329
+ Enable audio-reactive animations:
330
+
331
+ ```tsx
332
+ import { useAudioReactive } from '@/components/hooks/useAudioReactive';
333
+
334
+ const { volume, frequency } = useAudioReactive(true);
335
+ ```
336
+
337
+ ### GSAP ScrollTrigger
338
+
339
+ Add scroll-triggered animations:
340
+
341
+ ```tsx
342
+ import { gsap } from 'gsap';
343
+ import { ScrollTrigger } from 'gsap/ScrollTrigger';
344
+
345
+ gsap.registerPlugin(ScrollTrigger);
346
+
347
+ useEffect(() => {
348
+ gsap.to('.element', {
349
+ scrollTrigger: {
350
+ trigger: '.element',
351
+ start: 'top center',
352
+ },
353
+ opacity: 1,
354
+ y: 0,
355
+ });
356
+ }, []);
357
+ ```
358
+
359
+ ---
360
+
361
+ ## Contributing
362
+
363
+ Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md).
364
+
365
+ 1. Fork the repository
366
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
367
+ 3. Commit your changes (`git commit -m 'Add amazing feature'`)
368
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
369
+ 5. Open a Pull Request
370
+
371
+ ---
372
+
373
+ ## License
374
+
375
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
376
+
377
+ ---
378
+
379
+ ## Acknowledgments
380
+
381
+ - **Next.js** - The React Framework
382
+ - **GSAP** - Animation Platform
383
+ - **Tailwind CSS** - Utility-first CSS
384
+ - **Framer Motion** - Animation Library
385
+
386
+ ---
387
+
388
+ ## Support
389
+
390
+ - Issues: [GitHub Issues](https://github.com/kpab/neon-flux-template/issues)
391
+
392
+ ---
393
+
394
+ <div align="center">
395
+
396
+ **Built with Neon Flux Template**
397
+
398
+ </div>
@@ -0,0 +1,170 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=Exo+2:wght@300;400;500;600;700&family=Orbitron:wght@400;500;700;900&family=Space+Mono:wght@400;700&family=Rajdhani:wght@300;400;500;600;700&family=Share+Tech+Mono&display=swap');
2
+
3
+ @tailwind base;
4
+ @tailwind components;
5
+ @tailwind utilities;
6
+
7
+ :root {
8
+ /* Primary Neons */
9
+ --neon-pink: #FF10F0;
10
+ --neon-cyan: #00FFF0;
11
+ --neon-yellow: #FFFF00;
12
+ --neon-purple: #B026FF;
13
+ --neon-blue: #00D4FF;
14
+ --neon-green: #39FF14;
15
+
16
+ /* Background */
17
+ --cyber-black: #0A0A0A;
18
+ --cyber-dark: #0D0221;
19
+ --grid-blue: #1A1A2E;
20
+
21
+ /* Glows */
22
+ --glow-pink: 0 0 20px #FF10F0;
23
+ --glow-cyan: 0 0 20px #00FFF0;
24
+ --glow-yellow: 0 0 20px #FFFF00;
25
+ --glow-purple: 0 0 20px #B026FF;
26
+
27
+ /* Gradients */
28
+ --cyber-gradient: linear-gradient(45deg, #FF10F0, #00FFF0);
29
+ --hologram: linear-gradient(90deg, #00FFF0, #FF10F0, #FFFF00);
30
+ }
31
+
32
+ * {
33
+ margin: 0;
34
+ padding: 0;
35
+ box-sizing: border-box;
36
+ }
37
+
38
+ html {
39
+ scroll-behavior: smooth;
40
+ }
41
+
42
+ body {
43
+ font-family: 'Rajdhani', sans-serif;
44
+ background-color: var(--cyber-black);
45
+ color: var(--neon-cyan);
46
+ overflow-x: hidden;
47
+ line-height: 1.6;
48
+ }
49
+
50
+ /* Selection styles */
51
+ ::selection {
52
+ background-color: var(--neon-pink);
53
+ color: var(--cyber-black);
54
+ text-shadow: none;
55
+ }
56
+
57
+ ::-moz-selection {
58
+ background-color: var(--neon-pink);
59
+ color: var(--cyber-black);
60
+ text-shadow: none;
61
+ }
62
+
63
+ /* Scrollbar styles */
64
+ ::-webkit-scrollbar {
65
+ width: 10px;
66
+ }
67
+
68
+ ::-webkit-scrollbar-track {
69
+ background: var(--cyber-dark);
70
+ border-left: 1px solid var(--neon-cyan);
71
+ }
72
+
73
+ ::-webkit-scrollbar-thumb {
74
+ background: var(--neon-pink);
75
+ box-shadow: 0 0 10px var(--neon-pink);
76
+ }
77
+
78
+ ::-webkit-scrollbar-thumb:hover {
79
+ background: var(--neon-cyan);
80
+ box-shadow: 0 0 15px var(--neon-cyan);
81
+ }
82
+
83
+ /* Typography */
84
+ h1, h2, h3, h4, h5, h6 {
85
+ font-family: 'Orbitron', sans-serif;
86
+ font-weight: 700;
87
+ line-height: 1.2;
88
+ letter-spacing: 0.05em;
89
+ }
90
+
91
+ /* Utility classes */
92
+ .text-shadow-neon-pink {
93
+ text-shadow: 0 0 10px var(--neon-pink), 0 0 20px var(--neon-pink), 0 0 30px var(--neon-pink);
94
+ }
95
+
96
+ .text-shadow-neon-cyan {
97
+ text-shadow: 0 0 10px var(--neon-cyan), 0 0 20px var(--neon-cyan), 0 0 30px var(--neon-cyan);
98
+ }
99
+
100
+ .text-shadow-neon-yellow {
101
+ text-shadow: 0 0 10px var(--neon-yellow), 0 0 20px var(--neon-yellow), 0 0 30px var(--neon-yellow);
102
+ }
103
+
104
+ .text-shadow-neon-purple {
105
+ text-shadow: 0 0 10px var(--neon-purple), 0 0 20px var(--neon-purple), 0 0 30px var(--neon-purple);
106
+ }
107
+
108
+ /* Canvas container */
109
+ .canvas-container {
110
+ position: fixed;
111
+ top: 0;
112
+ left: 0;
113
+ width: 100%;
114
+ height: 100%;
115
+ z-index: -1;
116
+ pointer-events: none;
117
+ }
118
+
119
+ /* Glassmorphism */
120
+ .glass {
121
+ background: rgba(10, 10, 10, 0.4);
122
+ backdrop-filter: blur(10px);
123
+ -webkit-backdrop-filter: blur(10px);
124
+ border: 1px solid rgba(0, 255, 240, 0.2);
125
+ }
126
+
127
+ /* Hologram effect */
128
+ .hologram-effect {
129
+ position: relative;
130
+ background: linear-gradient(
131
+ 90deg,
132
+ transparent 0%,
133
+ rgba(0, 255, 240, 0.1) 45%,
134
+ rgba(255, 16, 240, 0.1) 55%,
135
+ transparent 100%
136
+ );
137
+ animation: hologram-scan 3s ease-in-out infinite;
138
+ }
139
+
140
+ @keyframes hologram-scan {
141
+ 0%, 100% {
142
+ background-position: -200% 0;
143
+ }
144
+ 50% {
145
+ background-position: 200% 0;
146
+ }
147
+ }
148
+
149
+ /* Cyber grid background */
150
+ .cyber-grid {
151
+ background-image:
152
+ linear-gradient(to right, rgba(0, 255, 240, 0.1) 1px, transparent 1px),
153
+ linear-gradient(to bottom, rgba(0, 255, 240, 0.1) 1px, transparent 1px);
154
+ background-size: 50px 50px;
155
+ }
156
+
157
+ /* Performance optimizations */
158
+ .gpu-accelerated {
159
+ transform: translateZ(0);
160
+ will-change: transform;
161
+ }
162
+
163
+ /* Reduced motion support */
164
+ @media (prefers-reduced-motion: reduce) {
165
+ * {
166
+ animation-duration: 0.01ms !important;
167
+ animation-iteration-count: 1 !important;
168
+ transition-duration: 0.01ms !important;
169
+ }
170
+ }
package/app/layout.tsx ADDED
@@ -0,0 +1,29 @@
1
+ import type { Metadata } from "next";
2
+ import "./globals.css";
3
+ import "../styles/neon.css";
4
+ import "../styles/glitch.css";
5
+ import "../styles/animations.css";
6
+
7
+ export const metadata: Metadata = {
8
+ title: "Neon Flux - Cyberpunk Next.js Template",
9
+ description: "A stunning cyberpunk-themed Next.js template with 3D animations, neon effects, and interactive elements",
10
+ keywords: ["nextjs", "cyberpunk", "neon", "3d", "animation", "template"],
11
+ };
12
+
13
+ export default function RootLayout({
14
+ children,
15
+ }: Readonly<{
16
+ children: React.ReactNode;
17
+ }>) {
18
+ return (
19
+ <html lang="en">
20
+ <head>
21
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
22
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous" />
23
+ </head>
24
+ <body className="antialiased">
25
+ {children}
26
+ </body>
27
+ </html>
28
+ );
29
+ }