This file provides guidance to GitHub Copilot when working with code in this repository.
This repository contains a sophisticated collection of templates (called boilerplates) for managing infrastructure across multiple technologies including Terraform, Docker, Ansible, Kubernetes, etc. The project also includes a Python CLI application that allows an easy management, creation, and deployment of boilerplates.
cli/ - Python CLI application source code
cli/core/ - Core functionality (app, config, commands, logging)cli/modules/ - Technology-specific modules (terraform, docker, compose, etc.)library/ - Template collections organized by technology
library/terraform/ - OpenTofu/Terraform templates and exampleslibrary/compose/ - Docker Compose configurationslibrary/proxmox/ - Packer templates for Proxmoxlibrary/ansible/ - Ansible playbooks and configurationslibrary/kubernetes/ - Kubernetes deployments# Install in development mode
pip install -e .
# Install from requirements
pip install -r requirements.txt
# Run via Python module
python -m cli --help
# Run via installed command
boilerplate --help
# Example module usage
boilerplate terraform --help
boilerplate compose config list
# Lint YAML files (used in CI)
yamllint --strict -- $(git ls-files '*.yaml' '*.yml')
# Run CLI with debug logging
boilerplate --log-level DEBUG [command]
cli/modules/[module_name].pyBaseModule in the filecli/__main__.pylibrary/[module_name]/~/.boilerplates/[module].jsonConfigManager: Handles module-specific configuration persistenceBaseModule: Abstract base class providing shared commands (config management)Templates use YAML frontmatter for metadata:
---
name: "Template Name"
description: "Template description"
version: "0.0.1"
date: "2023-10-01"
author: "Christian Lempa"
tags:
- tag1
- tag2
---
[Template content here]
compose.yaml filename (not docker-compose.yml)--log-level flag