Programming Language

STencil

A little language we built because we kept wishing one existed. Friendly syntax, a standard library that actually does things, and one feature we're quietly proud of — stencils, first-class data templates you stamp out like cookie cutters.

install it ↓

grab the installer

Install STencil

Download the Windows installer and run it — it adds the stencil command to your PATH and associates .st files. Then write some code and run it.

stencil hello.st     # run a file
stencil              # start the REPL

the 60-second taste

What it looks like

Functions, OOP, and the signature stencil data template — all in one tiny program.

// functions, OOP, and the unique `stencil` data template
stencil User(name, age) {
    name: name,
    adult: age >= 18,
    tag: name + "#" + age
}

let u = User!("Mochi", 20);
print(u.tag, "adult?", u.adult);   // Mochi#20 adult? true

for n in [1, 2, 3, 4, 5] {
    print(n, "squared is", n * n);
}

what's in the box

Batteries included

Stencils

The signature feature — first-class data templates you stamp out with !. Structured data without the boilerplate.

Clean core

Variables, int/float/string/bool/null, f-strings, full control flow — if/elif/else, while, for, foreach, loop, ternary.

Functions & OOP

func, arrow functions, recursion, plus class and model with this and methods.

Collections

Lists and dicts with indexing and a full set of methods, so you spend time on logic, not plumbing.

Standard library

Files, OS, JSON, regex, dates, math, random — the everyday stuff, ready out of the box.

Networking & web

HTTP client, TCP sockets, and a built-in web server for scripts that talk to the world.

Graphics & games

Terminal and pixel graphics, input handling, and sound — enough to make small games.

Database

A SQLite layer baked in, for when you need to actually keep your data around.

Ship it

Modules and packages via import and stencil install, then compile to a native exe or distribute over pip.

how to learn it

Start at lesson one

The tutorials run from zero to full applications — 16 lessons, every one with runnable examples. The trick is to actually run them.

  1. Read the lessons in order, from Getting Started to the complete reference.
  2. Copy each example into a .st file and run it: stencil example.st.
  3. Change the code and experiment — that's how it sticks.

the full course

Tutorials

Sixteen lessons, zero to full applications. Read each one right here in your browser, or download the Markdown to keep. These docs are written for both people and AI assistants to learn STencil from — drop them into your model's context and it can write STencil too.

download all (.zip) ↓