This guide walks through the current Boilerplates workflow: install the CLI, sync a library, inspect a template, and generate files from a template.json manifest.
Use the installer script:
curl -fsSL https://raw.githubusercontent.com/christianlempa/boilerplates/main/scripts/install.sh | bash
For platform-specific instructions, see Installation.
boilerplates repo update
This syncs the official default library configuration, which points to christianlempa/boilerplates-library.
List available templates for a module:
boilerplates compose list
Search by ID:
boilerplates compose search nginx
Before generating, inspect the template:
boilerplates compose show nginx
This shows:
metadata.version.name when presentfiles/Interactive mode:
boilerplates compose generate nginx --output ./my-nginx
Non-interactive mode:
boilerplates compose generate nginx \
--output ./my-nginx \
--var service_name=my-nginx \
--no-interactive
Preview only:
boilerplates compose generate nginx --dry-run --show-files
Direct overrides:
boilerplates compose generate traefik \
--output ./proxy \
--var service_name=traefik \
--var traefik_enabled=true \
--var traefik_host=proxy.example.com
Variable file:
boilerplates compose generate traefik \
--output ./proxy \
--var-file ./vars.yaml \
--no-interactive
boilerplates compose defaults set container_timezone="Europe/Berlin"
boilerplates compose defaults set restart_policy="unless-stopped"
List defaults:
boilerplates compose defaults list
Validate one template:
boilerplates compose validate nginx
Validate all templates in a module:
boilerplates compose validate
The current runtime uses:
template.json instead of template.yamlfiles/ instead of top-level .j2 render filesmetadata.version objectsIf you are reading older examples that use template.yaml, .j2, or positional output arguments for generate, treat them as outdated.