# Fusee > Durable execution at the speed of the disk: an embeddable engine for Rust, TypeScript, Python, Go and Java. Workflows are ordinary async code whose steps are journaled. Rules for writing Fusee code: https://fusee.bitsinfra.com/guides/coding-agents.md ## Getting started - [Get started with Fusee](https://fusee.bitsinfra.com/index.md): Fusee is a library for workflows that need to survive a restart. - [Installation](https://fusee.bitsinfra.com/installation.md): Fusee runs on Linux and macOS. - [TypeScript quickstart](https://fusee.bitsinfra.com/tutorial-typescript.md): Ten minutes. - [Python quickstart](https://fusee.bitsinfra.com/tutorial-python.md): Ten minutes. - [Rust quickstart](https://fusee.bitsinfra.com/tutorial-rust.md): Ten minutes. - [Concepts](https://fusee.bitsinfra.com/concepts.md): Workflow. - [Examples](https://fusee.bitsinfra.com/examples.md): Five small applications, each in Python, TypeScript, Rust, Go and Java. ## Guides - [Errors and retries](https://fusee.bitsinfra.com/guides/errors-and-retries.md): A step's function talks to the world, and the world fails. - [Sagas: undoing what a run did](https://fusee.bitsinfra.com/guides/sagas.md): A checkout reserves stock, charges a card and books shipping. - [Waiting for people](https://fusee.bitsinfra.com/guides/human-approval.md): A refund over a limit needs a manager. - [Agents](https://fusee.bitsinfra.com/guides/agents.md): An agent is a loop: ask a model, run the tool it asks for, give it the result, repeat. - [Agent patterns](https://fusee.bitsinfra.com/guides/agent-patterns.md): Each pattern below is built from what agents already uses: steps, streams, children, waits and objects. - [Writing Fusee code with an AI assistant](https://fusee.bitsinfra.com/guides/coding-agents.md): Claude, Cursor, Codex and the others write Fusee code well once they know the handful of rules that make a workflow replay. - [Schedules and timers](https://fusee.bitsinfra.com/guides/schedules.md): Three tools, from the smallest: - [Testing your workflows](https://fusee.bitsinfra.com/testing-workflows.md): The test kit gives a test an engine in memory under the dev profile: every run's history is kept, each run can be replayed against your code (strict replay), and the result of a stuck run fails at... - [Versioning and deploys](https://fusee.bitsinfra.com/guides/versioning.md): A run that started last month replays its journal against today's code. ## API reference - [API at a glance](https://fusee.bitsinfra.com/api.md): Generated from api/spec.json by api/gen.py; do not edit. - [API at a glance](https://fusee.bitsinfra.com/reference/operations.md): Generated from api/spec.json by api/gen.py; do not edit. - [fusee (Node.js and Bun)](https://fusee.bitsinfra.com/sdks/typescript.md): Durable execution at the speed of the disk, embedded in your process. - [fusee (Python)](https://fusee.bitsinfra.com/sdks/python.md): Durable execution at the speed of the disk, embedded in your process (asyncio). - [Fusee for Go](https://fusee.bitsinfra.com/sdks/go.md): Durable workflows in Go, on the same engine as the Rust, TypeScript and Python SDKs. - [Fusee for Java](https://fusee.bitsinfra.com/sdks/java.md): Durable workflows in Java 17 and later, on the same engine as the Rust, TypeScript, Python and Go SDKs. - [Workflow features](https://fusee.bitsinfra.com/features.md): Besides steps, sleeps, signals and child workflows, Fusee has the workflow features below. - [Errors](https://fusee.bitsinfra.com/errors.md): Every SDK raises the same errors, named by the same codes. - [Guarantees](https://fusee.bitsinfra.com/guarantees.md): Stated exactly as they are tested (see testing.md). ## Deployment and operations - [Running it](https://fusee.bitsinfra.com/guides/running.md): The same workflow code runs in five arrangements. - [Durability modes](https://fusee.bitsinfra.com/durability.md): Every shard of a data directory writes to one shared log (log format 3, in /wal/): whoever writes next takes every shard's pending records and writes them as one batch with one durable flush,... - [Server mode](https://fusee.bitsinfra.com/server-mode.md): The same engine runs as fusee server. - [Replication](https://fusee.bitsinfra.com/replication.md): crates/fusee-core/src/vsr.rs, a pure state machine in the style of Viewstamped Replication Revisited: - [Deploying Fusee](https://fusee.bitsinfra.com/deploying.md): with the token, the HTTP API on :7601 and hardening. - [Operations](https://fusee.bitsinfra.com/operations.md): from 1 MiB doubling to 64 MiB, reused /shard-000/log/.seg per-shard log segments (log format 2) /shard-000/runs-.dat run store (parked and finished runs) /... ## Internals - [Benchmark](https://fusee.bitsinfra.com/benchmark.md): The harness is bench/harness (fusee-bench). - [How Fusee is tested](https://fusee.bitsinfra.com/testing.md): The real shard runtime, journal machine and Rust SDK run in one thread under a seeded scheduler.