Skip to content

Using an AI assistant

Hostwright has no trusted packaged release yet — no available Homebrew formula, .pkg, or signed/notarized binary. The current way to run it is from source. That is exactly the kind of gap an assistant tends to paper over: it may confidently suggest brew install hostwright (doesn’t exist today) or invent a hostwright down command (not implemented). This page is one prompt that fixes both.

Paste this into your assistant before asking it to help with Hostwright:

I want to try Hostwright, a Mac-native desired-state container platform for
Apple silicon, currently on 0.0.2-dev with a v0.0.2 target. It has no trusted
packaged release yet — do not suggest brew, npm, curl-to-shell, or any
installer. The only way to run it is from source:
git clone https://github.com/hostwright/hostwright
cd hostwright
swift build
swift 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, never
invent flags, and never suggest stop/restart/down/rm commands — they do
not 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 with
init, then validate and plan it.

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.

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
0.0.2-dev 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 need
an explicit --state-db path. Mutation only via apply --confirm-plan <hash>
(one action) or cleanup --confirm-cleanup <token> — never run these
without asking me. stop/restart/down/rm do not exist.
hostwright.yaml supports only: version, project, imagePolicy, and per
service image, command, ports, env, secretEnv (keychain:// refs), volumes,
health.command, health.interval, restart.policy.