Skip to content

Getting started

Wiz uses Bun for installation, builds, and tests:

Terminal window
git clone https://github.com/wiz-sh/wiz.git
cd wiz
bun install
bun run build
bun link --cwd apps/cli

Confirm the linked executable is the checkout you built:

Terminal window
wiz --version
wiz --help

Run wiz init in an empty project directory. The optional name becomes the package name; it does not create another nested directory.

Terminal window
mkdir hello-wiz
cd hello-wiz
wiz init hello-wiz

The command creates manifest.json, config.wiz.json, .gitignore, and an executable src/index.sh. Existing files are preserved.

Create src/main.wiz:

#!/usr/bin/env bash
greet(string name="world"): void {
printf 'Hello, %s!\n' "$name"
}
greet "Wiz"

Check, build, and execute it:

Terminal window
wiz check
wiz c build
bash dist/main.sh

The output is Hello, Wiz!. Use wiz c build --target zsh or wiz c build --target sh to select another supported backend.

Install the VS Code package built from apps/vscode, open the project folder, and open src/main.wiz. The extension launches wiz c lsp --stdio; set wiz.server.path when the editor process cannot find wiz on PATH.

Formatting is enabled on save. Hover greet, invoke completion at a command position, or add source "./helpers.wiz" to navigate and complete symbols from another file without opening it first.

Continue with Wiz syntax, package-manager commands, or the runnable examples.