projax 3.0.0 → 3.3.0

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 (2) hide show
  1. package/dist/index.js +57 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1461,6 +1461,62 @@ program
1461
1461
  process.exit(1);
1462
1462
  }
1463
1463
  });
1464
+ // VS Code Extension command - show extension info and location
1465
+ program
1466
+ .command('vscode-extension')
1467
+ .alias('extension')
1468
+ .alias('ext')
1469
+ .description('Show VS Code extension information and installation instructions')
1470
+ .action(async () => {
1471
+ try {
1472
+ console.log('\nšŸ“¦ PROJAX for Editors Extension\n');
1473
+ console.log('This extension brings PROJAX to VS Code, Cursor, and Windsurf editors.\n');
1474
+ // Find the .vsix file
1475
+ const releaseDir = path.join(__dirname, '..', '..', '..', 'release');
1476
+ const vsixFiles = fs.existsSync(releaseDir)
1477
+ ? fs.readdirSync(releaseDir).filter(f => f.endsWith('.vsix'))
1478
+ : [];
1479
+ if (vsixFiles.length === 0) {
1480
+ console.log('āš ļø No .vsix file found. Build the extension first:');
1481
+ console.log(' npm run package --workspace=packages/vscode-extension\n');
1482
+ }
1483
+ else {
1484
+ const vsixPath = path.join(releaseDir, vsixFiles[0]);
1485
+ console.log(`āœ… Extension package: ${vsixFiles[0]}`);
1486
+ console.log(`šŸ“ Location: ${vsixPath}\n`);
1487
+ console.log('šŸ“– Installation Instructions:\n');
1488
+ console.log('1. Open VS Code, Cursor, or Windsurf');
1489
+ console.log('2. Go to Extensions (Cmd+Shift+X / Ctrl+Shift+X)');
1490
+ console.log('3. Click the "..." menu → "Install from VSIX..."');
1491
+ console.log(`4. Navigate to: ${releaseDir}`);
1492
+ console.log(`5. Select: ${vsixFiles[0]}\n`);
1493
+ console.log('šŸš€ Quick Install:\n');
1494
+ console.log(` code --install-extension "${vsixPath}"`);
1495
+ console.log(` cursor --install-extension "${vsixPath}"`);
1496
+ console.log(` windsurf --install-extension "${vsixPath}"\n`);
1497
+ // Open in Finder/Explorer
1498
+ const platform = process.platform;
1499
+ if (platform === 'darwin') {
1500
+ console.log('šŸ’” Open in Finder:');
1501
+ console.log(` open "${releaseDir}"\n`);
1502
+ }
1503
+ else if (platform === 'win32') {
1504
+ console.log('šŸ’” Open in Explorer:');
1505
+ console.log(` explorer "${releaseDir}"\n`);
1506
+ }
1507
+ else {
1508
+ console.log('šŸ’” Open in File Manager:');
1509
+ console.log(` xdg-open "${releaseDir}"\n`);
1510
+ }
1511
+ }
1512
+ console.log('šŸ“š Documentation:');
1513
+ console.log(' https://projax.dev/docs/editors\n');
1514
+ }
1515
+ catch (error) {
1516
+ console.error('Error:', error instanceof Error ? error.message : error);
1517
+ process.exit(1);
1518
+ }
1519
+ });
1464
1520
  // API command - show API info and manage API server
1465
1521
  program
1466
1522
  .command('api')
@@ -1556,7 +1612,7 @@ program
1556
1612
  // Check if first argument is not a known command
1557
1613
  (async () => {
1558
1614
  const args = process.argv.slice(2);
1559
- const knownCommands = ['prxi', 'i', 'add', 'list', 'scan', 'remove', 'rn', 'rename', 'cd', 'pwd', 'run', 'ps', 'stop', 'web', 'desktop', 'ui', 'scripts', 'scan-ports', 'api', 'docs', 'desc', 'description', 'tags', 'open', 'files', 'urls', '--help', '-h', '--version', '-V'];
1615
+ const knownCommands = ['prxi', 'i', 'add', 'list', 'scan', 'remove', 'rn', 'rename', 'cd', 'pwd', 'run', 'ps', 'stop', 'web', 'desktop', 'ui', 'scripts', 'scan-ports', 'api', 'docs', 'vscode-extension', 'extension', 'ext', 'desc', 'description', 'tags', 'open', 'files', 'urls', '--help', '-h', '--version', '-V'];
1560
1616
  // If we have at least 1 argument and first is not a known command, treat as project identifier
1561
1617
  if (args.length >= 1 && !knownCommands.includes(args[0])) {
1562
1618
  const projectIdentifier = args[0];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "projax",
3
- "version": "3.0.0",
3
+ "version": "3.3.0",
4
4
  "description": "Cross-platform project management dashboard for tracking local development projects. Features CLI, Terminal UI, Desktop app, REST API, and built-in tools for test detection, port management, and script execution.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {