Skip to content

Comments

feat: Add Tart plugin for macOS virtualization#19

Draft
luke wants to merge 2 commits intomainfrom
agent-plugin-tart-main
Draft

feat: Add Tart plugin for macOS virtualization#19
luke wants to merge 2 commits intomainfrom
agent-plugin-tart-main

Conversation

@luke
Copy link
Contributor

@luke luke commented Jul 9, 2025

Summary

  • Adds a new Tauri plugin for managing macOS and Linux virtual machines using Tart
  • Enables VM lifecycle management directly from XE Launcher on Apple Silicon Macs
  • Provides a clean UI for creating, starting, stopping, and deleting VMs

Features

Core VM Operations

  • List all VMs with status and specifications
  • Create VMs from OCI registry images
  • Start/stop VMs with configurable options
  • Delete VMs with confirmation
  • Get detailed VM information

Platform Support

  • Apple Silicon (M1/M2/M3) detection
  • macOS-only plugin with proper platform checks
  • Graceful handling when Tart is not installed

User Interface

  • Clean Svelte 5 component with runes
  • Installation guide for missing Tart
  • Real-time VM status updates
  • Modal dialog for VM creation
  • Resource usage display (CPU, RAM, disk)

Developer Experience

  • TypeScript support with full type definitions
  • Comprehensive test scripts
  • No build step required (Bun/Vite handle TS directly)
  • Following established plugin patterns

Technical Details

  • Uses tokio::process::Command for async Tart CLI interaction
  • Implements proper error handling with meaningful messages
  • Follows the plugin system's three-tier architecture
  • Includes permissions configuration for all commands

Testing

  1. Install Tart: brew install cirruslabs/cli/tart
  2. Run dev server: bun dev:tart
  3. Navigate to the Tart tab in the app
  4. Test VM operations

TODO (Phase 2)

  • Progress tracking for long operations (VM creation, image pulls)
  • VNC/SSH console integration
  • VM templates and quick actions
  • Resource usage monitoring

Notes

  • Requires Tart to be installed separately (like Podman plugin)
  • Only works on Apple Silicon Macs
  • First-time image pulls may take several minutes

🤖 Generated with Claude Code

- Add Tauri plugin for managing macOS/Linux VMs via Tart
- Implement core VM operations (list, create, start, stop, delete)
- Add TypeScript API with proper type definitions
- Create Svelte UI for VM management
- Add platform checks for Apple Silicon
- Include test scripts and documentation
- Support for VM image management from OCI registries

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add comprehensive testing checklist for QA
- Document successful implementation and working features
- Confirm plugin is working and ready for production
- Update capabilities from latest build

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant