An open API service indexing awesome lists of open source software.

https://github.com/jitzulang/jitzu

An interactive shell and a typed scripting language written in .NET
https://github.com/jitzulang/jitzu

language shell

Last synced: about 2 months ago
JSON representation

An interactive shell and a typed scripting language written in .NET

Awesome Lists containing this project

README

          

Jitzu


Documentation
  •  
Downloads
  •  
Issues





Jitzu is a lightweight, expressive scripting language that runs on the .NET runtime, designed for speed, flexibility, and simplicity. It can be:

- **Interpreted** – Run scripts instantly with `jz script.jz`
- **Used as a Shell** – Execute commands interactively with `jz`
- **Extended with NuGet** – Import any .NET package directly
- **User-Defined Types** – Create custom types with fields and methods

## Installation

### Package Managers

```sh
# Windows (Scoop)
scoop bucket add jitzu https://github.com/jitzulang/jitzu
scoop install jz
```

### Manual Download

Download pre-built binaries from the [releases page](https://github.com/jitzulang/jitzu/releases):

| Platform | Download |
|----------|----------|
| Linux x64 | `jitzu-{version}-linux-x64.zip` |
| Windows x64 | `jitzu-{version}-win-x64.zip` |
| macOS x64 | `jitzu-{version}-osx-x64.zip` |
| macOS ARM | `jitzu-{version}-osx-arm64.zip` |

Extract the zip and add `jz` to your PATH.

### Self-Update

```sh
jz upgrade
```

## Quick Start

Run a script:
```sh
jz myscript.jz
```

Use Jitzu as an interactive shell:
```sh
jz
```

## Why Jitzu?

| Feature | Jitzu |
|---------|-------|
| Runtime | .NET 10 |
| Execution | Interpreted or Shell |
| NuGet Support | Load any .NET package |
| Syntax | Inspired by Rust, Go, Zig, C# |
| Philosophy | Code should be fun! |

## Example Code

```jitzu
// myscript.jz

fun add(x: Int, y: Int) -> Result {
Ok(x + y)
}

let x = 10
let y = 20
let z = try add(x, y) or 30

`The sum of {x} and {y} is {z}`
```

Run it:
```terminal
$ jz myscript.jz
The sum of 10 and 20 is 30
```

## Jitzu Shell

The interactive shell supports:
- Command chaining (`|`, `&&`, `||`)
- I/O redirection (`>`, `>>`, `<`)
- Job control (background jobs, `fg`, `bg`)
- Glob expansion
- Tab completion
- Command history

```terminal
$ jz
jz v0.2.0
> echo "Hello, World!"
Hello, World!
> ls -la
...
> exit
```

## Documentation

Full documentation is available at [jitzu.dev/docs](https://jitzu.dev/docs).

## Building from Source

Requirements: .NET 10 SDK

```sh
# Build
dotnet build

# Run interpreter
dotnet run --project Jitzu.Shell -- ../Tests/script.jz

# Run shell
dotnet run --project Jitzu.Shell

# Run tests
dotnet test
```

## License

MIT License - see [LICENSE](LICENSE)