Default interactive CLI to menu

This commit is contained in:
pleb
2026-07-01 11:59:01 -07:00
parent 69f9dbd9b1
commit eed12376c6
4 changed files with 35 additions and 2 deletions
+8 -1
View File
@@ -70,7 +70,7 @@ def _add_common(parser: argparse.ArgumentParser, *, suppress_default: bool = Fal
def build_parser() -> argparse.ArgumentParser:
parser = argparse.ArgumentParser(prog="plugin-helper")
_add_common(parser)
subcommands = parser.add_subparsers(dest="command", required=True)
subcommands = parser.add_subparsers(dest="command")
subcommands.add_parser(
"instances",
@@ -309,6 +309,13 @@ def run(argv: list[str] | None = None) -> int:
args = parser.parse_args(argv)
try:
if args.command is None:
if sys.stdin.isatty() and sys.stdout.isatty():
args.command = "menu"
else:
parser.print_help()
return 2
explicit_instances_root = getattr(args, "instances_root", None) is not None
explicit_state_dir = getattr(args, "state_dir", None) is not None
runtime = resolve_runtime_config(