id = "bacon"
name = "Bacon"
homepage = "https://dystroy.org/bacon/"
description = "A background Rust code checker"
executables = ["bacon"]
[dotfiles]
paths = ["[configHome]/bacon/prefs.toml"]
secret = []
[commands]
format = 1
label = "Run background checker"
description = "Start bacon on a project, optionally with a specific job. Other options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "readme"
kind = "help"
url = "https://raw.githubusercontent.com/Canop/bacon/main/README.md"
revision = "2026-10-27"
evidence = """
bacon --path ../broot
bacon --job check-all
bacon clippy
bacon test
bacon --init
"""
[[commands.field]]
id = "job"
label = "Job"
description = "Job name such as check, clippy, test, doc or one defined in bacon.toml."
type = "string"
option = ["--job"]
suggestions = [{ value = "check", label = "check" }, { value = "check-all", label = "check-all" }, { value = "clippy", label = "clippy" }, { value = "test", label = "test" }]
sources = ["readme"]
[[commands.field]]
id = "path"
label = "Project path"
type = "path"
option = ["--path"]
path = { kind = "directory", role = "input" }
sources = ["readme"]
[[commands.field]]
id = "init"
label = "Create bacon.toml"
type = "boolean"
option = ["--init"]
sources = ["readme"]
[[commands.task]]
id = "run"
label = "Run job"
fields = ["job", "path"]
required = []
[[commands.task]]
id = "init"
label = "Create bacon.toml"
fields = ["init"]
required = ["init"]
set = { init = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["job", "path", "init"]