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.
| Version | 0.1.0 |
| Created | 2026-06-22 |
| Last updated | 2026-06-27 |
| Maintainer | ai@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.
| Name | Relation | Status |
|---|---|---|
| WCL | WCL is the configuration language config-weave playbooks and packages are written in | exists |
| wdoc | config-weave docs renders playbook documentation with wdoc (via the wcl CLI) | exists |
§ 2Sources
Sources drive the update workflow only — they are not topic content.
| ID | Kind | Locator | Covers | Last checked | Reflects version |
|---|---|---|---|---|---|
| prd | docs | /home/wil/dev/config-weave/docs/PRD.md | The config-weave v1 product requirements — design rationale, playbook/package WCL syntax, wscript contracts, execution semantics, non-goals. | 2026-06-22 | 0.1.0 |
| notes | docs | /home/wil/dev/config-weave/docs/notes.md | Binding 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-22 | 0.1.0 |
| vocab | repo | /home/wil/dev/config-weave/src/vocab | The embedded WCL schema served as system imports (weave/playbook.wcl, weave/package.wcl) — the authoritative playbook/package vocabulary. | 2026-06-22 | 0.1.0 |
| hostapi | repo | /home/wil/dev/config-weave/src/hostapi | The wscript host API modules (Linux + Windows). config-weave wscripti emits weave.wscripti from these — the authoritative host surface. | 2026-06-22 | 0.1.0 |
| wscript_docs | docs | /home/wil/dev/wscript/docs | The wscript language itself — the tour and reference for the scripting language config-weave embeds. | 2026-06-22 | 0.1.0 |