iii-exec
v0.12.0Execute shell commands as part of engine startup.
full markdown
/workers/iii-exec.md?version=0.12.0. paste it into an llm prompt or pipe it through curl from a worker.install
configuration
- exec:
dependencies
readme
iii-exec
Execute shell commands as part of engine startup — building assets, running migrations, or starting long-lived processes.
Sample Configuration
- name: iii-exec
config:
exec:
- cd frontend && npm install
- cd frontend && npm run build
- bun run --enable-source-maps index-production.jsWith file watching:
- name: iii-exec
config:
watch:
- steps/**/*.{ts,js}
- config/*.json
exec:
- cd frontend && npm install
- cd frontend && npm run build
- bun run --enable-source-maps index-production.jsConfiguration
| Field | Type | Description |
|---|---|---|
exec |
string[] | Required. Sequential pipeline of commands. Intermediate commands must exit 0 before the next starts. The final command is kept running as a long-lived process. |
watch |
string[] | Glob patterns that trigger a full pipeline restart on file change. |
Because each entry runs as a separate process, shell state is not shared between entries. Use && to chain operations that must share a working directory:
- cd path/to/project && npm run buildIf an intermediate command exits with a non-zero code, the pipeline stops and remaining commands are skipped.
Note on
watchpattern limitations: Patterns match by root directory and file extension only — the filename portion is ignored.src/**/*.test.tsmatches all.tsfiles undersrc/, not only test files. Use**to watch subdirectories recursively:config/*.jsononly watches the top level ofconfig/, whileconfig/**/*.jsonwatches at any depth. Files without an extension (e.g.,Makefile, shell scripts) are never matched.