videonut 1.2.3 → 1.2.5

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
@@ -55,7 +55,7 @@ VideoNut transforms your ideas into **production-ready YouTube documentaries** u
55
55
 
56
56
  ### ⚠️ Prerequisites: Install Node.js First
57
57
 
58
- VideoNut requires **Node.js 18+** to run. Choose one method to install:
58
+ VideoNut requires **Node.js 20+** to run. Choose one method to install:
59
59
 
60
60
  <details>
61
61
  <summary><b>📥 Option A: Download from Website (Easiest)</b></summary>
package/bin/videonut.js CHANGED
@@ -396,6 +396,18 @@ async function runInit() {
396
396
  stdio: 'inherit'
397
397
  });
398
398
  success('Python requirements installed');
399
+
400
+ // Install Playwright browsers (needed for screenshot tools)
401
+ try {
402
+ info('Installing Playwright browsers (for screenshots)...');
403
+ execSync(`"${pythonCmd}" -m playwright install chromium`, {
404
+ stdio: 'inherit'
405
+ });
406
+ success('Playwright browsers installed');
407
+ } catch (e) {
408
+ warning('Could not install Playwright browsers');
409
+ info('Run manually: python -m playwright install chromium');
410
+ }
399
411
  } catch (e) {
400
412
  warning('Could not install Python requirements automatically');
401
413
  info(`Please run: ${pythonCmd} -m pip install -r ${reqPath}`);
@@ -477,14 +489,38 @@ async function runInit() {
477
489
  // ═══════════════════════════════════════════════════════════════
478
490
  header('Step 6/6: Final Setup');
479
491
 
480
- // Create a launch script
492
+ // Create paths for local tools
493
+ const localPythonPath = path.join(videoNutDir, 'python');
494
+ const localToolsPath = path.join(videoNutDir, 'tools', 'bin');
495
+
496
+ // Create a launch script that adds local Python and FFmpeg to PATH
481
497
  const launchScriptContent = isWindows
482
498
  ? `@echo off
483
- echo Starting VideoNut with ${selectedCli || 'your CLI'}...
499
+ REM Add local Python and FFmpeg to PATH for this session
500
+ set PATH=${localPythonPath};${localPythonPath}\\Scripts;${localToolsPath};%PATH%
501
+
502
+ echo.
503
+ echo ====================================
504
+ echo VideoNut Environment Ready!
505
+ echo Python: ${localPythonPath}
506
+ echo FFmpeg: ${localToolsPath}
507
+ echo ====================================
508
+ echo.
509
+ echo Starting ${selectedCli || 'your CLI'}...
484
510
  ${selectedCli || 'gemini'}
485
511
  `
486
512
  : `#!/bin/bash
487
- echo "Starting VideoNut with ${selectedCli || 'your CLI'}..."
513
+ # Add local Python and FFmpeg to PATH for this session
514
+ export PATH="${localPythonPath}:${localPythonPath}/bin:${localToolsPath}:$PATH"
515
+
516
+ echo ""
517
+ echo "===================================="
518
+ echo " VideoNut Environment Ready!"
519
+ echo " Python: ${localPythonPath}"
520
+ echo " FFmpeg: ${localToolsPath}"
521
+ echo "===================================="
522
+ echo ""
523
+ echo "Starting ${selectedCli || 'your CLI'}..."
488
524
  ${selectedCli || 'gemini'}
489
525
  `;
490
526
 
@@ -494,6 +530,7 @@ ${selectedCli || 'gemini'}
494
530
  execSync(`chmod +x "${launchScriptPath}"`);
495
531
  }
496
532
  success(`Created launch script: ${path.basename(launchScriptPath)}`);
533
+ info('Use this script to start with Python & FFmpeg in PATH!');
497
534
 
498
535
  // ═══════════════════════════════════════════════════════════════
499
536
  // INSTALLATION COMPLETE!
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "videonut",
3
- "version": "1.2.3",
3
+ "version": "1.2.5",
4
4
  "description": "AI-powered YouTube documentary production pipeline with 10 specialized agents for research, scripting, and asset management",
5
5
  "keywords": [
6
6
  "youtube",
@@ -60,6 +60,6 @@
60
60
  "LICENSE"
61
61
  ],
62
62
  "engines": {
63
- "node": ">=16.0.0"
63
+ "node": ">=20.0.0"
64
64
  }
65
65
  }
package/setup.js CHANGED
@@ -240,6 +240,16 @@ async function main() {
240
240
  info('Installing Python requirements...');
241
241
  execSync(`"${pythonCmd}" -m pip install -r "${reqPath}"`, { stdio: 'inherit' });
242
242
  success('Python requirements installed!');
243
+
244
+ // Install Playwright browsers (needed for screenshot tools)
245
+ try {
246
+ info('Installing Playwright browsers (for screenshots)...');
247
+ execSync(`"${pythonCmd}" -m playwright install chromium`, { stdio: 'inherit' });
248
+ success('Playwright browsers installed!');
249
+ } catch (e) {
250
+ warning('Could not install Playwright browsers');
251
+ info('Run manually: python -m playwright install chromium');
252
+ }
243
253
  } catch (e) {
244
254
  warning('Could not install requirements. Try: pip install -r requirements.txt');
245
255
  }