CtrlK
BlogDocsLog inGet started
Tessl Logo

pantheon-ai/makefile-toolkit

Complete makefile toolkit with generation and validation capabilities

97

Quality

97%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

criteria.jsongenerator/evals/scenario-1/

{
  "context": "Evaluate a generated C project Makefile against GNU Make best practices from the makefile-generator skill",
  "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": ".PHONY declaration",
      "description": "All non-file targets (all, install, clean, test, help) are declared in a single .PHONY line",
      "max_score": 15
    },
    {
      "name": "User-overridable variables use ?=",
      "description": "CC, CFLAGS, PREFIX, and DESTDIR are declared with ?= operator; project-internal variables (SOURCES, OBJECTS) use :=",
      "max_score": 10
    },
    {
      "name": "Automatic dependency tracking",
      "description": "Compile rule includes -MMD -MP flags and the Makefile includes the generated .d files with -include $(OBJECTS:.o=.d) or equivalent",
      "max_score": 15
    },
    {
      "name": "Order-only prerequisite for build directory",
      "description": "Object file pattern rule uses | $(BUILDDIR) order-only prerequisite instead of or in addition to inline mkdir -p",
      "max_score": 10
    },
    {
      "name": "install target correctness",
      "description": "install target uses the install command (not cp), creates the target directory with install -d, applies correct mode (-m 755), and respects DESTDIR",
      "max_score": 15
    },
    {
      "name": "help target with ## comments",
      "description": "Each user-facing target has a ## comment immediately above it; the help target extracts and prints them using grep or awk",
      "max_score": 10
    },
    {
      "name": "Tab indentation in recipes",
      "description": "All recipe lines are indented with a tab character, not spaces",
      "max_score": 5
    },
    {
      "name": "Validation checklist comment",
      "description": "The Makefile includes a comment block at the end listing which validation checklist items were verified",
      "max_score": 5
    }
  ]
}

generator

evals

scenario-1

capability.txt

criteria.json

task.md

instructions.json

summary_infeasible.json

summary.json

SKILL.md

tile.json