Ariadne user guide
Ariadne draws MassTransit saga state machines, keeps them in git as small YAML files, and converts between the diagram and C#. It documents a saga; it never runs one.
- Getting started: open the editor, load a sample, save a file.
- Modelling sagas: states, transitions, events, activities, external events, compensation.
- Import and generate C#: from code to a diagram, from a diagram to code, and checking that they still agree.
- Exports: images, Mermaid and a Markdown page.
- Keyboard shortcuts.
- Ariadne in VS Code: install the extension from a release and work next to the code.
- Show a saga in your own app: the
<ariadne-saga>viewer for web and Angular apps. - Accessibility: what is checked, what is not, and what is known not to work.
- Coding agents: let an AI coding agent check, draw and convert sagas with a skill.
Operators: self-hosting. The file format: diagram-format.md.
Samples
The tour: three small sagas, one for each thing Ariadne draws.
| Sample | Shows | C# |
|---|---|---|
| Order saga · Open in the demo · with a path | Stock and payment, a retried payment with a timeout | generated |
| Booking saga · Open in the demo · with a path | Branches on events from outside; the diagram is read from the C# | BookingStateMachine.cs |
| Travel booking · Open in the demo · with a path | Requests, a join, timeouts, compensation | generated |
The library: real-world sagas, each with hand-written MassTransit C#, the diagram Ariadne reads from it, the C# it generates back, and a documentation page. Read the story of each in its README.
| Sample | Shows | C# |
|---|---|---|
| Order fulfilment · Open in the demo | Stock, payment and shipping; stock given back when payment is declined; a late delivery; cancelling at any time | hand-written · generated |
| Payment with retries · Open in the demo | A fraud check and manual review, retries after a wait up to three tries (guards), refunds, provider timeouts | hand-written · generated |
| Customer onboarding · Open in the demo | A reminder after a day and giving up after a week, an outside identity check, abandoned and declined sign-ups | hand-written · generated |
| Trip booking · Open in the demo | Flight, hotel and car one after the other; the bookings already made are cancelled in reverse order | hand-written · generated |
| Loan application · Open in the demo | Three checks with a time limit each, a decision with three ways on, a manual review, an offer that lapses | hand-written · generated |
| Tenant provisioning · Open in the demo | Two routing slips: setting up a tenant, undone step by step on a fault, and taking it down | hand-written · generated |
In the app: New → "Start with a tour" or "Real-world sagas". To add one, see the sample library.