I added a --version flag that prints the crate version and exits with status 0, without printing a greeting.
Options in src/lib.rs gains version: bool, which parse_args sets when it sees --version. In src/main.rs, main prints env!("CARGO_PKG_VERSION") and returns early when the flag is set. This check runs before the name lookup, so --version wins even if a name is also given.
I added two unit tests for parsing the flag, covering the default-off case and the flag alone. A new integration test in tests/cli.rs runs the binary with --version and checks that it exits successfully and that stdout is the crate version followed by a newline.
cargo test passes, and cargo run -- --version prints 0.1.0. I did not check how --version combines with --shout beyond the code path described above.