Getting started
What Hostwright can run today, and the intended workflow toward declare, validate, plan, and apply.
This page separates the current Phase 2 command surface from the intended first supported release workflow.
Requirements
Hostwright targets one environment deeply rather than many shallowly:
- An Apple silicon Mac (arm64).
- macOS 26 or later. Earlier macOS versions are out of scope for the first release because of Apple container networking limitations.
- Apple container installed and working, with its system services available.
- Container images that provide a
linux/arm64variant.amd64/Rosetta is allowed only by explicit manifest policy.
The current hostwright doctor checks OS, architecture, Swift version, whether a
container executable is on PATH, and whether hostwright.yaml exists. It does
not call Apple container runtime commands.
The core loop
The current local workflow is small and non-mutating:
# 1. Create a starter manifest in the current directory.
hostwright init
# 2. Check the manifest against the schema and semantic rules.
hostwright validate
# 3. See the manifest-level plan. Runtime observation is not available yet.
hostwright plan
# 4. Show manifest-level status only.
hostwright status
# 5. Run safe local diagnostics.
hostwright doctor
The intended first-release workflow adds runtime convergence later:
hostwright apply # converge runtime state to the manifest
hostwright status # desired vs actual, health, drift, restarts
hostwright down --dry-run # preview teardown before removing anything
apply, runtime status, and cleanup are not implemented today. plan before
apply, and --dry-run before any destructive command, are release requirements
Hostwright is built around. See the safety model.
A minimal manifest
project: api-local
services:
api:
image: ghcr.io/example/api:latest
ports:
- "8080:8080"
env:
APP_ENV: development
health:
command: ["curl", "-f", "http://localhost:8080/health"]
interval: 10s
restart:
policy: on-failure
redis:
image: redis:7
ports:
- "6379:6379"
Every field here is described in the hostwright.yaml reference.
Next
- Desired state — the model behind the manifest.
- Reconciliation — how Hostwright converges and detects drift.
- Limitations — what to expect, stated plainly.