Refactor build and rebuild command handlers to pass BuildOptions instead
of multiple boolean flags, satisfying clippy's excessive-bools and
too-many-arguments lints.
Apply rustfmt output in CLI and core engine code.
Add CLI integration coverage for:
- 'pin --check' on pinned and unpinned base.image
- 'build --offline' failing fast when system packages are requested
Add a new 'pin' subcommand to rewrite base.image to an explicit URL.
Extend build and rebuild with --locked, --offline, and --require-pinned-image,
and wire flags into the core engine build options.
Add 'karapace new' to generate a manifest from templates or prompts.
Add 'karapace tui' to launch the terminal UI.
Improve env-id resolution errors in non-JSON output with suggestions.
Add dialoguer and toml as CLI dependencies.
- Add KARAPACE_SKIP_PREREQS=1 env var check to skip runtime prerequisite
checks (user namespaces, fuse-overlayfs) when testing with mock backend
- Set KARAPACE_SKIP_PREREQS=1 in CLI integration test helper
- Add bash to opensuse/tumbleweed container deps (required by
dtolnay/rust-toolchain action)
- 23 commands, each in its own module under commands/
- Thin main.rs dispatcher with clap subcommand routing
- Progress spinners (indicatif) and colored state output (console)
- Environment resolution by env_id, short_id, name, or prefix
- Structured JSON output (--json) on all query commands
- --verbose/-v for debug, --trace for trace-level logging
- KARAPACE_LOG env var for fine-grained log control
- Exit codes: 0 success, 1 failure, 2 manifest error, 3 store error
- Prerequisite check before runtime operations
- Shell completions (bash/zsh/fish/elvish/powershell) and man page generation