Skip to content

Makefile Skills

Reusable Makefile skills for project versioning, Python quality tooling, MkDocs documentation, Bash validation, Ruby gem workflows, and Perl, PHP, PowerShell, and JavaScript validation.

Each consumer project keeps a thin wrapper Makefile and a makefiles.config file. The wrapper clones this library into a gitignored .makefiles/ directory, always enables versioning, and optionally enables standalone skills via skills in config. Refresh the clone (and, by default, the wrapper itself) with make update when you want a newer ref. init / update status is quiet (==> lines only). Default clone transport is https.

Why it Exists

Copy-pasted Makefiles drift. This library keeps shared targets in one place and lets you refresh them with make update, while each project commits its wrapper, makefiles.config, and .gitignore.

Skills at a Glance

Skill Always on? Purpose
Versioning Yes Direct stable bumps plus optional -dev / -rc cycles (bump-my-version)
Bash Optional Discover scripts, bash -n, ShellCheck
JavaScript Optional node --check and ESLint
MkDocs Optional Build and serve docs (mkdocs-serve supports custom ports)
Perl Optional perl -c syntax checks and Perl::Critic
PHP Optional php -l, PHP_CodeSniffer, and PHPStan
PowerShell Optional pwsh parse and PSScriptAnalyzer
Python Optional Lint, type-check, test, audit, build, publish (prefixed targets)
Ruby Optional Bundler install, RuboCop, rake test, gem build/publish