git0 0.2.3 → 0.2.4

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 (52) hide show
  1. package/docs/404.html +4 -0
  2. package/docs/CNAME +1 -0
  3. package/docs/Footer/index.html +4 -0
  4. package/docs/assets/css/styles.36dc19db.css +1 -0
  5. package/docs/assets/js/17896441.859f1a34.js +1 -0
  6. package/docs/assets/js/196.f2323311.js +1 -0
  7. package/docs/assets/js/1df93b7f.b886b8fe.js +1 -0
  8. package/docs/assets/js/22dd74f7.9915da9b.js +1 -0
  9. package/docs/assets/js/294.067938e2.js +101 -0
  10. package/docs/assets/js/4a829dc8.22596b01.js +1 -0
  11. package/docs/assets/js/5e95c892.a050489a.js +1 -0
  12. package/docs/assets/js/61.78a4a5cd.js +1 -0
  13. package/docs/assets/js/66a0d7f4.a57db0e1.js +1 -0
  14. package/docs/assets/js/990.0223f00f.js +1 -0
  15. package/docs/assets/js/a7456010.eaa69c24.js +1 -0
  16. package/docs/assets/js/a7bd4aaa.6bf60595.js +1 -0
  17. package/docs/assets/js/a94703ab.233c731c.js +1 -0
  18. package/docs/assets/js/aba21aa0.3975ceaf.js +1 -0
  19. package/docs/assets/js/ac46717f.20537802.js +1 -0
  20. package/docs/assets/js/c3a618e1.b288e34c.js +1 -0
  21. package/docs/assets/js/d140250a.42194f66.js +1 -0
  22. package/docs/assets/js/main.9107865a.js +38 -0
  23. package/docs/assets/js/runtime~main.d42315b4.js +1 -0
  24. package/docs/customize-home/index.html +4 -0
  25. package/docs/functions/globals/index.html +4 -0
  26. package/docs/functions/index.html +4 -0
  27. package/docs/index.html +4 -0
  28. package/docs/lunr-index-1749598895331.json +1 -0
  29. package/docs/lunr-index.json +1 -0
  30. package/docs/search-doc-1749598895331.json +1 -0
  31. package/docs/search-doc.json +1 -0
  32. package/docs/sitemap.xml +1 -0
  33. package/docs-config/config/customize-docs.js +30 -0
  34. package/docs-config/config/docs-theme.css +358 -0
  35. package/docs-config/config/openapi.mustache +39 -0
  36. package/docs-config/config/sidebars.ts +21 -0
  37. package/docs-config/config/typedoc.json +40 -0
  38. package/docs-config/docusaurus.config.ts +348 -0
  39. package/docs-config/package.json +40 -0
  40. package/docs-config/src/functions/globals.md +153 -0
  41. package/docs-config/src/functions/index.md +114 -0
  42. package/docs-config/src/functions/typedoc-sidebar.cjs +6 -0
  43. package/docs-config/src/index.md +126 -0
  44. package/docs-config/src/pages/Footer.tsx +57 -0
  45. package/docs-config/src/pages/customize-home.tsx +147 -0
  46. package/docs-config/src/pages/index.tsx +292 -0
  47. package/docs-config/static/CNAME +1 -0
  48. package/docs-config/tailwind.config.js +13 -0
  49. package/docs-config/tsconfig.json +26 -0
  50. package/git0.js +6 -6
  51. package/package.json +15 -15
  52. package/readme.md +16 -18
@@ -0,0 +1,126 @@
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/gg/discussions">
17
+ <img alt="GitHub Stars" src="https://img.shields.io/github/stars/vtempest/gg" /></a>
18
+ <a href="https://github.com/vtempest/gg/discussions">
19
+ <img alt="GitHub Discussions"
20
+ src="https://img.shields.io/github/discussions/vtempest/gg" />
21
+ </a>
22
+ <a href="https://github.com/vtempest/gg/pulse" alt="Activity">
23
+ <img src="https://img.shields.io/github/commit-activity/m/vtempest/gg" />
24
+ </a>
25
+ <img src="https://img.shields.io/github/last-commit/vtempest/gg.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/gg">
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
+
68
+ ### Search and Download
69
+ ```bash
70
+ # Search for repositories by name
71
+ gg react starter
72
+
73
+ # Direct download from GitHub URL
74
+ gg https://github.com/facebook/react
75
+
76
+ # Download using owner/repo shorthand
77
+ ## gg and git0 both work
78
+ git0 facebook/react
79
+
80
+ ## Use without installing
81
+ npx git0 react starter
82
+ ```
83
+
84
+ ### Supported Project Types
85
+
86
+ GG automatically detects and sets up the following project types:
87
+
88
+ | Project Type | Detection | Installation |
89
+ |-------------|-----------|-------------|
90
+ | **Node.js** | `package.json` | `bun install` (fallback to `npm install`) |
91
+ | **Docker** | `Dockerfile`, `docker-compose.yml` | `docker-compose up -d` or `docker build` |
92
+ | **Python** | `requirements.txt`, `setup.py` | Virtual environment + pip install |
93
+ | **Rust** | `Cargo.toml` | `cargo build` |
94
+ | **Go** | `go.mod` | `go mod tidy` |
95
+
96
+ ### Supported IDEs
97
+
98
+ GG automatically detects and opens projects in your preferred IDE:
99
+
100
+ - **Cursor** (`cursor`)
101
+ - **Windsurf** (`windsurf`)
102
+ - **VS Code** (`code`)
103
+ - **Code Server** (`code-server`)
104
+ - **Neovim** (`nvim`)
105
+
106
+ ## 🔧 Configuration
107
+
108
+ ### GitHub Token (Optional)
109
+
110
+ 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):
111
+
112
+ ```bash
113
+ export GITHUB_TOKEN=your_github_token_here
114
+ ```
115
+
116
+ Without a token, you're limited to 60 requests per hour. With a token, you get 5,000 requests per hour.
117
+
118
+ ### What Happens After Download
119
+
120
+ 1. **Repository is downloaded** to your current directory
121
+ 2. **Project type is detected** automatically
122
+ 3. **Dependencies are installed** based on project type
123
+ 4. **IDE is launched** automatically (if available)
124
+ 5. **Development server starts** (for Node.js projects)
125
+
126
+ If a directory with the same name exists, GG automatically appends a number (e.g., `react-2`, `react-3`).
@@ -0,0 +1,57 @@
1
+ import React, { useState, useEffect } from 'react';
2
+
3
+ import * as custom from './customize-home.tsx'
4
+
5
+ import {
6
+ Github,
7
+ BookOpen,
8
+ GitBranch,
9
+ Users,
10
+ } from 'lucide-react';
11
+
12
+ export default function (){
13
+
14
+ return (
15
+ <footer className="relative z-10 border-t border-gray-800/50 py-16 px-6 bg-gray-900/50 backdrop-blur-xl">
16
+ <div className="max-w-7xl mx-auto">
17
+ <div className="flex flex-col md:flex-row items-center justify-between ">
18
+ <div className="flex items-center space-x-4 mb-6 md:mb-0">
19
+ <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">
20
+ <img src={custom.urlLogo} alt="logo" className="w-10 h-10" />
21
+ </div>
22
+ <span className="text-2xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent">{custom.name}</span>
23
+ </div>
24
+ <div className="flex items-center space-x-8">
25
+
26
+ <a href={custom.urlDocs} className="flex items-center space-x-2 text-gray-400 hover:text-white transition-all duration-300 hover:scale-105">
27
+ <BookOpen className="w-5 h-5" />
28
+ <span>Docs</span>
29
+ </a>
30
+
31
+ <a href={custom.urlSupport} className="flex items-center space-x-2 text-gray-400 hover:text-white transition-all duration-300 hover:scale-105">
32
+ <Users className="w-5 h-5" />
33
+ <span>Discord</span>
34
+ </a>
35
+ <a href={custom.urlGithub} className="flex items-center space-x-2 text-gray-400 hover:text-white transition-all duration-300 hover:scale-105">
36
+ <Github className="w-5 h-5" />
37
+ <span>GitHub</span>
38
+ </a>
39
+ <a href={custom.urlGithubChat} className="flex items-center space-x-2 text-gray-400 hover:text-white transition-all duration-300 hover:scale-105">
40
+ <GitBranch className="w-5 h-5" />
41
+ <span>Discussions</span>
42
+ </a>
43
+ </div>
44
+ </div>
45
+ <div className="pt-8 border-t border-gray-800/50 text-center">
46
+ <p className="text-gray-400 mb-4" dangerouslySetInnerHTML={{ __html: custom.copyrightHTML }}>
47
+
48
+ </p>
49
+ <div className="flex justify-center space-x-4 text-sm text-gray-500">
50
+ <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>
51
+ </div>
52
+ </div>
53
+ </div>
54
+ </footer>
55
+ )
56
+ }
57
+
@@ -0,0 +1,147 @@
1
+ import {
2
+ Github,
3
+ Download,
4
+ Search,
5
+ Zap,
6
+ Terminal,
7
+ Code,
8
+ Star,
9
+ GitBranch,
10
+ Users,
11
+ Activity,
12
+ Copy,
13
+ Check,
14
+ ArrowRight,
15
+ Sparkles,
16
+ Rocket,
17
+ Shield,
18
+ Globe,
19
+ Cpu,
20
+ Database,
21
+ Cloud,
22
+ Lock,
23
+ Layers,
24
+ FileCode,
25
+ Package,
26
+ Play,
27
+ Settings,
28
+ Workflow,
29
+ GitMerge,
30
+ Eye,
31
+ Folder,
32
+ Command,
33
+ FolderOpen,
34
+ Wrench,
35
+ MonitorSpeaker,
36
+ ExternalLink
37
+ } from 'lucide-react';
38
+
39
+ export const installCommands = {
40
+ npm: 'npm install -g git0',
41
+ bun: 'bun install -g git0',
42
+ npx: 'npx git0 react starter'
43
+ }, coreFeatures = [
44
+ {
45
+ icon: Search,
46
+ title: 'Search GitHub Repositories',
47
+ description: 'Search repositories by name with intelligent fuzzy matching and instant results',
48
+ gradient: 'from-blue-500 via-cyan-500 to-teal-500',
49
+ example: 'git0 react starter'
50
+ },
51
+ {
52
+ icon: Download,
53
+ title: 'Direct Repository Download',
54
+ description: 'Download from GitHub URLs or owner/repo shortcuts. Skip the manual git clone dance',
55
+ gradient: 'from-purple-500 via-pink-500 to-rose-500',
56
+ example: 'git0 facebook/react'
57
+ },
58
+ {
59
+ icon: Package,
60
+ title: 'Git Release Package Manager',
61
+ description: 'Instantly download latest release binaries for your system or all platforms',
62
+ gradient: 'from-green-500 via-emerald-500 to-cyan-500',
63
+ example: 'gg user/repo'
64
+ },
65
+ {
66
+ icon: Zap,
67
+ title: 'Automatic Dependency Installation',
68
+ description: 'Smart detection and installation of dependencies for multiple project types',
69
+ gradient: 'from-orange-500 via-red-500 to-pink-500',
70
+ example: 'Auto-detects package.json, requirements.txt, Cargo.toml'
71
+ },
72
+ {
73
+ icon: Code,
74
+ title: 'Smart IDE Integration',
75
+ description: 'Automatically opens projects in Cursor, Windsurf, VS Code, or your preferred editor',
76
+ gradient: 'from-indigo-500 via-purple-500 to-blue-500',
77
+ example: 'Opens in cursor, windsurf, code, nvim'
78
+ },
79
+ {
80
+ icon: Shield,
81
+ title: 'Conflict Resolution',
82
+ description: 'Handles directory naming conflicts automatically with smart numbering',
83
+ gradient: 'from-yellow-500 via-orange-500 to-red-500',
84
+ example: 'react → react-2 → react-3'
85
+ }
86
+ ], projectTypes = [
87
+ {
88
+ name: 'Node.js',
89
+ file: 'package.json',
90
+ install: 'bun install (fallback to npm)',
91
+ color: 'text-green-400',
92
+ icon: Package
93
+ },
94
+ {
95
+ name: 'Docker',
96
+ file: 'Dockerfile, docker-compose.yml',
97
+ install: 'docker-compose up -d',
98
+ color: 'text-blue-400',
99
+ icon: Layers
100
+ },
101
+ {
102
+ name: 'Python',
103
+ file: 'requirements.txt, setup.py',
104
+ install: 'Virtual env + pip install',
105
+ color: 'text-yellow-400',
106
+ icon: FileCode
107
+ },
108
+ {
109
+ name: 'Rust',
110
+ file: 'Cargo.toml',
111
+ install: 'cargo build',
112
+ color: 'text-orange-400',
113
+ icon: Settings
114
+ },
115
+ {
116
+ name: 'Go',
117
+ file: 'go.mod',
118
+ install: 'go mod tidy',
119
+ color: 'text-cyan-400',
120
+ icon: Play
121
+ }
122
+ ], supportedIDEs = [
123
+ { name: 'Cursor', command: 'cursor', color: 'text-blue-400' },
124
+ { name: 'Windsurf', command: 'windsurf', color: 'text-purple-400' },
125
+ { name: 'VS Code', command: 'code', color: 'text-blue-300' },
126
+ { name: 'Code Server', command: 'code-server', color: 'text-green-400' },
127
+ { name: 'Neovim', command: 'nvim', color: 'text-orange-400' }
128
+ ], featuresList = [
129
+ { title: 'Search Repositories', command: 'git0 react starter', desc: 'Find repositories by name with fuzzy matching' },
130
+ { title: 'Direct Download', command: 'gg facebook/react', desc: 'Download using owner/repo shorthand' },
131
+ { title: 'From GitHub URL', command: 'git0 https://github.com/user/repo', desc: 'Download from any GitHub URL' }
132
+ ], workflowSteps = [
133
+ { step: '1', title: 'Repository Downloaded', desc: 'To your current directory', icon: Download },
134
+ { step: '2', title: 'Project Type Detected', desc: 'Automatically identified', icon: Search },
135
+ { step: '3', title: 'Dependencies Installed', desc: 'Based on project type', icon: Package },
136
+ { step: '4', title: 'IDE Launched', desc: 'Opens in preferred editor', icon: Code },
137
+ { step: '5', title: 'Dev Server Started', desc: 'For Node.js projects', icon: Play }
138
+ ],
139
+ urlDocs = "https://git0.js.org/functions",
140
+ urlSupport = "https://discord.gg/SJdBqBz3tV",
141
+ urlGithub = "https://github.com/vtempest/git0",
142
+ urlGithubChat = "https://github.com/vtempest/git0/discussions",
143
+ urlLogo = "https://i.imgur.com/857meew.png",
144
+ name = "git0",
145
+ urlAuthor = "https://github.com/vtempest",
146
+ author = "vtempest",
147
+ copyrightHTML = `&copy; 2025 Get git0. <a href="https://github.com/vtempest/git0">Star this on GitHub</a> so it can grow!`
@@ -0,0 +1,292 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import {
3
+ Github,
4
+ Download,
5
+ Search,
6
+ Zap,
7
+ Terminal,
8
+ Code,
9
+ BookOpen,
10
+ GitBranch,
11
+ Users,
12
+ Activity,
13
+ Copy,
14
+ Check,
15
+ ArrowRight,
16
+ Sparkles,
17
+ } from 'lucide-react';
18
+
19
+ import Footer from './Footer';
20
+ import * as custom from './customize-home.tsx'
21
+
22
+ function App() {
23
+ const [copiedCommand, setCopiedCommand] = useState<string | null>(null);
24
+ const [activeTab, setActiveTab] = useState('npm');
25
+ const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 });
26
+
27
+ useEffect(() => {
28
+ const handleMouseMove = (e: MouseEvent) => {
29
+ setMousePosition({ x: e.clientX, y: e.clientY });
30
+ };
31
+ window.addEventListener('mousemove', handleMouseMove);
32
+ return () => window.removeEventListener('mousemove', handleMouseMove);
33
+ }, []);
34
+
35
+ const copyToClipboard = (text: string, command: string) => {
36
+ navigator.clipboard.writeText(text);
37
+ setCopiedCommand(command);
38
+ setTimeout(() => setCopiedCommand(null), 2000);
39
+ };
40
+
41
+
42
+ return (
43
+ <div className="min-h-screen bg-gray-900 text-white overflow-hidden relative">
44
+ {/* Enhanced Animated Background */}
45
+ <div className="fixed inset-0 bg-gradient-to-br from-gray-900 via-blue-900/30 to-purple-900/30">
46
+ {/* Floating Orbs */}
47
+ <div className="absolute inset-0">
48
+ <div
49
+ className="absolute w-96 h-96 bg-blue-500/20 rounded-full blur-3xl animate-pulse"
50
+ style={{
51
+ left: `${20 + mousePosition.x * 0.02}%`,
52
+ top: `${10 + mousePosition.y * 0.01}%`,
53
+ transform: 'translate3d(0, 0, 0)',
54
+ }}
55
+ ></div>
56
+ <div
57
+ className="absolute w-80 h-80 bg-purple-500/20 rounded-full blur-3xl animate-pulse delay-1000"
58
+ style={{
59
+ right: `${15 + mousePosition.x * -0.015}%`,
60
+ bottom: `${20 + mousePosition.y * -0.01}%`,
61
+ transform: 'translate3d(0, 0, 0)',
62
+ }}
63
+ ></div>
64
+ <div
65
+ className="absolute w-64 h-64 bg-cyan-500/15 rounded-full blur-3xl animate-pulse delay-2000"
66
+ style={{
67
+ left: `${60 + mousePosition.x * 0.01}%`,
68
+ top: `${60 + mousePosition.y * 0.005}%`,
69
+ transform: 'translate3d(0, 0, 0)',
70
+ }}
71
+ ></div>
72
+ </div>
73
+
74
+ {/* Grid Pattern */}
75
+ <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>
76
+
77
+ {/* Radial Gradients */}
78
+ <div className="absolute inset-0 bg-[radial-gradient(circle_at_25%_25%,rgba(56,189,248,0.15),transparent_50%)]"></div>
79
+ <div className="absolute inset-0 bg-[radial-gradient(circle_at_75%_75%,rgba(147,51,234,0.15),transparent_50%)]"></div>
80
+ </div>
81
+
82
+ {/* Navigation */}
83
+ <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">
84
+ <div className="flex items-center space-x-3">
85
+ <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">
86
+ <img src="https://i.imgur.com/857meew.png" alt="git0" className="w-10 h-10" />
87
+ </div>
88
+ <span className="text-3xl font-bold bg-gradient-to-r from-blue-400 via-cyan-400 to-purple-400 bg-clip-text text-transparent">
89
+ git0
90
+ </span>
91
+ </div>
92
+ <div className="flex items-center space-x-8">
93
+ <a href="#features" className="hover:text-blue-400 transition-all duration-300 hover:scale-105">Features</a>
94
+ <a href="#installation" className="hover:text-blue-400 transition-all duration-300 hover:scale-105">Install</a>
95
+ <a href="#workflow" className="hover:text-blue-400 transition-all duration-300 hover:scale-105">How It Works</a>
96
+ <a href="https://github.com/vtempest/git0" 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">
97
+ <Github className="w-5 h-5" />
98
+ <span className="font-semibold">GitHub</span>
99
+ </a>
100
+ </div>
101
+ </nav>
102
+
103
+ {/* Hero Section */}
104
+ <section className="relative z-10 pt-6 pb-10 px-6">
105
+ <div className="max-w-7xl mx-auto text-center">
106
+ <div className="">
107
+ <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">
108
+ <Sparkles className="w-5 h-5 text-blue-400 animate-pulse" />
109
+ <span className="text-blue-300 font-medium">Download Git Repo on Step Zero</span>
110
+ <div className="w-2 h-2 bg-green-400 rounded-full animate-pulse"></div>
111
+ </div>
112
+
113
+ {/* position as grid next to each other */}
114
+ <div className="grid grid-cols-2 gap-4">
115
+ <img src="https://i.imgur.com/Io3ukRC.gif" alt="Git Preview" className="w-full" />
116
+
117
+
118
+ <img src="https://i.imgur.com/6l9esbL.png" alt="Git Preview" className="w-full" />
119
+ </div>
120
+
121
+ <p className="text-2xl md:text-3xl mt-4 text-gray-300 mb-12 max-w-5xl mx-auto leading-relaxed font-light">
122
+ CLI tool to search GitHub repositories, download source & releases, and instantly set up projects with
123
+ <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>
124
+ </p>
125
+ </div>
126
+
127
+ {/* Installation Section */}
128
+ <div id="installation">
129
+ <div className="flex justify-center mb-8">
130
+ <div className="flex bg-gray-800/50 backdrop-blur-xl rounded-2xl p-2 border border-gray-700/50 shadow-2xl">
131
+ {Object.keys(custom.installCommands).map((tab) => (
132
+ <button
133
+ key={tab}
134
+ onClick={() => setActiveTab(tab)}
135
+ className={`px-6 py-3 rounded-xl transition-all duration-300 font-semibold ${
136
+ activeTab === tab
137
+ ? 'bg-gradient-to-r from-blue-500 via-cyan-500 to-purple-500 text-white shadow-lg transform scale-105'
138
+ : 'text-gray-400 hover:text-white hover:bg-gray-700/50'
139
+ }`}
140
+ >
141
+ {tab.toUpperCase()}
142
+ </button>
143
+ ))}
144
+ </div>
145
+ </div>
146
+
147
+ <div className="max-w-3xl mx-auto">
148
+ <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]">
149
+ <div className="flex items-center justify-between mb-4">
150
+ <span className="text-gray-400 font-medium">Installation Command</span>
151
+ <button
152
+ onClick={() => copyToClipboard(custom.installCommands[activeTab as keyof typeof custom.installCommands], activeTab)}
153
+ 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"
154
+ >
155
+ {copiedCommand === activeTab ? <Check className="w-5 h-5" /> : <Copy className="w-5 h-5" />}
156
+ <span className="font-medium">{copiedCommand === activeTab ? 'Copied!' : 'Copy'}</span>
157
+ </button>
158
+ </div>
159
+ <code className="text-xl text-green-400 font-mono bg-gray-900/50 p-4 rounded-lg block">
160
+ {custom.installCommands[activeTab as keyof typeof custom.installCommands]}
161
+ </code>
162
+ </div>
163
+ </div>
164
+ </div>
165
+
166
+ {/* Usage Examples */}
167
+ <div className="">
168
+ <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">
169
+ <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">
170
+ Usage Examples
171
+ </h3>
172
+ <div className="grid md:grid-cols-3 gap-6">
173
+ {custom.featuresList.map((item, index) => (
174
+ <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">
175
+ <div className="text-blue-400 font-bold text-lg mb-2">{item.title}</div>
176
+ <code className="text-green-400 text-lg font-mono block mb-3 bg-gray-900/50 p-3 rounded">{item.command}</code>
177
+ <p className="text-gray-400 text-sm">{item.desc}</p>
178
+ </div>
179
+ ))}
180
+ </div>
181
+ </div>
182
+ </div>
183
+ </div>
184
+ </section>
185
+
186
+ {/* Core Features Section */}
187
+ <section id="features" className="relative z-10 px-6">
188
+ <div className="max-w-7xl mx-auto">
189
+
190
+ <div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8 ">
191
+ {custom.coreFeatures.map((feature, index) => (
192
+ <div
193
+ key={index}
194
+ 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"
195
+ >
196
+ <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`}>
197
+ <feature.icon className="w-8 h-8 text-white" />
198
+ </div>
199
+ <h3 className="text-xl font-bold mb-4 group-hover:text-blue-400 transition-colors">{feature.title}</h3>
200
+ <p className="text-gray-400 leading-relaxed mb-4">{feature.description}</p>
201
+ <code className="text-sm text-green-400 bg-gray-900/50 px-3 py-1 rounded font-mono">{feature.example}</code>
202
+
203
+ <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>
204
+ </div>
205
+ ))}
206
+ </div>
207
+ </div>
208
+ </section>
209
+
210
+ {/* Supported Project Types */}
211
+ <section className="relative z-10 px-6 mt-4 ">
212
+ <div className="max-w-7xl mx-auto">
213
+ <div className="text-center ">
214
+ <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">
215
+ Supported Project Types
216
+ </h2>
217
+ </div>
218
+
219
+ <div className="grid md:grid-cols-1 lg:grid-cols-1 gap-6 mt-4 ">
220
+ {custom.projectTypes.map((type, index) => (
221
+ <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]">
222
+ <div className="flex items-center justify-between">
223
+ <div className="flex items-center space-x-4">
224
+ <type.icon className={`w-8 h-8 ${type.color}`} />
225
+ <div>
226
+ <h3 className={`text-lg font-bold ${type.color}`}>{type.name}</h3>
227
+ <p className="text-gray-400 text-sm">Detection: {type.file}</p>
228
+ </div>
229
+ </div>
230
+ <div className="text-right">
231
+ <p className="text-gray-300 font-medium">Installation</p>
232
+ <code className="text-green-400 text-sm">{type.install}</code>
233
+ </div>
234
+ </div>
235
+ </div>
236
+ ))}
237
+ </div>
238
+
239
+
240
+ </div>
241
+ </section>
242
+
243
+ {/* Workflow Section */}
244
+ <section id="workflow" className="relative z-10 mt-6 px-6">
245
+ <div className="max-w-7xl mx-auto">
246
+ <div className="text-center">
247
+ <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">
248
+ The Proper Protocol to Download Git Repo
249
+ </h2>
250
+ <p className="text-xl text-gray-300 max-w-3xl mx-auto mb-10">
251
+ Skip the manual "git clone, cd, install" dance.
252
+ </p>
253
+ </div>
254
+
255
+ <div className="grid md:grid-cols-5 gap-8 mt-6">
256
+ {custom.workflowSteps.map((step, index) => (
257
+ <div key={index} className="text-center group">
258
+ <div className="relative mb-6">
259
+ <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">
260
+ <step.icon className="w-8 h-8 text-white" />
261
+ </div>
262
+ <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">
263
+ {step.step}
264
+ </div>
265
+ </div>
266
+ <h3 className="text-lg font-bold mb-2 group-hover:text-blue-400 transition-colors">{step.title}</h3>
267
+ <p className="text-gray-400 text-sm">{step.desc}</p>
268
+ </div>
269
+ ))}
270
+ </div>
271
+
272
+ <div className="mt-8 mb-8 text-center">
273
+ <div className="bg-gray-800/40 backdrop-blur-xl border border-gray-700/50 rounded-xl p-6 max-w-2xl mx-auto">
274
+ <p className="text-gray-300 mb-4">
275
+ <strong className="text-blue-400">Conflict Resolution:</strong> If a directory with the same name exists,
276
+ git0 automatically appends a number
277
+ </p>
278
+ <code className="text-green-400 bg-gray-900/50 px-4 py-2 rounded">
279
+ react-app → react-app-2 → react-app-3
280
+ </code>
281
+ </div>
282
+ </div>
283
+ </div>
284
+ </section>
285
+
286
+ {/* Footer */}
287
+ <Footer />
288
+ </div>
289
+ );
290
+ }
291
+
292
+ 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,26 @@
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
+ ]
26
+ }