Canonical baseline files for professional Python repositories.
This repository stores reusable project files, configuration files, workflow files, and documentation scaffolding for professional course, tooling, and software engineering repositories.
The template layers are additive. Later layers override earlier layers when a repository profile needs a more specific version of the same file.
Common additive layers include:
ALL
ALL-PY
ALL-PY-SRC
ALL-PY-SRC-PYPI
Nothing is required to use the template files manually. Copy and adapt files as needed.
For managed updates, the pup-up command can fetch files from this repository
and apply the appropriate layered baseline to a target repository.
# dry run: show what would change
uvx pup-up
# same, but force the latest pup-up version
uvx pup-up@latest
# see the differences
uvx pup-up --diff
# actually add and overwrite the files listed (CAUTION: DESTRUCTIVE)
uvx pup-up --writeShow command reference
Open a machine terminal where you want the project:
git clone https://github.com/denisecase/templates
cd templates
code .npx markdownlint-cli2 --fix
# save progress
git add -A
git commit -m "update"
git push -u origin main