Skip to content

Start here

Read this before the tutorial. It lists what has to work on your machine, and how you prove it works — so that when something breaks on day two, you know it isn’t the setup.

You need Node.js, pnpm, Docker with Compose v2, and a PostgreSQL you can reach. Start from a clean copy of the project. Write down which revision you checked out, which pnpm version you have, and which PostgreSQL version you’re running — when two people get different results, this is usually the reason.

Everything here runs against prepared test identities. You do not need credentials for any customer system, and you will not connect to one.

Your facilitator should also check that everyone can open the workshop agenda and has somewhere to save the test output and event listings they produce over the three days.

The 0.2.0 packages belong together. All @identity-flow/* packages in your project must be on the exact same version — mixing versions is not supported and will fail in confusing ways. Use the starter you were given and its package configuration, then check that the versions your project actually resolved are the ones you expected, before you run a workflow.

This is the version check you do yourself. There is a second one, G14, that the documentation build runs on its own. If you cannot install the packages, or the link check isn’t green, stop here and go to Troubleshooting. Don’t move on and treat a later exercise as working.

There is no licence file and no IDENTITY_FLOW_LICENSE_FILE setting in 0.2.0. If an older instruction tells you to add one, ignore it.

The smallest thing that proves your setup works: start the prepared vacation approval, see that it stops at a pending approval, complete that approval as the prepared approver, and keep the result plus the list of events it produced. If that works, everything else in the tutorial builds on it.

The full walkthrough is Vacation approval.

When you get a different result than the page describes, save the failure output before you restart anything — the output is usually the only clue you get. Then check, in this order: the package versions, the PostgreSQL container, the prepared test data.

A restart replays what was recorded. It must not change or delete events. If you find yourself editing an event to fix a run, stop: that run is no longer telling you the truth.

Pick up again at the nearest checkpoint in the workshop recovery notes.