Skela

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.