id = "rebar3" name = "Rebar3" homepage = "https://rebar3.org/" description = "An Erlang build tool" executables = ["rebar3"] [dotfiles] # Rebar3's official configuration documentation says global plugin # configuration is searched for in ~/.config/rebar3/rebar.config. The cache # under ~/.cache/rebar3 is generated state and is intentionally not a path. # https://rebar3.org/docs/configuration/configuration/ # https://rebar3.org/docs/configuration/plugins/ paths = ["[configHome]/rebar3/rebar.config"] secret = [] [commands] format = 1 label = "Build and test an Erlang project" description = "The common rebar3 jobs: compile, clean, run EUnit or Common Test, and create a project from a template. Releases, dialyzer, plugins and profiles are not covered." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false } [[commands.subcommand]] path = ["compile"] label = "Compile the project" description = "Compile project apps and dependencies." [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://rebar3.org/docs/commands/" revision = "2026-10-27" evidence = ''' compile -d/--deps_only Only compile dependencies, no project apps will be built ''' [[commands.subcommand.field]] id = "deps_only" label = "Dependencies only" type = "boolean" option = ["--deps_only", "-d"] sources = ["docs"] [[commands.subcommand.task]] id = "compile" label = "Compile the project" fields = ["deps_only"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["deps_only"] [[commands.subcommand]] path = ["clean"] label = "Clean build output" description = "Remove compiled BEAM files." [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://rebar3.org/docs/commands/" revision = "2026-10-27" evidence = ''' clean --all/-a Clean all apps, including the dependencies --apps Clean a specific list of apps or dependencies ''' [[commands.subcommand.field]] id = "all" label = "Include dependencies" type = "boolean" option = ["--all", "-a"] effect = "delete" sources = ["docs"] [[commands.subcommand.field]] id = "apps" label = "Apps (comma separated)" type = "string" option = ["--apps"] sources = ["docs"] [[commands.subcommand.task]] id = "clean" label = "Clean build output" fields = ["all", "apps"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["all", "apps"] [[commands.subcommand]] path = ["eunit"] label = "Run EUnit tests" description = "Run EUnit tests on project apps." [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://rebar3.org/docs/commands/" revision = "2026-10-27" evidence = ''' eunit --application Application test suites to run. -c, --cover Generate cover data. Defaults to false ''' [[commands.subcommand.field]] id = "application" label = "Applications (comma separated)" type = "string" option = ["--application"] sources = ["docs"] [[commands.subcommand.field]] id = "cover" label = "Generate cover data" type = "boolean" option = ["--cover", "-c"] sources = ["docs"] [[commands.subcommand.task]] id = "eunit" label = "Run EUnit tests" fields = ["application", "cover"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["application", "cover"] [[commands.subcommand]] path = ["ct"] label = "Run Common Test" description = "Run Common Test suites under test/." [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://rebar3.org/docs/commands/" revision = "2026-10-27" evidence = ''' ct --suite Compile and run all test suites specified. --group Test groups to run. --case List of test cases to run. --cover, -c --verbose, -v ''' [[commands.subcommand.field]] id = "suite" label = "Suites (comma separated paths)" type = "string" option = ["--suite"] sources = ["docs"] [[commands.subcommand.field]] id = "group" label = "Groups (comma separated)" type = "string" option = ["--group"] sources = ["docs"] [[commands.subcommand.field]] id = "case" label = "Cases (comma separated)" type = "string" option = ["--case"] sources = ["docs"] [[commands.subcommand.field]] id = "cover" label = "Generate cover data" type = "boolean" option = ["--cover", "-c"] sources = ["docs"] [[commands.subcommand.field]] id = "verbose" label = "Verbose" type = "boolean" option = ["--verbose", "-v"] sources = ["docs"] [[commands.subcommand.task]] id = "ct" label = "Run Common Test" fields = ["suite", "group", "case", "cover", "verbose"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["suite", "group", "case", "cover", "verbose"] [[commands.subcommand]] path = ["new"] label = "Create a project" description = "Create a project from a template such as app, lib or release." [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://rebar3.org/docs/commands/" revision = "2026-10-27" evidence = ''' rebar3 new