id = "checkmake"
name = "checkmake"
homepage = "https://github.com/checkmake/checkmake"
executables = ["checkmake"]
[dotfiles]
paths = ["~/checkmake.ini"]
secret = []
[commands]
format = 1
label = "Lint Makefiles"
description = "Lint one or more Makefiles with checkmake. Rule listing and shell completion subcommands are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.source]]
id = "help"
kind = "help"
url = "https://github.com/checkmake/checkmake/blob/main/README.md"
revision = "2026-10-27"
evidence = """
checkmake [flags] [makefile...]
--config string Configuration file to read (default "checkmake.ini")
--debug Enable debug mode
--format string Custom Go template for text output (ignored in JSON mode)
-o, --output string Output format: 'text' (default) or 'json' (mutually exclusive with --format) (default "text")
"""
[[commands.field]]
id = "makefiles"
label = "Makefiles"
type = "path"
path = { kind = "file", role = "input" }
position = 0
multiple = true
sources = ["help"]
[[commands.field]]
id = "config"
label = "Config file"
type = "path"
path = { kind = "file", role = "input" }
option = ["--config"]
sources = ["help"]
[[commands.field]]
id = "output"
label = "Output format"
type = "enum"
option = ["--output", "-o"]
choices = [{ value = "text", label = "Text" }, { value = "json", label = "JSON" }]
sources = ["help"]
[[commands.field]]
id = "debug"
label = "Debug mode"
type = "boolean"
option = ["--debug"]
sources = ["help"]
[[commands.task]]
id = "lint"
label = "Lint Makefiles"
fields = ["makefiles", "config"]
required = ["makefiles"]
[[commands.task]]
id = "lint_json"
label = "Lint with JSON output"
fields = ["makefiles", "output"]
required = ["makefiles", "output"]
set = { output = ["json"] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["makefiles", "config", "output"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["debug"]