Task orchestration you own. Correct, sandboxed, extensible. No cloud, no account, no paywall.
https://vznjs.github.io/vx/ β HEALTH ? 100 / Healthy
Task orchestration you own. Correct, sandboxed, extensible. No cloud, no account, no paywall.
https://vznjs.github.io/vx/ β// readme
Correct, sandboxed, extensible. No cloud, no account, no paywall.
Task orchestration with a cache you can trust, on a core you can extend. Each task is one shell command with declared inputs and outputs; vx runs them in dependency order and replays results from a content-addressed cache.
In a git repo:
bunx @vzn/vx init # installs vx, writes an empty root vx.config.ts and the lockfile plugin
A prebuilt binary for Linux (glibc, not Alpineβs musl) and macOS, x64 and arm64. Windows: run vx inside WSL2.
A task runs its tool directly, never through a package script. Cache one by saying what it reads and writes:
// packages/app/vx.config.ts
import { defineProject } from '@vzn/vx/config'
export default defineProject({
tasks: {
build: {
exec: { command: 'tsc -b' },
dependsOn: ['^build'], // dependencies build first
inputs: { files: ['src/**', 'tsconfig.json'] },
cache: {
outputs: { files: ['dist/**'] },
},
},
},
})
vx run build --all # builds, in dependency order; stores the results
vx run build --all # nothing changed: up-to-date, in milliseconds
rm -rfβ¦