AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Caker is a modern toolchain for building and managing virtual machines with the Virtualization framework, focused on simplicity and developer experience. Available features include: - Port forwarding between the VM and the host using TCP or Unix sockets - Dynamic port forwarding updates while virtual machines are running - Network creation
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Caker is a modern toolchain for building and managing virtual machines with the Virtualization framework, focused on simplicity and developer experience.
Available features include:
• Port forwarding between the VM and the host using TCP or Unix sockets
• Dynamic port forwarding updates while virtual machines are running
• Network creation in bridge, hosted, or NAT mode
• Cloud-Init support for VM initialization and customization
• Automatic installation of an in-guest agent, with source code in cakeagentREADME 전문 보기 ↗Caker is a macOS toolchain for building, running and managing virtual machines with Apple's Virtualization framework, focused on simplicity and developer experience. It runs macOS and Linux guests (and, experimentally, Windows 11) from a single CLI, a background daemon or a native desktop app.
Requirements: macOS 15 or later. macOS guests require Apple Silicon.
Create VMs from anywhere
--alias (for example --alias macos15 or --alias ubuntu2604) and list the available ids with cakectl aliasesUnattended OS installation ("PackerLite")
--autoinstall, Caker drives the first-boot setup for you: macOS Setup Assistant from an IPSW, or a Linux installer from an ISO (Fedora, CentOS, RHEL, openSUSE, Debian, Alpine, Ubuntu)boot_command, with OCR-based <locate>/<click> steps, no external binary or plugin--template and --var key=valuecaked record, then replay itprovision <vm>, locally or through cakectl, with a live VNC view and an optional debug video of the runCompose: multi-VM environments
compose.yml (a subset of the Docker Compose format) with depends_on ordering, ports, volumes, networks and cloud-init extensions (packages, write_files, post_commands, ...)cakectl compose up | down | ps | rm | ls | edit, plus a Compose editor in Caker.app<service>.<project>.compose.internal, and <vm>.compose.internal for every running VM), with a configurable domain.cakerenv files for multi-VM environments with dependency ordering, driven by up/downNetworking and sharing
cakectl networksGuest integration
exec, sh, IP discovery, resource metrics and live statusAutomation and APIs
cakectl, Caker.app and cakedcaked service listen --rest), so lxc and other LXD clients can talk to Cakercaked at /ui (sources in webui/)build, launch, provision) can be listed and cancelled with cakectl tasks| Topic | Page |
|---|---|
| Install and first VM | Getting started |
| All commands | Command summary, Cheat sheet |
| Unattended installs and recording | Provisioning |
| Multi-VM stacks | Compose, .cakerenv |
| Instance metadata | IMDS |
| How the pieces fit | Architecture |
| App Store build limits | Sandbox |
| Problems and answers | Troubleshooting, FAQ |
| What changed | Release notes |
The documentation is automatically synchronized from the wiki/ directory to GitHub Pages when changes are pushed to the main branch.
# Run the daemon as a launchd service, then drive it with cakectl
caked service install
cakectl list
# See the images you can build from, then create and start a VM
cakectl aliases
cakectl launch --alias ubuntu2604 myvm
# Open a shell in it
cakectl sh myvm
# Unattended macOS install from the catalog
cakectl build --alias macos15 --autoinstall mac-vm
# A multi-VM environment
cakectl compose init
cakectl compose up
See the getting started guide for the exact commands and options.
| Component | Role |
|---|---|
caked | Core daemon: gRPC server, optional LXD REST API and web UI, launchd service, VM runner |
cakectl | CLI client that talks to caked over gRPC |
Caker.app | macOS desktop app and embedded VM runner |
caked is the core daemon process that handles virtual machine lifecycle management, including building, running, and orchestrating virtual machines with configuration-driven workflows. When it runs as a service, operate it through cakectl.
cakectl is the command-line interface used to interact with caked. It provides commands to:
Caker.app is the macOS desktop application that provides a graphical experience for working with virtual machines managed by caked.
It acts as the user-facing control plane of the project and is designed for day-to-day local development workflows.
Its main role is to:
Caker.app, or connect to a local or remote cakedboot_command template from your own clicks and keystrokesA sandboxed App Store build is also available; a few features that need system access are unavailable there (see Sandbox).
caked can run as a launchd background service on macOS to run virtual machine workloads. It handles the core execution and management of virtual machines, including:
Caker.appWorking in conjunction with cakectl, the command-line control interface, caked provides the backend daemon that executes administrative commands and maintains the operational state of all managed virtual machines.
Together, caked and cakectl form a powerful system for virtual machine development and deployment.
swift build -Xswiftc -D -Xswiftc SPARKLE # CLI tools
swift test # unit tests
See the development guide for signed builds, the web UI and the integration tests.
Please report vulnerabilities responsibly using the project's security policy:
Contributions are welcome! Please feel free to submit a pull request or open an issue to report bugs or suggest enhancements.