commits
Enhance VM configuration management and add new commands
- Update .gitignore to include vmconfig.toml
- Add TOML parsing and validation for VM configurations
- Introduce init command to create a default VM configuration file
- Refactor main.ts to integrate new configuration handling
- Export DEFAULT_VERSION and add URL validation for ISO files
Refactor subcommands to use Effect for error handling and asynchronous operations
- Updated `restart.ts` to utilize Effect for managing VM state and process control, including error handling with tagged errors.
- Refactored `rm.ts` to implement Effect for finding and removing VMs, enhancing error management.
- Modified `start.ts` to support both detached and interactive modes using Effect, improving command execution and error handling.
- Enhanced `stop.ts` to utilize Effect for stopping VMs and managing errors effectively.
- Refactored utility functions in `utils.ts` to use Effect for asynchronous operations and error handling, including disk image management and QEMU command execution.
Allow user to override VM configuration options for CPU, memory, disk, and networking
Refactor disk size checks to use EMPTY_DISK_THRESHOLD_KB constant
- Introduced 'logs' command to view VM logs with optional follow flag.
- Added 'restart' command to restart a virtual machine.
- Enhanced 'start' command to support running VMs in detached mode with logging.
- Updated database schema to include port forwarding configuration.
- Implemented utility functions for setting up port forwarding arguments.
- Introduced database functionality with SQLite for managing virtual machines.
- Added commands for starting, stopping, inspecting, and listing virtual machines.
- Implemented state management for virtual machines, including saving and updating their status.
- Enhanced the utility functions to generate random MAC addresses and handle disk images.
- Organized code structure by creating separate files for constants, context, and database operations.
- Updated `restart.ts` to utilize Effect for managing VM state and process control, including error handling with tagged errors.
- Refactored `rm.ts` to implement Effect for finding and removing VMs, enhancing error management.
- Modified `start.ts` to support both detached and interactive modes using Effect, improving command execution and error handling.
- Enhanced `stop.ts` to utilize Effect for stopping VMs and managing errors effectively.
- Refactored utility functions in `utils.ts` to use Effect for asynchronous operations and error handling, including disk image management and QEMU command execution.
- Introduced 'logs' command to view VM logs with optional follow flag.
- Added 'restart' command to restart a virtual machine.
- Enhanced 'start' command to support running VMs in detached mode with logging.
- Updated database schema to include port forwarding configuration.
- Implemented utility functions for setting up port forwarding arguments.
- Introduced database functionality with SQLite for managing virtual machines.
- Added commands for starting, stopping, inspecting, and listing virtual machines.
- Implemented state management for virtual machines, including saving and updating their status.
- Enhanced the utility functions to generate random MAC addresses and handle disk images.
- Organized code structure by creating separate files for constants, context, and database operations.