Boilerplates is a command-line tool that creates reusable templates and turns them into configurable workloads for homelabs and self-hosted infrastructure.
The tool solves the problem of managing repetitive infrastructure configurations across different environments. It uses a custom Jinja2-like templating syntax with `<< >>` variables, `<% %>` blocks, and `<# #>` comments to keep configurations modular and conditional. Templates are organized in git-backed libraries that can be synced bidirectionally or managed locally. The workflow combines template-defined variables, defaults, guided interactive prompts, and CLI variable overrides to render templates into environment-specific configurations with a single command. Templates support multiple kinds including Docker, Kubernetes, Terraform, Ansible, Python, and Bash, with template metadata and variables defined in a template.json manifest and renderable content stored under a files directory.
The tool suits teams and individuals managing multiple self-hosted deployments who want to avoid duplicating configuration across environments. It works well for organizations that maintain infrastructure templates in version control and need to generate environment-specific instances with different variables. The project provides over one hundred template presets in a separate library repository. Those adopting the tool should be aware that version 0.2.0 introduced a breaking change: legacy template.yaml manifests and .j2 template files are no longer supported, and new templates must use the template.json format with custom delimiters instead of standard Jinja2 syntax. Template validation for Python and Bash kinds is intentionally minimal, covering syntax and rendering but not language-specific checks like compilation or shell syntax validation.
The project maintains an open contribution policy and welcomes pull requests and issue reports. Development activity shows ongoing refinement of template validation and semantic checking capabilities, with language-specific validation noted as follow-up work once template conventions stabilize.