A compiler, standard library, language server, formatter and linter for the Jai programming language. It builds for macOS, Linux, Windows and WebAssembly.
API docs · Guides and reference · Playground · Changelog
Note
Jacket is unofficial and is not affiliated with or endorsed by Thekla, Inc. or the official Jai project.
brew install matteopolak/tap/jacket # macOS, Linux
curl -fsSL https://raw.githubusercontent.com/matteopolak/jacket/main/install.sh | sh # macOS, Linux
irm https://raw.githubusercontent.com/matteopolak/jacket/main/install.ps1 | iex # Windows (PowerShell)Update with jacket upgrade. Other channels (Nix, prebuilt archives, CI, building from source) are in installation.
Editors:
- VS Code and Open VSX editors (VSCodium, Cursor): the Jacket extension. It can download the toolchain. See its docs.
- Neovim 0.11+: jacket.nvim.
- Anything else: run
jailspas a language server over stdio.
#import "Basic";
main :: () {
print("Hello, world!\n");
}jacket run hello.jaijacket new app # start a project
jacket build # build the project (or: jacket build hello.jai)
jacket run # build and run
jacket test # run tests and doc examples
jacket check # type-check only
jacket fmt # format
jacket lint --fix # lint, applying safe fixes
jacket doc # build the API docs sitejacket build, check and run take the same flags as the compiler, jaic, and also read your project's jacket.toml. jaic hello.jai -o -os windows is the direct form; run jaic -help for every option. See jacket and the command-line reference.
Bug reports and feature requests are welcome as issues. Pull requests are not accepted; see CONTRIBUTING.md.
Jacket is a clean-room implementation: contributors must not read the official Jai sources at all.
AGPL-3.0-or-later, with a runtime library exception: programs you compile with Jacket can use any license you choose.