Complete makefile toolkit with generation and validation capabilities
97
97%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
{
"context": "Evaluate a generated Python project Makefile for correct phony targets, variable use, and multi-step recipe handling",
"type": "weighted_checklist",
"checklist": [
{
"name": "Modern header present",
"description": "Makefile begins with SHELL := bash, .ONESHELL:, .SHELLFLAGS := -eu -o pipefail -c, .DELETE_ON_ERROR:, .SUFFIXES:, and both MAKEFLAGS += lines",
"max_score": 15
},
{
"name": "PYTHON variable uses ?=",
"description": "PYTHON is declared with ?= python3 so callers can substitute a different interpreter path",
"max_score": 10
},
{
"name": ".PHONY covers all targets",
"description": "develop, test, lint, build, clean, and help are all listed in .PHONY",
"max_score": 15
},
{
"name": "develop target correctness",
"description": "develop recipe installs in editable mode with dev extras using pip install -e .[dev] or equivalent; uses $(PYTHON) variable",
"max_score": 15
},
{
"name": "clean target completeness",
"description": "clean recipe removes dist/, build/, *.egg-info/, and __pycache__ directories; uses $(RM) -r or rm -rf idiom",
"max_score": 10
},
{
"name": "Multi-step recipe safety",
"description": "No recipe uses cd in one line and a command in the next separate line; commands are either chained with && or .ONESHELL: is active from the header",
"max_score": 20
},
{
"name": "help target with ## comment extraction",
"description": "Each user-facing target has a ## comment; help target extracts and prints them using grep or awk",
"max_score": 15
}
]
}