Mission
Reducing the wall-clock time running your developer-local tasks
runem
(run 'em) is an unopinionated way to declare and run the many command-line tools developers use regularly.
Core objective
The core objective of Runem is to minimize the wall-clock time required for running checks, supporting shift-left testing. Overall it is designed to enhance iteration speed and boost developer productivity.
runem
is also designed to be easy-to-learn and simple-to-use, but runem
also has many powerful tools for advanced users.
Job definitions are declarative and simple.
The in-built reports show how long each job took and how much time runem
saved you.
Jobs can be filtered in or out very easily.
Multiple projects can be supported in a single .runem.yml
config, supporting
workspaces and mono-repos. Also multiple task types, working on multiple
file-types can be supported.
Finally, because of how it's built, job definitions are auto-documented via
runem --help
. This help onboarding new developers by making tool-discovery
easier. Therefore it also helps maintenance of developer tools.
Why is it called runem
?
Primarily runem
, as a command line tool, is quick to type and tries to just
get out of the way when running your developer-local tools.
The name "runem" is a portmanteau of "run" and "them", encapsulating that runem "runs them", but slightly faster.