Stepyard
YAML pipelines
Last verified:
What is Stepyard?
Stepyard is a local automation runner for developers that lets you define workflows as YAML files in your repo and extend them with plain Python functions. It is designed to run entirely on your machine, through either the CLI or a local daemon, with no server setup and no cloud account required. The core idea is to keep automations version-controlled alongside your code while staying easy to validate, run, and reuse.
The website highlights Stepyard as a tool for building practical flows such as deployments, backups, pull-request reviews, and multi-environment rollouts. It supports built-in nodes for shell commands, HTTP requests, and LLM generation, so many workflows can be assembled without writing extra scripts. For custom logic, developers can turn Python functions into reusable steps with a decorator, and the docs say inputs are type-validated automatically.
Stepyard also emphasizes local state and control. It stores state in a local SQLite database, and data leaves the machine only when a flow explicitly sends it out. The platform supports scheduled and on-demand execution with cron, interval, and startup triggers, and it can be run as a service for recurring jobs.
This is a good fit for developers who want automation that stays close to the codebase, avoids cloud dependencies, and can be customized with both YAML and Python. It appears especially useful for infrastructure tasks, internal dev workflows, CI-adjacent jobs, and teams that want explicit control over execution and data flow.
Stepyard pricing
Pricing model: Freemium
The website does not list paid plans or a commercial pricing tier. It presents Stepyard as a free local tool you install with pip (pip install stepyard), with no server, cloud account, or hosted subscription required. The documentation shows the default storage as SQLite and the license as MIT, but it does not describe any paid edition or included premium features.
Stepyard pros
- Runs on your machine
- No server setup required
- No cloud account needed
- YAML pipelines live in the repo
- Version-controlled alongside application code
- Extendable with plain Python functions
- Reusable custom steps via decorator
- Built-in shell command steps
- Built-in HTTP request steps
- Built-in LLM generation steps
- Supports conditions, loops, and retries
- Validatable with stepyard validate
- Local SQLite state storage
- Scheduled execution support
- On-demand execution support
- Cron, interval, and startup triggers
- Works from the CLI
- Can run as a local daemon
- Plugin dependencies are isolated
- Supports Windows via WSL
Stepyard cons
- Requires Python 3.10+
- Windows support depends on WSL
- Local setup still required
- Workflows are YAML-based, which may feel verbose
- Custom plugins require Python development
- External services still need manual credentials
- LLM steps depend on model access
- State lives locally unless you back it up
- Built-in behavior may not cover every niche workflow
- Scheduling only works while the service is running
Frequently asked questions about Stepyard
What is Stepyard?
Stepyard is an automation runner for developers that executes YAML-defined pipelines locally. You define flows in YAML files stored in your repository, then extend them with plain Python functions and built-in nodes for common tasks like shell commands, HTTP requests, and LLM calls.
Does Stepyard require a cloud account or hosted service?
No. The website says it runs on your machine, with no server to set up and no cloud account needed. It can run from the CLI or through a local daemon, and it only sends data out when a flow explicitly does so.
How do you install and start using it?
The getting-started example shows installation with pip install stepyard, then creating a project with stepyard init my-project, moving into the folder, and running a flow with stepyard run hello. The docs also show validation and service commands such as stepyard validate and stepyard service start.
What kinds of workflows can it handle?
The site shows examples such as a deployment pipeline, a daily PostgreSQL backup, automated pull-request review, and multi-environment deployment with rollback. Those examples use steps like building containers, pushing images, running smoke tests, fetching GitHub diffs, posting comments, and undoing failed staging deployments.
Can I write custom logic in Python?
Yes. The site says you can extend flows with plain Python functions, and a single @node decorator turns a function into a reusable step. It also says inputs are type-validated automatically and plugin dependencies are isolated so they do not conflict with Stepyard itself.
What built-in steps are included?
The documentation examples explicitly show built-in nodes for shell.run, http.request, and llm.generate. The site also mentions a complete built-in node reference in the documentation overview, suggesting more shipped nodes are available beyond the examples.
How does Stepyard handle scheduling?
Stepyard supports scheduled and on-demand execution. The docs mention cron, interval, and startup triggers, and say you can run stepyard service start so flows execute on schedule without an external scheduler or cloud service.
How is state stored?
The website says state is stored in a local SQLite database. That means workflow data stays on your machine by default, and data only leaves if a step in the flow explicitly sends it somewhere, such as a webhook or API request.
What platforms and Python versions are supported?
The compatibility table lists Python 3.10, 3.11, 3.12, and 3.13. It also lists macOS, Linux, and Windows through WSL, with SQLite as the default storage backend.
Is there documentation beyond the examples?
Yes. The documentation overview lists Getting Started, Core Concepts, How-to Guides, Built-in Nodes, Plugin Development, and the CLI Reference. It says the docs include installation, two full tutorials, practical recipes, and complete command and node references.