# Jitzu > A typed shell and scripting language on .NET. Pipe OS command output into typed functions; call any NuGet package directly. Jitzu ships as a single binary (`jz`). Status: alpha — small stdlib, not production-ready. Open source. ## At a glance ```jitzu // Typed pipe: OS command output → Jitzu function ls -ext cs | map(f => f.name.ToUpper()) | first(3) // Result with the ? operator fun load_config(): Result { let file = try read_file("config.json") let parsed = try parse_json(file) return Ok(parsed) } // Union types + pattern matching let area = match shape { Shape.Circle(r) => 3.14159 * r ** 2, Shape.Square(s) => s ** 2, } // NuGet, inline #:package Newtonsoft.Json@13.0.4 open "Newtonsoft.Json" as { JsonConvert } let json = JsonConvert.SerializeObject(user) ``` ## Getting Started - [Overview](https://jitzu.dev/docs/getting-started/overview.md): What Jitzu is and why it exists - [Installation](https://jitzu.dev/docs/getting-started/installation.md): How to install Jitzu on your system ## Shell - [Jitzu Shell](https://jitzu.dev/docs/shell/overview.md): The Jitzu shell is a feature-rich interactive environment that blends a Unix-style command line with the full Jitzu language. - [File System](https://jitzu.dev/docs/shell/commands/file-system.md): Built-in file system commands in the Jitzu shell. - [Text Processing](https://jitzu.dev/docs/shell/commands/text-processing.md): Built-in text processing commands in the Jitzu shell. - [Pipes & Redirection](https://jitzu.dev/docs/shell/pipes-and-redirection.md): The Jitzu shell supports Unix-style pipes and I/O redirection, plus a unique hybrid pipe system that lets you chain OS command output into Jitzu functions. - [System Information](https://jitzu.dev/docs/shell/commands/system-info.md): Built-in system information commands in the Jitzu shell. - [Completion & Editing](https://jitzu.dev/docs/shell/completion-and-editing.md): The Jitzu shell includes a custom readline implementation with tab completion, history predictions, reverse search, text selection, and full line-editing support. - [Utilities](https://jitzu.dev/docs/shell/commands/utilities.md): Built-in utility commands in the Jitzu shell. - [Customization](https://jitzu.dev/docs/shell/customization.md): The Jitzu shell supports theme customization, startup configuration, aliases, and path labels to personalize your workflow. - [Session Inspection](https://jitzu.dev/docs/shell/commands/session.md): Commands for inspecting the current Jitzu shell session state. - [Activity Monitor](https://jitzu.dev/docs/shell/activity-monitor.md): The Jitzu shell includes a built-in full-screen activity monitor TUI, background job management, command timing, and process control commands. - [Privilege Escalation](https://jitzu.dev/docs/shell/commands/privilege-escalation.md): Running commands with elevated privileges in the Jitzu shell. ## Language - [Getting Started with Jitzu](https://jitzu.dev/docs/language/getting-started.md): Welcome to Jitzu, a modern scripting language designed to be "Fast Enough™, Overengineered, and Unoriginal" - packed with syntax sugar to make scripting fun and expressive. - [Basic Syntax](https://jitzu.dev/docs/language/basic-syntax.md): This page covers the fundamental syntax elements of Jitzu, including comments, variables, and the import system. - [Data Types](https://jitzu.dev/docs/language/data-types.md): Jitzu provides a set of built-in data types with strong typing and type inference to catch errors early while keeping code concise. - [Numbers](https://jitzu.dev/docs/language/numbers.md): Integer and floating-point number types, arithmetic, parsing, and conversions in Jitzu. - [Strings](https://jitzu.dev/docs/language/strings.md): String literals, interpolation, escape sequences, and common operations in Jitzu. - [Vectors](https://jitzu.dev/docs/language/vectors.md): Vectors are Jitzu's dynamic arrays — create, access, iterate, and transform collections of values. - [Dates](https://jitzu.dev/docs/language/dates.md): Working with Date, Time, and Timestamp types in Jitzu for parsing, comparing, and combining temporal values. - [Functions](https://jitzu.dev/docs/language/functions.md): Functions are the building blocks of Jitzu programs. They support type annotations, automatic return of the last expression, recursion, and Result-based error handling. - [Control Flow](https://jitzu.dev/docs/language/control-flow.md): Jitzu provides expressive control flow constructs including conditionals, loops, and early returns. Many control flow constructs are expressions, meaning they return values. - [Types](https://jitzu.dev/docs/language/object-oriented.md): Jitzu lets you define custom types to group related data together. Types support public and private fields, nesting, and composition. - [Traits & Methods](https://jitzu.dev/docs/language/traits.md): Define methods on types and declare shared behavior with traits in Jitzu. - [Pattern Matching](https://jitzu.dev/docs/language/pattern-matching.md): Pattern matching is one of Jitzu's most powerful features. Combined with union types and the built-in Result/Option system, it lets you handle different cases elegantly and safely. - [.NET Interop](https://jitzu.dev/docs/language/dotnet-interop.md): Jitzu runs on .NET — call any .NET method, access properties, and install NuGet packages directly in your scripts. - [Code Style](https://jitzu.dev/docs/language/code-style.md): Naming conventions and style guide for Jitzu code. ## Optional - [Full documentation (single file)](https://jitzu.dev/llms-full.txt): Every documentation page concatenated into a single markdown file for one-shot ingestion. - [GitHub repository](https://github.com/jitzulang/jitzu): Source code, issues, releases.