git0 0.2.6 → 0.2.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.
- package/docs/404.html +2 -3
- package/docs/Footer/index.html +2 -3
- package/docs/assets/js/1df93b7f.d8c05d2c.js +2 -0
- package/docs/assets/js/22dd74f7.237398b4.js +1 -0
- package/docs/assets/js/28ab763d.5714aa16.js +1 -0
- package/docs/assets/js/299d276b.1a1baa1c.js +1 -0
- package/docs/assets/js/68cef36b.c312447e.js +1 -0
- package/docs/assets/js/c3a618e1.965a31da.js +1 -0
- package/docs/assets/js/{main.6b27aee7.js → main.cf858a7d.js} +2 -2
- package/docs/assets/js/runtime~main.7520dc36.js +1 -0
- package/docs/functions/{globals → git0}/index.html +9 -9
- package/docs/functions/github-api/index.html +149 -0
- package/docs/functions/index.html +4 -5
- package/docs/functions/modules/index.html +30 -0
- package/docs/index.html +3 -4
- package/docs/lunr-index-1749613752315.json +1 -0
- package/docs/lunr-index.json +1 -1
- package/docs/search-doc-1749613752315.json +1 -0
- package/docs/search-doc.json +1 -1
- package/docs/sitemap.xml +1 -1
- package/docs-config/.docusaurus/client-manifest.json +45 -33
- package/docs-config/.docusaurus/docusaurus-plugin-content-docs/default/p/docs-175.json +1 -0
- package/docs-config/.docusaurus/docusaurus-plugin-content-docs/default/p/index-466.json +1 -1
- package/docs-config/.docusaurus/docusaurus-plugin-content-docs/default/site-src-functions-git-0-1-md-d3e.json +19 -0
- package/docs-config/.docusaurus/docusaurus-plugin-content-docs/default/site-src-functions-git-0-md-299.json +19 -0
- package/docs-config/.docusaurus/docusaurus-plugin-content-docs/default/site-src-functions-github-api-md-28a.json +23 -0
- package/docs-config/.docusaurus/docusaurus-plugin-content-docs/default/site-src-functions-index-md-c3a.json +6 -2
- package/docs-config/.docusaurus/docusaurus-plugin-content-docs/default/site-src-functions-modules-md-68c.json +19 -0
- package/docs-config/.docusaurus/docusaurus.config.mjs +2 -9
- package/docs-config/.docusaurus/globalData.json +14 -9
- package/docs-config/.docusaurus/registry.js +4 -3
- package/docs-config/.docusaurus/routes.js +13 -7
- package/docs-config/.docusaurus/routesChunkNames.json +11 -7
- package/docs-config/config/customize-docs.js +4 -2
- package/docs-config/docusaurus.config.ts +0 -9
- package/docs-config/src/functions/{globals.md → git0.md} +4 -2
- package/docs-config/src/functions/github-api.md +744 -0
- package/docs-config/src/functions/modules.md +4 -0
- package/docs-config/src/functions/typedoc-sidebar.cjs +12 -1
- package/docs-config/src/pages/index.tsx +289 -279
- package/docs-config/tsconfig.json +1 -1
- package/package.json +1 -1
- package/src/git0.js +2 -2
- package/src/github-api.js +1 -1
- package/docs/assets/js/1df93b7f.dfdf0ef3.js +0 -2
- package/docs/assets/js/22dd74f7.040a4546.js +0 -1
- package/docs/assets/js/4a829dc8.10d7db0a.js +0 -1
- package/docs/assets/js/c3a618e1.50a89e4d.js +0 -1
- package/docs/assets/js/d140250a.62af53aa.js +0 -1
- package/docs/assets/js/runtime~main.5c54c19c.js +0 -1
- package/docs/lunr-index-1749612068805.json +0 -1
- package/docs/search-doc-1749612068805.json +0 -1
- package/docs-config/src/index.md +0 -127
- /package/docs/assets/js/{1df93b7f.dfdf0ef3.js.LICENSE.txt → 1df93b7f.d8c05d2c.js.LICENSE.txt} +0 -0
- /package/docs/assets/js/{main.6b27aee7.js.LICENSE.txt → main.cf858a7d.js.LICENSE.txt} +0 -0
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import React, { useState, useEffect } from 'react';
|
|
2
2
|
import Footer from './Footer';
|
|
3
3
|
|
|
4
|
-
import {
|
|
5
|
-
Github,
|
|
6
|
-
Download,
|
|
7
|
-
Search,
|
|
8
|
-
Zap,
|
|
9
|
-
Terminal,
|
|
10
|
-
Code,
|
|
11
|
-
Star,
|
|
12
|
-
GitBranch,
|
|
13
|
-
Users,
|
|
14
|
-
Activity,
|
|
15
|
-
Copy,
|
|
4
|
+
import {
|
|
5
|
+
Github,
|
|
6
|
+
Download,
|
|
7
|
+
Search,
|
|
8
|
+
Zap,
|
|
9
|
+
Terminal,
|
|
10
|
+
Code,
|
|
11
|
+
Star,
|
|
12
|
+
GitBranch,
|
|
13
|
+
Users,
|
|
14
|
+
Activity,
|
|
15
|
+
Copy,
|
|
16
16
|
Check,
|
|
17
17
|
ArrowRight,
|
|
18
18
|
Sparkles,
|
|
@@ -41,118 +41,119 @@ import {
|
|
|
41
41
|
|
|
42
42
|
const custom = {
|
|
43
43
|
installCommands: {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}, coreFeatures: [
|
|
48
|
-
|
|
44
|
+
bun: 'bun install -g git0',
|
|
45
|
+
npm: 'npm install -g git0',
|
|
46
|
+
npx: 'npx git0 react starter'
|
|
47
|
+
}, coreFeatures: [
|
|
48
|
+
{
|
|
49
49
|
icon: Search,
|
|
50
50
|
title: 'Search GitHub Repositories',
|
|
51
51
|
description: 'Search repositories by name with intelligent fuzzy matching and instant results',
|
|
52
52
|
gradient: 'from-blue-500 via-cyan-500 to-teal-500',
|
|
53
53
|
example: 'git0 react starter'
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
56
|
icon: Download,
|
|
57
57
|
title: 'Direct Repository Download',
|
|
58
58
|
description: 'Download from GitHub URLs or owner/repo shortcuts. Skip the manual git clone dance',
|
|
59
59
|
gradient: 'from-purple-500 via-pink-500 to-rose-500',
|
|
60
60
|
example: 'git0 facebook/react'
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
63
|
icon: Package,
|
|
64
64
|
title: 'Git Release Package Manager',
|
|
65
65
|
description: 'Instantly download latest release binaries for your system or all platforms',
|
|
66
66
|
gradient: 'from-green-500 via-emerald-500 to-cyan-500',
|
|
67
67
|
example: 'gg user/repo'
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
70
|
icon: Zap,
|
|
71
71
|
title: 'Automatic Dependency Installation',
|
|
72
72
|
description: 'Smart detection and installation of dependencies for multiple project types',
|
|
73
73
|
gradient: 'from-orange-500 via-red-500 to-pink-500',
|
|
74
74
|
example: 'Auto-detects package.json, requirements.txt, Cargo.toml'
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
77
|
icon: Code,
|
|
78
78
|
title: 'Smart IDE Integration',
|
|
79
79
|
description: 'Automatically opens projects in Cursor, Windsurf, VS Code, or your preferred editor',
|
|
80
80
|
gradient: 'from-indigo-500 via-purple-500 to-blue-500',
|
|
81
81
|
example: 'Opens in cursor, windsurf, code, nvim'
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
84
|
icon: Shield,
|
|
85
85
|
title: 'Conflict Resolution',
|
|
86
86
|
description: 'Handles directory naming conflicts automatically with smart numbering',
|
|
87
87
|
gradient: 'from-yellow-500 via-orange-500 to-red-500',
|
|
88
88
|
example: 'react → react-2 → react-3'
|
|
89
|
-
|
|
90
|
-
], projectTypes: [
|
|
91
|
-
|
|
89
|
+
}
|
|
90
|
+
], projectTypes: [
|
|
91
|
+
{
|
|
92
92
|
name: 'Node.js',
|
|
93
93
|
file: 'package.json',
|
|
94
94
|
install: 'bun install (fallback to npm)',
|
|
95
95
|
color: 'text-green-400',
|
|
96
96
|
icon: Package
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
99
|
name: 'Docker',
|
|
100
100
|
file: 'Dockerfile, docker-compose.yml',
|
|
101
101
|
install: 'docker-compose up -d',
|
|
102
102
|
color: 'text-blue-400',
|
|
103
103
|
icon: Layers
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
106
|
name: 'Python',
|
|
107
107
|
file: 'requirements.txt, setup.py',
|
|
108
108
|
install: 'Virtual env + pip install',
|
|
109
109
|
color: 'text-yellow-400',
|
|
110
110
|
icon: FileCode
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
113
|
name: 'Rust',
|
|
114
114
|
file: 'Cargo.toml',
|
|
115
115
|
install: 'cargo build',
|
|
116
116
|
color: 'text-orange-400',
|
|
117
117
|
icon: Settings
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
120
|
name: 'Go',
|
|
121
121
|
file: 'go.mod',
|
|
122
122
|
install: 'go mod tidy',
|
|
123
123
|
color: 'text-cyan-400',
|
|
124
124
|
icon: Play
|
|
125
|
-
|
|
126
|
-
], supportedIDEs: [
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
], featuresList: [
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
], workflowSteps: [
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
],
|
|
143
|
-
urlDocs: "https://git0.js.org/functions",
|
|
144
|
-
urlSupport:
|
|
145
|
-
urlGithub: "https://github.com/vtempest/git0",
|
|
146
|
-
urlGithubChat:
|
|
147
|
-
urlLogo: "https://i.imgur.com/857meew.png",
|
|
148
|
-
name: "git0",
|
|
149
|
-
urlAuthor: "https://github.com/vtempest",
|
|
150
|
-
author: "vtempest",
|
|
151
|
-
copyrightHTML: `© 2025 Get git0. <a href="https://github.com/vtempest/git0">Star this on GitHub</a> so it can grow!`
|
|
125
|
+
}
|
|
126
|
+
], supportedIDEs: [
|
|
127
|
+
{ name: 'Cursor', command: 'cursor', color: 'text-blue-400' },
|
|
128
|
+
{ name: 'Windsurf', command: 'windsurf', color: 'text-purple-400' },
|
|
129
|
+
{ name: 'VS Code', command: 'code', color: 'text-blue-300' },
|
|
130
|
+
{ name: 'Code Server', command: 'code-server', color: 'text-green-400' },
|
|
131
|
+
{ name: 'Neovim', command: 'nvim', color: 'text-orange-400' }
|
|
132
|
+
], featuresList: [
|
|
133
|
+
{ title: 'Search Repositories', command: 'git0 react starter', desc: 'Find repositories by name with fuzzy matching' },
|
|
134
|
+
{ title: 'Direct Download', command: 'gg facebook/react', desc: 'Download using owner/repo shorthand' },
|
|
135
|
+
{ title: 'From GitHub URL', command: 'git0 https://github.com/user/repo', desc: 'Download from any GitHub URL' }
|
|
136
|
+
], workflowSteps: [
|
|
137
|
+
{ step: '1', title: 'Repository Downloaded', desc: 'To your current directory', icon: Download },
|
|
138
|
+
{ step: '2', title: 'Project Type Detected', desc: 'Automatically identified', icon: Search },
|
|
139
|
+
{ step: '3', title: 'Dependencies Installed', desc: 'Based on project type', icon: Package },
|
|
140
|
+
{ step: '4', title: 'IDE Launched', desc: 'Opens in preferred editor', icon: Code },
|
|
141
|
+
{ step: '5', title: 'Dev Server Started', desc: 'For Node.js projects', icon: Play }
|
|
142
|
+
],
|
|
143
|
+
urlDocs: "https://git0.js.org/functions",
|
|
144
|
+
urlSupport: "https://discord.gg/SJdBqBz3tV",
|
|
145
|
+
urlGithub: "https://github.com/vtempest/git0",
|
|
146
|
+
urlGithubChat: "https://github.com/vtempest/git0/discussions",
|
|
147
|
+
urlLogo: "https://i.imgur.com/857meew.png",
|
|
148
|
+
name: "git0",
|
|
149
|
+
urlAuthor: "https://github.com/vtempest",
|
|
150
|
+
author: "vtempest",
|
|
151
|
+
copyrightHTML: `© 2025 Get git0. <a href="https://github.com/vtempest/git0">Star this on GitHub</a> so it can grow!`
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
function App() {
|
|
155
155
|
const [copiedCommand, setCopiedCommand] = useState<string | null>(null);
|
|
156
|
+
const [isLoaded, setIsLoaded] = useState(false);
|
|
156
157
|
const [activeTab, setActiveTab] = useState('bun');
|
|
157
158
|
const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 });
|
|
158
159
|
|
|
@@ -164,6 +165,18 @@ function App() {
|
|
|
164
165
|
return () => window.removeEventListener('mousemove', handleMouseMove);
|
|
165
166
|
}, []);
|
|
166
167
|
|
|
168
|
+
useEffect(() => {
|
|
169
|
+
// Check if Tailwind CDN is already attached
|
|
170
|
+
const script = document.createElement('script');
|
|
171
|
+
script.id = 'tailwind-cdn';
|
|
172
|
+
script.src = "https://cdn.tailwindcss.com";
|
|
173
|
+
script.async = true;
|
|
174
|
+
document.head.appendChild(script);
|
|
175
|
+
setTimeout(() =>
|
|
176
|
+
setIsLoaded(true),
|
|
177
|
+
900)
|
|
178
|
+
}, []);
|
|
179
|
+
|
|
167
180
|
const copyToClipboard = (text: string, command: string) => {
|
|
168
181
|
navigator.clipboard.writeText(text);
|
|
169
182
|
setCopiedCommand(command);
|
|
@@ -171,254 +184,251 @@ function App() {
|
|
|
171
184
|
};
|
|
172
185
|
|
|
173
186
|
|
|
174
|
-
return (
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
<div
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
187
|
+
return isLoaded && (<div className="min-h-screen bg-gray-900 text-white overflow-hidden relative">
|
|
188
|
+
{/* Enhanced Animated Background */}
|
|
189
|
+
<div className="fixed inset-0 bg-gradient-to-br from-gray-900 via-blue-900/30 to-purple-900/30">
|
|
190
|
+
{/* Floating Orbs */}
|
|
191
|
+
<div className="absolute inset-0">
|
|
192
|
+
<div
|
|
193
|
+
className="absolute w-96 h-96 bg-blue-500/20 rounded-full blur-3xl animate-pulse"
|
|
194
|
+
style={{
|
|
195
|
+
left: `${20 + mousePosition.x * 0.02}%`,
|
|
196
|
+
top: `${10 + mousePosition.y * 0.01}%`,
|
|
197
|
+
transform: 'translate3d(0, 0, 0)',
|
|
198
|
+
}}
|
|
199
|
+
></div>
|
|
200
|
+
<div
|
|
201
|
+
className="absolute w-80 h-80 bg-purple-500/20 rounded-full blur-3xl animate-pulse delay-1000"
|
|
202
|
+
style={{
|
|
203
|
+
right: `${15 + mousePosition.x * -0.015}%`,
|
|
204
|
+
bottom: `${20 + mousePosition.y * -0.01}%`,
|
|
205
|
+
transform: 'translate3d(0, 0, 0)',
|
|
206
|
+
}}
|
|
207
|
+
></div>
|
|
208
|
+
<div
|
|
209
|
+
className="absolute w-64 h-64 bg-cyan-500/15 rounded-full blur-3xl animate-pulse delay-2000"
|
|
210
|
+
style={{
|
|
211
|
+
left: `${60 + mousePosition.x * 0.01}%`,
|
|
212
|
+
top: `${60 + mousePosition.y * 0.005}%`,
|
|
213
|
+
transform: 'translate3d(0, 0, 0)',
|
|
214
|
+
}}
|
|
215
|
+
></div>
|
|
216
|
+
</div>
|
|
217
|
+
|
|
218
|
+
{/* Grid Pattern */}
|
|
219
|
+
<div className="absolute inset-0 bg-[linear-gradient(rgba(56,189,248,0.03)_1px,transparent_1px),linear-gradient(90deg,rgba(56,189,248,0.03)_1px,transparent_1px)] bg-[size:50px_50px]"></div>
|
|
220
|
+
|
|
221
|
+
{/* Radial Gradients */}
|
|
222
|
+
<div className="absolute inset-0 bg-[radial-gradient(circle_at_25%_25%,rgba(56,189,248,0.15),transparent_50%)]"></div>
|
|
223
|
+
<div className="absolute inset-0 bg-[radial-gradient(circle_at_75%_75%,rgba(147,51,234,0.15),transparent_50%)]"></div>
|
|
224
|
+
</div>
|
|
225
|
+
|
|
226
|
+
{/* Navigation */}
|
|
227
|
+
<nav className="relative z-50 flex items-center justify-between p-6 backdrop-blur-xl bg-gray-900/70 border-b border-gray-700/50">
|
|
228
|
+
<div className="flex items-center space-x-3">
|
|
229
|
+
<div className="w-12 h-12 bg-gradient-to-br from-blue-500 via-cyan-500 to-purple-600 rounded-xl flex items-center justify-center shadow-2xl shadow-blue-500/25 transform hover:scale-110 transition-all duration-300">
|
|
230
|
+
<img src={custom.urlLogo} alt="logo" className="w-10 h-10" />
|
|
204
231
|
</div>
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
{/* Radial Gradients */}
|
|
210
|
-
<div className="absolute inset-0 bg-[radial-gradient(circle_at_25%_25%,rgba(56,189,248,0.15),transparent_50%)]"></div>
|
|
211
|
-
<div className="absolute inset-0 bg-[radial-gradient(circle_at_75%_75%,rgba(147,51,234,0.15),transparent_50%)]"></div>
|
|
232
|
+
<span className="text-3xl font-bold bg-gradient-to-r from-blue-400 via-cyan-400 to-purple-400 bg-clip-text text-transparent">
|
|
233
|
+
{custom.name}
|
|
234
|
+
</span>
|
|
212
235
|
</div>
|
|
236
|
+
<div className="flex items-center space-x-8">
|
|
237
|
+
<a href="#features" className="hover:text-blue-400 transition-all duration-300 hover:scale-105">Features</a>
|
|
238
|
+
<a href="#installation" className="hover:text-blue-400 transition-all duration-300 hover:scale-105">Install</a>
|
|
239
|
+
<a href="#workflow" className="hover:text-blue-400 transition-all duration-300 hover:scale-105">How It Works</a>
|
|
240
|
+
<a href={custom.urlGithub} className="flex items-center space-x-2 bg-gradient-to-r from-blue-600 via-cyan-600 to-purple-600 px-6 py-3 rounded-xl hover:from-blue-500 hover:via-cyan-500 hover:to-purple-500 transition-all duration-300 shadow-2xl shadow-blue-500/25 hover:scale-105 hover:shadow-blue-500/40">
|
|
241
|
+
<Github className="w-5 h-5" />
|
|
242
|
+
<span className="font-semibold">GitHub</span>
|
|
243
|
+
</a>
|
|
244
|
+
</div>
|
|
245
|
+
</nav>
|
|
213
246
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
247
|
+
{/* Hero Section */}
|
|
248
|
+
<section className="relative z-10 pt-6 pb-10 px-6">
|
|
249
|
+
<div className="max-w-7xl mx-auto text-center">
|
|
250
|
+
<div className="">
|
|
251
|
+
<div className="inline-flex items-center space-x-3 bg-gradient-to-r from-blue-500/20 via-cyan-500/20 to-purple-500/20 backdrop-blur-xl border border-blue-500/30 rounded-full px-6 py-3 mb-8 shadow-2xl shadow-blue-500/10 hover:shadow-blue-500/20 transition-all duration-500">
|
|
252
|
+
<Sparkles className="w-5 h-5 text-blue-400 animate-pulse" />
|
|
253
|
+
<span className="text-blue-300 font-medium">Download Git Repo on Step Zero</span>
|
|
254
|
+
<div className="w-2 h-2 bg-green-400 rounded-full animate-pulse"></div>
|
|
219
255
|
</div>
|
|
220
|
-
<span className="text-3xl font-bold bg-gradient-to-r from-blue-400 via-cyan-400 to-purple-400 bg-clip-text text-transparent">
|
|
221
|
-
{custom.name}
|
|
222
|
-
</span>
|
|
223
|
-
</div>
|
|
224
|
-
<div className="flex items-center space-x-8">
|
|
225
|
-
<a href="#features" className="hover:text-blue-400 transition-all duration-300 hover:scale-105">Features</a>
|
|
226
|
-
<a href="#installation" className="hover:text-blue-400 transition-all duration-300 hover:scale-105">Install</a>
|
|
227
|
-
<a href="#workflow" className="hover:text-blue-400 transition-all duration-300 hover:scale-105">How It Works</a>
|
|
228
|
-
<a href={custom.urlGithub} className="flex items-center space-x-2 bg-gradient-to-r from-blue-600 via-cyan-600 to-purple-600 px-6 py-3 rounded-xl hover:from-blue-500 hover:via-cyan-500 hover:to-purple-500 transition-all duration-300 shadow-2xl shadow-blue-500/25 hover:scale-105 hover:shadow-blue-500/40">
|
|
229
|
-
<Github className="w-5 h-5" />
|
|
230
|
-
<span className="font-semibold">GitHub</span>
|
|
231
|
-
</a>
|
|
232
|
-
</div>
|
|
233
|
-
</nav>
|
|
234
256
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
<span className="text-blue-300 font-medium">Download Git Repo on Step Zero</span>
|
|
242
|
-
<div className="w-2 h-2 bg-green-400 rounded-full animate-pulse"></div>
|
|
243
|
-
</div>
|
|
244
|
-
|
|
245
|
-
{/* position as grid next to each other */}
|
|
246
|
-
<div className="grid grid-cols-2 gap-4">
|
|
247
|
-
<img src="https://i.imgur.com/Io3ukRC.gif" alt="Git Preview" className="w-full" />
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
<img src="https://i.imgur.com/6l9esbL.png" alt="Git Preview" className="w-full" />
|
|
251
|
-
</div>
|
|
252
|
-
|
|
253
|
-
<p className="text-2xl md:text-3xl mt-4 text-gray-300 mb-12 max-w-5xl mx-auto leading-relaxed font-light">
|
|
254
|
-
CLI tool to search GitHub repositories, download source & releases, and instantly set up projects with
|
|
255
|
-
<span className="bg-gradient-to-r from-blue-400 to-cyan-400 bg-clip-text text-transparent font-semibold"> automatic dependency installation and editor opening</span>
|
|
256
|
-
</p>
|
|
257
|
+
{/* position as grid next to each other */}
|
|
258
|
+
<div className="grid grid-cols-2 gap-4">
|
|
259
|
+
<img src="https://i.imgur.com/Io3ukRC.gif" alt="Git Preview" className="w-full" />
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
<img src="https://i.imgur.com/6l9esbL.png" alt="Git Preview" className="w-full" />
|
|
257
263
|
</div>
|
|
258
264
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
<
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
265
|
+
<p className="text-2xl md:text-3xl mt-4 text-gray-300 mb-12 max-w-5xl mx-auto leading-relaxed font-light">
|
|
266
|
+
CLI tool to search GitHub repositories, download source & releases, and instantly set up projects with
|
|
267
|
+
<span className="bg-gradient-to-r from-blue-400 to-cyan-400 bg-clip-text text-transparent font-semibold"> automatic dependency installation and editor opening</span>
|
|
268
|
+
</p>
|
|
269
|
+
</div>
|
|
270
|
+
|
|
271
|
+
{/* Installation Section */}
|
|
272
|
+
<div id="installation">
|
|
273
|
+
<div className="flex justify-center mb-8">
|
|
274
|
+
<div className="flex bg-gray-800/50 backdrop-blur-xl rounded-2xl p-2 border border-gray-700/50 shadow-2xl">
|
|
275
|
+
{Object.keys(custom.installCommands).map((tab) => (
|
|
276
|
+
<button
|
|
277
|
+
key={tab}
|
|
278
|
+
onClick={() => setActiveTab(tab)}
|
|
279
|
+
className={`px-6 py-3 rounded-xl transition-all duration-300 font-semibold ${activeTab === tab
|
|
280
|
+
? 'bg-gradient-to-r from-blue-500 via-cyan-500 to-purple-500 text-white shadow-lg transform scale-105'
|
|
281
|
+
: 'text-gray-400 hover:text-white hover:bg-gray-700/50'
|
|
271
282
|
}`}
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
</div>
|
|
283
|
+
>
|
|
284
|
+
{tab.toUpperCase()}
|
|
285
|
+
</button>
|
|
286
|
+
))}
|
|
277
287
|
</div>
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
</
|
|
290
|
-
</
|
|
291
|
-
<code className="text-xl text-green-400 font-mono bg-gray-900/50 p-4 rounded-lg block">
|
|
292
|
-
{custom.installCommands[activeTab as keyof typeof custom.installCommands]}
|
|
293
|
-
</code>
|
|
288
|
+
</div>
|
|
289
|
+
|
|
290
|
+
<div className="max-w-3xl mx-auto">
|
|
291
|
+
<div className="bg-gray-800/40 backdrop-blur-xl border border-gray-700/50 rounded-2xl p-8 shadow-2xl hover:shadow-blue-500/10 transition-all duration-500 transform hover:scale-[1.02]">
|
|
292
|
+
<div className="flex items-center justify-between mb-4">
|
|
293
|
+
<span className="text-gray-400 font-medium">Installation Command</span>
|
|
294
|
+
<button
|
|
295
|
+
onClick={() => copyToClipboard(custom.installCommands[activeTab as keyof typeof custom.installCommands], activeTab)}
|
|
296
|
+
className="flex items-center space-x-2 text-blue-400 hover:text-blue-300 transition-all duration-300 bg-blue-500/10 px-4 py-2 rounded-lg hover:bg-blue-500/20"
|
|
297
|
+
>
|
|
298
|
+
{copiedCommand === activeTab ? <Check className="w-5 h-5" /> : <Copy className="w-5 h-5" />}
|
|
299
|
+
<span className="font-medium">{copiedCommand === activeTab ? 'Copied!' : 'Copy'}</span>
|
|
300
|
+
</button>
|
|
294
301
|
</div>
|
|
302
|
+
<code className="text-xl text-green-400 font-mono bg-gray-900/50 p-4 rounded-lg block">
|
|
303
|
+
{custom.installCommands[activeTab as keyof typeof custom.installCommands]}
|
|
304
|
+
</code>
|
|
295
305
|
</div>
|
|
296
306
|
</div>
|
|
307
|
+
</div>
|
|
297
308
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
</div>
|
|
309
|
+
{/* Usage Examples */}
|
|
310
|
+
<div className="">
|
|
311
|
+
<div className="max-w-6xl mx-auto bg-gray-800/30 backdrop-blur-xl border border-gray-700/50 rounded-2xl p-10 shadow-2xl">
|
|
312
|
+
<h3 className="text-3xl font-bold mb-8 text-center bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent">
|
|
313
|
+
Usage Examples
|
|
314
|
+
</h3>
|
|
315
|
+
<div className="grid md:grid-cols-3 gap-6">
|
|
316
|
+
{custom.featuresList.map((item, index) => (
|
|
317
|
+
<div key={index} className="bg-gray-800/50 rounded-xl p-6 border border-gray-700/50 hover:border-blue-500/50 transition-all duration-300 transform hover:scale-105 hover:shadow-xl">
|
|
318
|
+
<div className="text-blue-400 font-bold text-lg mb-2">{item.title}</div>
|
|
319
|
+
<code className="text-green-400 text-lg font-mono block mb-3 bg-gray-900/50 p-3 rounded">{item.command}</code>
|
|
320
|
+
<p className="text-gray-400 text-sm">{item.desc}</p>
|
|
321
|
+
</div>
|
|
322
|
+
))}
|
|
313
323
|
</div>
|
|
314
324
|
</div>
|
|
315
325
|
</div>
|
|
316
|
-
</
|
|
326
|
+
</div>
|
|
327
|
+
</section>
|
|
317
328
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
329
|
+
{/* Core Features Section */}
|
|
330
|
+
<section id="features" className="relative z-10 px-6">
|
|
331
|
+
<div className="max-w-7xl mx-auto">
|
|
321
332
|
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
</div>
|
|
331
|
-
<h3 className="text-xl font-bold mb-4 group-hover:text-blue-400 transition-colors">{feature.title}</h3>
|
|
332
|
-
<p className="text-gray-400 leading-relaxed mb-4">{feature.description}</p>
|
|
333
|
-
<code className="text-sm text-green-400 bg-gray-900/50 px-3 py-1 rounded font-mono">{feature.example}</code>
|
|
334
|
-
|
|
335
|
-
<div className="absolute inset-0 bg-gradient-to-r from-blue-500/5 to-purple-500/5 rounded-2xl opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
|
|
333
|
+
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8 ">
|
|
334
|
+
{custom.coreFeatures.map((feature, index) => (
|
|
335
|
+
<div
|
|
336
|
+
key={index}
|
|
337
|
+
className="group relative bg-gray-800/30 backdrop-blur-xl border border-gray-700/50 rounded-2xl p-8 hover:bg-gray-800/50 transition-all duration-500 transform hover:scale-105 hover:shadow-2xl hover:shadow-blue-500/20"
|
|
338
|
+
>
|
|
339
|
+
<div className={`w-16 h-16 bg-gradient-to-br ${feature.gradient} rounded-2xl flex items-center justify-center mb-6 group-hover:scale-110 transition-all duration-300 shadow-2xl`}>
|
|
340
|
+
<feature.icon className="w-8 h-8 text-white" />
|
|
336
341
|
</div>
|
|
337
|
-
|
|
338
|
-
|
|
342
|
+
<h3 className="text-xl font-bold mb-4 group-hover:text-blue-400 transition-colors">{feature.title}</h3>
|
|
343
|
+
<p className="text-gray-400 leading-relaxed mb-4">{feature.description}</p>
|
|
344
|
+
<code className="text-sm text-green-400 bg-gray-900/50 px-3 py-1 rounded font-mono">{feature.example}</code>
|
|
345
|
+
|
|
346
|
+
<div className="absolute inset-0 bg-gradient-to-r from-blue-500/5 to-purple-500/5 rounded-2xl opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
|
|
347
|
+
</div>
|
|
348
|
+
))}
|
|
339
349
|
</div>
|
|
340
|
-
</
|
|
350
|
+
</div>
|
|
351
|
+
</section>
|
|
341
352
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
353
|
+
{/* Supported Project Types */}
|
|
354
|
+
<section className="relative z-10 px-6 mt-4 ">
|
|
355
|
+
<div className="max-w-7xl mx-auto">
|
|
356
|
+
<div className="text-center ">
|
|
357
|
+
<h2 className="text-6xl h-full md:text-5xl font-bold mb-6 bg-gradient-to-r pb-4 from-green-400 to-blue-400 bg-clip-text text-transparent">
|
|
358
|
+
Supported Project Types
|
|
359
|
+
</h2>
|
|
360
|
+
</div>
|
|
350
361
|
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
</div>
|
|
361
|
-
</div>
|
|
362
|
-
<div className="text-right">
|
|
363
|
-
<p className="text-gray-300 font-medium">Installation</p>
|
|
364
|
-
<code className="text-green-400 text-sm">{type.install}</code>
|
|
362
|
+
<div className="grid md:grid-cols-1 lg:grid-cols-1 gap-6 mt-4 ">
|
|
363
|
+
{custom.projectTypes.map((type, index) => (
|
|
364
|
+
<div key={index} className="bg-gray-800/40 backdrop-blur-xl border border-gray-700/50 rounded-xl p-6 hover:border-blue-500/50 transition-all duration-300 transform hover:scale-[1.02]">
|
|
365
|
+
<div className="flex items-center justify-between">
|
|
366
|
+
<div className="flex items-center space-x-4">
|
|
367
|
+
<type.icon className={`w-8 h-8 ${type.color}`} />
|
|
368
|
+
<div>
|
|
369
|
+
<h3 className={`text-lg font-bold ${type.color}`}>{type.name}</h3>
|
|
370
|
+
<p className="text-gray-400 text-sm">Detection: {type.file}</p>
|
|
365
371
|
</div>
|
|
366
372
|
</div>
|
|
373
|
+
<div className="text-right">
|
|
374
|
+
<p className="text-gray-300 font-medium">Installation</p>
|
|
375
|
+
<code className="text-green-400 text-sm">{type.install}</code>
|
|
376
|
+
</div>
|
|
367
377
|
</div>
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
378
|
+
</div>
|
|
379
|
+
))}
|
|
372
380
|
</div>
|
|
373
|
-
</section>
|
|
374
381
|
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
382
|
+
|
|
383
|
+
</div>
|
|
384
|
+
</section>
|
|
385
|
+
|
|
386
|
+
{/* Workflow Section */}
|
|
387
|
+
<section id="workflow" className="relative z-10 mt-6 px-6">
|
|
388
|
+
<div className="max-w-7xl mx-auto">
|
|
389
|
+
<div className="text-center">
|
|
390
|
+
<h2 className="text-4xl md:text-5xl font-bold mb-6 mt-10 bg-gradient-to-r from-cyan-400 to-blue-400 bg-clip-text text-transparent">
|
|
391
|
+
The Proper Protocol to Download Git Repo
|
|
392
|
+
</h2>
|
|
393
|
+
<p className="text-xl text-gray-300 max-w-3xl mx-auto mb-10">
|
|
383
394
|
Skip the manual "git clone, cd, install" dance.
|
|
384
|
-
|
|
385
|
-
|
|
395
|
+
</p>
|
|
396
|
+
</div>
|
|
386
397
|
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
</div>
|
|
398
|
+
<div className="grid md:grid-cols-5 gap-8 mt-6">
|
|
399
|
+
{custom.workflowSteps.map((step, index) => (
|
|
400
|
+
<div key={index} className="text-center group">
|
|
401
|
+
<div className="relative mb-6">
|
|
402
|
+
<div className="w-16 h-16 bg-gradient-to-br from-blue-500 to-purple-600 rounded-full flex items-center justify-center mx-auto shadow-2xl group-hover:scale-110 transition-all duration-300">
|
|
403
|
+
<step.icon className="w-8 h-8 text-white" />
|
|
404
|
+
</div>
|
|
405
|
+
<div className="absolute -top-2 -right-2 w-8 h-8 bg-gradient-to-r from-cyan-400 to-blue-400 rounded-full flex items-center justify-center text-sm font-bold text-gray-900">
|
|
406
|
+
{step.step}
|
|
397
407
|
</div>
|
|
398
|
-
<h3 className="text-lg font-bold mb-2 group-hover:text-blue-400 transition-colors">{step.title}</h3>
|
|
399
|
-
<p className="text-gray-400 text-sm">{step.desc}</p>
|
|
400
408
|
</div>
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
<div className="mt-8 mb-8 text-center">
|
|
405
|
-
<div className="bg-gray-800/40 backdrop-blur-xl border border-gray-700/50 rounded-xl p-6 max-w-2xl mx-auto">
|
|
406
|
-
<p className="text-gray-300 mb-4">
|
|
407
|
-
<strong className="text-blue-400">Conflict Resolution:</strong> If a directory with the same name exists,
|
|
408
|
-
git0 automatically appends a number
|
|
409
|
-
</p>
|
|
410
|
-
<code className="text-green-400 bg-gray-900/50 px-4 py-2 rounded">
|
|
411
|
-
react-app → react-app-2 → react-app-3
|
|
412
|
-
</code>
|
|
409
|
+
<h3 className="text-lg font-bold mb-2 group-hover:text-blue-400 transition-colors">{step.title}</h3>
|
|
410
|
+
<p className="text-gray-400 text-sm">{step.desc}</p>
|
|
413
411
|
</div>
|
|
412
|
+
))}
|
|
413
|
+
</div>
|
|
414
|
+
|
|
415
|
+
<div className="mt-8 mb-8 text-center">
|
|
416
|
+
<div className="bg-gray-800/40 backdrop-blur-xl border border-gray-700/50 rounded-xl p-6 max-w-2xl mx-auto">
|
|
417
|
+
<p className="text-gray-300 mb-4">
|
|
418
|
+
<strong className="text-blue-400">Conflict Resolution:</strong> If a directory with the same name exists,
|
|
419
|
+
git0 automatically appends a number
|
|
420
|
+
</p>
|
|
421
|
+
<code className="text-green-400 bg-gray-900/50 px-4 py-2 rounded">
|
|
422
|
+
react-app → react-app-2 → react-app-3
|
|
423
|
+
</code>
|
|
414
424
|
</div>
|
|
415
425
|
</div>
|
|
416
|
-
</
|
|
426
|
+
</div>
|
|
427
|
+
</section>
|
|
417
428
|
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
)
|
|
429
|
+
{/* Footer */}
|
|
430
|
+
<Footer />
|
|
431
|
+
</div>
|
|
432
|
+
)
|
|
422
433
|
}
|
|
423
|
-
|
|
424
434
|
export default App;
|