CronYAML
CronYAML is a lightweight Node.js scheduler for running local commands and trusted remote scripts from YAML. It stays in the foreground and never edits the system crontab.
Start here
npm install cronyaml
npx cronyaml init
npx cronyaml validate
npx cronyaml run
CronYAML requires Node.js 20 or newer. The getting started guide walks through this workflow from an empty project.
What CronYAML supports
| Area | Included capabilities |
|---|---|
| Configuration | YAML versioning, config discovery, defaults, validation, environment interpolation |
| Jobs | Local shell commands or HTTPS GitHub scripts, working directories, arguments, enable/disable |
| Scheduling | Cron expressions, IANA time zones, foreground lifecycle, graceful shutdown |
| Reliability | Timeouts, retries, cached remote scripts, and overlap policies |
| Interfaces | init, validate, list, exec, and run CLI commands plus a TypeScript API |
| Operations | Docker image support, structured logging, and trusted-source guidance |
Use the configuration reference for the complete field reference, or jump to examples for runnable jobs.
Documentation
- Getting started - install, initialize, validate, and run.
- How to use CronYAML - the end-to-end workflow at a glance.
- Configuration reference - every supported YAML field and default.
- CLI reference - commands, options, output, and exit behavior.
- Examples - basic, remote, and Gmail examples.
- Programmatic API -
loadConfigandCronYamlScheduler. - Operations and security - Docker, caching, shutdown, and troubleshooting.
- Release notes - changes grouped by published version.
Project links
Quick start
npm install cronyaml
npx cronyaml init
npx cronyaml validate
npx cronyaml run
CronYAML requires Node.js 20 or newer and discovers cron.yaml in the current
directory by default.