Skip to content

v0.1.0

Choose a tag to compare

@cushycush cushycush released this 22 Apr 07:36
· 14 commits to main since this release

First tagged release. Package/tool/runtime installer, companion to store.

Highlights

  • Reads .store/packages.yaml; groups map manager keys (brew, apt, pacman, …) to package lists, with optional when: filters that accept either a YAML scalar or a list (os: linux or os: [linux, darwin]).
  • Supported managers: brew, brew-cask, apt, pacman, dnf (falls back to yum), zypper, apk, winget, cargo, go, npm, pipx, gem. Cross-platform "alternatives" in one group are expected — stock runs whichever manager is available.
  • Commands: install, diff, doctor, snapshot, platform, bootstrap. --dry-run on install and bootstrap.
  • Git-style subcommand dispatch: unknown commands fall back to stock-<name> on $PATH.
  • Hooks under .store/hooks/ run with the shared STORE_* env contract from store-core.

Install

go install github.com/cushycush/stock/cmd/stock@v0.1.0

Testing

Unit test coverage focuses on the load-bearing pieces: config 96%, runner 87%, plus full coverage of plan orchestration (when: filtering, cross-group aggregation, unavailable-manager silent skip, unknown-key warnings) and RunInstall happy / error paths. Real manager shell-outs are not unit tested.

See the README for config examples and the full command reference.