configure-plugin/skills/configure-makefile/SKILL.md
Makefile with standard targets (help, test, build, clean, lint). Use when setting up a Makefile, auditing missing targets, or adding language-specific targets.
npx skillsauth add laurigates/claude-plugins configure-makefileInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Check and configure project Makefile against project standards.
| Use this skill when... | Use another approach when... |
|------------------------|------------------------------|
| Setting up a new Makefile for a project that requires Make | Project can use Just instead — use /configure:justfile (preferred) |
| Auditing existing Makefile for missing standard targets | Writing complex build rules with dependencies — consult GNU Make documentation |
| Ensuring Makefile follows team conventions (help target, PHONY, colors) | Project uses a language-native build system (cargo, go build) exclusively |
| Running CI/CD compliance checks on Makefile structure | Migrating from Makefile to Justfile — use /configure:justfile which handles migration |
| Adding language-specific build/test/lint targets to existing Makefile | Debugging a specific Make target — run make -n <target> directly |
pwdfind . -maxdepth 1 -name 'Makefile'grep -E '^[a-zA-Z_-]+:' Makefilefind . -maxdepth 1 \( -name 'package.json' -o -name 'pyproject.toml' -o -name 'Cargo.toml' -o -name 'go.mod' \)find . -maxdepth 1 \( -name 'Dockerfile' -o -name 'docker-compose.yml' -o -name 'compose.yml' \)find src -maxdepth 1 \( -name 'server.*' -o -name 'main.*' \)Parse from $ARGUMENTS:
--check-only: Report Makefile compliance status without modifications--fix: Apply fixes automatically without promptingRequired Makefile targets: help, test, build, clean, lint
Execute this Makefile compliance check:
Read the context values and determine project type (in order):
pyproject.toml or requirements.txt presentpackage.json presentCargo.toml presentgo.mod presentCheck for service indicators (start/stop needed):
docker-compose.yml or compose.yml -> Docker Compose serviceDockerfile + HTTP server code -> Container servicesrc/server.* or src/main.* -> Application serviceIf Makefile exists, check against required targets:
Required targets for all projects:
| Target | Purpose |
|--------|---------|
| help | Display available targets (default goal) |
| test | Run test suite |
| build | Build project artifacts |
| clean | Remove temporary files and build artifacts |
| lint | Run linters |
Additional targets (context-dependent):
| Target | When Required |
|--------|---------------|
| start | If project has runnable service |
| stop | If project has background service |
| format | If project uses auto-formatters |
| Check | Standard | Severity |
|-------|----------|----------|
| File exists | Makefile present | FAIL if missing |
| Default goal | .DEFAULT_GOAL := help | WARN if missing |
| PHONY declarations | All targets marked .PHONY | WARN if missing |
| Colored output | Color variables defined | INFO |
| Help target | Auto-generated from comments | WARN if missing |
| Language-specific | Commands match project type | FAIL if mismatched |
Print a report showing:
If --check-only is set, stop here.
.DEFAULT_GOAL, .PHONY, color variablesUse the language-specific commands below:
Python (uv-based):
lint: @uv run ruff check .format: @uv run ruff format .test: @uv run pytestbuild: @docker build -t {{PROJECT_NAME}} .clean: @find . -type f -name "*.pyc" -delete + remove cache dirsNode.js:
lint: @npm run lintformat: @npm run formattest: @npm testbuild: @npm run buildclean: @rm -rf node_modules/ dist/ .next/ .turbo/Rust:
lint: @cargo clippy -- -D warningsformat: @cargo fmttest: @cargo nextest runbuild: @cargo build --releaseclean: @cargo cleanGo:
lint: @golangci-lint runformat: @gofmt -s -w .test: @go test ./...build: @go build -o bin/{{PROJECT_NAME}}clean: @rm -rf bin/ dist/ + @go cleanUpdate .project-standards.yaml:
components:
makefile: "2025.1"
Print a summary of changes applied, targets added, and suggest running make help to verify.
For the universal Makefile template structure, see REFERENCE.md.
| Context | Command |
|---------|---------|
| Quick compliance check | /configure:makefile --check-only |
| Auto-fix all issues | /configure:makefile --fix |
| List existing targets | grep -E '^[a-zA-Z_-]+:' Makefile |
| Dry-run a target | make -n <target> |
| Show default goal | make -p \| grep '.DEFAULT_GOAL' |
| Flag | Description |
|------|-------------|
| --check-only | Report status without offering fixes |
| --fix | Apply fixes automatically |
# Check current Makefile compliance
/configure:makefile --check-only
# Create/update Makefile for Python project
/configure:makefile --fix
# Check compliance and prompt for fixes
/configure:makefile
/configure:all - Run all compliance checks/configure:workflows - GitHub Actions workflows/configure:dockerfile - Docker configurationtools
Scaffold a new ComfyUI custom-node repo (pyproject, CI, release-please, vitest+pytest, JS extension skeleton) in the picker/gesture vein. Use when bootstrapping or init-ing a comfyui node pack.
tools
Orchestrate a ComfyUI node pack from idea to registry: scaffold, create + seed the repo, open the gitops adoption PR. Use when releasing or spinning up a new comfyui node pack.
testing
macOS EndpointSecurity/EDR high CPU & battery drain. Use when Kandji ESF / XProtect pegs a core; trace the exec storm via powermetrics + eslogger.
development
odiff pixel-by-pixel image diffing. Use when comparing screenshots, detecting visual regressions, diffing before/after PNGs, asserting golden images.