vmlive 1.0.12 → 1.0.13

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/package.json +1 -1
  2. package/src/cli.js +19 -20
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vmlive",
3
- "version": "1.0.12",
3
+ "version": "1.0.13",
4
4
  "description": "Local development VM for custom Serverless PaaS",
5
5
  "type": "module",
6
6
  "bin": {
package/src/cli.js CHANGED
@@ -683,19 +683,18 @@ const runLogin = async () => {
683
683
  const runUpdate = async () => {
684
684
  console.log('\x1b[36mUpdating vmlive to the latest version...\x1b[0m');
685
685
  const { spawn } = await import('child_process');
686
-
686
+
687
687
  const updateProcess = spawn('npm', ['install', 'vmlive@latest'], {
688
- stdio: 'inherit'
688
+ stdio: 'inherit'
689
689
  });
690
690
 
691
691
  updateProcess.on('exit', (code) => {
692
- if (code === 0) {
693
- console.log('\n\x1b[32m✔ vmlive updated successfully!\x1b[0m');
694
- } else {
695
- console.error(`\n\x1b[31m❌ Update failed with exit code ${code}\x1b[0m`);
696
- }
697
- process.exit(code || 0);
698
- });
692
+ if (code === 0) {
693
+ console.log('\n\x1b[32m✔ vmlive updated successfully!\x1b[0m');
694
+ } else {
695
+ console.error(`\n\x1b[31m❌ Update failed with exit code ${code}\x1b[0m`);
696
+ }
697
+ process.exit(code || 0);
699
698
  });
700
699
  };
701
700
 
@@ -703,18 +702,18 @@ const runLlm = async () => {
703
702
  const GATEKEEPER_URL = process.env.GATEKEEPER_URL || 'https://api.vm.live';
704
703
  console.log('\x1b[36mDownloading AI Context Guide...\x1b[0m');
705
704
  try {
706
- const res = await fetch(`${GATEKEEPER_URL}/vmlive-ai-rules.md`);
707
- if (!res.ok) {
708
- console.error('\x1b[31m❌ Failed to download AI rules:\x1b[0m', res.status);
709
- process.exit(1);
710
- }
711
- const markdown = await res.text();
712
- fs.writeFileSync(path.join(process.cwd(), 'vmlive-ai-rules.md'), markdown);
713
- console.log('\x1b[32m✔ Successfully wrote vmlive-ai-rules.md to current directory.\x1b[0m');
714
- console.log('\x1b[90m(Add this to your prompt context so your AI perfectly architect endpoints for you!)\x1b[0m');
715
- } catch (err) {
716
- console.error('\x1b[31m❌ Connection Failed:\x1b[0m', err.message);
705
+ const res = await fetch(`${GATEKEEPER_URL}/vmlive-ai-rules.md`);
706
+ if (!res.ok) {
707
+ console.error('\x1b[31m❌ Failed to download AI rules:\x1b[0m', res.status);
717
708
  process.exit(1);
709
+ }
710
+ const markdown = await res.text();
711
+ fs.writeFileSync(path.join(process.cwd(), 'vmlive-ai-rules.md'), markdown);
712
+ console.log('\x1b[32m✔ Successfully wrote vmlive-ai-rules.md to current directory.\x1b[0m');
713
+ console.log('\x1b[90m(Add this to your prompt context so your AI perfectly architect endpoints for you!)\x1b[0m');
714
+ } catch (err) {
715
+ console.error('\x1b[31m❌ Connection Failed:\x1b[0m', err.message);
716
+ process.exit(1);
718
717
  }
719
718
  };
720
719
  const main = async () => {