Default CLI entrypoint: prompt, TUI, eval, and flag dispatch.
@spec run( [String.t()], keyword() ) :: :ok | {:error, term()}