Skip to main content
This takes you from a signed-in terminal to a working agent that has completed a run with no production side effects. It should take about ten minutes.

Prerequisites

  • The jstm CLI installed. See Install the CLI.
  • A real interactive terminal. The planning chat won’t run in a pipe or in CI.
1

Sign in

whoami shows your user and your active workspace. Everything you create lands in that workspace.
2

Draft the agent

A chat opens and asks what the agent should do. Describe it in plain language:
Joyvis drafts a spec and asks follow-up questions — which Slack workspace, what counts as a failure, who to notify if Stripe is unreachable. Keep going until the plan looks right.Type / at the start of a message to search the skills catalog and reference one directly.When you’re done, press Ctrl+C. The chat prints your session id.
Exiting never commits. Your spec stays a draft until the next step, so a closed terminal or a dropped connection can’t create an agent by accident.
3

Commit the draft

This is the step that creates the agent. It saves the spec, promotes it, and prints the resulting work tree.Lost the session id? jstm agent plan list shows your sessions.
4

Build a package

Build compiles the committed spec into an immutable, versioned package and waits for it to finish. The receipt tells you the version it produced.
5

Check it against the spec

Conformance reads the built package and reports any place it violates the agent spec, each finding citing the clause it breaks. It needs no API key and no network.Exit 0 means clean. Exit 1 means there is at least one blocking problem — see Reading the flag report.
6

Dry-run it

This stages the agent at Dry Run and fires one run. The agent executes end to end, but side-effecting actions are held back — nothing is posted to Slack, nothing is changed in Stripe.Progress streams as it happens, story by story. When it finishes you get a run id.
7

Read what happened

run show gives you the run’s status, its stories, its output, and the exact versions that executed. ticket list shows the same work as tickets — the business-readable view a teammate can read without knowing anything about the CLI.This is the evidence you’ll use to decide whether the agent is ready for real traffic.

What you have now

An agent that exists as a versioned, inspectable package, has been checked against the spec, and has completed a full execution without touching anything real. It has not been promoted. Dry Run is where it stays until you decide otherwise.

Next

Promote to production

Move through Pilot to Live, deliberately.

Schedule it

Run it on a recurring cron schedule.

Connect a service

Give the agent real credentials for Stripe and Slack.

How JoyStream thinks

Why the lifecycle is shaped this way.
Need help? Email support@joystream.ai.