Install

rf ships as a single crate on crates.io. It builds to one static binary with no runtime dependencies.

cargo install rf

This puts rf on your PATH (usually ~/.cargo/bin/rf). Confirm the build:

rf --version

Status: early development. The command surface and JSON envelope work today, but expect breaking changes before 1.0. Pin a version in scripts that must not move under you.

Optional external oracles

rf content and the in-process stages of rf find need nothing beyond the binary. Two find sources are external tools that rf runs as subprocesses, because neither has a Rust binding:

  • git — powers the git_deleted stage (matches scrubbed from the working tree but present in history).
  • ast-grep — powers the ast_structural stage (matches that have no fixed literal form).

When either tool is absent, its stage contributes nothing and rf warns rather than failing. Every other source still runs. See How find works.

Verify the environment

rf doctor reports the linked engine and whether .gitignore is active for a path:

rf doctor .

Uninstall

cargo uninstall rf