Docker STF development
A Docker STF is a State Transition Function implemented as a container in any language. The contract is simple:
- stdin: JSON input
- stdout:
{"output": ...} - stderr: error messages
- Secrets: injected as environment variables at run time (write-only via API)
Because it is an ordinary container with no d6e SDK, you can unit-test with local docker run.
Install skills
Section titled “Install skills”When designing, asking questions, or combining with Plugin / custom FE, prefer installing all skills. Docker-STF-focused minimum:
npx skills add d6e-ai/d6e-docker-stf-skills --skill '*' -y# Also when packaging into a Pluginnpx skills add d6e-ai/d6e-plugin-skills --skill '*' -yRepository: d6e-ai/d6e-docker-stf-skills
5-minute Quick Start: docs/QUICKSTART.md
Typical flow
Section titled “Typical flow”- Generate code with the skill (Dockerfile / entrypoint / README)
docker build→docker runlocally and verify stdin/stdout- Publish to a registry (ghcr.io / Docker Hub / …)
- Register as an STF in the d6e console or API (
runtime: docker) - Optionally bundle into a Plugin
template.yaml
When to choose Docker STF
Section titled “When to choose Docker STF”| Choose Docker STF | JS STF (QuickJS) is enough |
|---|---|
| Any language, heavy compute, native deps | Simple SQL transforms / aggregations |
| Explicit external network / external DB | Fully contained in workspace SQL |
| Reuse existing container assets | A few lines of pure function |
Doc index
Section titled “Doc index”For registration, instant-run, and describe, see REST API and MCP.