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 docker containers or vmlab VMs 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.

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

§ 2Sources

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