feat(cli): --version/-V + in-app version command + release guard (ADR-0054)

Cargo.toml version is the single source of truth, surfaced by a
--version/-V CLI flag and an in-app `version` command (both via
cli::version_text -> cli.version_line). release.yaml gains a guard that
fails the release unless the v* tag equals v<CARGO_PKG_VERSION>, keeping
--version, the release name, and the asset in lockstep. New app command
wired across grammar/REGISTRY/dispatch/usage/help/hint-corpus/keys; 6
test-first tests. Also fixes a stale "macOS deferred" comment in
release.yaml. ADR-0054 + README index + plan-doc step 1.
This commit is contained in:
claude@clouddev1
2026-06-16 15:57:54 +00:00
parent fe9d58e037
commit c30a6114b9
12 changed files with 215 additions and 4 deletions
+6 -1
View File
@@ -1,6 +1,6 @@
use std::process::ExitCode;
use rdbms_playground::cli::{help_text, Args};
use rdbms_playground::cli::{help_text, version_text, Args};
use rdbms_playground::{logging, runtime};
fn main() -> ExitCode {
@@ -22,6 +22,11 @@ fn main() -> ExitCode {
}
};
if args.version {
println!("{}", version_text());
return ExitCode::SUCCESS;
}
if args.help {
print!("{}", help_text());
return ExitCode::SUCCESS;