Treeship
CLI reference

wrap

Attest any command execution automatically.

treeship wrap runs a command as a subprocess and produces a signed artifact recording what happened.

Usage

treeship wrap [OPTIONS] -- <command> [args...]

What gets captured automatically

FieldValue
actorFrom --actor flag or TREESHIP_ACTOR env var
actionThe binary name of the command (or --action override)
exit_codeThe subprocess exit code
elapsed_msElapsed time in milliseconds
timestampRFC 3339 at the moment of signing
parent_idFrom --parent flag or TREESHIP_PARENT

Examples

treeship wrap -- npm test
treeship wrap --actor agent://ci-runner -- cargo build --release
treeship wrap \
  --actor agent://deployer \
  --parent art_previous \
  -- kubectl apply -f deploy.yaml
treeship wrap --push -- npm test

The --push flag pushes the artifact to the Hub immediately after attesting.

Options

OptionDescription
--actor <uri>Override default actor
--action <label>Override action label (default: executable name)
--parent <id>Parent artifact ID for chain linking
--pushPush to Hub immediately after attesting

treeship wrap always propagates the subprocess exit code. If your command exits 1, treeship wrap exits 1. The artifact is still signed and stored -- even failed runs are attested.