CLI Reference

Version: 0.1.0

Single-binary configuration management — validate, check, and apply WCL playbooks, test packages in disposable instances, and scaffold/emit authoring aids.

§ 1Global switches

SwitchValueDescriptionRemarks
--varKEY=VALUEOverride a playbook variable. Repeatable. VALUE parses as a WCL expression when possible, else a plain string.
--var-filePATHMerge a WCL file's top-level name = value pairs into scope (evaluate standalone; cannot reference other variables).
--jobsNWorker pool size (default min(cpu_count, 8)); forwarded into test instances.
--continue-on-errorContinue dispatching steps after an Error (check/apply).
--jsonJSON output: a single schema-stable object on stdout at completion; script log output never goes to stdout.
--no-colorPlain ASCII output (auto-selected when stdout is not a TTY).
--log-filePATHEnable NDJSON file logging (independent of terminal mode).
--log-levelLEVELFile log level (independent of terminal verbosity), default info.
-v, --verboseIncrease terminal verbosity (repeatable: -v, -vv, -vvv).
--password-stdinRead the secrets password from stdin. Alternative to $CONFIG_WEAVE_PASSWORD; exactly one source may be given, and there is no prompt.
--password-filePATHRead the secrets password from a file (one trailing newline is stripped).

§ 2Commands

- config-weave validate

- config-weave check

- config-weave apply

- config-weave list

- config-weave test

- config-weave docs

- config-weave wscripti

- config-weave init

- config-weave secrets

- config-weave secrets encrypt

- config-weave secrets decrypt

- config-weave secrets rekey

- config-weave version

§ 2.1config-weave validate

Full validation pipeline (WCL syntax, schema, refs, DAG, wscript compilation of every script), no execution.

ArgumentRequiredDescriptionRemarks
playbook-dirrequiredThe playbook directory (contains playbook.wcl).
console
config-weave validate ./my-playbook

§ 2.2config-weave check

Report configuration status of all steps in a play (never mutates).

ArgumentRequiredDescriptionRemarks
playbook-dirrequiredThe playbook directory.
playrequiredThe play to check.
console
config-weave check ./my-playbook baseline

§ 2.3config-weave apply

Apply all unconfigured steps in a play (converge the machine), then re-check each.

ArgumentRequiredDescriptionRemarks
playbook-dirrequiredThe playbook directory.
playrequiredThe play to apply.
console
config-weave apply ./my-playbook baseline

§ 2.4config-weave list

List all plays defined in the playbook.

ArgumentRequiredDescriptionRemarks
playbook-dirrequiredThe playbook directory.
console
config-weave list ./my-playbook

§ 2.5config-weave test

Run package convergence tests in disposable vmlab instances (containers or VMs) using the three-run protocol.

ArgumentRequiredDescriptionRemarks
playbook-dirrequiredThe playbook directory.
filteroptionalLimit to a package or one test: pkg or pkg:test.
SwitchValueDescriptionRemarks
--imageIMAGERun every container test against this OCI image instead of its own.
--templateREFRun every VM test against this vmlab template instead of its own.
--keepLeave instances running for post-mortem debugging (handle reported).
--binaryPATHStatic linux config-weave binary to copy into instances.
--binary-windowsPATHWindows config-weave binary for windows guests.
console
config-weave test ./my-playbook core:file_present_converges

§ 2.6config-weave docs

Generate wdoc documentation for the playbook (shares the validation pipeline).

ArgumentRequiredDescriptionRemarks
playbook-dirrequiredThe playbook directory.
outdiroptionalOutput directory (default <dir>/docs/).
console
config-weave docs ./my-playbook

§ 2.7config-weave wscripti

Emit weave.wscripti (the host API interface) plus a starter wscript.toml so editors and the wscript LSP type-check scripts against the exact host surface.

ArgumentRequiredDescriptionRemarks
outdiroptionalOutput directory (default: cwd).
console
config-weave wscripti ./my-playbook/pkgs/core/resources

§ 2.8config-weave init

Scaffold a skeleton playbook with an example package, resource and gatherer.

ArgumentRequiredDescriptionRemarks
dirrequiredDestination directory for the new playbook.
console
config-weave init ./my-playbook

§ 2.9config-weave secrets

Encrypt, decrypt or re-key the secret("…") values in playbook.wcl. Works on the raw source, so it is never blocked by the very validation error it clears.

config-weave secrets encrypt

Encrypt every plaintext secret() in place. The password must match the values already encrypted in the file, so a new secret can only be added by someone who can read the existing ones.

ArgumentRequiredDescriptionRemarks
playbook-diroptionalThe playbook directory (default .).
console
CONFIG_WEAVE_PASSWORD='…' config-weave secrets encrypt ./my-playbook

config-weave secrets decrypt

Rewrite encrypted values back to plaintext so they can be edited. Leaves the real values on disk in the clear — re-encrypt before committing.

ArgumentRequiredDescriptionRemarks
playbook-diroptionalThe playbook directory (default .).
console
CONFIG_WEAVE_PASSWORD='…' config-weave secrets decrypt ./my-playbook

config-weave secrets rekey

Change the password: decrypt with the old one, then re-encrypt every value under a fresh salt — sweeping up any still-plaintext calls in the same pass.

ArgumentRequiredDescriptionRemarks
playbook-diroptionalThe playbook directory (default .).
SwitchValueDescriptionRemarks
--new-password-filePATHRead the new password from a file. Alternative to $CONFIG_WEAVE_NEW_PASSWORD.
console
CONFIG_WEAVE_PASSWORD='old' CONFIG_WEAVE_NEW_PASSWORD='new' config-weave secrets rekey ./my-playbook

§ 2.10config-weave version

Print version information.

console
config-weave version