"""CLI entry point ``rmgr`` (skeleton — commands land with extract phases).""" from __future__ import annotations import argparse import sys def main(argv: list[str] | None = None) -> int: parser = argparse.ArgumentParser( prog="rmgr", description="Repo Manager CLI (helixforge.repo-manager)", ) parser.add_argument( "--version", action="store_true", help="Print package version and exit", ) sub = parser.add_subparsers(dest="command") sub.add_parser("version", help="Print version") # Placeholders — implemented as extraction phases land (RMGR-WP-0001-T05+). p_rec = sub.add_parser( "reconcile", help="Run consistency reconcile (not yet implemented)", ) p_rec.add_argument("--path", default=".", help="Repository checkout path") p_rec.add_argument("--fix", action="store_true", help="Apply safe fixes") args = parser.parse_args(argv) if args.version or args.command in (None, "version"): from repo_manager import __version__ print(__version__) return 0 if args.command == "reconcile": print( "rmgr reconcile: not implemented yet " "(see docs/adr-001-implementation-foundation.md, phase P0)", file=sys.stderr, ) return 2 parser.print_help() return 0 if __name__ == "__main__": raise SystemExit(main())