AJ ONeal b6fd4072bf
refactor(monorel): replace bash script output with interactive step runner
Replace printModuleScript (which emitted a bash script to stdout) with an
interactive step runner for the release subcommand:

- Each step shows the command(s) it will run, then prompts [Y/n]
- --dry-run: show steps without prompting or running (replaces old default)
- --yes: run all steps without prompting (happy-path automation)

New types/functions:
  releaseStep       — title, prompt, display lines, skip flag, run func
  printModuleHeader — extracted header/info block (always shown)
  buildModuleSteps  — constructs the ordered step list for one module
  runSteps          — executes steps per dryRun/yes flags
  execIn            — runs a command streaming to the terminal
  execInEnv         — like execIn with extra environment variables

Goreleaser archive globs are expanded at step-run time (after goreleaser
has built the dist/ directory) rather than being passed as shell globs.
The gh release create --notes flag receives the notes string directly
instead of via a shell variable.
2026-03-01 19:13:50 -07:00
..