fabro/lib/crates/fabro-cli
Bryan Helmkamp d51c6dfb76
simplify: migrate exec/parse/workflow/upgrade/uninstall to CommandContext
These top-level commands still took `&CliNamespace` + `Printer`
separately. Thread `&CommandContext` through the public entry points
and pull what's needed (`user_settings().cli`, `printer()`,
`json_output()`) from the context:

- parse: both args were unused — drop entirely.
- workflow list/create: use `ctx.json_output()` / `ctx.printer()`.
- exec: bind `cli = &ctx.user_settings().cli` at the top; drop unused
  printer param.
- upgrade: extract cli/printer inside run_upgrade; leave the private
  run_upgrade_brew helper with its existing signature (unit tests use
  `CliNamespace::default()` directly).
- uninstall: use `ctx.json_output()` / `ctx.printer()`.

Install remains on the old signature — its nested callback structure
makes a larger refactor than this simplification pass warrants.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 08:06:46 -04:00
..
src simplify: migrate exec/parse/workflow/upgrade/uninstall to CommandContext 2026-04-23 08:06:46 -04:00
tests/it fix(cli): suppress preview open for JSON output 2026-04-23 07:29:37 -04:00
build.rs feat(cli): surface debug build profile in version output 2026-04-18 09:44:54 -04:00
Cargo.toml test(cli): suppress browser launch under spawned fabro test subprocesses 2026-04-22 07:50:34 -04:00