git0 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/docs/404.html +27 -0
  2. package/docs/CNAME +1 -0
  3. package/docs/Footer/index.html +27 -0
  4. package/docs/assets/css/styles.3dd00f8d.css +1 -0
  5. package/docs/assets/js/17896441.79ceefeb.js +1 -0
  6. package/docs/assets/js/1df93b7f.dfdf0ef3.js +2 -0
  7. package/docs/assets/js/1df93b7f.dfdf0ef3.js.LICENSE.txt +6 -0
  8. package/docs/assets/js/22dd74f7.5e857962.js +1 -0
  9. package/docs/assets/js/237.daf7efdf.js +1 -0
  10. package/docs/assets/js/278.1628756c.js +1 -0
  11. package/docs/assets/js/4a829dc8.728a4445.js +1 -0
  12. package/docs/assets/js/577.78325c02.js +1 -0
  13. package/docs/assets/js/591.2156b33d.js +2 -0
  14. package/docs/assets/js/591.2156b33d.js.LICENSE.txt +61 -0
  15. package/docs/assets/js/5e95c892.bd6c1093.js +1 -0
  16. package/docs/assets/js/a7456010.3054873b.js +1 -0
  17. package/docs/assets/js/a7bd4aaa.87229397.js +1 -0
  18. package/docs/assets/js/a94703ab.6d39a596.js +1 -0
  19. package/docs/assets/js/aba21aa0.dfebd789.js +1 -0
  20. package/docs/assets/js/ac46717f.32345167.js +2 -0
  21. package/docs/assets/js/ac46717f.32345167.js.LICENSE.txt +6 -0
  22. package/docs/assets/js/c3a618e1.50a89e4d.js +1 -0
  23. package/docs/assets/js/d140250a.62af53aa.js +1 -0
  24. package/docs/assets/js/main.c71c09a5.js +2 -0
  25. package/docs/assets/js/main.c71c09a5.js.LICENSE.txt +68 -0
  26. package/docs/assets/js/runtime~main.ef55418f.js +1 -0
  27. package/docs/functions/globals/index.html +57 -0
  28. package/docs/functions/index.html +74 -0
  29. package/docs/index.html +27 -0
  30. package/docs/lunr-index-1749601667754.json +1 -0
  31. package/docs/lunr-index.json +1 -0
  32. package/docs/search-doc-1749601667754.json +1 -0
  33. package/docs/search-doc.json +1 -0
  34. package/docs/sitemap.xml +1 -0
  35. package/docs-config/config/customize-docs.js +29 -0
  36. package/docs-config/config/docs-theme.css +358 -0
  37. package/docs-config/config/openapi.mustache +39 -0
  38. package/docs-config/config/sidebars.ts +21 -0
  39. package/docs-config/config/typedoc.json +40 -0
  40. package/docs-config/docusaurus.config.ts +350 -0
  41. package/docs-config/package.json +40 -0
  42. package/docs-config/src/functions/globals.md +153 -0
  43. package/docs-config/src/functions/index.md +114 -0
  44. package/docs-config/src/functions/typedoc-sidebar.cjs +6 -0
  45. package/docs-config/src/index.md +127 -0
  46. package/docs-config/src/pages/Footer.tsx +67 -0
  47. package/docs-config/src/pages/index.tsx +424 -0
  48. package/docs-config/static/CNAME +1 -0
  49. package/docs-config/tailwind.config.js +13 -0
  50. package/docs-config/tsconfig.json +27 -0
  51. package/git0.js +6 -6
  52. package/package.json +15 -15
  53. package/readme.md +37 -38
@@ -0,0 +1,127 @@
1
+ ---
2
+ id: index
3
+ title: Overview
4
+ sidebar_position: 1
5
+ displayed_sidebar: default
6
+ ---
7
+
8
+ <p align="center">
9
+ <img src="https://i.imgur.com/poOtI3N.png" />
10
+ </p>
11
+ <p align="center">
12
+ <a href="https://discord.gg/SJdBqBz3tV">
13
+ <img src="https://img.shields.io/discord/1110227955554209923.svg?label=Chat&logo=Discord&colorB=7289da&style=flat"
14
+ alt="Join Discord" />
15
+ </a>
16
+ <a href="https://github.com/vtempest/git0/discussions">
17
+ <img alt="GitHub Stars" src="https://img.shields.io/github/stars/vtempest/git0" /></a>
18
+ <a href="https://github.com/vtempest/git0/discussions">
19
+ <img alt="GitHub Discussions"
20
+ src="https://img.shields.io/github/discussions/vtempest/git0" />
21
+ </a>
22
+ <a href="https://github.com/vtempest/git0/pulse" alt="Activity">
23
+ <img src="https://img.shields.io/github/commit-activity/m/vtempest/git0" />
24
+ </a>
25
+ <img src="https://img.shields.io/github/last-commit/vtempest/git0.svg?style=flat-square" alt="GitHub last commit" />
26
+ </p>
27
+ <p align="center">
28
+ <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square"
29
+ alt="PRs Welcome" />
30
+ <a href="https://codespaces.new/vtempest/git0">
31
+ <img src="https://github.com/codespaces/badge.svg" width="150" height="20" />
32
+ </a>
33
+ </p>
34
+
35
+
36
+ # Git0: Download Git Repo on Step Zero
37
+ CLI tool to search GitHub repositories, download source & releases for your system, and instantly set up, then install dependencies and open code editor.
38
+
39
+
40
+ ## 🚀 Installation
41
+
42
+ ```bash
43
+ npm install -g git0
44
+ ```
45
+
46
+ ```bash
47
+ bun install -g git0
48
+ ```
49
+
50
+ ![livepreview](https://i.imgur.com/Io3ukRC.gif)
51
+ ![preview](https://i.imgur.com/K22NiBq.png)
52
+
53
+
54
+ ## ✨ Features
55
+
56
+ - **Search GitHub repositories** by name with fuzzy matching
57
+ - **Download repositories** directly from GitHub URLs or owner/repo shortcuts. Skip the manual git clone, cd, install dance
58
+ - **Get Releases** instantly download latest release for your system or all systems
59
+ - **Automatic dependency detection** and installation for multiple project types
60
+ - **Smart IDE integration** - automatically opens projects in your preferred editor
61
+ - **Cross-platform support** - works on Windows, macOS, and Linux
62
+ - **Conflict resolution** - handles directory naming conflicts automatically
63
+
64
+
65
+ ## 🎯 Usage
66
+
67
+ ```bash
68
+ # Search for repositories by name
69
+ gg react starter
70
+
71
+ # Direct download from GitHub URL
72
+ ## gg and git0 both work
73
+ gg https://github.com/facebook/react
74
+
75
+ # Download using owner/repo shorthand
76
+ git0 react starter
77
+
78
+ ## Use git0 without installing, (only node needed)
79
+ # (copy into your project's readme for quick setup)
80
+ npx git0 facebook/react
81
+ ```
82
+
83
+ ### Supported Project Types
84
+
85
+ git0 automatically detects and sets up the following project types:
86
+
87
+ | Project Type | Detection | Installation |
88
+ |-------------|-----------|-------------|
89
+ | **Node.js** | `package.json` | `bun install` (fallback to `npm install`) |
90
+ | **Docker** | `Dockerfile`, `docker-compose.yml` | `docker-compose up -d` or `docker build` |
91
+ | **Python** | `requirements.txt`, `setup.py` | Virtual environment + pip install |
92
+ | **Rust** | `Cargo.toml` | `cargo build` |
93
+ | **Go** | `go.mod` | `go mod tidy` |
94
+
95
+ ### Supported IDEs
96
+
97
+ git0 automatically detects and opens projects in your preferred IDE:
98
+
99
+ - **Cursor** (`cursor`)
100
+ - **Windsurf** (`windsurf`)
101
+ - **VS Code** (`code`)
102
+ - **Code Server** (`code-server`)
103
+ - **Neovim** (`nvim`)
104
+
105
+ ## 🔧 Configuration
106
+
107
+
108
+
109
+ ### What Happens After Download
110
+
111
+ 1. **Repository is downloaded** to your current directory
112
+ 2. **Project type is detected** automatically
113
+ 3. **Dependencies are installed** based on project type
114
+ 4. **IDE is launched** automatically (if available)
115
+ 5. **Development server starts** (for Node.js projects)
116
+
117
+ If a directory with the same name exists, git0 automatically appends a number (e.g., `react-2`, `react-3`).
118
+
119
+ ### GitHub Token (Optional)
120
+
121
+ For higher API rate limits, set [your GitHub token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token):
122
+
123
+ ```bash
124
+ export GITHUB_TOKEN=your_github_token_here
125
+ ```
126
+
127
+ Without a token, you're limited to 60 requests per hour. With a token, you get 5,000 requests per hour.
@@ -0,0 +1,67 @@
1
+ import React, { useState, useEffect } from 'react';
2
+
3
+ import {
4
+ Github,
5
+ BookOpen,
6
+ GitBranch,
7
+ Users,
8
+ } from 'lucide-react';
9
+
10
+
11
+ const custom = {
12
+ urlDocs: "https://git0.js.org/functions",
13
+ urlSupport: "https://discord.gg/SJdBqBz3tV",
14
+ urlGithub: "https://github.com/vtempest/git0",
15
+ urlGithubChat: "https://github.com/vtempest/git0/discussions",
16
+ urlLogo: "https://i.imgur.com/857meew.png",
17
+ name: "git0",
18
+ urlAuthor: "https://github.com/vtempest",
19
+ author: "vtempest",
20
+ copyrightHTML: `&copy; 2025 Get git0. <a href="https://github.com/vtempest/git0">Star this on GitHub</a> so it can grow!`
21
+ }
22
+
23
+ export default function () {
24
+
25
+ return (
26
+ <footer className="relative z-10 border-t border-gray-800/50 py-16 px-6 bg-gray-900/50 backdrop-blur-xl">
27
+ <div className="max-w-7xl mx-auto">
28
+ <div className="flex flex-col md:flex-row items-center justify-between ">
29
+ <div className="flex items-center space-x-4 mb-6 md:mb-0">
30
+ <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">
31
+ <img src={custom.urlLogo} alt="logo" className="w-10 h-10" />
32
+ </div>
33
+ <span className="text-2xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent">{custom.name}</span>
34
+ </div>
35
+ <div className="flex items-center space-x-8">
36
+
37
+ <a href={custom.urlDocs} className="flex items-center space-x-2 text-gray-400 hover:text-white transition-all duration-300 hover:scale-105">
38
+ <BookOpen className="w-5 h-5" />
39
+ <span>Docs</span>
40
+ </a>
41
+
42
+ <a href={custom.urlSupport} className="flex items-center space-x-2 text-gray-400 hover:text-white transition-all duration-300 hover:scale-105">
43
+ <Users className="w-5 h-5" />
44
+ <span>Discord</span>
45
+ </a>
46
+ <a href={custom.urlGithub} className="flex items-center space-x-2 text-gray-400 hover:text-white transition-all duration-300 hover:scale-105">
47
+ <Github className="w-5 h-5" />
48
+ <span>GitHub</span>
49
+ </a>
50
+ <a href={custom.urlGithubChat} className="flex items-center space-x-2 text-gray-400 hover:text-white transition-all duration-300 hover:scale-105">
51
+ <GitBranch className="w-5 h-5" />
52
+ <span>Discussions</span>
53
+ </a>
54
+ </div>
55
+ </div>
56
+ <div className="pt-8 border-t border-gray-800/50 text-center">
57
+ <p className="text-gray-400 mb-4" dangerouslySetInnerHTML={{ __html: custom.copyrightHTML }}>
58
+
59
+ </p>
60
+ <div className="flex justify-center space-x-4 text-sm text-gray-500">
61
+ <span>Made by <a href={custom.urlAuthor} className="text-blue-400 hover:text-blue-300 transition-all duration-300">{custom.author}</a> with ❤️ for the developer community</span>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </footer>
66
+ )
67
+ }
@@ -0,0 +1,424 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import Footer from './Footer';
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,
16
+ Check,
17
+ ArrowRight,
18
+ Sparkles,
19
+ Rocket,
20
+ Shield,
21
+ Globe,
22
+ Cpu,
23
+ Database,
24
+ Cloud,
25
+ Lock,
26
+ Layers,
27
+ FileCode,
28
+ Package,
29
+ Play,
30
+ Settings,
31
+ Workflow,
32
+ GitMerge,
33
+ Eye,
34
+ Folder,
35
+ Command,
36
+ FolderOpen,
37
+ Wrench,
38
+ MonitorSpeaker,
39
+ ExternalLink
40
+ } from 'lucide-react';
41
+
42
+ const custom = {
43
+ installCommands: {
44
+ bun: 'bun install -g git0',
45
+ npm: 'npm install -g git0',
46
+ npx: 'npx git0 react starter'
47
+ }, coreFeatures: [
48
+ {
49
+ icon: Search,
50
+ title: 'Search GitHub Repositories',
51
+ description: 'Search repositories by name with intelligent fuzzy matching and instant results',
52
+ gradient: 'from-blue-500 via-cyan-500 to-teal-500',
53
+ example: 'git0 react starter'
54
+ },
55
+ {
56
+ icon: Download,
57
+ title: 'Direct Repository Download',
58
+ description: 'Download from GitHub URLs or owner/repo shortcuts. Skip the manual git clone dance',
59
+ gradient: 'from-purple-500 via-pink-500 to-rose-500',
60
+ example: 'git0 facebook/react'
61
+ },
62
+ {
63
+ icon: Package,
64
+ title: 'Git Release Package Manager',
65
+ description: 'Instantly download latest release binaries for your system or all platforms',
66
+ gradient: 'from-green-500 via-emerald-500 to-cyan-500',
67
+ example: 'gg user/repo'
68
+ },
69
+ {
70
+ icon: Zap,
71
+ title: 'Automatic Dependency Installation',
72
+ description: 'Smart detection and installation of dependencies for multiple project types',
73
+ gradient: 'from-orange-500 via-red-500 to-pink-500',
74
+ example: 'Auto-detects package.json, requirements.txt, Cargo.toml'
75
+ },
76
+ {
77
+ icon: Code,
78
+ title: 'Smart IDE Integration',
79
+ description: 'Automatically opens projects in Cursor, Windsurf, VS Code, or your preferred editor',
80
+ gradient: 'from-indigo-500 via-purple-500 to-blue-500',
81
+ example: 'Opens in cursor, windsurf, code, nvim'
82
+ },
83
+ {
84
+ icon: Shield,
85
+ title: 'Conflict Resolution',
86
+ description: 'Handles directory naming conflicts automatically with smart numbering',
87
+ gradient: 'from-yellow-500 via-orange-500 to-red-500',
88
+ example: 'react → react-2 → react-3'
89
+ }
90
+ ], projectTypes: [
91
+ {
92
+ name: 'Node.js',
93
+ file: 'package.json',
94
+ install: 'bun install (fallback to npm)',
95
+ color: 'text-green-400',
96
+ icon: Package
97
+ },
98
+ {
99
+ name: 'Docker',
100
+ file: 'Dockerfile, docker-compose.yml',
101
+ install: 'docker-compose up -d',
102
+ color: 'text-blue-400',
103
+ icon: Layers
104
+ },
105
+ {
106
+ name: 'Python',
107
+ file: 'requirements.txt, setup.py',
108
+ install: 'Virtual env + pip install',
109
+ color: 'text-yellow-400',
110
+ icon: FileCode
111
+ },
112
+ {
113
+ name: 'Rust',
114
+ file: 'Cargo.toml',
115
+ install: 'cargo build',
116
+ color: 'text-orange-400',
117
+ icon: Settings
118
+ },
119
+ {
120
+ name: 'Go',
121
+ file: 'go.mod',
122
+ install: 'go mod tidy',
123
+ color: 'text-cyan-400',
124
+ icon: Play
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: `&copy; 2025 Get git0. <a href="https://github.com/vtempest/git0">Star this on GitHub</a> so it can grow!`
152
+ }
153
+
154
+ function App() {
155
+ const [copiedCommand, setCopiedCommand] = useState<string | null>(null);
156
+ const [activeTab, setActiveTab] = useState('bun');
157
+ const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 });
158
+
159
+ useEffect(() => {
160
+ const handleMouseMove = (e: MouseEvent) => {
161
+ setMousePosition({ x: e.clientX, y: e.clientY });
162
+ };
163
+ window.addEventListener('mousemove', handleMouseMove);
164
+ return () => window.removeEventListener('mousemove', handleMouseMove);
165
+ }, []);
166
+
167
+ const copyToClipboard = (text: string, command: string) => {
168
+ navigator.clipboard.writeText(text);
169
+ setCopiedCommand(command);
170
+ setTimeout(() => setCopiedCommand(null), 2000);
171
+ };
172
+
173
+
174
+ return (
175
+ <div className="min-h-screen bg-gray-900 text-white overflow-hidden relative">
176
+ {/* Enhanced Animated Background */}
177
+ <div className="fixed inset-0 bg-gradient-to-br from-gray-900 via-blue-900/30 to-purple-900/30">
178
+ {/* Floating Orbs */}
179
+ <div className="absolute inset-0">
180
+ <div
181
+ className="absolute w-96 h-96 bg-blue-500/20 rounded-full blur-3xl animate-pulse"
182
+ style={{
183
+ left: `${20 + mousePosition.x * 0.02}%`,
184
+ top: `${10 + mousePosition.y * 0.01}%`,
185
+ transform: 'translate3d(0, 0, 0)',
186
+ }}
187
+ ></div>
188
+ <div
189
+ className="absolute w-80 h-80 bg-purple-500/20 rounded-full blur-3xl animate-pulse delay-1000"
190
+ style={{
191
+ right: `${15 + mousePosition.x * -0.015}%`,
192
+ bottom: `${20 + mousePosition.y * -0.01}%`,
193
+ transform: 'translate3d(0, 0, 0)',
194
+ }}
195
+ ></div>
196
+ <div
197
+ className="absolute w-64 h-64 bg-cyan-500/15 rounded-full blur-3xl animate-pulse delay-2000"
198
+ style={{
199
+ left: `${60 + mousePosition.x * 0.01}%`,
200
+ top: `${60 + mousePosition.y * 0.005}%`,
201
+ transform: 'translate3d(0, 0, 0)',
202
+ }}
203
+ ></div>
204
+ </div>
205
+
206
+ {/* Grid Pattern */}
207
+ <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>
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>
212
+ </div>
213
+
214
+ {/* Navigation */}
215
+ <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">
216
+ <div className="flex items-center space-x-3">
217
+ <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">
218
+ <img src={custom.urlLogo} alt="logo" className="w-10 h-10" />
219
+ </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
+
235
+ {/* Hero Section */}
236
+ <section className="relative z-10 pt-6 pb-10 px-6">
237
+ <div className="max-w-7xl mx-auto text-center">
238
+ <div className="">
239
+ <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">
240
+ <Sparkles className="w-5 h-5 text-blue-400 animate-pulse" />
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
+ </div>
258
+
259
+ {/* Installation Section */}
260
+ <div id="installation">
261
+ <div className="flex justify-center mb-8">
262
+ <div className="flex bg-gray-800/50 backdrop-blur-xl rounded-2xl p-2 border border-gray-700/50 shadow-2xl">
263
+ {Object.keys(custom.installCommands).map((tab) => (
264
+ <button
265
+ key={tab}
266
+ onClick={() => setActiveTab(tab)}
267
+ className={`px-6 py-3 rounded-xl transition-all duration-300 font-semibold ${
268
+ activeTab === tab
269
+ ? 'bg-gradient-to-r from-blue-500 via-cyan-500 to-purple-500 text-white shadow-lg transform scale-105'
270
+ : 'text-gray-400 hover:text-white hover:bg-gray-700/50'
271
+ }`}
272
+ >
273
+ {tab.toUpperCase()}
274
+ </button>
275
+ ))}
276
+ </div>
277
+ </div>
278
+
279
+ <div className="max-w-3xl mx-auto">
280
+ <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]">
281
+ <div className="flex items-center justify-between mb-4">
282
+ <span className="text-gray-400 font-medium">Installation Command</span>
283
+ <button
284
+ onClick={() => copyToClipboard(custom.installCommands[activeTab as keyof typeof custom.installCommands], activeTab)}
285
+ 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"
286
+ >
287
+ {copiedCommand === activeTab ? <Check className="w-5 h-5" /> : <Copy className="w-5 h-5" />}
288
+ <span className="font-medium">{copiedCommand === activeTab ? 'Copied!' : 'Copy'}</span>
289
+ </button>
290
+ </div>
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>
294
+ </div>
295
+ </div>
296
+ </div>
297
+
298
+ {/* Usage Examples */}
299
+ <div className="">
300
+ <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">
301
+ <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">
302
+ Usage Examples
303
+ </h3>
304
+ <div className="grid md:grid-cols-3 gap-6">
305
+ {custom.featuresList.map((item, index) => (
306
+ <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">
307
+ <div className="text-blue-400 font-bold text-lg mb-2">{item.title}</div>
308
+ <code className="text-green-400 text-lg font-mono block mb-3 bg-gray-900/50 p-3 rounded">{item.command}</code>
309
+ <p className="text-gray-400 text-sm">{item.desc}</p>
310
+ </div>
311
+ ))}
312
+ </div>
313
+ </div>
314
+ </div>
315
+ </div>
316
+ </section>
317
+
318
+ {/* Core Features Section */}
319
+ <section id="features" className="relative z-10 px-6">
320
+ <div className="max-w-7xl mx-auto">
321
+
322
+ <div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8 ">
323
+ {custom.coreFeatures.map((feature, index) => (
324
+ <div
325
+ key={index}
326
+ 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"
327
+ >
328
+ <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`}>
329
+ <feature.icon className="w-8 h-8 text-white" />
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>
336
+ </div>
337
+ ))}
338
+ </div>
339
+ </div>
340
+ </section>
341
+
342
+ {/* Supported Project Types */}
343
+ <section className="relative z-10 px-6 mt-4 ">
344
+ <div className="max-w-7xl mx-auto">
345
+ <div className="text-center ">
346
+ <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">
347
+ Supported Project Types
348
+ </h2>
349
+ </div>
350
+
351
+ <div className="grid md:grid-cols-1 lg:grid-cols-1 gap-6 mt-4 ">
352
+ {custom.projectTypes.map((type, index) => (
353
+ <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]">
354
+ <div className="flex items-center justify-between">
355
+ <div className="flex items-center space-x-4">
356
+ <type.icon className={`w-8 h-8 ${type.color}`} />
357
+ <div>
358
+ <h3 className={`text-lg font-bold ${type.color}`}>{type.name}</h3>
359
+ <p className="text-gray-400 text-sm">Detection: {type.file}</p>
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>
365
+ </div>
366
+ </div>
367
+ </div>
368
+ ))}
369
+ </div>
370
+
371
+
372
+ </div>
373
+ </section>
374
+
375
+ {/* Workflow Section */}
376
+ <section id="workflow" className="relative z-10 mt-6 px-6">
377
+ <div className="max-w-7xl mx-auto">
378
+ <div className="text-center">
379
+ <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">
380
+ The Proper Protocol to Download Git Repo
381
+ </h2>
382
+ <p className="text-xl text-gray-300 max-w-3xl mx-auto mb-10">
383
+ Skip the manual "git clone, cd, install" dance.
384
+ </p>
385
+ </div>
386
+
387
+ <div className="grid md:grid-cols-5 gap-8 mt-6">
388
+ {custom.workflowSteps.map((step, index) => (
389
+ <div key={index} className="text-center group">
390
+ <div className="relative mb-6">
391
+ <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">
392
+ <step.icon className="w-8 h-8 text-white" />
393
+ </div>
394
+ <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">
395
+ {step.step}
396
+ </div>
397
+ </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
+ </div>
401
+ ))}
402
+ </div>
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>
413
+ </div>
414
+ </div>
415
+ </div>
416
+ </section>
417
+
418
+ {/* Footer */}
419
+ <Footer />
420
+ </div>
421
+ );
422
+ }
423
+
424
+ export default App;
@@ -0,0 +1 @@
1
+ git0.js.org
@@ -0,0 +1,13 @@
1
+ /** @type {import('tailwindcss').Config} */
2
+ module.exports = {
3
+ content: [
4
+ "./src/**/*.{js,jsx,ts,tsx,md,mdx}",
5
+ "./docs/**/*.{md,mdx}"
6
+ ],
7
+ theme: { extend: {} },
8
+ plugins: [],
9
+ darkMode: ["class", '[data-theme="dark"]'],
10
+ corePlugins: { preflight: false }, // Prevents Tailwind from overriding Docusaurus defaults
11
+ blocklist: ["container"], // Optional: disables Tailwind's container class
12
+ };
13
+
@@ -0,0 +1,27 @@
1
+ {
2
+ "include": [
3
+ "../git0.js"
4
+ ],
5
+ "compilerOptions": {
6
+ "jsx": "react",
7
+
8
+ "target": "ESNext",
9
+ "module": "ESNext",
10
+ "moduleResolution": "node",
11
+ "resolveJsonModule": true,
12
+ "allowJs": true,
13
+ "checkJs": false,
14
+ "noEmitOnError": false,
15
+ "strict": false,
16
+ "isolatedModules": false,
17
+ "skipLibCheck": true,
18
+ "allowImportingTsExtensions": true,
19
+ "noEmit": true
20
+ },
21
+
22
+ "exclude": [
23
+ "../node_modules",
24
+ "../docs",
25
+ "pages/**/*"
26
+ ]
27
+ }