Skip to content

cli

cli

CLI entry point for terok-agent.

Built from the command registry in :mod:terok_agent.commands. No command logic lives here — just argument wiring and dispatch.

main()

Run the terok-agent CLI.

Source code in src/terok_agent/cli.py
def main() -> None:
    """Run the terok-agent CLI."""
    parser = argparse.ArgumentParser(
        prog="terok-agent",
        description="Single-agent task runner for hardened Podman containers",
    )
    parser.add_argument("--version", action="version", version=f"terok-agent {__version__}")
    sub = parser.add_subparsers()

    for cmd in COMMANDS:
        _wire_command(sub, cmd)

    # -- proxy --
    proxy_p = sub.add_parser("proxy", help="Credential proxy management")
    proxy_sub = proxy_p.add_subparsers()
    for cmd in PROXY_COMMANDS:
        _wire_command(proxy_sub, cmd)
    proxy_p.set_defaults(_group_help=proxy_p)

    args = parser.parse_args()
    if hasattr(args, "_cmd"):
        _dispatch(args)
    elif hasattr(args, "_group_help"):
        args._group_help.print_help()
    else:
        parser.print_help()
        raise SystemExit(1)