v0.2.0
Added
passwordoption type: masked entry that is redacted (****) everywhere oz displays a
command or answer (dry-run, confirmation prompt, values editor,oz run show), never written
to persisted state (last-used, presets, pins), and re-prompted every run. Asecret_env: NAME
channel delivers the value through the child process environment instead ofargv, keeping it
off the process list on Linux (see README for the flag-exposure limitation and platform scope)numberoption type: accepts integer/float input with optional inclusivemin/maxbounds;
rejects non-numeric or out-of-range input, and omits its flag when left blankoz test [wizard]: a hermetic snapshot harness that asserts a wizard's fixture answers
build the expected command. Fixtures live inwizards/testdata/<wizard>/as a<case>.yml
(pinnedversion:+answers:) and a sibling<case>.golden;--updateregenerates the
goldens. Execution is hermetic: the pinned version drives option filtering (no detection)
and dynamic-choice answers are taken as literal values (no shell runs), so fixtures pass on
any machine. Runs in CI overwizards/as a gate: a wizard that ships no fixture fails- Proving-pack registry wizards exercising the harness's hard cases:
docker-run(multi-select),
git-switch(dynamic-choice supplied as a literal), withrails-newandbundle-gemcovering
version gating, each with passing fixtures bundle-gemregistry wizard: wraps Bundler'sbundle gemgenerator with version-aware
options verified against real Bundler binaries from 2.2 to 4.x:--changelog(≥2.2.8),
--github-username(≥2.2.16),--linter(≥2.2.31, supersedes the<2.2.31--rubocop),
--extvaluesc/rust(≥2.4)/go(≥4.0), and--bundle(≥2.7);--rubocopis hidden on
4.x where it was removed. Includes a version picker viabundle _<version>_ gem
Fixed
oz list/oz list --remote: add column spacing so the wizard name, description,
and(installed)tag no longer run together, and a trailing blank line to match
every other command's output- Registry now served from the main repo (
svyatov/ozwizards/+index.yml)
instead of a separateoz-wizardsrepo, sooz add,oz list --remote, and
oz updatework out of the box; override withOZ_REGISTRY_URL - rails-new wizard: expose
--skip-asset-pipelineon Rails 8.x via a version-gated
toggle (the asset-pipeline selector is< 8.0only, so 8.x had no way to skip it)
Install
brew install svyatov/tap/oz
go install github.com/svyatov/oz/cmd/oz@v0.2.0Full changelog: https://github.com/svyatov/oz/blob/main/CHANGELOG.md