zerostart-cli 0.0.40 → 0.0.42

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 (3) hide show
  1. package/README.md +104 -179
  2. package/out/cli.js +14 -8
  3. package/package.json +3 -2
package/README.md CHANGED
@@ -1,270 +1,195 @@
1
1
  # ZeroStart CLI 🚀
2
2
 
3
- Create and deploy a complete project with **one command**.
3
+ > **Create and deploy a complete project in seconds.**
4
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)
5
+ [![npm version](https://img.shields.io/npm/v/zerostart-cli?color=cyan&label=version&style=flat-square)](https://www.npmjs.com/package/zerostart-cli)
6
+ [![npm downloads](https://img.shields.io/npm/dm/zerostart-cli?color=blue&style=flat-square)](https://www.npmjs.com/package/zerostart-cli)
7
+ [![License: MIT](https://img.shields.io/badge/license-MIT-green?style=flat-square)](./LICENSE)
8
+
9
+ **ZeroStart** is a developer CLI that scaffolds a fully structured project, initializes Git with human-style commits, and optionally pushes to GitHub or deploys to Vercel — all from a single interactive command.
10
+
11
+ 🌐 **Website:** [zerostart.zeroonedevs.in](https://zerostart.zeroonedevs.in)
12
+ 📦 **npm:** [npmjs.com/package/zerostart-cli](https://www.npmjs.com/package/zerostart-cli)
7
13
 
8
14
  ---
9
15
 
10
16
  ## 📦 Installation
11
17
 
12
- **⚠️ IMPORTANT: Use the `-g` flag to install globally!**
18
+ Install globally to use the `zerostart` command anywhere:
13
19
 
14
20
  ```bash
15
21
  npm install -g zerostart-cli
16
22
  ```
17
23
 
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!
24
+ > ⚠️ **Must use `-g`** without the global flag, the CLI won't be available in your terminal.
19
25
 
20
26
  ---
21
27
 
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:
28
+ ## Quick Start
31
29
 
32
30
  ```bash
33
31
  zerostart
34
32
  ```
35
33
 
36
- Then follow the interactive prompts!
34
+ That's it. Follow the interactive wizard to set up your project, push to GitHub, and optionally deploy to Vercel.
37
35
 
38
36
  ---
39
37
 
40
- ## ✨ Features
38
+ ## ✨ What It Does
41
39
 
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
40
+ | Step | What Happens |
41
+ | :--- | :--- |
42
+ | 🎯 Pick a category | Web Dev or Competitive Programming |
43
+ | 🔤 Pick a language | React, TypeScript, HTML/CSS, C++, Java, Python |
44
+ | 📝 Name your project | Enter any project name |
45
+ | 🐙 GitHub integration | Optionally create a repo and push with real commits |
46
+ | 🚀 Deploy or run locally | Deploy to Vercel instantly, or get `cd` instructions |
49
47
 
50
48
  ---
51
49
 
52
- ## 📖 Usage
50
+ ## 🛠 Commands
53
51
 
54
- ### Basic Usage
52
+ ### Core
55
53
 
56
- ```bash
57
- # Create a project with interactive prompts
58
- zerostart
54
+ | Command | Description |
55
+ | :--- | :--- |
56
+ | `zerostart` | Launch the full interactive wizard |
57
+ | `zerostart init [name]` | Start a new project (with optional name) |
58
+ | `zerostart deploy` | Deploy the current project (Vercel / Netlify) |
59
+ | `zerostart git` | Initialize Git + optionally push to GitHub |
60
+ | `zerostart docs` | Open the ZeroStart website in your browser |
61
+ | `zerostart update` | Check for CLI updates |
59
62
 
60
- # Create a project with a specific name
61
- zerostart my-project-name
63
+ ### Shortcut Commands
62
64
 
63
- # Check version
64
- zerostart --version
65
+ Skip the wizard — create a project in one line:
65
66
 
66
- # Get help
67
- zerostart --help
67
+ ```bash
68
+ zerostart dsa-cpp my-solution
69
+ zerostart web-react my-portfolio
70
+ zerostart ml-py my-model
68
71
  ```
69
72
 
70
- ### Shortcut Commands ⚡
73
+ **All shortcuts:**
71
74
 
72
- Skip the wizard and build instantly:
73
-
74
- | Category | Shortcut Commands |
75
+ | Category | Commands |
75
76
  | :--- | :--- |
76
77
  | **DSA Practice** | `dsa-py`, `dsa-java`, `dsa-cpp` |
77
78
  | **Web Apps** | `web-react`, `web-html`, `web-py`, `web-java`, `web-cpp` |
78
79
  | **CLI Tools** | `cli-py`, `cli-java`, `cli-cpp` |
79
80
  | **ML Projects** | `ml-py`, `ml-java`, `ml-cpp` |
80
81
 
81
- **Example Usage**:
82
- ```bash
83
- zerostart dsa-cpp my-calculator
84
- ```
85
-
86
- ### Standalone Deployment
82
+ ### Dev Tools
87
83
 
88
- ```bash
89
- # Deploy the current project to Vercel
90
- zerostart deploy-vercel
91
- ```
84
+ | Command | Description |
85
+ | :--- | :--- |
86
+ | `zerostart dev` | Start the local development server |
87
+ | `zerostart build` | Build the project for production |
88
+ | `zerostart clean` | Remove `node_modules`, `dist`, cache files |
89
+ | `zerostart env` | Manage `.env` variables interactively |
90
+ | `zerostart test` | Set up a testing framework |
91
+ | `zerostart add [feature]` | Add features to an existing project |
92
92
 
93
- ### Example Workflow
93
+ ### Deployment
94
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
- ```
95
+ | Command | Description |
96
+ | :--- | :--- |
97
+ | `zerostart deploy-vercel` | Deploy current project to Vercel |
98
+ | `zerostart deploy-netlify` | Deploy current project to Netlify |
117
99
 
118
100
  ---
119
101
 
120
- ## 🛠️ Requirements
102
+ ## 🗂 Project Structure
121
103
 
122
- - **Node.js** (v18 or higher)
123
- - **Git** (must be installed and in PATH)
124
- - **GitHub Personal Access Token** (optional, for GitHub integration)
104
+ Every project created by ZeroStart includes:
125
105
 
126
- ### Getting a GitHub Token
106
+ ```
107
+ my-project/
108
+ ├── src/ ← Language-specific source files
109
+ ├── .gitignore
110
+ ├── README.md ← Auto-generated project README
111
+ ├── roadmap.md ← Editable project roadmap
112
+ └── (config files based on template)
113
+ ```
127
114
 
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
115
+ **Git history (2 human-style commits):**
116
+ ```
117
+ feat: initialize project with ZeroStart CLI
118
+ chore: add project structure and configuration files
119
+ ```
132
120
 
133
121
  ---
134
122
 
135
- ## 🏗️ What Gets Created
123
+ ## 🧰 Requirements
136
124
 
137
- ZeroStart automatically generates:
125
+ - **Node.js** v18 or higher
126
+ - **Git** — must be installed and in your PATH
127
+ - **GitHub PAT** — optional, only needed for GitHub push. [Create one here →](https://github.com/settings/tokens/new?scopes=repo&description=ZeroStart%20CLI%20Token)
138
128
 
129
+ ---
130
+
131
+ ## 🐛 Troubleshooting
132
+
133
+ **`zerostart: command not found`**
134
+ ```bash
135
+ # You missed the -g flag. Fix it:
136
+ npm install -g zerostart-cli
139
137
  ```
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
138
 
149
- Plus:
150
- - Git repository initialized
151
- - ✅ Initial commit made
152
- - ✅ GitHub repository created (if requested)
153
- - Code pushed to GitHub (if requested)
139
+ **`Git is not installed`**
140
+ Download and install Git from [git-scm.com](https://git-scm.com/)
141
+
142
+ **`GitHub repository creation failed`**
143
+ Make sure your token has the `repo` scope. [Generate a new token →](https://github.com/settings/tokens)
154
144
 
155
145
  ---
156
146
 
157
147
  ## 🔧 Development
158
148
 
159
- Want to contribute or modify ZeroStart?
160
-
161
- ### Setup
162
-
163
149
  ```bash
164
- # Clone the repository
165
- git clone https://github.com/yourusername/zerostart-cli.git
166
- cd zerostart-cli
150
+ # Clone the repo
151
+ git clone https://github.com/KushaalNayak/ZeroStart-cli.git
152
+ cd ZeroStart-cli
167
153
 
168
154
  # Install dependencies
169
155
  npm install
170
156
 
171
- # Build the project
157
+ # Build
172
158
  npm run compile
173
159
 
174
- # Test locally
175
- node ./out/cli.js --help
160
+ # Run locally
161
+ node ./out/cli.js
176
162
  ```
177
163
 
178
- ### Project Structure
164
+ ### Source Structure
179
165
 
180
166
  ```
181
167
  src/
182
- ├── cli.ts # CLI entry point
183
- ├── extension.ts # VS Code extension entry (legacy)
184
- ├── types.ts # TypeScript interfaces
168
+ ├── cli.ts CLI entry point & all commands
169
+ ├── types.ts TypeScript enums & interfaces
185
170
  ├── managers/
186
- │ ├── TemplateManager.ts # Project scaffolding
187
- │ ├── GitManager.ts # Git operations
188
- └── ProjectManager.ts # Main orchestration
171
+ │ ├── TemplateManager.ts Project file scaffolding
172
+ │ ├── GitManager.ts Git & GitHub operations
173
+ ├── ProjectManager.ts Orchestration
174
+ │ ├── VercelManager.ts ← Vercel deployment
175
+ │ └── NetlifyManager.ts ← Netlify deployment
189
176
  └── services/
190
- ├── GitHubServiceCLI.ts # GitHub API (CLI)
191
- └── GitHubService.ts # GitHub API (VS Code)
177
+ └── GitHubServiceCLI.ts GitHub REST API client
192
178
  ```
193
179
 
194
180
  ---
195
181
 
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
182
  ## 📄 License
241
183
 
242
- MIT
184
+ MIT © [ZeroStart](https://zerostart.zeroonedevs.in)
243
185
 
244
186
  ---
245
187
 
246
188
  ## 🤝 Contributing
247
189
 
248
- Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
190
+ PRs and issues are welcome!
191
+ Open one at [github.com/KushaalNayak/ZeroStart-cli](https://github.com/KushaalNayak/ZeroStart-cli/issues)
249
192
 
250
193
  ---
251
194
 
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
-
195
+ > **Made with ❤️ by the ZeroStart team — [zerostart.zeroonedevs.in](https://zerostart.zeroonedevs.in)**
package/out/cli.js CHANGED
@@ -50,6 +50,7 @@ const GitHubServiceCLI_1 = require("./services/GitHubServiceCLI");
50
50
  const VercelManager_1 = require("./managers/VercelManager");
51
51
  const NetlifyManager_1 = require("./managers/NetlifyManager");
52
52
  const child_process_1 = require("child_process");
53
+ const open_1 = __importDefault(require("open"));
53
54
  const program = new commander_1.Command();
54
55
  // Basic ASCII banner
55
56
  function showBanner() {
@@ -57,11 +58,13 @@ function showBanner() {
57
58
  console.log(chalk_1.default.cyan('------------------------------------------------------------'));
58
59
  console.log(chalk_1.default.bold.white(' ZeroStart CLI '));
59
60
  console.log(chalk_1.default.gray(' Create and deploy projects in seconds '));
61
+ console.log(chalk_1.default.gray(' 📘 Docs: ') + chalk_1.default.cyan.underline('https://zerostart.zeroonedevs.in'));
60
62
  console.log(chalk_1.default.cyan('------------------------------------------------------------'));
63
+ console.log();
61
64
  }
62
- function openUrl(url) {
63
- const start = (process.platform == 'darwin' ? 'open' : process.platform == 'win32' ? 'start' : 'xdg-open');
64
- (0, child_process_1.exec)(`${start} "${url}"`);
65
+ async function openUrl(url) {
66
+ console.log(chalk_1.default.cyan('🌐 Opening GitHub in your browser...'));
67
+ await (0, open_1.default)(url);
65
68
  }
66
69
  function showGitHubTokenHelp() {
67
70
  const tokenUrl = 'https://github.com/settings/tokens/new?scopes=repo&description=ZeroStart%20CLI%20Token';
@@ -176,7 +179,7 @@ async function initializeProject(name, language, type, options) {
176
179
  program
177
180
  .name('zerostart')
178
181
  .description('Create and deploy a complete project with one command')
179
- .version('0.0.38');
182
+ .version('0.0.41');
180
183
  // zerostart init [project-name]
181
184
  program
182
185
  .command('init [project-name]')
@@ -506,7 +509,7 @@ program
506
509
  return;
507
510
  }
508
511
  const latestVersion = stdout.trim();
509
- const currentVersion = '0.0.38';
512
+ const currentVersion = '0.0.41';
510
513
  if (latestVersion === currentVersion) {
511
514
  spinner.succeed(chalk_1.default.green('You are using the latest version!'));
512
515
  }
@@ -519,11 +522,14 @@ program
519
522
  // zerostart docs
520
523
  program
521
524
  .command('docs')
522
- .description('Open comprehensive documentation in your browser')
525
+ .description('Open the ZeroStart website and documentation in your browser')
523
526
  .action(() => {
524
527
  showBanner();
525
- const docsUrl = 'https://github.com/yourusername/zerostart-cli#readme';
526
- console.log(chalk_1.default.cyan(' Opening documentation...'));
528
+ const docsUrl = 'https://zerostart.zeroonedevs.in';
529
+ console.log(chalk_1.default.bold.cyan(' 🌐 Opening ZeroStart website...'));
530
+ console.log(chalk_1.default.gray(' URL: ') + chalk_1.default.cyan.underline(docsUrl));
531
+ console.log();
532
+ console.log(chalk_1.default.gray(' Explore commands, templates, and deployment guides at the site.'));
527
533
  openUrl(docsUrl);
528
534
  });
529
535
  // Standalone deployment commands
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "zerostart": "./out/cli.js"
6
6
  },
7
7
  "description": "Create and deploy a complete project with one command.",
8
- "version": "0.0.40",
8
+ "version": "0.0.42",
9
9
  "engines": {
10
10
  "vscode": "^1.85.0"
11
11
  },
@@ -43,6 +43,7 @@
43
43
  "chalk": "^4.1.2",
44
44
  "commander": "^14.0.3",
45
45
  "inquirer": "^9.3.8",
46
+ "open": "^8.4.2",
46
47
  "ora": "^5.4.1"
47
48
  }
48
- }
49
+ }