arf-console 0.5.2

A cross-platform R console written in Rust
---
source: crates/arf-console/src/cli/mod.rs
expression: help
---
A cross-platform R console written in Rust

Usage: arf [OPTIONS] [COMMAND]

Commands:
  completions  Generate shell completion scripts
  config       Configuration management
  history      History management
  ipc          Interact with a running arf session via IPC
  headless     Run R with IPC server only (no interactive REPL)
  r            R source resolution commands
  help         Print this message or the help of the given subcommand(s)

Options:
  -e, --eval <EVAL>
          Evaluate R expression and exit

  -f, --file <FILE>
          [R] Take input from FILE

      --reprex <MODE>
          Set reprex mode (off, on, or format).
          
          Config: startup.reprex

          Possible values:
          - off:    Evaluate normally
          - on:     Evaluate and show reprex output
          - format: Format code with the configured formatter before reprex evaluation

  -c, --config <CONFIG>
          Path to configuration file

      --r-home <R_HOME>
          Highest-priority R source: use this explicit R_HOME path
          
          Mutually exclusive with --with-r-version and ARF_R_VERSION.
          
          Takes precedence over ARF_R_HOME, r_source_overrides and startup.r_source, which are not consulted at all when this is set.
          
          Config: startup.r_source
          
          [env: ARF_R_HOME=]

      --with-r-version <R_VERSION>
          Highest-priority R source: use this R version via rig
          
          Accepts a rig alias (e.g. "release"), "default", a rig-assigned name, a full version ("4.4.1"), a partial version ("4.4" or "4", matching the latest release in that series), or a version range in the style Cargo and npm use ("^4.4", ">=4.3, <5.0").
          
          Requires rig. Candidates are limited to R versions rig has installed (from `rig list --json`); the version string is never passed to rig.
          
          Takes precedence over ARF_R_VERSION, r_source_overrides and startup.r_source, which are not consulted at all when this is set.
          
          Config: startup.r_source
          
          [env: ARF_R_VERSION=]

      --no-r-source-overrides
          Disable experimental directory-level R source overrides
          
          This only disables r_source_overrides. An R source given by --r-home, --with-r-version, ARF_R_HOME or ARF_R_VERSION still applies.
          
          Config: [experimental].r_source_overrides

      --no-banner
          Suppress the startup banner
          
          Config: show_banner

      --vanilla
          Start R in vanilla mode (no init files, no save/restore)

      --no-environ
          [R] Don't read the site and user environment files

      --no-site-file
          [R] Don't read the site-wide Rprofile

      --no-init-file
          [R] Don't read the user's .Rprofile

  -q, --quiet
          [R] Don't print R startup message

      --no-save
          [R] Don't save workspace at end of session (default)

      --save
          [R] Save workspace at end of session

      --no-restore
          [R] Don't restore previously saved objects (default)

      --no-restore-data
          [R] Don't restore previously saved objects

      --restore-data
          [R] Restore previously saved objects

      --no-echo
          [R] Don't echo input (no-op, arf controls its own echo)

      --with-ipc
          Enable IPC server for external tool access (AI agents, vscode-R, etc.)
          
          Starts the IPC server alongside the interactive REPL, allowing external tools to call `arf ipc eval`, `arf ipc send`, etc. For headless (no REPL) usage, see `arf headless` instead.

      --ipc-bind <IPC_BIND>
          Bind IPC socket to a specific path instead of the default (requires --with-ipc)
          
          Unix: filesystem path (e.g. /tmp/my-arf.sock) Windows: named pipe path (e.g. \\.\pipe\my-arf)

      --ipc-pid-file <IPC_PID_FILE>
          Write server PID to a file on startup (requires --with-ipc)
          
          The file is removed when the REPL exits. Startup fails if the file cannot be written, so the editor is guaranteed to own the session or get an error — there is no silent fallback.

      --ipc-eval-allow-function <IPC_EVAL_ALLOW_FUNCTION>
          Add an exact function target to the IPC evaluate allowlist. May be repeated; package-qualified targets use `package::function`

      --ipc-eval-unrestricted
          Disable the IPC evaluate allowlist for this server startup only

      --history-dir <HISTORY_DIR>
          Custom history directory (overrides default XDG location)
          
          R history is stored at `{dir}/r.db`. The interactive console also stores shell history at `{dir}/shell.db`.
          
          Config: history.mode = { dir = "..." }
          
          [env: ARF_HISTORY_DIR=]

      --no-history
          Keep history only in memory for this session (no history loaded or saved)
          
          Overrides config: history.mode = "volatile"

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version