For contributors: https://clig.dev has some pretty good recommendations about CLI UX goals.
This page is just a quick list of every command we've thought we'll need, so we can look for consistent patterns.
Not all of these are currently implemented! (We wanted to look forward to functionality we anticipate building, in order find naming patterns that will stay firm during growth
Existing commands
Execution commands can do fileset mutations. These mutations may have records, caches, and memoizations stored in a workspace.
warpforge quickrun
— launch a container with your whole host mounted ro, and the cwd mounted rw, and the container shell launched in that same cwd. Details configurable with config files in your home workspace.warpforge quickbox
— similar to warpforge quickrun
but starts with a minimal root image instead of your whole host. Details configurable with config files in your home workspace.warpforge run [file | pattern]...
— looks for either a module or a plain formula and Does The Thing. Or take an entire pattern (e.g. "./...
"), in which case we're looking for modules, and are gonna do a bunch of fun stuff.
--net=allow
and --mount=allow
and --ingest=allow
.warpforge impact
— makes changes on your host! Runs some module or formula, and then, upon success, will unpack its outputs onto your host!