distros/skills/fedora/SKILL.md
Base Fedora 43 image. Root of the box hierarchy for all RPM-based boxes. MUST be invoked before building, deploying, configuring, or troubleshooting the fedora box.
npx skillsauth add overthinkos/overthink-plugins fedoraInstall 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.
Root base image built from quay.io/fedora/fedora:43. Foundation for all RPM-based OpenCharly boxes.
Owned by the overthinkos/fedora submodule. The Fedora base stack —
fedora, /charly-distros:fedora-builder, /charly-distros:fedora-nonfree — lives
bare-local in the overthinkos/fedora submodule (mounted at box/fedora),
which is SELF-CONTAINED (import: []): the base stack is bare-local and the
submodule composes the main repo's shared candies by @github git reference. Its
boxes write base: fedora and route builders to fedora-builder (bare-local
refs, no namespace qualifier). The Fedora consumer showcase boxes
(/charly-coder:fedora-coder, /charly-distros:charly-fedora, /charly-distros:fedora-test)
and the Fedora-rooted pod families all live in the same submodule, discovered as
box/<name>/charly.yml boxes. The main repo imports this submodule under the
fedora namespace (one-directional — fedora imports nothing back) to reference
those relocated boxes. Build with charly box build fedora from the submodule
(or charly -C box/fedora box build fedora).
| Property | Value | |----------|-------| | Base | quay.io/fedora/fedora:43 | | Layers | (none) | | Platforms | linux/amd64 | | Pkg | rpm | | Registry | ghcr.io/overthinkos |
charly box build fedora
charly shell fedora
distro.fedora.dnf)The embedded distro.fedora.dnf vocabulary writes dnf download-speed knobs to
/etc/dnf/dnf.conf during the bootstrap, so they apply to the bootstrap install
AND every per-layer dnf install in this box and its descendants:
# charly/charly.yml (embedded build vocabulary)
distro:
fedora:
dnf:
max_parallel_downloads: 10 # concurrent package downloads
fastestmirror: true # sort mirrors by measured speed
These are speed-only — they never change which packages are selected
(install_weak_deps stays on the bootstrap install_cmd's
--setopt=install_weak_deps=False). The block is a DnfConfig on DistroDef
and inherits across distro inheritance like the other sub-blocks. Source:
charly/generate.go:renderDnfConfWrite.
/charly-distros:fedora-nonfree — adds RPM Fusion repos/charly-distros:fedora-builder — adds pixi, nodejs, build-toolchain/charly-distros:nvidia — adds CUDA toolkit/charly-openclaw:openclaw — adds OpenClaw gateway/charly-distros:githubrunner — adds GitHub Actions runnerAfter charly box build:
charly box list — box appears in listcharly shell fedora — interactive shell works/charly-distros:fedora-nonfree — adds RPM Fusion repos/charly-distros:fedora-builder — adds pixi, nodejs, build-toolchain/charly-distros:charly-fedora — full charly toolchain on Fedora/charly-distros:arch — pacman-based counterpart base/charly-build:build — build the fedora base image/charly-core:shell — interactive shell in the base imageMUST be invoked when the task involves the fedora base image or understanding the box chain. Invoke this skill BEFORE reading source code or launching Explore agents.
/charly-image:image — image family umbrella (candy: image entries — those carrying base:/from: — in charly.yml, build/validate/inspect/list)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).