Config
TypeScript you can read, with errors that point.
Config is TypeScript: one command per task, helpers you can import, and rules that catch a slow setup. When it is wrong, the error points at the line.
7 features
One command per taskA task is a shell command with edges and a cache block; nothing boots in between.There is no executor layer to learn and no process per task to pay for. A task is the command you would type, plus what it depends on and what it reads and writes.
Rules that catch slow configsChecks for configs that would make runs slow or wrong, on by default, each one optional.Two tasks writing the same dist/** delete each other’s output. An input glob that reads another task’s output makes keys wait on builds. vx refuses both at load, with the fix.Each one has a page that shows it working.
A config that hangs, namedA config whose evaluation runs away fails after a deadline, naming the file.
No runs inside runsA vx run inside a task of the same workspace is refused, with the reason.
Config with autocompletedefineProject gives you completion and errors while you type.And 2 smaller things that add up.