Vectis 0.1.0
Vectis 0.1.0
The first release of Vectis: disposable GitHub Actions runners on your own Apple Silicon Mac.
Each job runs in a fresh ARM64 virtual machine on your Mac. Vectis registers a just-in-time runner for that job, then removes the VM and runner registration when the work is done.
Highlights
One job, one disposable VM
Every job starts in a fresh VM cloned from a prepared environment. The runner accepts one job, then Vectis removes the VM and runner registration so later jobs start clean.
Automatic runners are opt-in for each repository connection. Vectis watches for matching queued jobs and checks that work is still queued before allocating a VM. The default concurrency limit is five runners and can be configured from one to sixteen. Actual capacity depends on the CPU and memory assigned to environments; at most two macOS VMs run at once.
You can also start a runner manually. Vectis reports runner operation status separately from the GitHub job result, so completed cleanup is not mistaken for a passing workflow.
Prepare Ubuntu, macOS or Windows environments
Guided setup is available for:
- Ubuntu 24.04 ARM64: downloads and verifies a pinned Ubuntu image, then prepares Git, Docker, SSH and the official runner's required dependencies.
- macOS 26 ARM64: downloads and verifies Apple's restore image, installs it into a local guest bundle and guides you through guest setup and SSH verification.
- Windows 11 ARM64: installation is available as an experimental path using media you provide.
Choose CPU, memory, virtual disk size, image directory and VM storage location for each environment. Setup operations are durable and can resume after interruptions.
Connect GitHub and schedule work
Pair a Mac with your Vectis account through browser approval. Link and verify a GitHub account, install the Vectis GitHub App for the repository owner, then connect a repository to an environment. Each connection provides a runs-on label such as vectis-ubuntu.
Automatic scheduling starts disabled and can be enabled per connection. Vectis receives GitHub job events and can scan GitHub for missed queued or running jobs. If a successful run leaves its original job queued, Vectis makes a bounded number of additional attempts. Failed, cancelled or interrupted runs are not retried automatically.
Repository and account controls include:
- Connect and disconnect repository bindings.
- Inspect recent GitHub job states and refresh missing or stale job records.
- Verify organization repository administrator access before privileged operations.
- Require maintainer approval for outside contributors before admitting public-repository jobs.
- Leave fork approval and workflow review to GitHub maintainers.
Review ARM workflow migrations
Preview one workflow file or analyze workflows in a connected repository. Vectis proposes supported ARM64 label changes and reports jobs that need human review. It does not assume x64 jobs will work on ARM64.
After Vectis observes a successful job on the same repository binding and environment revision, it can open a regular pull request containing only changed workflow files. Review and merge it through GitHub as usual; Vectis never merges it. Dynamic expressions, complex matrices, reusable workflows and privileged event patterns may need manual review.
Control Vectis from the app, CLI or MCP
The native Mac app, vectis CLI and vectis-mcp server use the same typed command contract.
The app manages environments, repositories, runner operations, activities, diagnostics and settings. Its background service continues working when the window closes. The app also includes a signed and notarized installer, an update path that waits for active work to finish, and an option to install matching CLI and MCP launchers.
The CLI returns structured JSON, stable error codes and actionable next steps. MCP lets agents inspect capabilities, issue the same commands, read operation state and wait for results. The release also includes a Vectis agent skill and Claude Code plugin.
Control other Macs remotely
Connect multiple Macs to one account and use the app, CLI or MCP to control an authorized host. Browser approval verifies each controller; access expires after 90 days and can be revoked.
Hosts collect remote commands over an outbound connection, so they do not need an inbound port. Commands for an unavailable remote host do not fall back to running locally.
Recover safely after interruptions
The local service stores operations in SQLite and uses caller-provided keys to make command retries idempotent. Accepted, running, action-required and completed states remain distinct.
Setup downloads can resume. After a service or host interruption, Vectis reconciles VM state only after it has evidence that the process exited. It stops only processes it started and tracks, and cleanup removes the owned VM and runner registration.
Security boundaries
Build work runs on your Mac. The Vectis cloud coordinates account identity, GitHub access and remote commands; it does not run workflow code. VM disks and build files stay on the host, while GitHub receives logs, artifacts and caches that workflows upload.
Guest VMs receive no host folders, Docker socket, GitHub App private key or general host credentials. A guest receives only the single-use runner registration needed for its job. Each Mac maintains an outbound connection and does not expose an inbound service port.
Platform requirements and limitations
| Environment |
Status |
Requirements and notes |
| Vectis host |
Supported |
Apple Silicon Mac with macOS 15 or later. Intel Macs are not supported. |
| Ubuntu 24.04 ARM64 guest |
Supported |
Guided setup. Project-specific runtimes and tools are installed by workflow steps or containers. |
| macOS 26 ARM64 guest |
Supported |
Complete guest setup locally. Install Apple's Command Line Tools or Xcode in the guest; Xcode is not installed automatically. |
| Windows 11 ARM64 guest |
Experimental |
Requires your own Windows and VirtIO media, a valid Windows license, and a separately installed QEMU build with the Vectis TPM patch, firmware and software TPM. |
All Vectis guests are ARM64. Workflows that require x86-64 binaries or x64 runner labels do not run unchanged.
Release on GitHub