Reference
Lifecycle (wrapper)
| Command |
Description |
make init / make install |
Sparse-clone skills/ into MAKEFILES_DIR (default .makefiles) |
make update |
Fetch and check out MAKEFILES_REF (keeps sparse skills/ tree) |
make help |
List lifecycle commands and enabled skill help |
make status |
Project / version / Git / skill status (Status help section) |
make doctor |
Top-level: lifecycle + doctor-versioning + each enabled *-doctor |
make completion |
Print bash completion snippet for make targets |
Wrapper variables
| Variable |
Default |
Description |
SKILLS |
(empty) |
Optional skills: python, mkdocs, bash |
MAKEFILES_DIR |
.makefiles |
Clone location (gitignored in consumers) |
MAKEFILES_TRANSPORT |
ssh |
ssh, https, or http |
MAKEFILES_REPO_SSH |
git@github.com:the-lupaxa-blueprints/makefile-skills.git |
SSH URL |
MAKEFILES_REPO_HTTP |
https://github.com/the-lupaxa-blueprints/makefile-skills.git |
HTTPS URL |
MAKEFILES_REPO |
(derived) |
Selected URL; override for one-offs |
MAKEFILES_REF |
head |
head → tip of master, or a tag such as v1.0.0 |
Versioning (always on)
| Command |
Description |
make version |
Print current version from .bumpversion.toml |
make show-version-flow |
Valid next bump/release commands for this stage |
make bump-dev |
Start or continue patch development (-devN) |
make bump-minor |
Start minor cycle from stable |
make bump-major |
Start major cycle from stable |
make bump-rc |
Promote -devN → -rc1 or bump -rcN |
make release |
Promote -rcN → stable |
make bump-final |
Alias of release |
make doctor-versioning |
Check version file, bump tool, git work tree |
Versioning variables
| Variable |
Default |
VERSION_FILE |
.bumpversion.toml |
BUMP |
bump-my-version |
PROJECT_NAME |
directory name |
Python skill
Enable with SKILLS ?= python (or include python in a list).
| Command |
Description |
make python-doctor |
Check layout and tools |
make python-install-dev |
Editable install with [dev] |
make python-install-test |
Editable install with [test] |
make python-lint |
Ruff lint + format check |
make python-check-style |
Lint + mypy |
make python-format |
Ruff format |
make python-type |
mypy |
make python-test |
pytest |
make python-test-cov |
pytest with coverage |
make python-check |
lint + type + test |
make python-check-all |
lint + type + coverage + audit |
make python-audit |
pip-audit in an isolated venv |
make python-build |
Hatch build |
make python-publish |
Hatch publish |
make python-clean |
Remove Python artefacts |
Python variables
| Variable |
Default |
SRC_DIR |
src |
TEST_DIR |
tests |
PYPROJECT_FILE |
pyproject.toml |
PYTHON / RUFF / MYPY / PYTEST / HATCH |
tool names on PATH |
MkDocs skill
Enable with SKILLS ?= mkdocs.
| Command |
Description |
make mkdocs-doctor |
Check config and mkdocs binary |
make mkdocs-build |
Build static site |
make mkdocs-serve |
Live-reload server |
make mkdocs-clean |
Remove site/ |
MkDocs variables
| Variable |
Default |
MKDOCS_CONFIG |
mkdocs.yml |
MKDOCS_HOST |
127.0.0.1 |
MKDOCS_PORT |
8000 |
MKDOCS |
mkdocs |
Bash skill
Enable with SKILLS ?= bash.
| Command |
Description |
make bash-doctor |
Check discovery helper and tools |
make bash-list-scripts |
List discovered scripts |
make bash-syntax |
bash -n on each script |
make bash-shellcheck |
ShellCheck analysis |
make bash-lint |
Alias of bash-shellcheck |
make bash-test / make bash-check |
syntax + ShellCheck |
Bash variables
| Variable |
Default |
SHELL_SOURCE_DIR |
. |
SHELL_FILE_FINDER |
$(MAKEFILES_DIR)/skills/bash/find-shell-files |
SHELL_FILES |
auto-discovered |
SHELLCHECK_SHELL |
bash |
BASH / SHELLCHECK |
tool names on PATH |
Repository layout (this library)
templates/Makefile Canonical consumer wrapper
examples/ Wrapper profiles (versioning, python, docs, bash)
skills/ Skill fragments (.mk) and bash helper
skills/_template.language.mk Starter for a new language skill (copy → rename)
mkdocs/ Documentation source (this site)
mkdocs.yml MkDocs configuration
tests/ Shell integration tests
overrides/ Material theme overrides
Adding a language skill
Copy skills/_template.language.mk
to skills/<id>.mk (for example go.mk), replace lang / Lang, implement the stub
targets, then enable with SKILLS ?= go. See the checklist in the template header.