Treeship
Get started

Quickstart

From zero to a verified artifact URL in under five minutes.

No account, email, or API key required. Everything runs locally on your machine.

Install

cargo install treeship

Initialize your Treeship

treeship init

You will be asked for a name. A new Ed25519 keypair is generated and encrypted at rest.

✓ Treeship initialized
  name: rezo-personal
  key:  key_9f8e7d6c (ed25519, encrypted at rest)

Wrap a command

treeship wrap -- echo "first artifact"

This produces a signed artifact with the actor, action, exit code, elapsed time, and timestamp.

✓ action attested
  id:      art_f7e6d5c4
  actor:   human://rezo
  action:  echo
  exit:    0
  elapsed: 12ms

Verify it

treeship verify art_f7e6d5c4
✓ verified
  chain:  1 artifact, intact
  signed: human://rezo, 2026-03-26T21:00:00Z

Issue an approval and bind an action

# Approver issues an approval
treeship attest approval \
  --approver human://rezo \
  --description "approve deploy to staging" \
  --expires 2026-03-26T23:00:00Z

# Returns: nonce: nce_7f8e9d0a

# Agent acts under the approval
treeship attest action \
  --actor agent://deployer \
  --action deploy.staging \
  --approval-nonce nce_7f8e9d0a

# Verify the chain
treeship verify $TREESHIP_LAST
✓ verified
  approver: human://rezo
  approval: approve deploy to staging
  nonce:    matched, single use enforced
  actor:    agent://deployer
  chain:    2 artifacts, intact

Push to the Hub

treeship dock login
# Visit https://treeship.dev/dock/activate
# Type the code, click Approve

treeship dock push $TREESHIP_LAST
# -> https://treeship.dev/verify/art_xxx

Anyone can open that URL and verify the chain. No account, no install, no trust in Treeship's infrastructure.