% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/ops.R
\name{ops_setup}
\alias{ops_setup}
\title{Check the ukbflow operating environment}
\usage{
ops_setup(
  check_dx = TRUE,
  check_auth = TRUE,
  check_deps = TRUE,
  verbose = TRUE
)
}
\arguments{
\item{check_dx}{(logical) Check dx CLI installation (dxpy is implied by dx).}

\item{check_auth}{(logical) Check RAP login status.}

\item{check_deps}{(logical) Check R package dependencies.}

\item{verbose}{(logical) Print the formatted report. Set to \code{FALSE} for
programmatic use (results are still returned invisibly).}
}
\value{
An invisible named list with elements \code{dx}, \code{dxpy}, \code{auth}, \code{deps},
and \code{summary}. Each element reflects the result of its respective check
block and can be inspected programmatically.
}
\description{
Runs a four-block health check covering the dx CLI, dxpy (Python), RAP
authentication, and R package dependencies. Designed to be the first
function a new user runs after installation.
}
\details{
The function is \strong{read-only}: it never modifies system state, installs
packages, or authenticates. Auth failures are reported as warnings, not
errors, because the check itself does not require a live RAP connection.
}
\examples{
ops_setup(check_dx = FALSE, check_auth = FALSE)

result <- ops_setup(check_dx = FALSE, check_auth = FALSE, verbose = FALSE)
result$summary$fail == 0
}
