id = "checkmake" name = "checkmake" homepage = "https://github.com/checkmake/checkmake" executables = ["checkmake"] [dotfiles] # The official release notes document ~/checkmake.ini as checkmake's global # fallback. The default checkmake.ini in the current directory is project # configuration and is not a user-home path. # https://github.com/checkmake/checkmake/releases (v0.3.2 notes) 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"]