Install, create a project, and build your first program in under a minute.
brew tap skuf-lang/tap https://github.com/skuf-lang/homebrew-tap
brew install skufcurl -fsSL https://raw.githubusercontent.com/skuf-lang/skuf/main/install.sh | shgit clone https://github.com/skuf-lang/skuf.git
cd skuf && make -C stage0Verify the installation:
$ skuf --version
skuf 0.0.15$ norm init myapp
created .norm
created src/main.skf
$ cd myapppkg myapp 0.1.0
entry src/main.skfmod main
fn main:
>> "Hello from norm!"Or skip the package manager and create a standalone file — no project scaffolding required.
Skuf keeps syntax minimal. Expression-body functions, pipes, and built-in tests — all in a few lines.
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) == 11fn double(x) = x * 2 — one-line functions, no braces.
5 |> double |> add_one — chain transforms left to right.
tst blocks live next to the code they test.
$ skuf run src/main.skf
result = 11$ skuf build -o myapp src/main.skf
$ ./myapp
result = 11$ 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.