Introduction
Welcome to the Skela documentation
Introduction
Skela is a powerful, language-agnostic scaffolding tool designed to streamline project bootstrapping. It goes beyond simple file copying by offering an interactive inputs system, advanced templating, and post-generation steps.
# Why Skela?
- Define Once, Reuse Everywhere: Create robust templates for any stack (Go, Node, Python, etc.).
- Interactive: Prompt users for variables (inputs, selects, confirmations) to customize the output.
- Scriptable: Run commands (
git init,npm install,go mod tidy) automatically after generation. - Powerful Templating: Built on the Pongo2 engine (Django-like syntax) with extra utility functions.
# Key Concepts
Skela revolves around three main concepts:
# 1. Templates
A template is simply a directory containing a skela.yaml configuration file and the source files you want to copy.
# 2. Variables
Variables allow you to collect information from the user during the scaffolding process. Skela supports various input types, including text, simple yes/no confirmations, and selection lists.
# 3. Steps
Steps are actions that execute after the files have been generated. These can be used to initialize repositories, install dependencies, or print instructions.