id = "rv" name = "rv" homepage = "https://github.com/spinel-coop/rv" description = "Extremely fast Ruby and gem manager." executables = ["rv", "rvw", "rvx"] [dotfiles] # The official SETTINGS.md documents all three global user config locations. # https://github.com/spinel-coop/rv/blob/main/docs/SETTINGS.md paths = [ "~/.rv.kdl", "[configHome]/rv.kdl", "[configHome]/rv/rv.kdl", ] secret = [] [commands] format = 1 label = "rv" description = "Run commands with a managed Ruby and install Ruby versions. clean-install, tool, shell, cache, fmt and self subcommands are not covered." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.subcommand]] path = ["run"] label = "Run with Ruby" description = "Run a command or script with Ruby available, installing the requested Ruby if needed." [[commands.subcommand.source]] id = "src" kind = "help" url = "https://github.com/spinel-coop/rv/blob/main/docs/PLANS.md" revision = "2026-10-27" evidence = """ /// Ruby version to use. pub ruby: Option, rv run --ruby 3.4.2 -- ruby /// What to run with Ruby available, e.g. `ruby myscript.rb` #[arg(trailing_var_arg = true, allow_hyphen_values = true, required = true, value_names = ["COMMAND", "ARGS"])] """ [[commands.subcommand.field]] id = "ruby" label = "Ruby version" description = "For example 3.4 or 4.0.1." type = "string" option = ["--ruby"] sources = ["src"] [[commands.subcommand.field]] id = "command" label = "Command" description = "For example ruby, irb or a script name." type = "string" position = 0 min = 1 effect = "exec" sources = ["src"] [[commands.subcommand.field]] id = "args" label = "Arguments" type = "string" position = 1 multiple = true sources = ["src"] [[commands.subcommand.task]] id = "run" label = "Run a command" fields = ["ruby", "command", "args"] required = ["command"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["command", "args", "ruby"] [[commands.subcommand]] path = ["ruby", "install"] label = "Install Ruby" description = "Install a Ruby version. With no version, it is discovered from .ruby-version, .tool-versions or Gemfile.lock." [[commands.subcommand.source]] id = "src" kind = "help" url = "https://github.com/spinel-coop/rv/blob/main/crates/rv/src/commands/ruby.rs" revision = "2026-10-27" evidence = """ rv ruby install rv ruby install latest rv ruby install 3.4 rv ruby install 4.0.1 /// Directory to install into #[arg(short, long, value_name = "DIR")] install_dir: Option, /// Ruby version to install version: Option, /// Overwrite an existing installed version. Version already installed. If you want to overwrite it, use '--force'. """ [[commands.subcommand.field]] id = "version" label = "Ruby version" description = "For example latest, 3.4, 4.0.1 or dev." type = "string" position = 0 suggestions = [{ value = "latest", label = "Latest" }, { value = "3.4", label = "3.4" }, { value = "4.0.1", label = "4.0.1" }] sources = ["src"] [[commands.subcommand.field]] id = "force" label = "Overwrite existing" type = "boolean" option = ["--force"] effect = "overwrite" sources = ["src"] [[commands.subcommand.task]] id = "install" label = "Install a version" fields = ["version"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["version", "force"]