# Get started with Cube
Open Cube.app, make the bundled commands available, and start your first FreeBSD workflow.

## Before you begin
Use an Apple Silicon Mac running macOS 15 or later. These examples assume you have Cube.app with its bundled cube and cubectl binaries. If you are working from a checkout instead, follow [Build from source](build-from-source.html) first.

Keep the app bundle intact. The unprivileged app networking helper needs the appropriate Apple-granted networking entitlement and provisioning profile; an ad-hoc development build does not provide them.

## Download and install
[Download Cube for Mac](../downloads/Cube.dmg). The 8.4 MB DMG is notarized by Apple and requires an Apple Silicon Mac with macOS 15 or later.

Open Cube.dmg, drag Cube.app into Applications, then launch Cube from Applications. Eject the disk image once the app is copied. Keep the installed app bundle intact so the networking helper and command-line tools remain available.

A [SHA-256 checksum](../downloads/Cube.dmg.sha256) is available for the exact download.

## Open the Cube environment
Launch Cube.app. From its menu, choose Open Terminal (Cube Environment). This action links the bundled cube and cubectl tools into ~/.local/bin and opens a terminal configured to find them.

```sh
cube --help
cubectl --help
cubectl list
```

For other terminal sessions, ensure ~/.local/bin is on your PATH. If commands are missing, reopen the Cube environment and confirm the app bundle still contains its helpers.

## Start networking from the app
In Cube.app, choose your network mode and click Start Service. With a correctly signed helper, the service runs as your normal user. Guests connect with vmnet-proxy. Read [Networking](networking.html) for the CLI alternative and signing requirements.

## Create your first FreeBSD VM
Let cubectl download the FreeBSD ARM64 disc1 ISO and install the guest automatically. The unattended installation runs offline after the download and completes before the command returns.

```sh
cubectl create freebsd-dev \
  --version 14.4 --unattended \
  --ram 2048 --cpus 2 --ssh-port 2222
```

When installation finishes, boot the installed guest and inspect its state:

```sh
cubectl start freebsd-dev
cubectl status freebsd-dev
```

## Boot a live environment directly
If you already have an extracted FreeBSD ARM64 kernel and matching mini-memstick image, cube can launch them without guest networking. Replace both paths:

```sh
cube --freebsd /path/to/kernel \
  --disk /path/to/mini-memstick.img --net none
```

Press Return at the shell prompt. This is a live environment, not a newly installed VM. Shut down inside the guest when possible. Ctrl-] is a host-side stop with backend cleanup, not a clean guest OS shutdown.

## Next steps
Continue with [VM management](vm-management.html), [Shared folders](shared-folders.html), or [Desktop and troubleshooting](troubleshooting.html). Development prerequisites and repository scripts live in [Build from source](build-from-source.html).
