id = "luarocks" name = "LuaRocks" homepage = "https://luarocks.org/" description = "The package manager for the Lua programming language." executables = ["luarocks"] [dotfiles] # https://github.com/luarocks/luarocks/blob/main/docs/config_file_format.md — # on Unix, LuaRocks searches $XDG_CONFIG_HOME/luarocks/, ~/.config/luarocks/, # and ~/.luarocks/ for the versioned user config file config-.lua. paths = [ "~/.config/luarocks/config-*.lua", "~/.luarocks/config-*.lua", ] secret = [] side_effect = false [commands] format = 1 label = "LuaRocks" description = "Install or search rocks. Other luarocks commands are not covered." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.subcommand]] path = ["install"] label = "Install a rock" description = "Install a rock by name (optionally a version), or from a rockspec URL or file." [[commands.subcommand.source]] id = "doc" kind = "manual" url = "https://github.com/luarocks/luarocks/blob/main/docs/luarocks_install.md" revision = "main 2026-10-27" evidence = """ `luarocks install [--keep] [--only-deps] { | []}` Unless `--keep` is passed, other versions of the rock are removed after installing the new one. If `--only-deps` is passed, the rock itself is not installed, but its dependencies are. luarocks install busted --deps-mode=none """ [[commands.subcommand.field]] id = "rock" label = "Rock name, rockspec URL or file" type = "string" position = 0 sources = ["doc"] [[commands.subcommand.field]] id = "version" label = "Version" type = "string" position = 1 sources = ["doc"] [[commands.subcommand.field]] id = "keep" label = "Keep other versions" type = "boolean" option = ["--keep"] sources = ["doc"] [[commands.subcommand.field]] id = "only_deps" label = "Install only dependencies" type = "boolean" option = ["--only-deps"] sources = ["doc"] [[commands.subcommand.task]] id = "install" label = "Install a rock" fields = ["rock", "version", "keep"] required = ["rock"] [[commands.subcommand.task]] id = "deps" label = "Install dependencies only" fields = ["rock", "only_deps"] required = ["rock", "only_deps"] set = { only_deps = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["rock", "version", "keep", "only_deps"] [[commands.subcommand]] path = ["search"] label = "Search rocks" description = "Query the LuaRocks servers for a rock name." [[commands.subcommand.source]] id = "doc" kind = "manual" url = "https://github.com/luarocks/luarocks/blob/main/docs/luarocks_search.md" revision = "main 2026-10-27" evidence = """ `luarocks search [--porcelain] [--source] [--binary] { [] | --all }` If `--porcelain` is passed, machine-friendly output is produced. If `--source` is passed, only rockspecs and source rocks are shown. If `--binary` is passed, only binary and pure-Lua rocks are shown. To list files for all rocks pass `--all`. """ [[commands.subcommand.field]] id = "query" label = "Name substring" type = "string" position = 0 sources = ["doc"] [[commands.subcommand.field]] id = "all" label = "List all rocks" type = "boolean" option = ["--all"] sources = ["doc"] [[commands.subcommand.field]] id = "source" label = "Source rocks only" type = "boolean" option = ["--source"] sources = ["doc"] [[commands.subcommand.field]] id = "binary" label = "Binary rocks only" type = "boolean" option = ["--binary"] sources = ["doc"] [[commands.subcommand.field]] id = "porcelain" label = "Machine-friendly output" type = "boolean" option = ["--porcelain"] sources = ["doc"] [[commands.subcommand.task]] id = "search" label = "Search by name" fields = ["query", "source", "binary"] required = ["query"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["query", "all", "source", "binary", "porcelain"]