Dockerfile for agents
A fully open-source spec and compiler for autonomous agents and teams.
How it works
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.
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
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 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
One team file can describe a leader, workers, and shared skills, even when each agent runs on a different runtime.
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
Teams can coordinate over external surfaces. Bindings remain runtime-specific.
Runtimes
Open source. More adapters can be added by the community.
MIT licensed. Contributions and discussion welcome on GitHub.