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

# Introduction

> Learn what Superwire is and run a tiny workflow through the Docker executor.

Superwire is a declarative DSL for controlled server-side AI workflows. A `.wire` file describes the inputs a workflow accepts, the secrets it needs, the providers and model profiles it may use, the MCP capabilities it can access, the agents that should run, the dependencies between those agents, and the final structured output.

Most applications do not embed the runtime directly. They send a `.wire` workflow to the Superwire executor server and receive either one JSON response or a stream of Server-Sent Events.

Superwire is most useful when an AI feature needs to behave like product infrastructure: scoped tools, explicit data flow, structured outputs, validation, streaming, and testable execution. For the product-level rationale, start with the separate [Why Superwire](/why-superwire/overview) section before the syntax reference.

```text theme={"languages":{"custom":["/languages/wire.tmLanguage.json"]}}
.wire source + input + secrets -> Superwire executor -> structured output
```

## Run the executor

The executor is published as a Docker image:

```bash theme={"languages":{"custom":["/languages/wire.tmLanguage.json"]}}
docker run --rm -p 13703:13703 rmilewski/superwire
```

To try Superwire immediately with a visual interface, open the Playground after startup:

```text theme={"languages":{"custom":["/languages/wire.tmLanguage.json"]}}
http://localhost:13703/playground
```

## A minimal workflow

Create `hello.wire`:

```wire theme={"languages":{"custom":["/languages/wire.tmLanguage.json"]}}
input {
    message: string
}

secrets {
    api_key: string
}

provider llm from openai {
    endpoint: "https://api.openai.com/v1"
    api_key: secrets.api_key
}

model fast from llm {
    id: "gpt-4.1-mini"
}

agent reply {
    model: model.fast
    instruction: "Reply to this message: {{ input.message }}"

    output {
        message: string
    }
}

output {
    result: agent.reply
}
```

Note: the `openai` provider endpoint can point to any OpenAI-compatible backend, as long as it supports the `/responses` API.

This workflow has one public input, one secret, one provider instance, one model profile, one agent, and one final output.

## Run it quickly

The fastest path is the Playground at `http://localhost:13703/playground`.

If you prefer CLI/API execution, use the full step-by-step flow in [Quickstart](/quickstart).

## What to read next

* [Why Superwire](/why-superwire/overview) is a separate conceptual section for understanding the product-backend problem, use cases, and decision criteria.
* [Quickstart](/quickstart) walks through the same flow step by step.
* [Core Concepts](/core-concepts/overview) explains workflows, providers, models, agents, schemas, and dependencies.
* [Executor API](/api-reference/executor-api) documents the HTTP request and response contract.
