get started

Get Started with Skuf

Install, create a project, and build your first program in under a minute.

1

Install Skuf

macOS / Linux (Homebrew)
brew tap skuf-lang/tap https://github.com/skuf-lang/homebrew-tap
brew install skuf
Any platform (curl)
curl -fsSL https://raw.githubusercontent.com/skuf-lang/skuf/main/install.sh | sh
From source
git clone https://github.com/skuf-lang/skuf.git
cd skuf && make -C stage0

Verify the installation:

$ skuf --version
skuf 0.0.15
2

Create a project

terminal
$ norm init myapp
created .norm
created src/main.skf

$ cd myapp
.norm
pkg myapp 0.1.0
entry src/main.skf
src/main.skf
mod main

fn main:
  >> "Hello from norm!"

Or skip the package manager and create a standalone file — no project scaffolding required.

3

Write your first code

Skuf keeps syntax minimal. Expression-body functions, pipes, and built-in tests — all in a few lines.

src/main.skf
mod main

fn double(x) = x * 2
fn add_one(x) = x + 1

fn main:
  result := 5 |> double |> add_one
  >> "result = ${result}"

tst "pipes work":
  !! double(3) == 6
  !! add_one(0) == 1
  !! (5 |> double |> add_one) == 11

Expression bodies

fn double(x) = x * 2 — one-line functions, no braces.

Pipe operator

5 |> double |> add_one — chain transforms left to right.

Inline tests

tst blocks live next to the code they test.

4

Build & Run

Run directly
$ skuf run src/main.skf
result = 11
Compile to binary
$ skuf build -o myapp src/main.skf
$ ./myapp
result = 11
Run tests
$ skuf test src/main.skf
PASS "pipes work" (3/3)

With a norm project, just use norm run, norm build, and norm test — no file path needed.