A curated collection of templates for Dockerfiles and GitHub Actions workflows. Declare versions once, render every file, and detect drift automatically in CI.
$ blueprint render setup.bp \
--template @github:elpic/templates@main:containers/python \
--output . \
--var APP_NAME=myappEach template is a .bp blueprint plus .tmpl files. Render once, re-render whenever a version bumps, and every file stays in sync.
Declare Python version, runtime packages, and variables in setup.bp. They flow into Dockerfiles, workflows, and entrypoints automatically.
Use blueprint check in CI to catch when a rendered file falls out of sync with its template. Comments on the PR explain the diff.
Reference templates directly from GitHub. No vendoring, no submodules, just pin a ref and render.
/ templates
Dockerfiles and container scaffolding
GitHub Actions workflow templates
/ usage
Each template folder contains a setup.bp blueprint plus one or more .tmpl files. Variables with defaults can be omitted. Required variables must be passed via --var.
# render the template into your project
blueprint render setup.bp \
--template . \
--output . \
--var APP_NAME=myapp
# check for drift in CI
blueprint check setup.bp \
--template . \
--against . \
--var APP_NAME=myapp/ drift detection
Pair any template with actions/github/blueprint-check in your repo. On every PR it runs blueprint check, fails the build if rendered files have drifted, and posts a comment explaining what changed and how to fix it. The comment auto-removes when drift is resolved.
Install blueprint, copy a template, and render. Every variable has a sensible default, only required ones need a flag.
blueprint is the rendering engine behind these templates. Define variables once, render files everywhere, and catch drift before it ships.
Reusable GitHub Actions composite steps and workflow templates. Integrate, deliver, and publish with zero boilerplate.