Skip to content

makefile-skills

Reusable Makefile skills for project versioning, Python quality tooling, MkDocs documentation, Bash validation, Ruby gem workflows, and Perl/PHP 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)
Python Optional Lint, type-check, test, audit, build, publish (prefixed targets)
MkDocs Optional Build and serve docs (mkdocs-serve supports custom ports)
Bash Optional Discover scripts, bash -n, ShellCheck
Ruby Optional Bundler install, RuboCop, rake test, gem build/publish
Perl Optional perl -c syntax checks and Perl::Critic
PHP Optional php -l, PHP_CodeSniffer, and PHPStan

Next steps

  • Getting started — copy the wrapper, make init, edit config
  • Usage — day-to-day workflows (doctor, bumps, and language skills)
  • Reference — commands, config keys, and variables
  • Examples — ready-made wrapper and config profiles