Dockerfile for agents

Write your agent once.
Compile for any runtime.

A fully open-source spec and compiler for autonomous agents and teams.

Spawnfile agents shipping across runtimes

You write this

kind: agent
name: research-assistant
runtime: openclaw

docs:
  soul: SOUL.md
  identity: IDENTITY.md
  system: AGENTS.md
$ spawnfile compile

Compiled for OpenClaw

runtime config
workspace docs
skills
MCP
docker optional
supported runtimes 1 source format docker optional
spawnfile v0.1

How it works

Write it once. Compile for the target runtime.

Start with one Spawnfile and a few markdown docs. The compiler generates the config and workspace files each runtime expects. Optionally package it all in a Docker container.

Describe the agent

One config file points to the markdown docs and skills your agent needs.

kind: agent
name: research-assistant
runtime: openclaw

docs:
  soul: SOUL.md
  identity: IDENTITY.md
  system: AGENTS.md

skills:
  - ref: ./skills/web_search

Compile the runtime files

Spawnfile generates the config file and workspace docs that the target runtime expects.

$ spawnfile compile

Compiling for openclaw
Writing openclaw.json     done
Writing workspace docs    done

 dist/runtimes/openclaw/

Package (optional Docker)

Package the compiled output into a Docker container, or just copy the files to your runtime directly.

$ spawnfile build

Generating Dockerfile     done
Building image            done

 research-assistant:latest

$ docker run -p 18789:18789 \
    research-assistant

 Agent live
  model: claude-sonnet-4-5

Organization as code

Define a whole team the same way.

One team file can describe a leader, workers, and shared skills, even when each agent runs on a different runtime.

Team Spawnfile
kind: team
name: research-cell

docs:
  system: TEAM.md

members:
  - id: orchestrator
    ref: ./agents/orchestrator
  - id: researcher
    ref: ./agents/researcher
  - id: writer
    ref: ./agents/writer

structure:
  mode: hierarchical
  leader: orchestrator

shared:
  skills:
    - ref: ./shared/skills/web_search
leader orchestrator OpenClaw researcher PicoClaw writer TinyClaw Three agents · mixed runtimes · shared skills
External surfaces
Slack Discord WhatsApp A2A Webhooks

Teams can coordinate over external surfaces. Bindings remain runtime-specific.

Runtimes

Supported runtimes today.

Open source. More adapters can be added by the community.

OpenClaw PicoClaw TinyClaw NullClaw ZeroClaw

Build agents once. Run on supported runtimes.

MIT licensed. Contributions and discussion welcome on GitHub.

Get started GitHub