videonut 1.2.0 → 1.2.3
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 +37 -2
- package/bin/videonut.js +19 -5
- package/package.json +1 -1
- package/setup.js +30 -6
package/README.md
CHANGED
|
@@ -53,8 +53,43 @@ VideoNut transforms your ideas into **production-ready YouTube documentaries** u
|
|
|
53
53
|
|
|
54
54
|
## 📦 Quick Install
|
|
55
55
|
|
|
56
|
-
### Prerequisites
|
|
57
|
-
|
|
56
|
+
### ⚠️ Prerequisites: Install Node.js First
|
|
57
|
+
|
|
58
|
+
VideoNut requires **Node.js 18+** to run. Choose one method to install:
|
|
59
|
+
|
|
60
|
+
<details>
|
|
61
|
+
<summary><b>📥 Option A: Download from Website (Easiest)</b></summary>
|
|
62
|
+
|
|
63
|
+
1. Go to **[nodejs.org](https://nodejs.org)**
|
|
64
|
+
2. Download the **LTS version** (recommended)
|
|
65
|
+
3. Run the installer and follow the prompts
|
|
66
|
+
4. Restart your computer
|
|
67
|
+
5. Verify installation: `node --version` and `npm --version`
|
|
68
|
+
|
|
69
|
+
</details>
|
|
70
|
+
|
|
71
|
+
<details>
|
|
72
|
+
<summary><b>💻 Option B: Install via Command Line</b></summary>
|
|
73
|
+
|
|
74
|
+
**Windows (PowerShell as Administrator):**
|
|
75
|
+
```powershell
|
|
76
|
+
winget install OpenJS.NodeJS.LTS
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**macOS:**
|
|
80
|
+
```bash
|
|
81
|
+
brew install node
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Linux (Ubuntu/Debian):**
|
|
85
|
+
```bash
|
|
86
|
+
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
|
87
|
+
sudo apt-get install -y nodejs
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
</details>
|
|
91
|
+
|
|
92
|
+
---
|
|
58
93
|
|
|
59
94
|
### Option 1: NPX (Recommended)
|
|
60
95
|
```bash
|
package/bin/videonut.js
CHANGED
|
@@ -427,7 +427,8 @@ async function runInit() {
|
|
|
427
427
|
console.log('Which CLI would you like to install?');
|
|
428
428
|
console.log(' 1. Gemini CLI (recommended - by Google)');
|
|
429
429
|
console.log(' 2. Claude CLI (by Anthropic)');
|
|
430
|
-
console.log(' 3.
|
|
430
|
+
console.log(' 3. Qwen CLI (by Alibaba)');
|
|
431
|
+
console.log(' 4. Skip - I will install manually\n');
|
|
431
432
|
|
|
432
433
|
const choice = await ask('Enter choice [1]: ');
|
|
433
434
|
|
|
@@ -437,22 +438,35 @@ async function runInit() {
|
|
|
437
438
|
info('Installing Claude CLI globally...');
|
|
438
439
|
execSync('npm install -g @anthropic-ai/claude-code', { stdio: 'inherit' });
|
|
439
440
|
success('Claude CLI installed successfully!');
|
|
441
|
+
info('Run "claude" to start Claude CLI');
|
|
440
442
|
selectedCli = 'claude';
|
|
441
443
|
} catch (e) {
|
|
442
444
|
error('Failed to install Claude CLI');
|
|
443
445
|
info('Please install manually: npm install -g @anthropic-ai/claude-code');
|
|
444
446
|
}
|
|
445
|
-
} else if (choice
|
|
447
|
+
} else if (choice === '3') {
|
|
448
|
+
// Install Qwen CLI
|
|
449
|
+
try {
|
|
450
|
+
info('Installing Qwen CLI globally...');
|
|
451
|
+
execSync('npm install -g @qwen-code/qwen-code', { stdio: 'inherit' });
|
|
452
|
+
success('Qwen CLI installed successfully!');
|
|
453
|
+
info('Run "qwen" to start Qwen CLI');
|
|
454
|
+
selectedCli = 'qwen';
|
|
455
|
+
} catch (e) {
|
|
456
|
+
error('Failed to install Qwen CLI');
|
|
457
|
+
info('Please install manually: npm install -g @qwen-code/qwen-code');
|
|
458
|
+
}
|
|
459
|
+
} else if (choice !== '4') {
|
|
446
460
|
// Install Gemini CLI (default)
|
|
447
461
|
try {
|
|
448
462
|
info('Installing Gemini CLI globally...');
|
|
449
|
-
execSync('npm install -g @
|
|
450
|
-
// Note: Replace with actual Gemini CLI package when available
|
|
451
|
-
// For now using placeholder - actual command may be different
|
|
463
|
+
execSync('npm install -g @google/gemini-cli', { stdio: 'inherit' });
|
|
452
464
|
success('Gemini CLI installed successfully!');
|
|
465
|
+
info('Run "gemini" to start Gemini CLI');
|
|
453
466
|
selectedCli = 'gemini';
|
|
454
467
|
} catch (e) {
|
|
455
468
|
warning('Could not auto-install Gemini CLI');
|
|
469
|
+
info('Please install manually: npm install -g @google/gemini-cli');
|
|
456
470
|
console.log('\nPlease install Gemini CLI manually following official documentation');
|
|
457
471
|
}
|
|
458
472
|
}
|
package/package.json
CHANGED
package/setup.js
CHANGED
|
@@ -261,16 +261,40 @@ async function main() {
|
|
|
261
261
|
if (hasClaude) success('Claude CLI found');
|
|
262
262
|
} else {
|
|
263
263
|
warning('No AI CLI found.');
|
|
264
|
-
console.log('\
|
|
265
|
-
|
|
264
|
+
console.log('\nWhich CLI would you like to install?');
|
|
265
|
+
console.log(' 1. Gemini CLI (recommended - by Google)');
|
|
266
|
+
console.log(' 2. Claude CLI (by Anthropic)');
|
|
267
|
+
console.log(' 3. Qwen CLI (by Alibaba)');
|
|
268
|
+
console.log(' 4. Skip - I will install manually\n');
|
|
266
269
|
|
|
267
|
-
|
|
270
|
+
const answer = await ask('Enter choice [1]: ');
|
|
271
|
+
|
|
272
|
+
if (answer === '2') {
|
|
268
273
|
try {
|
|
269
|
-
info('Installing
|
|
274
|
+
info('Installing Claude CLI globally...');
|
|
270
275
|
execSync('npm install -g @anthropic-ai/claude-code', { stdio: 'inherit' });
|
|
271
|
-
success('
|
|
276
|
+
success('Claude CLI installed! Run "claude" to start.');
|
|
277
|
+
} catch (e) {
|
|
278
|
+
warning('Could not install CLI.');
|
|
279
|
+
info('Install manually: npm install -g @anthropic-ai/claude-code');
|
|
280
|
+
}
|
|
281
|
+
} else if (answer === '3') {
|
|
282
|
+
try {
|
|
283
|
+
info('Installing Qwen CLI globally...');
|
|
284
|
+
execSync('npm install -g @qwen-code/qwen-code', { stdio: 'inherit' });
|
|
285
|
+
success('Qwen CLI installed! Run "qwen" to start.');
|
|
286
|
+
} catch (e) {
|
|
287
|
+
warning('Could not install CLI.');
|
|
288
|
+
info('Install manually: npm install -g @qwen-code/qwen-code');
|
|
289
|
+
}
|
|
290
|
+
} else if (answer !== '4') {
|
|
291
|
+
try {
|
|
292
|
+
info('Installing Gemini CLI globally...');
|
|
293
|
+
execSync('npm install -g @google/gemini-cli', { stdio: 'inherit' });
|
|
294
|
+
success('Gemini CLI installed! Run "gemini" to start.');
|
|
272
295
|
} catch (e) {
|
|
273
|
-
warning('Could not install CLI.
|
|
296
|
+
warning('Could not install CLI.');
|
|
297
|
+
info('Install manually: npm install -g @google/gemini-cli');
|
|
274
298
|
}
|
|
275
299
|
}
|
|
276
300
|
}
|