Jitzu

2 min read Original article ↗

An interactive shell and a typed scripting language.

Runtime .NET 10

Packages Any NuGet library

Platforms Win · Mac · Linux

License Open source

Install Docs GitHub

Same task. Less noise.

PowerShell Get-ChildItem -Recurse -Filter *.cs

Jitzu find -ext cs

PowerShell $obj | Select-Object -ExpandProperty Name

Jitzu obj.name

PowerShell try { } catch [System.Exception] { $_ }

Jitzu let val = risky()?

Bash result=$(cmd) && echo $result

Jitzu let result = cmd(); print(result)

Bash everything is a string

Jitzu Int, String, Bool, Result<T, E>, Option<T>

60+ built-in commands

The Shell

Everything you need at the prompt.

Tab Completion

Files, commands, variables, and types — all completable with Tab.

Typed Pipes

Pipe OS command output into Jitzu functions. Types flow through the pipeline.

History & Search

Ctrl+R reverse search, arrow-key predictions, and a git-aware prompt.

Directory Labels

Name your directories.
Use them everywhere.

No symlinks. No drive mapping. No editing fstab. Just give a directory a name and use it as a path prefix — in cd, ls, cat, anywhere.

Works as a path prefix: cd git:jitzu/site

Tab completes label names and paths after the colon

Saved to your config — available in every session

The Language

Oh, it's also
a full language.

Rust's enums. C#'s runtime. TypeScript's ergonomics. Compiled to bytecode, running on .NET's VM.

Pattern matching

Match on types, destructure fields, guard with conditions.

Result<T, E> and the ? operator

Propagate errors without try/catch. Compose fallible operations.

Traits and impl blocks

Define shared behavior, implement it on any type.

Types with type inference

Define types with pub fields. Types are inferred from context.

NuGet packages

Import any .NET package with a single line.