Give -v to verbose, move --version to -V (closes #64)
check / check (push) Successful in 1m18s

urfave/cli's built-in version flag claimed -v, colliding with the -v
verbose alias on every subcommand, so "mfer -v --version" failed with a
parser error. Verbose is the more common meaning of -v in tools that
offer both, so verbose keeps -v at the root and on every subcommand, and
the version flag takes -V (--version still works).

User-visible change: -v alone now prints help with verbose logging, not
the version; use -V or --version.

The --version flag and the version subcommand share one printer, so
their output is identical. Tests cover -v, --verbose, --version, -V,
-v --version and --verbose --version. The README roadmap item for
--version is checked off.

Model: opus-4-8 (implementation); opus-5-5 (rebase)
This commit is contained in:
2026-10-03 23:56:26 +00:00
parent c31796998f
commit 1d69f08434
4 changed files with 94 additions and 5 deletions
+2 -2
View File
@@ -417,8 +417,8 @@ proto `go_package` option. Which is canonical?
matching Scanner
- [ ] Add `--deterministic` flag or make it default — omit `createdAt`, sort
files (pending design question answer)
- [ ] Wire `--version` flag properly (currently only a `version` subcommand
exists; top-level `--version` shows urfave/cli generic output)
- [x] Wire `--version` flag properly: `--version` and `-V` print the same line
as the `version` subcommand, and `-v` means verbose
- [ ] Add retry logic to `fetch` — currently no retries on transient HTTP
errors; needs exponential backoff
- [ ] `fetch` command uses bare `http.Get` with no timeout — needs `http.Client`