zerostart-cli 0.0.6 → 0.0.7

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/README.md CHANGED
@@ -1,237 +1,237 @@
1
- # ZeroStart CLI 🚀
2
-
3
- Create and deploy a complete project with **one command**.
4
-
5
- [![npm version](https://img.shields.io/npm/v/zerostart-cli.svg)](https://www.npmjs.com/package/zerostart-cli)
6
- [![npm downloads](https://img.shields.io/npm/dm/zerostart-cli.svg)](https://www.npmjs.com/package/zerostart-cli)
7
-
8
- ---
9
-
10
- ## 📦 Installation
11
-
12
- **⚠️ IMPORTANT: Use the `-g` flag to install globally!**
13
-
14
- ```bash
15
- npm install -g zerostart-cli
16
- ```
17
-
18
- > **Why `-g`?** The `-g` flag installs ZeroStart globally on your system, making the `zerostart` command available from anywhere in your terminal. Without it, you'll only get `node_modules` and `package-lock.json` files, and the CLI won't work!
19
-
20
- ---
21
-
22
- ## 🚀 Quick Start
23
-
24
- After installing globally, create a new project:
25
-
26
- ```bash
27
- zerostart my-awesome-project
28
- ```
29
-
30
- Or simply run:
31
-
32
- ```bash
33
- zerostart
34
- ```
35
-
36
- Then follow the interactive prompts!
37
-
38
- ---
39
-
40
- ## ✨ Features
41
-
42
- - 🎯 **Interactive CLI** - Guided prompts for project setup
43
- - 🌐 **Multiple Languages** - Node.js, React, Python, Java, C++
44
- - 📦 **Project Types** - Web App, CLI Tool, DSA Practice, ML Project
45
- - 🔧 **Auto-scaffolding** - Complete project structure generation
46
- - 📝 **Documentation** - Auto-generated README, roadmap, .gitignore
47
- - 🔄 **Git Integration** - Automatic Git initialization and first commit
48
- - 🐙 **GitHub Integration** - Create and push to GitHub repository
49
- - 🔒 **Visibility Control** - Choose public or private repositories
50
-
51
- ---
52
-
53
- ## 📖 Usage
54
-
55
- ### Basic Usage
56
-
57
- ```bash
58
- # Create a project with interactive prompts
59
- zerostart
60
-
61
- # Create a project with a specific name
62
- zerostart my-project-name
63
-
64
- # Check version
65
- zerostart --version
66
-
67
- # Get help
68
- zerostart --help
69
- ```
70
-
71
- ### Example Workflow
72
-
73
- ```bash
74
- $ zerostart my-web-app
75
-
76
- ZeroStart: Project Starter AI
77
-
78
- ? Select Programming Language: › Node.js
79
- ? Select Project Type: › Web App
80
- ? Select Repository Visibility: › Private
81
- ? Create GitHub Repository? › Yes
82
- ? Enter GitHub Personal Access Token: ********
83
-
84
- ✔ Generating project structure...
85
- ✔ Initializing Git...
86
- ✔ Creating GitHub Repository...
87
- ✔ Pushing to GitHub...
88
- ✔ Project 'my-web-app' created successfully!
89
-
90
- Path: C:\Users\YourName\my-web-app
91
- To get started:
92
- cd my-web-app
93
- code .
94
- ```
95
-
96
- ---
97
-
98
- ## 🛠️ Requirements
99
-
100
- - **Node.js** (v18 or higher)
101
- - **Git** (must be installed and in PATH)
102
- - **GitHub Personal Access Token** (optional, for GitHub integration)
103
-
104
- ### Getting a GitHub Token
105
-
106
- 1. Go to [GitHub Settings → Developer settings → Personal access tokens](https://github.com/settings/tokens)
107
- 2. Click "Generate new token (classic)"
108
- 3. Select scopes: `repo` (full control of private repositories)
109
- 4. Copy the token and use it when prompted by ZeroStart
110
-
111
- ---
112
-
113
- ## 🏗️ What Gets Created
114
-
115
- ZeroStart automatically generates:
116
-
117
- ```
118
- my-project/
119
- ├── src/
120
- │ └── (language-specific files)
121
- ├── .gitignore
122
- ├── README.md
123
- ├── roadmap.md
124
- └── (additional config files based on language/type)
125
- ```
126
-
127
- Plus:
128
- - ✅ Git repository initialized
129
- - ✅ Initial commit made
130
- - ✅ GitHub repository created (if requested)
131
- - ✅ Code pushed to GitHub (if requested)
132
-
133
- ---
134
-
135
- ## 🔧 Development
136
-
137
- Want to contribute or modify ZeroStart?
138
-
139
- ### Setup
140
-
141
- ```bash
142
- # Clone the repository
143
- git clone https://github.com/yourusername/zerostart-cli.git
144
- cd zerostart-cli
145
-
146
- # Install dependencies
147
- npm install
148
-
149
- # Build the project
150
- npm run compile
151
-
152
- # Test locally
153
- node ./out/cli.js --help
154
- ```
155
-
156
- ### Project Structure
157
-
158
- ```
159
- src/
160
- ├── cli.ts # CLI entry point
161
- ├── extension.ts # VS Code extension entry (legacy)
162
- ├── types.ts # TypeScript interfaces
163
- ├── managers/
164
- │ ├── TemplateManager.ts # Project scaffolding
165
- │ ├── GitManager.ts # Git operations
166
- │ └── ProjectManager.ts # Main orchestration
167
- └── services/
168
- ├── GitHubServiceCLI.ts # GitHub API (CLI)
169
- └── GitHubService.ts # GitHub API (VS Code)
170
- ```
171
-
172
- ---
173
-
174
- ## 📝 Publishing Updates
175
-
176
- ```bash
177
- # Update version
178
- npm version patch # or minor, or major
179
-
180
- # Rebuild
181
- npm run compile
182
-
183
- # Publish to npm
184
- npm publish
185
- ```
186
-
187
- ---
188
-
189
- ## 🐛 Troubleshooting
190
-
191
- ### "zerostart: command not found"
192
-
193
- **Problem:** You installed without the `-g` flag.
194
-
195
- **Solution:**
196
- ```bash
197
- # Remove local installation
198
- rm -rf node_modules package-lock.json
199
-
200
- # Install globally
201
- npm install -g zerostart-cli
202
- ```
203
-
204
- ### "Git is not installed"
205
-
206
- **Problem:** Git is not in your system PATH.
207
-
208
- **Solution:** Install Git from [git-scm.com](https://git-scm.com/) and ensure it's in your PATH.
209
-
210
- ### "GitHub repository creation failed"
211
-
212
- **Problem:** Invalid or insufficient GitHub token permissions.
213
-
214
- **Solution:** Generate a new token with `repo` scope from GitHub settings.
215
-
216
- ---
217
-
218
- ## 📄 License
219
-
220
- MIT
221
-
222
- ---
223
-
224
- ## 🤝 Contributing
225
-
226
- Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
227
-
228
- ---
229
-
230
- ## 📧 Support
231
-
232
- - 📦 npm: [zerostart-cli](https://www.npmjs.com/package/zerostart-cli)
233
- - 🐙 GitHub: [Issues](https://github.com/yourusername/zerostart-cli/issues)
234
-
235
- ---
236
-
237
- **Made with ❤️ by ZeroStart Team**
1
+ # ZeroStart CLI 🚀
2
+
3
+ Create and deploy a complete project with **one command**.
4
+
5
+ [![npm version](https://img.shields.io/npm/v/zerostart-cli.svg)](https://www.npmjs.com/package/zerostart-cli)
6
+ [![npm downloads](https://img.shields.io/npm/dm/zerostart-cli.svg)](https://www.npmjs.com/package/zerostart-cli)
7
+
8
+ ---
9
+
10
+ ## 📦 Installation
11
+
12
+ **⚠️ IMPORTANT: Use the `-g` flag to install globally!**
13
+
14
+ ```bash
15
+ npm install -g zerostart-cli
16
+ ```
17
+
18
+ > **Why `-g`?** The `-g` flag installs ZeroStart globally on your system, making the `zerostart` command available from anywhere in your terminal. Without it, you'll only get `node_modules` and `package-lock.json` files, and the CLI won't work!
19
+
20
+ ---
21
+
22
+ ## 🚀 Quick Start
23
+
24
+ After installing globally, create a new project:
25
+
26
+ ```bash
27
+ zerostart my-awesome-project
28
+ ```
29
+
30
+ Or simply run:
31
+
32
+ ```bash
33
+ zerostart
34
+ ```
35
+
36
+ Then follow the interactive prompts!
37
+
38
+ ---
39
+
40
+ ## ✨ Features
41
+
42
+ - 🎯 **Interactive CLI** - Guided prompts for project setup
43
+ - 🌐 **Multiple Languages** - Node.js, React, Python, Java, C++
44
+ - 📦 **Project Types** - Web App, CLI Tool, DSA Practice, ML Project
45
+ - 🔧 **Auto-scaffolding** - Complete project structure generation
46
+ - 📝 **Documentation** - Auto-generated README, roadmap, .gitignore
47
+ - 🔄 **Git Integration** - Automatic Git initialization and first commit
48
+ - 🐙 **GitHub Integration** - Create and push to GitHub repository
49
+ - 🔒 **Visibility Control** - Choose public or private repositories
50
+
51
+ ---
52
+
53
+ ## 📖 Usage
54
+
55
+ ### Basic Usage
56
+
57
+ ```bash
58
+ # Create a project with interactive prompts
59
+ zerostart
60
+
61
+ # Create a project with a specific name
62
+ zerostart my-project-name
63
+
64
+ # Check version
65
+ zerostart --version
66
+
67
+ # Get help
68
+ zerostart --help
69
+ ```
70
+
71
+ ### Example Workflow
72
+
73
+ ```bash
74
+ $ zerostart my-web-app
75
+
76
+ ZeroStart: Project Starter AI
77
+
78
+ ? Select Programming Language: › Node.js
79
+ ? Select Project Type: › Web App
80
+ ? Select Repository Visibility: › Private
81
+ ? Create GitHub Repository? › Yes
82
+ ? Enter GitHub Personal Access Token: ********
83
+
84
+ ✔ Generating project structure...
85
+ ✔ Initializing Git...
86
+ ✔ Creating GitHub Repository...
87
+ ✔ Pushing to GitHub...
88
+ ✔ Project 'my-web-app' created successfully!
89
+
90
+ Path: C:\Users\YourName\my-web-app
91
+ To get started:
92
+ cd my-web-app
93
+ code .
94
+ ```
95
+
96
+ ---
97
+
98
+ ## 🛠️ Requirements
99
+
100
+ - **Node.js** (v18 or higher)
101
+ - **Git** (must be installed and in PATH)
102
+ - **GitHub Personal Access Token** (optional, for GitHub integration)
103
+
104
+ ### Getting a GitHub Token
105
+
106
+ 1. Go to [GitHub Settings → Developer settings → Personal access tokens](https://github.com/settings/tokens)
107
+ 2. Click "Generate new token (classic)"
108
+ 3. Select scopes: `repo` (full control of private repositories)
109
+ 4. Copy the token and use it when prompted by ZeroStart
110
+
111
+ ---
112
+
113
+ ## 🏗️ What Gets Created
114
+
115
+ ZeroStart automatically generates:
116
+
117
+ ```
118
+ my-project/
119
+ ├── src/
120
+ │ └── (language-specific files)
121
+ ├── .gitignore
122
+ ├── README.md
123
+ ├── roadmap.md
124
+ └── (additional config files based on language/type)
125
+ ```
126
+
127
+ Plus:
128
+ - ✅ Git repository initialized
129
+ - ✅ Initial commit made
130
+ - ✅ GitHub repository created (if requested)
131
+ - ✅ Code pushed to GitHub (if requested)
132
+
133
+ ---
134
+
135
+ ## 🔧 Development
136
+
137
+ Want to contribute or modify ZeroStart?
138
+
139
+ ### Setup
140
+
141
+ ```bash
142
+ # Clone the repository
143
+ git clone https://github.com/yourusername/zerostart-cli.git
144
+ cd zerostart-cli
145
+
146
+ # Install dependencies
147
+ npm install
148
+
149
+ # Build the project
150
+ npm run compile
151
+
152
+ # Test locally
153
+ node ./out/cli.js --help
154
+ ```
155
+
156
+ ### Project Structure
157
+
158
+ ```
159
+ src/
160
+ ├── cli.ts # CLI entry point
161
+ ├── extension.ts # VS Code extension entry (legacy)
162
+ ├── types.ts # TypeScript interfaces
163
+ ├── managers/
164
+ │ ├── TemplateManager.ts # Project scaffolding
165
+ │ ├── GitManager.ts # Git operations
166
+ │ └── ProjectManager.ts # Main orchestration
167
+ └── services/
168
+ ├── GitHubServiceCLI.ts # GitHub API (CLI)
169
+ └── GitHubService.ts # GitHub API (VS Code)
170
+ ```
171
+
172
+ ---
173
+
174
+ ## 📝 Publishing Updates
175
+
176
+ ```bash
177
+ # Update version
178
+ npm version patch # or minor, or major
179
+
180
+ # Rebuild
181
+ npm run compile
182
+
183
+ # Publish to npm
184
+ npm publish
185
+ ```
186
+
187
+ ---
188
+
189
+ ## 🐛 Troubleshooting
190
+
191
+ ### "zerostart: command not found"
192
+
193
+ **Problem:** You installed without the `-g` flag.
194
+
195
+ **Solution:**
196
+ ```bash
197
+ # Remove local installation
198
+ rm -rf node_modules package-lock.json
199
+
200
+ # Install globally
201
+ npm install -g zerostart-cli
202
+ ```
203
+
204
+ ### "Git is not installed"
205
+
206
+ **Problem:** Git is not in your system PATH.
207
+
208
+ **Solution:** Install Git from [git-scm.com](https://git-scm.com/) and ensure it's in your PATH.
209
+
210
+ ### "GitHub repository creation failed"
211
+
212
+ **Problem:** Invalid or insufficient GitHub token permissions.
213
+
214
+ **Solution:** Generate a new token with `repo` scope from GitHub settings.
215
+
216
+ ---
217
+
218
+ ## 📄 License
219
+
220
+ MIT
221
+
222
+ ---
223
+
224
+ ## 🤝 Contributing
225
+
226
+ Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
227
+
228
+ ---
229
+
230
+ ## 📧 Support
231
+
232
+ - 📦 npm: [zerostart-cli](https://www.npmjs.com/package/zerostart-cli)
233
+ - 🐙 GitHub: [Issues](https://github.com/yourusername/zerostart-cli/issues)
234
+
235
+ ---
236
+
237
+ **Made with ❤️ by ZeroStart Team**
@@ -0,0 +1,103 @@
1
+ # ZeroStart CLI - Verification Guide ✅
2
+
3
+ ## ✅ Publication Status: **CONFIRMED**
4
+
5
+ Your CLI tool `zerostart-cli` is **successfully published** to npm!
6
+
7
+ ---
8
+
9
+ ## 📦 Published Package Details
10
+
11
+ - **Package Name:** `zerostart-cli`
12
+ - **Version:** `0.0.6`
13
+ - **Description:** Create and deploy a complete project with one command
14
+ - **Registry:** npm (public)
15
+ - **Package URL:** https://www.npmjs.com/package/zerostart-cli
16
+
17
+ ---
18
+
19
+ ## 🧪 Verification Tests
20
+
21
+ ### Test 1: Check Package on npm Registry ✅
22
+
23
+ ```bash
24
+ npm view zerostart-cli
25
+ ```
26
+
27
+ **Expected Output:** Package information including version, description, and author
28
+
29
+ **Status:** ✅ PASSED
30
+
31
+ ---
32
+
33
+ ### Test 2: Local CLI Functionality ✅
34
+
35
+ ```bash
36
+ # From your project directory
37
+ node ./out/cli.js --version
38
+ node ./out/cli.js --help
39
+ ```
40
+
41
+ **Expected Output:**
42
+ - Version: `0.0.6`
43
+ - Help menu with usage instructions
44
+
45
+ **Status:** ✅ PASSED
46
+
47
+ ---
48
+
49
+ ### Test 3: Install from npm (Fresh Installation)
50
+
51
+ To verify users can install your CLI globally:
52
+
53
+ ```bash
54
+ # Install globally from npm
55
+ npm install -g zerostart-cli --force
56
+
57
+ # Verify installation
58
+ zerostart --version
59
+ zerostart --help
60
+ ```
61
+
62
+ **Expected Output:**
63
+ - Version: `0.0.6`
64
+ - Help menu showing available commands
65
+
66
+ ---
67
+
68
+ ### Test 4: Create a Test Project
69
+
70
+ Create a test project to verify full functionality:
71
+
72
+ ```bash
73
+ # Create a new test directory
74
+ cd C:\Users\kusha\Downloads
75
+ mkdir zerostart-test
76
+ cd zerostart-test
77
+
78
+ # Run ZeroStart CLI
79
+ zerostart my-test-project
80
+ ```
81
+
82
+ **Expected Behavior:**
83
+ 1. Prompts for programming language
84
+ 2. Prompts for project type
85
+ 3. Prompts for repository visibility
86
+ 4. Prompts for GitHub repository creation
87
+ 5. Creates project structure
88
+ 6. Initializes Git repository
89
+ 7. (Optional) Creates GitHub repository and pushes
90
+
91
+ ---
92
+
93
+ ## 🎯 Next Steps
94
+
95
+ ### 1. **Share Your CLI**
96
+ - Share the npm package link with others
97
+ - Add installation instructions to your README
98
+ - Promote on social media, GitHub, etc.
99
+
100
+ ---
101
+
102
+ **Last Verified:** 2026-02-13
103
+ **Status:** ✅ All Systems Operational
package/out/cli.js CHANGED
@@ -84,7 +84,7 @@ program
84
84
  {
85
85
  type: 'input',
86
86
  name: 'name',
87
- message: chalk_1.default.bold('Project Name:'),
87
+ message: 'Project Name:',
88
88
  validate: (input) => {
89
89
  if (input.trim() === '')
90
90
  return chalk_1.default.red('Project name is required!');
@@ -125,22 +125,39 @@ program
125
125
  }
126
126
  ]);
127
127
  let githubToken = null;
128
+ let authMethod = 'Personal Access Token';
129
+ const gitManager = new GitManager_1.GitManager(); // Instantiate early for checks
128
130
  // Only ask for token if user wants GitHub integration
129
131
  if (answers.createRemote) {
130
- showGitHubTokenHelp();
131
- const tokenAnswer = await inquirer_1.default.prompt([
132
- {
133
- type: 'password',
134
- name: 'githubToken',
135
- message: 'Enter GitHub Token (or press Enter to skip):',
136
- mask: '*'
132
+ const ghInstalled = await gitManager.checkGhInstalled();
133
+ const ghAuth = await gitManager.checkGhAuth();
134
+ if (ghInstalled && ghAuth) {
135
+ const authAnswer = await inquirer_1.default.prompt([
136
+ {
137
+ type: 'list',
138
+ name: 'method',
139
+ message: 'How would you like to authenticate?',
140
+ choices: ['GitHub CLI (Recommended)', 'Personal Access Token']
141
+ }
142
+ ]);
143
+ authMethod = authAnswer.method;
144
+ }
145
+ if (authMethod === 'Personal Access Token') {
146
+ showGitHubTokenHelp();
147
+ const tokenAnswer = await inquirer_1.default.prompt([
148
+ {
149
+ type: 'password',
150
+ name: 'githubToken',
151
+ message: 'Enter GitHub Token (or press Enter to skip):',
152
+ mask: '*'
153
+ }
154
+ ]);
155
+ githubToken = tokenAnswer.githubToken?.trim() || null;
156
+ if (!githubToken) {
157
+ console.log(chalk_1.default.yellow('\n ⚠️ Skipping GitHub integration (no token provided)'));
158
+ console.log(chalk_1.default.gray(' 💡 You can manually push later with: ') + chalk_1.default.cyan('git remote add origin <url>'));
159
+ answers.createRemote = false;
137
160
  }
138
- ]);
139
- githubToken = tokenAnswer.githubToken?.trim() || null;
140
- if (!githubToken) {
141
- console.log(chalk_1.default.yellow('\n ⚠️ Skipping GitHub integration (no token provided)'));
142
- console.log(chalk_1.default.gray(' 💡 You can manually push later with: ') + chalk_1.default.cyan('git remote add origin <url>'));
143
- answers.createRemote = false;
144
161
  }
145
162
  }
146
163
  const cwd = process.cwd();
@@ -169,7 +186,7 @@ program
169
186
  try {
170
187
  // Managers
171
188
  const templateManager = new TemplateManager_1.TemplateManager();
172
- const gitManager = new GitManager_1.GitManager();
189
+ // gitManager already instantiated
173
190
  const gitHubService = githubToken ? new GitHubServiceCLI_1.GitHubServiceCLI(githubToken) : null;
174
191
  // 0. Check Git
175
192
  if (!await gitManager.checkGitInstalled()) {
@@ -182,30 +199,62 @@ program
182
199
  spinner.text = chalk_1.default.cyan('📁 Generating project structure...');
183
200
  await templateManager.createProjectStructure(config);
184
201
  spinner.succeed(chalk_1.default.green('✓ Project structure created'));
185
- // 2. Git Init
202
+ // 2. Git Init & Initial Commits
186
203
  spinner.start(chalk_1.default.cyan('🔄 Initializing Git repository...'));
187
204
  await gitManager.init(config.path);
188
205
  await gitManager.commit(config.path, "🎉 Initial commit by ZeroStart");
189
- spinner.succeed(chalk_1.default.green('✓ Git repository initialized'));
206
+ // Update README and create second commit
207
+ try {
208
+ const readmePath = path.join(config.path, 'README.md');
209
+ if (fs.existsSync(readmePath)) {
210
+ fs.appendFileSync(readmePath, '\n\nGenerated by ZeroStart 🚀');
211
+ await gitManager.commit(config.path, "📚 Readme updated");
212
+ }
213
+ }
214
+ catch (error) {
215
+ console.warn(`Failed to update README: ${error}`);
216
+ }
217
+ spinner.succeed(chalk_1.default.green('✓ Git repository initialized with initial commits'));
190
218
  // 3. GitHub
191
- if (gitHubService && answers.createRemote) {
219
+ if (answers.createRemote) {
192
220
  spinner.start(chalk_1.default.cyan('🐙 Creating GitHub repository...'));
193
- const repoUrl = await gitHubService.createRepo(config);
221
+ let repoUrl;
222
+ if (authMethod === 'GitHub CLI') {
223
+ try {
224
+ repoUrl = await gitManager.createRepoWithGh(config.path, config.name, config.isTheRepoPublic);
225
+ }
226
+ catch (error) {
227
+ repoUrl = undefined;
228
+ spinner.fail(chalk_1.default.red(`GH CLI Error: ${error.message}`));
229
+ }
230
+ }
231
+ else if (gitHubService) {
232
+ repoUrl = await gitHubService.createRepo(config);
233
+ }
194
234
  if (repoUrl) {
195
235
  spinner.succeed(chalk_1.default.green('✓ GitHub repository created'));
196
236
  spinner.start(chalk_1.default.cyan('⬆️ Pushing to GitHub...'));
197
- await gitManager.addRemote(config.path, repoUrl);
237
+ // If GH CLI used, remote is already set to 'origin'
238
+ if (authMethod !== 'GitHub CLI') {
239
+ await gitManager.addRemote(config.path, repoUrl);
240
+ }
198
241
  await gitManager.push(config.path);
199
- // Cleanup token if used in URL
200
- if (repoUrl.includes('@github.com')) {
242
+ // Cleanup token if used in URL (only for non-CLI)
243
+ if (authMethod !== 'GitHub CLI' && repoUrl.includes('@github.com')) {
201
244
  const cleanUrl = repoUrl.replace(/\/\/[^@]+@/, '//');
202
245
  await gitManager.setRemoteUrl(config.path, cleanUrl);
203
246
  }
204
247
  spinner.succeed(chalk_1.default.green('✓ Pushed to GitHub'));
205
248
  }
206
249
  else {
207
- spinner.warn(chalk_1.default.yellow('⚠️ GitHub repository creation failed'));
208
- console.log(chalk_1.default.gray(' 💡 Check your token permissions and try again'));
250
+ // Only warn if we actually tried to create a repo (repoUrl is undefined but we entered the block)
251
+ if (!spinner.isSpinning) {
252
+ // It might have failed in GH CLI block with spinner.fail
253
+ }
254
+ else {
255
+ spinner.warn(chalk_1.default.yellow('⚠️ GitHub repository creation failed'));
256
+ console.log(chalk_1.default.gray(' 💡 Check your token permissions and try again'));
257
+ }
209
258
  }
210
259
  }
211
260
  // Success message
@@ -218,7 +267,7 @@ program
218
267
  console.log(chalk_1.default.gray(' ├─ ') + chalk_1.default.cyan(`cd ${name}`));
219
268
  console.log(chalk_1.default.gray(' └─ ') + chalk_1.default.cyan('code .') + chalk_1.default.gray(' (or your favorite editor)'));
220
269
  console.log();
221
- if (!answers.createRemote || !githubToken) {
270
+ if (!answers.createRemote || !githubToken && authMethod !== 'GitHub CLI') {
222
271
  console.log(chalk_1.default.bold.yellow(' 💡 To push to GitHub later:'));
223
272
  console.log(chalk_1.default.gray(' ├─ Create a repository on GitHub'));
224
273
  console.log(chalk_1.default.gray(' ├─ ') + chalk_1.default.cyan('git remote add origin <your-repo-url>'));
package/out/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,wDAAgC;AAChC,2CAA6B;AAC7B,uCAAyB;AACzB,8CAAsB;AACtB,kDAA0B;AAC1B,mCAAsE;AACtE,gEAA6D;AAC7D,sDAAmD;AACnD,kEAA+D;AAE/D,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,+CAA+C;AAC/C,SAAS,UAAU;IACf,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,sCAAsC;AACtC,SAAS,mBAAmB;IACxB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,yDAAyD,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5H,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3H,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,yDAAyD,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5H,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,yDAAyD,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5H,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,EAAE,CAAC;AAClB,CAAC;AAED,OAAO;KACF,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,uDAAuD,CAAC;KACpE,OAAO,CAAC,OAAO,CAAC;KAChB,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC;KAChD,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;IAC1B,IAAI,CAAC;QACD,UAAU,EAAE,CAAC;QAEb,sBAAsB;QACtB,IAAI,IAAI,GAAG,WAAW,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,UAAU,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;gBACrC;oBACI,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,eAAe;oBACxB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;wBACxB,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;4BAAE,OAAO,eAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;wBACvE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;4BAAE,OAAO,eAAK,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;wBAC7G,OAAO,IAAI,CAAC;oBAChB,CAAC;iBACJ;aACJ,CAAC,CAAC;YACH,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,iBAAiB;QACjB,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YAClC;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,8BAA8B;gBACvC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAe,CAAC;aAC1C;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,sBAAsB;gBAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAW,CAAC;aACtC;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,+BAA+B;gBACxC,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;gBAC9B,OAAO,EAAE,SAAS;aACrB;YACD;gBACI,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,KAAK;aACjB;SACJ,CAAC,CAAC;QAEH,IAAI,WAAW,GAAG,IAAI,CAAC;QACvB,IAAI,UAAU,GAAG,uBAAuB,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,uBAAU,EAAE,CAAC,CAAC,+BAA+B;QAEpE,sDAAsD;QACtD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,gBAAgB,EAAE,CAAC;YACxD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;YAE9C,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;oBACrC;wBACI,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,qCAAqC;wBAC9C,OAAO,EAAE,CAAC,0BAA0B,EAAE,uBAAuB,CAAC;qBACjE;iBACJ,CAAC,CAAC;gBACH,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;YACnC,CAAC;YAED,IAAI,UAAU,KAAK,uBAAuB,EAAE,CAAC;gBACzC,mBAAmB,EAAE,CAAC;gBAEtB,MAAM,WAAW,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;oBACtC;wBACI,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,8CAA8C;wBACvD,IAAI,EAAE,GAAG;qBACZ;iBACJ,CAAC,CAAC;gBAEH,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;gBAEtD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yDAAyD,CAAC,CAAC,CAAC;oBACrF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;oBAC/G,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;gBACjC,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEzC,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,wBAAwB,GAAG,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC,CAAC;YACtF,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,MAAM,GAAkB;YAC1B,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,eAAe,EAAE,OAAO,CAAC,UAAU,KAAK,QAAQ;YAChD,WAAW,EAAE,KAAK,OAAO,CAAC,IAAI,eAAe,OAAO,CAAC,QAAQ,EAAE;YAC/D,IAAI,EAAE,WAAW;SACpB,CAAC;QAEF,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC;YAChB,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM;SAClB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEX,IAAI,CAAC;YACD,WAAW;YACX,MAAM,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;YAC9C,kCAAkC;YAClC,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,mCAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAE7E,eAAe;YACf,IAAI,CAAC,MAAM,UAAU,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC5F,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO;YACX,CAAC;YAED,eAAe;YACf,OAAO,CAAC,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YAChE,MAAM,eAAe,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACrD,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAE5D,gCAAgC;YAChC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC/D,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;YAEvE,yCAAyC;YACzC,IAAI,CAAC;gBACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACvD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC5B,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,+BAA+B,CAAC,CAAC;oBAC/D,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAC;YAElF,YAAY;YACZ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;gBAC9D,IAAI,OAA2B,CAAC;gBAEhC,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;oBAC9B,IAAI,CAAC;wBACD,OAAO,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;oBAClG,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBAClB,OAAO,GAAG,SAAS,CAAC;wBACpB,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBAC9D,CAAC;gBACL,CAAC;qBAAM,IAAI,aAAa,EAAE,CAAC;oBACvB,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACrD,CAAC;gBAED,IAAI,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;oBAE5D,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;oBAEtD,oDAAoD;oBACpD,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;wBAC9B,MAAM,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACrD,CAAC;oBAED,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAEnC,kDAAkD;oBAClD,IAAI,UAAU,KAAK,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;wBACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;wBACrD,MAAM,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBACzD,CAAC;oBAED,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACJ,kGAAkG;oBAClG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;wBACtB,yDAAyD;oBAC7D,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAC;wBACpE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAC;oBAC/E,CAAC;gBACL,CAAC;YACL,CAAC;YAED,kBAAkB;YAClB,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACnG,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,WAAW,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;gBACvE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;gBAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;gBACvF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBACzE,OAAO,CAAC,GAAG,EAAE,CAAC;YAClB,CAAC;QAEL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC,CAAC;YACpF,OAAO,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;IAEL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;AACL,CAAC,CAAC,CAAC;AAEP,8BAA8B;AAC9B,SAAS,gBAAgB,CAAC,IAAY;IAClC,MAAM,MAAM,GAA8B;QACtC,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,GAAG;KACb,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAChC,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAC9B,MAAM,MAAM,GAA8B;QACtC,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE,IAAI;KACrB,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAChC,CAAC;AAED,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -91,6 +91,45 @@ class GitManager {
91
91
  console.warn(`Failed to set remote url: ${error.message}`);
92
92
  }
93
93
  }
94
+ async checkGhInstalled() {
95
+ try {
96
+ await exec('gh --version');
97
+ return true;
98
+ }
99
+ catch (error) {
100
+ return false;
101
+ }
102
+ }
103
+ async checkGhAuth() {
104
+ try {
105
+ await exec('gh auth status');
106
+ return true;
107
+ }
108
+ catch (error) {
109
+ return false;
110
+ }
111
+ }
112
+ async createRepoWithGh(cwd, name, isPublic) {
113
+ try {
114
+ const visibility = isPublic ? '--public' : '--private';
115
+ // Create repo and push
116
+ // gh repo create <name> --<visibility> --source=. --remote=origin --push
117
+ await exec(`gh repo create "${name}" ${visibility} --source=. --remote=origin`, { cwd });
118
+ return `https://github.com/${(await this.getGhUser())}/${name}`;
119
+ }
120
+ catch (error) {
121
+ throw new Error(`Failed to create repo with gh: ${error.message}`);
122
+ }
123
+ }
124
+ async getGhUser() {
125
+ try {
126
+ const { stdout } = await exec('gh api user --jq .login');
127
+ return stdout.trim();
128
+ }
129
+ catch {
130
+ return 'unknown';
131
+ }
132
+ }
94
133
  }
95
134
  exports.GitManager = GitManager;
96
135
  //# sourceMappingURL=GitManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GitManager.js","sourceRoot":"","sources":["../../src/managers/GitManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAAoC;AACpC,2CAA6B;AAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAErC,MAAa,UAAU;IACZ,KAAK,CAAC,iBAAiB;QAC1B,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,GAAW;QACzB,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,OAAe;QAC5C,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YACjC,MAAM,IAAI,CAAC,kBAAkB,OAAO,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAClD,wBAAwB;YACxB,MAAM,IAAI,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,wFAAwF;YACxF,OAAO,CAAC,IAAI,CAAC,uCAAuC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,GAAW;QAC3C,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,yBAAyB,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,GAAW;QACzB,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,yBAAyB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,GAAW;QAC9C,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,6BAA6B,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;CACJ;AArDD,gCAqDC"}
1
+ {"version":3,"file":"GitManager.js","sourceRoot":"","sources":["../../src/managers/GitManager.ts"],"names":[],"mappings":"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"}
@@ -94,45 +94,45 @@ class TemplateManager {
94
94
  fs.mkdirSync(fullPath, { recursive: true });
95
95
  }
96
96
  createReadme(config) {
97
- const content = `# ${config.name}
98
-
99
- ## Description
100
- ${config.description}
101
-
102
- ## Tech Stack
103
- - Language: ${config.language}
104
- - Type: ${config.type}
105
-
106
- ## Installation
107
- \`\`\`bash
108
- # Clone the repository
109
- git clone <repo-url>
110
- cd ${config.name}
111
-
112
- # Install dependencies
113
- npm install # or pip install -r requirements.txt / mvn install
114
- \`\`\`
115
-
116
- ## Usage
117
- \`\`\`bash
118
- npm start # or python main.py / java -jar target/app.jar
119
- \`\`\`
120
-
121
- ## Future Scope
122
- - Add more features
123
- - Improve UI/UX
124
- - optimize performance
97
+ const content = `# ${config.name}
98
+
99
+ ## Description
100
+ ${config.description}
101
+
102
+ ## Tech Stack
103
+ - Language: ${config.language}
104
+ - Type: ${config.type}
105
+
106
+ ## Installation
107
+ \`\`\`bash
108
+ # Clone the repository
109
+ git clone <repo-url>
110
+ cd ${config.name}
111
+
112
+ # Install dependencies
113
+ npm install # or pip install -r requirements.txt / mvn install
114
+ \`\`\`
115
+
116
+ ## Usage
117
+ \`\`\`bash
118
+ npm start # or python main.py / java -jar target/app.jar
119
+ \`\`\`
120
+
121
+ ## Future Scope
122
+ - Add more features
123
+ - Improve UI/UX
124
+ - optimize performance
125
125
  `;
126
126
  fs.writeFileSync(path.join(config.path, 'README.md'), content);
127
127
  }
128
128
  createRoadmap(config) {
129
- const content = `# Roadmap for ${config.name}
130
-
131
- - [ ] Initial Setup
132
- - [ ] Core Features Implementation
133
- - [ ] Testing & Debugging
134
- - [ ] Documentation
135
- - [ ] Deployment
129
+ const content = `# Roadmap for ${config.name}
130
+
131
+ - [ ] Initial Setup
132
+ - [ ] Core Features Implementation
133
+ - [ ] Testing & Debugging
134
+ - [ ] Documentation
135
+ - [ ] Deployment
136
136
  `;
137
137
  fs.writeFileSync(path.join(config.path, 'roadmap.md'), content);
138
138
  }
@@ -179,35 +179,35 @@ npm start # or python main.py / java -jar target/app.jar
179
179
  async createJavaStructure(config) {
180
180
  const srcDir = path.join(config.path, 'src', 'main', 'java', 'com', 'example');
181
181
  fs.mkdirSync(srcDir, { recursive: true });
182
- const mainClass = `package com.example;
183
-
184
- public class Main {
185
- public static void main(String[] args) {
186
- System.out.println("Hello, World!");
187
- }
182
+ const mainClass = `package com.example;
183
+
184
+ public class Main {
185
+ public static void main(String[] args) {
186
+ System.out.println("Hello, World!");
187
+ }
188
188
  }`;
189
189
  fs.writeFileSync(path.join(srcDir, 'Main.java'), mainClass);
190
- const pomXml = `<project>
191
- <modelVersion>4.0.0</modelVersion>
192
- <groupId>com.example</groupId>
193
- <artifactId>${config.name}</artifactId>
194
- <version>1.0-SNAPSHOT</version>
190
+ const pomXml = `<project>
191
+ <modelVersion>4.0.0</modelVersion>
192
+ <groupId>com.example</groupId>
193
+ <artifactId>${config.name}</artifactId>
194
+ <version>1.0-SNAPSHOT</version>
195
195
  </project>`;
196
196
  fs.writeFileSync(path.join(config.path, 'pom.xml'), pomXml);
197
197
  }
198
198
  async createCPPStructure(config) {
199
- const mainCpp = `#include <iostream>
200
-
201
- int main() {
202
- std::cout << "Hello, World!" << std::endl;
203
- return 0;
199
+ const mainCpp = `#include <iostream>
200
+
201
+ int main() {
202
+ std::cout << "Hello, World!" << std::endl;
203
+ return 0;
204
204
  }`;
205
205
  fs.writeFileSync(path.join(config.path, 'main.cpp'), mainCpp);
206
- const cmake = `cmake_minimum_required(VERSION 3.10)
207
- project(${config.name})
208
-
209
- set(CMAKE_CXX_STANDARD 11)
210
-
206
+ const cmake = `cmake_minimum_required(VERSION 3.10)
207
+ project(${config.name})
208
+
209
+ set(CMAKE_CXX_STANDARD 11)
210
+
211
211
  add_executable(${config.name} main.cpp)`;
212
212
  fs.writeFileSync(path.join(config.path, 'CMakeLists.txt'), cmake);
213
213
  }
@@ -240,91 +240,91 @@ add_executable(${config.name} main.cpp)`;
240
240
  const src = path.join(config.path, 'src');
241
241
  if (!fs.existsSync(src))
242
242
  fs.mkdirSync(src);
243
- fs.writeFileSync(path.join(src, 'App.tsx'), `
244
- import React from 'react';
245
-
246
- function App() {
247
- return (
248
- <div>
249
- <h1>Hello React + Vite!</h1>
250
- </div>
251
- );
252
- }
253
-
254
- export default App;
243
+ fs.writeFileSync(path.join(src, 'App.tsx'), `
244
+ import React from 'react';
245
+
246
+ function App() {
247
+ return (
248
+ <div>
249
+ <h1>Hello React + Vite!</h1>
250
+ </div>
251
+ );
252
+ }
253
+
254
+ export default App;
255
255
  `);
256
- fs.writeFileSync(path.join(src, 'main.tsx'), `
257
- import React from 'react'
258
- import ReactDOM from 'react-dom/client'
259
- import App from './App.tsx'
260
-
261
- ReactDOM.createRoot(document.getElementById('root')!).render(
262
- <React.StrictMode>
263
- <App />
264
- </React.StrictMode>,
265
- )
256
+ fs.writeFileSync(path.join(src, 'main.tsx'), `
257
+ import React from 'react'
258
+ import ReactDOM from 'react-dom/client'
259
+ import App from './App.tsx'
260
+
261
+ ReactDOM.createRoot(document.getElementById('root')!).render(
262
+ <React.StrictMode>
263
+ <App />
264
+ </React.StrictMode>,
265
+ )
266
266
  `);
267
- fs.writeFileSync(path.join(config.path, 'index.html'), `
268
- <!doctype html>
269
- <html lang="en">
270
- <head>
271
- <meta charset="UTF-8" />
272
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
273
- <title>${config.name}</title>
274
- </head>
275
- <body>
276
- <div id="root"></div>
277
- <script type="module" src="/src/main.tsx"></script>
278
- </body>
279
- </html>
267
+ fs.writeFileSync(path.join(config.path, 'index.html'), `
268
+ <!doctype html>
269
+ <html lang="en">
270
+ <head>
271
+ <meta charset="UTF-8" />
272
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
273
+ <title>${config.name}</title>
274
+ </head>
275
+ <body>
276
+ <div id="root"></div>
277
+ <script type="module" src="/src/main.tsx"></script>
278
+ </body>
279
+ </html>
280
280
  `);
281
- fs.writeFileSync(path.join(config.path, 'vite.config.ts'), `
282
- import { defineConfig } from 'vite'
283
- import react from '@vitejs/plugin-react'
284
-
285
- // https://vitejs.dev/config/
286
- export default defineConfig({
287
- plugins: [react()],
288
- })
281
+ fs.writeFileSync(path.join(config.path, 'vite.config.ts'), `
282
+ import { defineConfig } from 'vite'
283
+ import react from '@vitejs/plugin-react'
284
+
285
+ // https://vitejs.dev/config/
286
+ export default defineConfig({
287
+ plugins: [react()],
288
+ })
289
289
  `);
290
- fs.writeFileSync(path.join(config.path, 'tsconfig.json'), `
291
- {
292
- "compilerOptions": {
293
- "target": "ES2020",
294
- "useDefineForClassFields": true,
295
- "lib": ["ES2020", "DOM", "DOM.Iterable"],
296
- "module": "ESNext",
297
- "skipLibCheck": true,
298
-
299
- /* Bundler mode */
300
- "moduleResolution": "bundler",
301
- "allowImportingTsExtensions": true,
302
- "resolveJsonModule": true,
303
- "isolatedModules": true,
304
- "noEmit": true,
305
- "jsx": "react-jsx",
306
-
307
- /* Linting */
308
- "strict": true,
309
- "noUnusedLocals": true,
310
- "noUnusedParameters": true,
311
- "noFallthroughCasesInSwitch": true
312
- },
313
- "include": ["src"],
314
- "references": [{ "path": "./tsconfig.node.json" }]
315
- }
290
+ fs.writeFileSync(path.join(config.path, 'tsconfig.json'), `
291
+ {
292
+ "compilerOptions": {
293
+ "target": "ES2020",
294
+ "useDefineForClassFields": true,
295
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
296
+ "module": "ESNext",
297
+ "skipLibCheck": true,
298
+
299
+ /* Bundler mode */
300
+ "moduleResolution": "bundler",
301
+ "allowImportingTsExtensions": true,
302
+ "resolveJsonModule": true,
303
+ "isolatedModules": true,
304
+ "noEmit": true,
305
+ "jsx": "react-jsx",
306
+
307
+ /* Linting */
308
+ "strict": true,
309
+ "noUnusedLocals": true,
310
+ "noUnusedParameters": true,
311
+ "noFallthroughCasesInSwitch": true
312
+ },
313
+ "include": ["src"],
314
+ "references": [{ "path": "./tsconfig.node.json" }]
315
+ }
316
316
  `);
317
- fs.writeFileSync(path.join(config.path, 'tsconfig.node.json'), `
318
- {
319
- "compilerOptions": {
320
- "composite": true,
321
- "skipLibCheck": true,
322
- "module": "ESNext",
323
- "moduleResolution": "bundler",
324
- "allowSyntheticDefaultImports": true
325
- },
326
- "include": ["vite.config.ts"]
327
- }
317
+ fs.writeFileSync(path.join(config.path, 'tsconfig.node.json'), `
318
+ {
319
+ "compilerOptions": {
320
+ "composite": true,
321
+ "skipLibCheck": true,
322
+ "module": "ESNext",
323
+ "moduleResolution": "bundler",
324
+ "allowSyntheticDefaultImports": true
325
+ },
326
+ "include": ["vite.config.ts"]
327
+ }
328
328
  `);
329
329
  }
330
330
  }
package/package.json CHANGED
@@ -1,55 +1,55 @@
1
- {
2
- "name": "zerostart-cli",
3
- "displayName": "ZeroStart",
4
- "bin": {
5
- "zerostart": "./out/cli.js"
6
- },
7
- "description": "Create and deploy a complete project with one command.",
8
- "version": "0.0.6",
9
- "engines": {
10
- "vscode": "^1.85.0"
11
- },
12
- "categories": [
13
- "Other"
14
- ],
15
- "activationEvents": [],
16
- "main": "./out/extension.js",
17
- "contributes": {
18
- "commands": [
19
- {
20
- "command": "zerostart.create",
21
- "title": "ZeroStart"
22
- }
23
- ]
24
- },
25
- "scripts": {
26
- "vscode:prepublish": "npm run compile",
27
- "compile": "tsc -p ./",
28
- "watch": "tsc -watch -p ./",
29
- "pretest": "npm run compile && npm run lint",
30
- "lint": "eslint src --ext ts",
31
- "test": "node ./out/test/runTest.js"
32
- },
33
- "devDependencies": {
34
- "@types/glob": "^8.1.0",
35
- "@types/inquirer": "^9.0.9",
36
- "@types/mocha": "^10.0.6",
37
- "@types/node": "18.x",
38
- "@types/ora": "^3.1.0",
39
- "@types/vscode": "^1.85.0",
40
- "@typescript-eslint/eslint-plugin": "^6.13.1",
41
- "@typescript-eslint/parser": "^6.13.1",
42
- "@vscode/test-electron": "^2.3.8",
43
- "eslint": "^8.54.0",
44
- "glob": "^10.3.10",
45
- "mocha": "^10.2.0",
46
- "typescript": "^5.3.2"
47
- },
48
- "dependencies": {
49
- "@octokit/rest": "^19.0.13",
50
- "chalk": "^4.1.2",
51
- "commander": "^14.0.3",
52
- "inquirer": "^9.3.8",
53
- "ora": "^5.4.1"
54
- }
1
+ {
2
+ "name": "zerostart-cli",
3
+ "displayName": "ZeroStart",
4
+ "bin": {
5
+ "zerostart": "./out/cli.js"
6
+ },
7
+ "description": "Create and deploy a complete project with one command.",
8
+ "version": "0.0.7",
9
+ "engines": {
10
+ "vscode": "^1.85.0"
11
+ },
12
+ "categories": [
13
+ "Other"
14
+ ],
15
+ "activationEvents": [],
16
+ "main": "./out/extension.js",
17
+ "contributes": {
18
+ "commands": [
19
+ {
20
+ "command": "zerostart.create",
21
+ "title": "ZeroStart"
22
+ }
23
+ ]
24
+ },
25
+ "scripts": {
26
+ "vscode:prepublish": "npm run compile",
27
+ "compile": "tsc -p ./",
28
+ "watch": "tsc -watch -p ./",
29
+ "pretest": "npm run compile && npm run lint",
30
+ "lint": "eslint src --ext ts",
31
+ "test": "node ./out/test/runTest.js"
32
+ },
33
+ "devDependencies": {
34
+ "@types/glob": "^8.1.0",
35
+ "@types/inquirer": "^9.0.9",
36
+ "@types/mocha": "^10.0.6",
37
+ "@types/node": "18.x",
38
+ "@types/ora": "^3.1.0",
39
+ "@types/vscode": "^1.85.0",
40
+ "@typescript-eslint/eslint-plugin": "^6.13.1",
41
+ "@typescript-eslint/parser": "^6.13.1",
42
+ "@vscode/test-electron": "^2.3.8",
43
+ "eslint": "^8.54.0",
44
+ "glob": "^10.3.10",
45
+ "mocha": "^10.2.0",
46
+ "typescript": "^5.3.2"
47
+ },
48
+ "dependencies": {
49
+ "@octokit/rest": "^19.0.13",
50
+ "chalk": "^4.1.2",
51
+ "commander": "^14.0.3",
52
+ "inquirer": "^9.3.8",
53
+ "ora": "^5.4.1"
54
+ }
55
55
  }