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
- Host: GitHub
- URL: https://github.com/jitzulang/jitzu
- Owner: jitzulang
- License: mit
- Created: 2025-02-12T17:35:13.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-28T16:14:33.000Z (about 2 months ago)
- Last Synced: 2026-04-28T17:31:22.891Z (about 2 months ago)
- Topics: language, shell
- Language: C#
- Homepage: https://jitzu.dev
- Size: 2.11 MB
- Stars: 9
- Watchers: 2
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: Readme.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
Jitzu
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)