Skip to content

Commit 8aa3755

Browse files
committed
feat(cli): add --version flag
The CLI group had no way to report its version (`openkb version` / `openkb -v` both fail). Add `@click.version_option(package_name="openkb")` so `openkb --version` prints "openkb <version>", read from installed package metadata (tracks the hatch-vcs-derived version, no hardcoded string).
1 parent d9531ec commit 8aa3755

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

openkb/cli.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -757,6 +757,7 @@ def append_cloud_log() -> None:
757757

758758

759759
@click.group()
760+
@click.version_option(package_name="openkb", prog_name="openkb", message="%(prog)s %(version)s")
760761
@click.option("-v", "--verbose", is_flag=True, default=False, help="Enable verbose logging.")
761762
@click.option(
762763
"--kb-dir",

tests/test_cli.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,17 @@
99
from openkb.schema import AGENTS_MD
1010

1111

12+
def test_version_flag_reports_installed_version():
13+
import importlib.metadata
14+
15+
runner = CliRunner()
16+
result = runner.invoke(cli, ["--version"])
17+
assert result.exit_code == 0
18+
# Reports the package's installed version (via importlib.metadata), so it
19+
# tracks the hatch-vcs-derived version without a hardcoded string.
20+
assert importlib.metadata.version("openkb") in result.output
21+
22+
1223
def test_init_creates_structure(tmp_path):
1324
runner = CliRunner()
1425
with runner.isolated_filesystem(temp_dir=tmp_path), patch("openkb.cli.register_kb"):

0 commit comments

Comments
 (0)