Documentation menu

Using Hostwright with an AI assistant

The exact prompt to give ChatGPT, Claude, or Cursor to get Hostwright cloned, built, and running correctly — no invented installer, no invented commands.

Hostwright has no packaged release yet — no Homebrew formula, no curl-to-shell installer, no binary download. The only way to run it today is from source. That’s exactly the kind of gap an AI assistant tends to paper over: it’ll confidently suggest brew install hostwright (doesn’t exist), or run hostwright apply (not implemented). This page is one prompt that fixes both, so you can hand a coding assistant the real setup instead of guessing alongside it.

The prompt

Paste this into ChatGPT, Claude, Cursor, or any AI assistant before asking it to help you set up Hostwright:

I want to try Hostwright, an early-stage Mac-native desired-state control
plane for Apple container workloads. It has no packaged release — do not
suggest brew, npm, curl-to-shell, or any installer. The only way to run it
today is from source:

git clone https://github.com/hostwright/hostwright
cd hostwright
swift build
swift test

Run commands with `swift run`, not a bare `hostwright` binary:

swift run hostwright -- --version
swift run hostwright -- init
swift run hostwright -- validate
swift run hostwright -- plan
swift run hostwright -- status
swift run hostwright -- doctor

That is the entire command surface. All of it is read-only except `init`,
which only writes hostwright.yaml if one doesn't already exist. Commands
like apply, down, restart, clean, and logs do not exist yet — if I ask for
one of those, tell me plainly it isn't built rather than guessing at flags.

The manifest (hostwright.yaml) supports only: project, services.<name>.image,
ports, env, health.command, health.interval, restart.policy. Don't add
fields like volumes, replicas, or secrets — they're still undesigned.

Help me: clone and build it, generate a starter manifest with init, then
validate and plan it.

Why this exists

An AI assistant’s default instincts — assume a project this old has a package manager entry, assume “plan” means it’s also safe to “apply” — are wrong for a tool this early. The prompt above isn’t a workaround; it’s the same ground truth documented on this site, handed to the assistant before it has a chance to guess.

If an agent is working inside your codebase

The prompt above is for getting started by hand. If instead you’re pointing a coding agent at a repository that uses Hostwright — so it reads project context automatically — drop the same constraints into a rules file it picks up on its own: AGENTS.md at your repo root (the convention Claude Code, Cursor, and Copilot all read), or CLAUDE.md.

# Hostwright — agent ground rules

Only these hostwright commands exist: --version, init, validate, plan,
status, doctor. All read-only except init. apply, down, restart, clean,
and logs are not implemented — say so, don't invent flags for them.

hostwright.yaml supports only: project, services.<name>.image, ports, env,
health.command, health.interval, restart.policy.