distros/skills/arch/SKILL.md
Base Arch Linux image. Root of the box hierarchy for all pac-based boxes. MUST be invoked before building, deploying, configuring, or troubleshooting the arch box.
npx skillsauth add overthinkos/overthink-plugins archInstall 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/archlinux/archlinux, pinned to a precise base-* date-serial tag in the arch base box (the overthinkos/arch submodule at box/arch; the quay mirror has the same content as docker.io/library/archlinux without Docker Hub's pull-rate limit). Foundation for all Arch Linux-based OpenCharly boxes.
| Property | Value |
|----------|-------|
| Base | quay.io/archlinux/archlinux (pinned base-* tag in the overthinkos/arch submodule) |
| Layers | (none) |
| Platforms | linux/amd64 |
| Distro | arch |
| Build | pac |
| Builders | pixi, npm, cargo, aur → arch-builder |
| Registry | ghcr.io/overthinkos |
charly box build arch
charly shell arch
arch (this base), /charly-distros:arch-builder, and the consumer Arch
boxes all live in the overthinkos/arch repo (git submodule at
box/arch), discovered as box/<name>/charly.yml boxes. That submodule
is SELF-CONTAINED (import: []): its base/builder stack is bare-local and it
composes the main repo's shared candies by @github git reference. Its boxes
write base: arch and route builders to arch-builder (bare-local refs, no
namespace qualifier):
/charly-distros:arch-builder — adds pixi, nodejs, build-toolchain, yay (in box/arch)/charly-coder:arch-coder — kitchen-sink dev box (in box/arch)/charly-coder:charly-arch — full charly toolchain on Arch (in box/arch)/charly-distros:arch-test — pacman + AUR packaging test (in box/arch)This is the Arch counterpart to /charly-distros:fedora. The tag system (distro: [arch], build: [pac]) selects pac: package sections and pac: tasks in tasks:. Candies shared between Arch and Fedora boxes use distro-specific sections:
# charly.yml — multi-distro package declarations
rpm:
packages: [neovim] # Fedora
pac:
packages: [neovim] # Arch
AUR packages are authored under distro.arch.aur.package and built via
arch-builder (yay); the consuming box must add aur to its build: list
(build: [pac, aur]) — the base declares only build: [pac]. The
/charly-distros:cachyos base shares this exact AUR path (it routes aur →
arch-builder too), so AUR support is identical on arch and cachyos. See
/charly-image:layer "AUR (aur:)" for the authoring reference.
After charly box build:
charly box list — box appears in listcharly shell arch — interactive shell workscharly shell arch -c "pacman --version" — pacman available/charly-distros:arch-builder — adds pixi, nodejs, build-toolchain, yay/charly-coder:charly-arch — full charly toolchain on Arch/charly-distros:arch-test — pacman + AUR test image/charly-distros:fedora — RPM-based counterpart/charly-build:build — build the arch base image/charly-core:shell — interactive shell in the base imageMUST be invoked when the task involves the arch base image or understanding the Arch 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).