Skip to content

mise-consumer

Repo box/github.com/opencharly/plugin-mise:v2026.274.2100

Shared consumer candy for the mise check beds. It SHIPS a mise.toml so the embedded builder: mise: vocabulary’s detect_file auto-triggers the mise builder (DETECTION path): the builder STAGE copies the config, runs mise install in-stage, and the artifacts (installs + shims + config) land in the image. The mise: verb step (OpEmit) installs ripgrep in the image, and the checks prove the stage install (zig), the verb install (ripgrep), mise on PATH, and the verb’s OpExecute leg (mise ls). The fixture tools ship official static prebuilds (zig ships a fully-static tarball; ripgrep’s musl build needs no libc) so the SAME config installs on glibc AND musl bases (Alpine) — mise’s python/node backends compile from source on musl where no C toolchain exists.

This candy’s plan: — the runnable spec charly check executes against a live deployment. check: steps are idempotent probes; run: steps change state.

Intent Step
run install ripgrep via the mise verb (OpEmit — mise use writes the config, installs, reshims)
check the tool installed by the builder STAGE resolves via the shims
check the tool installed by the mise VERB resolves via the shims
check mise is on PATH
check mise ls runs at runtime (the OpExecute shell — the external-plugin verb dispatch itself is exercised by the unit tests + the OpEmit verb step)