> ## Documentation Index
> Fetch the complete documentation index at: https://siglo.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Siglo

> Zero-daemon, in-process workflow orchestration with durable checkpoints, Sagas, and live visual DevTools.

![Siglo Logo](https://mintcdn.com/greatdesignandsystems-8b0cfb3b/HItUWrGVo95rDuQ8/assets/siglo-logo.png?fit=max\&auto=format\&n=HItUWrGVo95rDuQ8\&q=85\&s=f6af182881fca667b0975b2b05fa8189)

**Siglo** is a lightweight, zero-daemon workflow runtime for TypeScript. It orchestrates complex business logic into composable, resilient steps—featuring end-to-end type inference, automatic Sagas, durable checkpoints, and live visual DevTools without external infrastructure.

***

## Quick Navigation

> [card] [Getting Started](https://siglo.dev/01-getting-started.md)
>
> Build a resilient checkout workflow that handles failure, retries, and compensation.

> [card] [Live DevTools](https://siglo.dev/live-monitoring.md)
>
> Inspect execution DAGs, real-time latency waterfalls, and state diffs.

> [card] [Ecosystem Adapters](https://siglo.dev/ecosystem-adapters.md)
>
> PostgreSQL, Redis, BullMQ, Kafka, OpenTelemetry, Express, Fastify, and AI steps.

> [card] [API Reference](https://siglo.dev/api/overview.md)
>
> Complete TypeScript signatures, option tables, and combinator reference.

***

## 30-Second Quickstart

```bash theme={null}
npm install @siglo/core
```

```typescript theme={null}
import { Step, flow } from '@siglo/core';

// 1. Define modular steps with input/output contracts
const fetchUser = Step.create('fetchUser', async (param: { userId: string }) => {
    return { name: 'Alice', tier: 'PRO' };
});

// 2. Accumulated Context: calculateDiscount automatically receives "tier" produced by fetchUser!
const calculateDiscount = Step.create('calculateDiscount', async (param: { tier: string }) => {
    const discount = param.tier === 'PRO' ? 0.2 : 0.05;
    return { discountPercentage: discount };
});

// 3. Compose into an executable flow
export const orderWorkflow = flow(fetchUser, calculateDiscount);

// 4. Run the flow with full type safety
async function main() {
    const result = await orderWorkflow.run({ userId: 'u_123' }, { pojo: true });

    console.log(result.name); // 'Alice'
    console.log(result.discountPercentage); // 0.20
    console.log(result.$steps.fetchUser); // { name: 'Alice', tier: 'PRO' }
}

main();
```

***

## Why Siglo?

| Dimension | `Siglo` | Distributed Engines (Temporal, Inngest) |
| - | - | - |
| **Architecture** | Lightweight, zero-infrastructure in-process library | Heavy multi-cluster / external orchestrator daemon |
| **Latency** | Microsecond direct async function invocation | Millisecond-to-second RPC / polling overhead |
| **Footprint** | Zero external dependencies, pure TypeScript | Requires persistent workers, queue servers, and databases |
| **Primary Focus** | Modular workflows, parallel fan-out/fan-in, bounded worker mapping, request-scoped sagas, idempotency, durable event waits, retry backoff with jitter, OCC checkpointing | Months-long durable human-in-the-loop workflows across clusters |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.