config-weave

Summary

Single-binary configuration management driven by WCL playbooks and wscript resource scripts, with a check → apply → re-check convergence contract and a disposable-instance testlab.

Version0.1.0
Created2026-06-22
Last updated2026-06-27
Maintainerai@wiltaylor.dev

config-weave is a single-binary configuration management tool. You copy the binary onto a target machine alongside a playbook folder and run it — no agent, no runtime, no package installs. A playbook (playbook.wcl, a WCL document) runs plays of steps; each step invokes a resource declared in a package (pkgs/<name>/package.wcl) and implemented as a wscript script obeying a check → apply → re-check contract. Gatherers collect facts into playbook variables. config-weave can check whether a machine matches the playbook (a report-only dry run) or apply it (converge the machine). The testlab (config-weave test) proves package convergence in disposable vmlab instances — a container from an OCI image, or a VM from a template — with a three-run idempotence protocol. Three languages divide the work: WCL encodes playbooks and packages, wscript implements resources and gatherers, and the config-weave (Rust) engine mediates — validating everything before anything runs, then scheduling steps over a DAG with concurrency classes.

§ 1Artifacts

The views this wskill ships — build them with just render (or the per-view recipes).

ViewEntryOutput
Reference bookwdoc/book/main.wclout/book
Claude Code skillwdoc/skill/main.wclout/skill
Overview deckwdoc/presentation/main.wclout/presentation
Training coursewdoc/training/main.wclout/training
NameRelationStatus
WCLWCL is the configuration language config-weave playbooks and packages are written inexists
wdocconfig-weave docs renders playbook documentation with wdoc (via the wcl CLI)exists

§ 3Sources

Sources drive the update workflow only — they are not topic content.

IDKindLocatorCoversLast checkedReflects version
prddocs/home/wil/dev/config-weave/docs/PRD.mdThe config-weave v1 product requirements — design rationale, playbook/package WCL syntax, wscript contracts, execution semantics, non-goals.2026-06-220.1.0
notesdocs/home/wil/dev/config-weave/docs/notes.mdBinding decisions where the PRD's sketches are illustrative — WCL vocabulary, variable scheme, host API surface, and the testlab protocol. Authoritative over the PRD.2026-06-220.1.0
vocabrepo/home/wil/dev/config-weave/src/vocabThe embedded WCL schema served as system imports (weave/playbook.wcl, weave/package.wcl) — the authoritative playbook/package vocabulary.2026-06-220.1.0
hostapirepo/home/wil/dev/config-weave/src/hostapiThe wscript host API modules (Linux + Windows). config-weave wscripti emits weave.wscripti from these — the authoritative host surface.2026-06-220.1.0
wscript_docsdocs/home/wil/dev/wscript/docsThe wscript language itself — the tour and reference for the scripting language config-weave embeds.2026-06-220.1.0