Examples
Ready-made profiles live in examples/.
Each profile pairs a wrapper Makefile with a matching makefiles.config.
The wrapper is a copy of templates/Makefile
except where noted below.
| Wrapper | Config | skills | update_wrapper | Use when |
|---|---|---|---|---|
Makefile.versioning-only |
makefiles.config.versioning-only |
(empty) | yes |
Version bumps only |
Makefile.python |
makefiles.config.python |
python |
no |
Python package / app |
Makefile.python-docs |
makefiles.config.python-docs |
python mkdocs |
no |
Python project with MkDocs |
Makefile.bash-project |
makefiles.config.bash-project |
bash |
yes |
Shell-script repositories |
Makefile.ruby |
makefiles.config.ruby |
ruby |
yes |
Ruby gem / library projects |
Makefile.perl |
makefiles.config.perl |
perl |
yes |
Perl scripts and modules |
Makefile.php |
makefiles.config.php |
php |
yes |
PHP applications and libraries |
Copy the wrapper to ./Makefile and the matching config to ./makefiles.config,
or copy only templates/Makefile and edit makefiles.config after make init.
Python examples and wrapper refresh
Makefile.python and Makefile.python-docs append a CI alias overlay
(lint, check, test, …) for
reusable-python-makefile-ci.
That overlay would be wiped if make update refreshed the wrapper, so
their configs set update_wrapper = no. Skills still update normally.
Versioning only
makefiles.config.versioning-only:
cp examples/Makefile.versioning-only ./Makefile
cp examples/makefiles.config.versioning-only ./makefiles.config
# add .makefiles/ to .gitignore
make init
make doctor
make bump-patch
# or, to start a -devN pre-release cycle instead: make bump-dev
Python
makefiles.config.python:
cp examples/Makefile.python ./Makefile
cp examples/makefiles.config.python ./makefiles.config
make init
make python-install-dev
make python-check
Python + MkDocs
makefiles.config.python-docs:
cp examples/Makefile.python-docs ./Makefile
cp examples/makefiles.config.python-docs ./makefiles.config
make init
make python-check
make mkdocs-serve MKDOCS_PORT=8000
Bash
makefiles.config.bash-project:
cp examples/Makefile.bash-project ./Makefile
cp examples/makefiles.config.bash-project ./makefiles.config
make init
make bash-list-scripts
make bash-check
Ruby
makefiles.config.ruby:
cp examples/Makefile.ruby ./Makefile
cp examples/makefiles.config.ruby ./makefiles.config
make init
make ruby-bundle
make ruby-check
Perl
makefiles.config.perl:
cp examples/Makefile.perl ./Makefile
cp examples/makefiles.config.perl ./makefiles.config
make init
make perl-doctor
make perl-check
PHP
makefiles.config.php:
cp examples/Makefile.php ./Makefile
cp examples/makefiles.config.php ./makefiles.config
make init
make php-doctor
make php-check
Ignore the clone
Consumer projects should ignore .makefiles/ (see examples/.gitignore).
Commit the wrapper Makefile and makefiles.config; do not commit the clone.