ov-images/skills/fedora-builder/SKILL.md
Builder image with pixi, Node.js, and C/C++ build toolchain. Used as the default builder for multi-stage image builds. MUST be invoked before building, deploying, configuring, or troubleshooting the fedora-builder image.
npx skillsauth add overthinkos/overthink-plugins fedora-builderInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Builder image with package managers and compilation tools. Default builder for pixi, npm, and cargo multi-stage builds (declared via builds: [pixi, npm, cargo]).
| Property | Value | |----------|-------| | Base | fedora | | Layers | rpmfusion, pixi, nodejs, build-toolchain | | Platforms | linux/amd64 | | Registry | ghcr.io/overthinkos |
fedora (quay.io/fedora/fedora:43)rpmfusion — RPM Fusion free + nonfree repo configuration. Applied first so subsequent layers can dnf install packages from RPM Fusion (e.g. x264-devel, ffmpeg-devel, libva-devel)pixi — pixi package manager + env pathsnodejs — Node.js + npmbuild-toolchain — gcc, cmake, autoconf, ninja, git, pkg-config, plus the smithay/cargo build deps (rust, cargo, clang-devel, nasm, wayland-devel, libva-devel, x264-devel, ffmpeg-devel, pixman-devel, …) needed for builder-stage compilation of Wayland compositors like pixelflux. See /ov-layers:build-toolchain for the full grouped list.The build-toolchain layer's dnf install references packages that live in RPM Fusion free
(libva-devel, x264-devel, ffmpeg-devel). These are required to build pixelflux from
source (its libva-sys, x264-sys, and ffmpeg-sys-next cargo crates link against the
system libs). Without rpmfusion applied first, those dnf install calls would fail.
See /ov-layers:selkies (Patched pixelflux build pipeline) for the consumer story.
This image is referenced in defaults.builders as the builder for pixi, npm, and cargo multi-stage builds. It declares builds: [pixi, npm, cargo] to advertise its capabilities. The generator uses it as the FROM stage in multi-stage builds, providing build tools without bloating final images.
ov image build fedora-builder
ov shell fedora-builder
/ov-layers:pixi — Python package management foundation/ov-layers:nodejs — Node.js runtime and npm/ov-layers:build-toolchain — C/C++ compilation tools/ov-images:fedora — parent baseAfter ov image build:
ov image list — image appears in listov shell fedora-builder — interactive shell worksMUST be invoked when the task involves the fedora-builder image, multi-stage builds, or build cache configuration. Invoke this skill BEFORE reading source code or launching Explore agents.
/ov:image — image family umbrella (image: entries in overthink.yml, build/validate/inspect/list)/ov:build — build.yml vocabulary (distros, builders, init-systems)tools
Use when authoring or modifying a charly PLUGIN — a candy with a `plugin:` block that contributes Providers (verbs/kinds/deploy-targets/steps/builders/commands), its own CUE schema, builtin (compiled-in) or external (out-of-tree git repo). Covers the unified Provider model, the per-plugin CUE-schema contract (single source → Go params for dev + schema-over-Describe RPC for runtime), the SDK, and the loader.
tools
The CUE data-validation / configuration CLI (cue), pinned to v0.16.1. Use when working with the cue candy, installing the cue binary into a box or onto a target:local dev host, or running the offline schema-vendoring pipeline that feeds charly's egress validation.
tools
CUE EGRESS validation — validating (and, where it adds value, generating) the config files charly WRITES to a system BEFORE the bytes hit disk. MUST be invoked before working on charly/egress.go, the vendored schemas under candy/plugin-egress/egress-schemas/vendor/, the ValidateEgress / registerVendoredEgressKind path, the offline `task cue:vendor` pipeline, or adding an egress schema for any written artifact (cloud-init, k8s manifests, traefik routes, runtime config, install ledger, systemd/quadlet units, ssh_config, libvirt XML).
tools
Kubernetes cluster-probe declarative check verb — the `kube:` check verb (nodes, pods, ingress, storage class, addon health, apply/delete, and arbitrary resource GETs) served out-of-process by the candy/plugin-kube plugin (vendored client-go; no external kubectl required).