#!/usr/bin/env bash # start-project.sh [agent...] — start a fleet project's agents via its harness. # # Resolves in the PO's fleet.toml, then drives that project's harness. For an # agent-orchestrator project that is `engine/agents.py up`. For an unfamiliar harness, READ that # project's harness docs first — there is no rigid contract. This wrapper handles the common # agent-orchestrator case; extend it (or act by hand) for other harnesses. set -euo pipefail [ $# -ge 1 ] || { echo "usage: start-project.sh [agent...]" >&2; exit 1; } NAME="$1"; shift || true source "$(dirname "$0")/_resolve.sh" IFS=$'\t' read -r LOCATION CONFIG HARNESS < <(resolve_project "$NAME") [ -d "$LOCATION" ] || { echo "start-project: location not a local dir: $LOCATION (clone it first)" >&2; exit 1; } case "$HARNESS" in agent-orchestrator) echo "start-project: $NAME → python3 engine/agents.py up $* (in $LOCATION)" ( cd "$LOCATION" && python3 engine/agents.py --config "$CONFIG" up "$@" );; *) echo "start-project: harness '$HARNESS' is not agent-orchestrator — read its docs and drive it by hand." >&2; exit 2;; esac