zerostart-cli 0.0.36 → 0.0.37
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 +270 -275
- package/out/cli.js +179 -35
- package/out/managers/ProjectManager.js +83 -31
- package/out/managers/TemplateManager.js +227 -212
- package/out/types.js +1 -1
- package/package.json +47 -54
- package/COMMAND_EXAMPLES.md +0 -262
- package/COMMAND_VERIFICATION.md +0 -275
- package/QUICK_TEST_GUIDE.md +0 -140
- package/VERIFICATION_SUMMARY.md +0 -213
- package/test-commands.sh +0 -190
package/README.md
CHANGED
|
@@ -1,275 +1,270 @@
|
|
|
1
|
-
# ZeroStart CLI 🚀
|
|
2
|
-
|
|
3
|
-
Create and deploy a complete project with **one command**.
|
|
4
|
-
|
|
5
|
-
[](https://www.npmjs.com/package/zerostart-cli)
|
|
6
|
-
[](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
|
-
- 🌐 **
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
- 📝 **Documentation** - Auto-generated README, roadmap, .gitignore
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
|
76
|
-
|
|
|
77
|
-
| **
|
|
78
|
-
| **
|
|
79
|
-
| **
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
├──
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
├──
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
1
|
+
# ZeroStart CLI 🚀
|
|
2
|
+
|
|
3
|
+
Create and deploy a complete project with **one command**.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/zerostart-cli)
|
|
6
|
+
[](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 with **Back** button support
|
|
43
|
+
- 🌐 **Modern Templates** - React, TypeScript, HTML/CSS, C++, Java, Python
|
|
44
|
+
- 🚀 **Online GDB Support** - Instant browser redirect for Java, C++, and Python
|
|
45
|
+
- 📦 **Auto-scaffolding** - Complete project structure generation
|
|
46
|
+
- 📝 **Documentation** - Auto-generated README, roadmap, .gitignore
|
|
47
|
+
- 🐙 **GitHub Integration** - Secure PAT-based creation and push
|
|
48
|
+
- 🔒 **Vercel Deployment** - Instant deployment prompt for HTML projects
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 📖 Usage
|
|
53
|
+
|
|
54
|
+
### Basic Usage
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Create a project with interactive prompts
|
|
58
|
+
zerostart
|
|
59
|
+
|
|
60
|
+
# Create a project with a specific name
|
|
61
|
+
zerostart my-project-name
|
|
62
|
+
|
|
63
|
+
# Check version
|
|
64
|
+
zerostart --version
|
|
65
|
+
|
|
66
|
+
# Get help
|
|
67
|
+
zerostart --help
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Shortcut Commands ⚡
|
|
71
|
+
|
|
72
|
+
Skip the wizard and build instantly:
|
|
73
|
+
|
|
74
|
+
| Category | Shortcut Commands |
|
|
75
|
+
| :--- | :--- |
|
|
76
|
+
| **DSA Practice** | `dsa-py`, `dsa-java`, `dsa-cpp` |
|
|
77
|
+
| **Web Apps** | `web-react`, `web-html`, `web-py`, `web-java`, `web-cpp` |
|
|
78
|
+
| **CLI Tools** | `cli-py`, `cli-java`, `cli-cpp` |
|
|
79
|
+
| **ML Projects** | `ml-py`, `ml-java`, `ml-cpp` |
|
|
80
|
+
|
|
81
|
+
**Example Usage**:
|
|
82
|
+
```bash
|
|
83
|
+
zerostart dsa-cpp my-calculator
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Standalone Deployment
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# Deploy the current project to Vercel
|
|
90
|
+
zerostart deploy-vercel
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Example Workflow
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
$ zerostart my-web-app
|
|
97
|
+
|
|
98
|
+
ZeroStart: Project Starter AI
|
|
99
|
+
|
|
100
|
+
? Select Programming Language: › Node.js
|
|
101
|
+
? Select Project Type: › Web App
|
|
102
|
+
? Select Repository Visibility: › Private
|
|
103
|
+
? Create GitHub Repository? › Yes
|
|
104
|
+
? Enter GitHub Personal Access Token: ********
|
|
105
|
+
|
|
106
|
+
✔ Generating project structure...
|
|
107
|
+
✔ Initializing Git...
|
|
108
|
+
✔ Creating GitHub Repository...
|
|
109
|
+
✔ Pushing to GitHub...
|
|
110
|
+
✔ Project 'my-web-app' created successfully!
|
|
111
|
+
|
|
112
|
+
Path: C:\Users\YourName\my-web-app
|
|
113
|
+
To get started:
|
|
114
|
+
cd my-web-app
|
|
115
|
+
code .
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 🛠️ Requirements
|
|
121
|
+
|
|
122
|
+
- **Node.js** (v18 or higher)
|
|
123
|
+
- **Git** (must be installed and in PATH)
|
|
124
|
+
- **GitHub Personal Access Token** (optional, for GitHub integration)
|
|
125
|
+
|
|
126
|
+
### Getting a GitHub Token
|
|
127
|
+
|
|
128
|
+
1. Go to [GitHub Settings → Developer settings → Personal access tokens](https://github.com/settings/tokens)
|
|
129
|
+
2. Click "Generate new token (classic)"
|
|
130
|
+
3. Select scopes: `repo` (full control of private repositories)
|
|
131
|
+
4. Copy the token and use it when prompted by ZeroStart
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## 🏗️ What Gets Created
|
|
136
|
+
|
|
137
|
+
ZeroStart automatically generates:
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
my-project/
|
|
141
|
+
├── src/
|
|
142
|
+
│ └── (language-specific files)
|
|
143
|
+
├── .gitignore
|
|
144
|
+
├── README.md
|
|
145
|
+
├── roadmap.md
|
|
146
|
+
└── (additional config files based on language/type)
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Plus:
|
|
150
|
+
- ✅ Git repository initialized
|
|
151
|
+
- ✅ Initial commit made
|
|
152
|
+
- ✅ GitHub repository created (if requested)
|
|
153
|
+
- ✅ Code pushed to GitHub (if requested)
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## 🔧 Development
|
|
158
|
+
|
|
159
|
+
Want to contribute or modify ZeroStart?
|
|
160
|
+
|
|
161
|
+
### Setup
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# Clone the repository
|
|
165
|
+
git clone https://github.com/yourusername/zerostart-cli.git
|
|
166
|
+
cd zerostart-cli
|
|
167
|
+
|
|
168
|
+
# Install dependencies
|
|
169
|
+
npm install
|
|
170
|
+
|
|
171
|
+
# Build the project
|
|
172
|
+
npm run compile
|
|
173
|
+
|
|
174
|
+
# Test locally
|
|
175
|
+
node ./out/cli.js --help
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Project Structure
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
src/
|
|
182
|
+
├── cli.ts # CLI entry point
|
|
183
|
+
├── extension.ts # VS Code extension entry (legacy)
|
|
184
|
+
├── types.ts # TypeScript interfaces
|
|
185
|
+
├── managers/
|
|
186
|
+
│ ├── TemplateManager.ts # Project scaffolding
|
|
187
|
+
│ ├── GitManager.ts # Git operations
|
|
188
|
+
│ └── ProjectManager.ts # Main orchestration
|
|
189
|
+
└── services/
|
|
190
|
+
├── GitHubServiceCLI.ts # GitHub API (CLI)
|
|
191
|
+
└── GitHubService.ts # GitHub API (VS Code)
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## 📝 Publishing Updates
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
# Update version
|
|
200
|
+
npm version patch # or minor, or major
|
|
201
|
+
|
|
202
|
+
# Rebuild
|
|
203
|
+
npm run compile
|
|
204
|
+
|
|
205
|
+
# Publish to npm
|
|
206
|
+
npm publish
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## 🐛 Troubleshooting
|
|
212
|
+
|
|
213
|
+
### "zerostart: command not found"
|
|
214
|
+
|
|
215
|
+
**Problem:** You installed without the `-g` flag.
|
|
216
|
+
|
|
217
|
+
**Solution:**
|
|
218
|
+
```bash
|
|
219
|
+
# Remove local installation
|
|
220
|
+
rm -rf node_modules package-lock.json
|
|
221
|
+
|
|
222
|
+
# Install globally
|
|
223
|
+
npm install -g zerostart-cli
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### "Git is not installed"
|
|
227
|
+
|
|
228
|
+
**Problem:** Git is not in your system PATH.
|
|
229
|
+
|
|
230
|
+
**Solution:** Install Git from [git-scm.com](https://git-scm.com/) and ensure it's in your PATH.
|
|
231
|
+
|
|
232
|
+
### "GitHub repository creation failed"
|
|
233
|
+
|
|
234
|
+
**Problem:** Invalid or insufficient GitHub token permissions.
|
|
235
|
+
|
|
236
|
+
**Solution:** Generate a new token with `repo` scope from GitHub settings.
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## 📄 License
|
|
241
|
+
|
|
242
|
+
MIT
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## 🤝 Contributing
|
|
247
|
+
|
|
248
|
+
Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## 📧 Support
|
|
253
|
+
|
|
254
|
+
- 📦 npm: [zerostart-cli](https://www.npmjs.com/package/zerostart-cli)
|
|
255
|
+
- 🐙 GitHub: [Issues](https://github.com/yourusername/zerostart-cli/issues)
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
**Made with ❤️ by ZeroStart Team**
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|