User guide#
How to think about Durable and how to use it. Start with Why Durable if you are still deciding; the home page makes the same case interactively.
| Why Durable | the problem it solves, what it replaces — and when you do not need it |
| Packages | the library, the bundle, the Temporal driver — what to install and when |
| Getting started | installation, Symfony configuration, a first workflow, worker commands |
| Concepts | workflows, activities, replay and backends in plain language |
| Backends | in-memory versus Temporal, and what each one supports |
| Creating a workflow | WorkflowEnvironment, signals, queries, updates, child workflows |
| Creating activities | activity contracts, dependency injection, the typed stub |
| Failures and retries | what the journal records, and why an activity stopped retrying |
| Cancellation | raising cancellation inside the workflow so it can compensate |
| Nexus operations | calling an operation another team serves — and serving one |
| Options and value objects | retry limits, timeouts, cron schedules, search attributes |
| Testing workflows | unit tests with no server, and the suite that runs against a real one |
| Configuration reference | every durable.yaml key |
Architecture decision records (DUR) and working agreements (WA) live in the repository for
contributors, under documentation/adr/ and documentation/wa/.