Using an AI assistant
Hostwright installs from source today; packaged distribution (a Homebrew
formula, .pkg, and signed, notarized binaries) is planned. Assistants tend to
paper over that gap: they may suggest brew install hostwright or invent a
hostwright down command, and neither exists today. This page is one prompt
that fixes both.
The prompt
Section titled “The prompt”Paste this into your assistant before asking it to help with Hostwright:
I want to try Hostwright, a Mac-native desired-state container platform forApple silicon, in active development. It has no trusted packaged releaseyet. Do not suggest brew, npm, curl-to-shell, or anyinstaller. The only way to run it is from source:
git clone https://github.com/hostwright/hostwrightcd hostwrightswift buildswift test
Run commands with `swift run hostwright ...`, not a bare binary.
Safe commands (no runtime mutation): --version, capabilities, migrate preview,init, import-stack, validate, plan, status, logs, events, recovery, diagnostics,cleanup --dry-run, doctor. Stateful commands require an explicit--state-db <path>; there is no default database path.
Mutation happens ONLY through two gates, and I want to run those myself: apply --state-db <path> --confirm-plan <hash> (exactly one action) cleanup --state-db <path> --confirm-cleanup <token>Never suggest running apply or confirmed cleanup automatically, neverinvent flags, and never suggest stop/restart/down/rm commands; they donot exist.
The currently executable manifest (hostwright.yaml) requires: version: 2, project,imagePolicy (allow-tags|require-digest), and per service: image, command,ports, env, secretEnv (keychain://<service>/<account> references only),volumes, health.command, health.interval, restart.policy(no|on-failure|unless-stopped). Do not add networks, depends_on, build,replicas, or secrets: blocks; the parser fails closed on them.
Help me: clone and build it, run doctor, generate a starter manifest withinit, then validate and plan it.Why this exists
Section titled “Why this exists”An assistant’s default instincts (assume a mature project has a package manager entry, assume “plan” implies it should also “apply”) are wrong for a tool with this safety posture. The prompt is the same ground truth documented on this site, handed to the assistant before it guesses. The authoritative surfaces are the CLI reference and the manifest reference.
If an agent works inside your repository
Section titled “If an agent works inside your repository”Drop the same constraints into a rules file the agent reads automatically:
AGENTS.md or CLAUDE.md at your repo root:
# Hostwright agent ground rules
Source workflow; run via `swift run hostwright ...`. Safe commands:--version, capabilities, migrate preview, init, import-stack, validate, plan, status, logs, events,recovery, diagnostics, cleanup --dry-run, doctor. Stateful commands needan explicit --state-db path. Mutation only via apply --confirm-plan <hash>(one action) or cleanup --confirm-cleanup <token>. Never run thesewithout asking me. stop/restart/down/rm do not exist.
hostwright.yaml supports only: version, project, imagePolicy, and perservice image, command, ports, env, secretEnv (keychain:// refs), volumes,health.command, health.interval, restart.policy.