More than one clock.
Use cron, fixed times of day, or repeated intervals inside a daily window. Combine forms and evaluate each task in its own IANA time zone.
Local command scheduling
Define shell commands and schedules in YAML, commit them with your project, and run them through one local service backed by SQLite.
What it handles
RunBinder is for commands that belong to one machine and should remain visible beside the project they operate on.
Use cron, fixed times of day, or repeated intervals inside a daily window. Combine forms and evaluate each task in its own IANA time zone.
Set a global concurrency limit, prevent scheduled runs from overlapping, and discard delayed occurrences beyond a configurable grace period.
List registered tasks, spot definition drift, inspect the latest result, tail command output, and check the scheduler heartbeat from the CLI.
How it works
Registration stores a validated snapshot. Source edits remain visible as drift but do not change a running schedule until you update it.
Create one small YAML file in your project. It is readable in review, easy to commit, and travels with the code it runs.
Register the file when you are ready. RunBinder validates it, resolves the working directory, and stores the snapshot under a namespace you can use from any directory.
RunBinder handles due schedules with bounded concurrency, run history, logs, and overlap protection. Run it detached on Linux or macOS, or in the foreground under a service manager.
Check the YAML state, run a task now, inspect its output, or pause it. The commands work from any directory once the task is registered.
Right-sized orchestration
Built for jobs that belong to one machine, not distributed workflows. Definitions stay in Git; registrations, run history, and service health stay local. See the configuration reference for the full YAML contract.
Get started
Install with Go 1.24 or newer, ensure your Go binary directory is on PATH, then run runbinder init inside a project. Detached service operation is supported on Linux and macOS.
go install github.com/evanjhopkins/RunBinder/cmd/runbinder@latest