Skip to content

Quick Start

Create orchstep.yml:

name: hello
tasks:
greet:
steps:
- name: say-hello
func: shell
do: echo "Hello from OrchStep!"
Terminal window
orchstep run greet

Shell note: OrchStep uses POSIX sh (/bin/sh) by default, so your workflows run on Alpine, distroless containers, and any Linux/macOS system without extra dependencies. On Windows, set type: "gosh" to use the built-in Go-native shell — no bash or WSL needed. See Shell Execution for details.

name: deploy
defaults:
env: staging
version: "1.0.0"
tasks:
deploy:
steps:
- name: build
func: shell
do: echo "Building v{{ vars.version }} for {{ vars.env }}"
- name: verify
func: assert
args:
condition: '{{ ne vars.version "" }}'
desc: "Version must not be empty"
Terminal window
orchstep run deploy
orchstep run deploy --var env=production --var version=2.0.0