Where to get the CLI, the crates and the editor packages. What changed in each version is on the other tab.
Go to your system: Windows | Linux | macOS
Wisp is a pre-release: it installs from source with cargo today. The version, the tag and the archive names below come from the changelog and the release page, so they change with a release.
The wisp command builds a C library (ring), so every system needs Rust 1.89 or later and a C compiler and linker.
Windows
| Prerequisites | Rust, from rustup-init.exe. Rust on Windows links with the Microsoft C++ build tools by default. Install Build Tools for Visual Studio with the workload Desktop development with C++ (MSVC and a Windows SDK). Or use the GNU toolchain: put MinGW-w64 (for example from MSYS2) on your PATH. Then switch with rustup default stable-x86_64-pc-windows-gnu. |
|---|---|
| Install | Works now. Build it from source with cargo. It takes a few minutes.
The newest tag is v1.0.0-pre.3. The command pins it.
|
| Verify | |
| Create and run | wisp dev serves http://127.0.0.1:3000. |
| Update | tag of an app's Wisp dependencies (from 1.0.0-pre.3). wisp changelog prints what changed since your version. Windows cannot replace a running wisp.exe ("Access is denied"). Stop wisp dev and wisp lsp first. Or rename the file with ren %USERPROFILE%\.cargo\bin\wisp.exe wisp-old.exe, and delete the old file later. |
| Uninstall | |
| Editor | Install wisp first, then pick your editor in Editors (VS Code builds from a clone). |
| Prebuilt archive |
Attached to v1.0.0-pre.3. wisp-x86_64-pc-windows-gnu.zip and its .sha256. Unpack it and put scripts/install.ps1 is in the repository, but wispweb.dev does not serve it at wispweb.dev/install.ps1. The script gets the archive from the GitHub releases of wyziedevs/wisp, not from code.wispweb.dev. |
Linux
| Prerequisites | Rust, from rustup. A C compiler and linker: build-essential on Debian and Ubuntu (sudo apt install build-essential curl), gcc on Fedora (sudo dnf install gcc), or your distribution's equivalent.
|
|---|---|
| Install | Works now. Build it from source with cargo. It takes a few minutes.
The newest tag is v1.0.0-pre.3. The command pins it.
|
| Verify | |
| Create and run | wisp dev serves http://127.0.0.1:3000. |
| Update | tag of an app's Wisp dependencies (from 1.0.0-pre.3). wisp changelog prints what changed since your version. |
| Uninstall | |
| Editor | Install wisp first, then pick your editor in Editors. |
| Prebuilt archive |
Attached to v1.0.0-pre.3. wisp-x86_64-unknown-linux-musl.tar.gz and its .sha256. Attached to v1.0.0-pre.3. wisp-aarch64-unknown-linux-musl.tar.gz and its .sha256. Not yet.scripts/install.sh is in the repository, but wispweb.dev does not serve it at wispweb.dev/install. The script gets the archive from the GitHub releases of wyziedevs/wisp, not from code.wispweb.dev. |
macOS
| Prerequisites | Rust, from rustup. The C compiler and linker come with the Xcode Command Line Tools.
|
|---|---|
| Install | Works now. Build it from source with cargo. It takes a few minutes.
The newest tag is v1.0.0-pre.3. The command pins it.
|
| Verify | |
| Create and run | wisp dev serves http://127.0.0.1:3000. |
| Update | tag of an app's Wisp dependencies (from 1.0.0-pre.3). wisp changelog prints what changed since your version. |
| Uninstall | |
| Editor | Install wisp first, then pick your editor in Editors. |
| Prebuilt archive |
Attached to v1.0.0-pre.3. wisp-x86_64-apple-darwin.tar.gz and its .sha256. Attached to v1.0.0-pre.3. wisp-aarch64-apple-darwin.tar.gz and its .sha256. Not yet.scripts/install.sh is in the repository, but wispweb.dev does not serve it at wispweb.dev/install. The script gets the archive from the GitHub releases of wyziedevs/wisp, not from code.wispweb.dev. |
Other install routes
Each archive of a release has a .sha256, and the release has one SHA256SUMS. See RELEASING.md.
| State | What |
|---|---|
| Not yet | cargo binstall wisp-web reads the prebuilt archives, so it works once they exist. |
| Not yet | Homebrew, Scoop, winget. Draft manifests are in packaging/, unpublished. |
Crates
Not on crates.io. They publish with the 1.0 release. Until then an app depends on this repository by git. When wisp comes from cargo install --git, wisp new writes lines like these, with the tag of its own version. When it comes from cargo install --path, wisp new writes path lines to that clone.
| Crate | What |
|---|---|
wisp-web | the wisp command (crates/wisp-cli) |
wisp-web-rt | the runtime an app depends on, lib name wisp |
wisp-web-build | build.rs codegen, lib name wisp_build |
wisp-web-macros | derives and attributes |
wisp-web-shared | rules shared by build and runtime |
wisp = { git = "https://wisp.ar0.eu/", tag = "v1.0.0-pre.3", package = "wisp-web-rt" }
wisp-build = { git = "https://wisp.ar0.eu/", tag = "v1.0.0-pre.3", package = "wisp-web-build" }Editors
Every editor uses wisp lsp (problems, hovers, completion, formatting), so install the command first. No editor package is in a store or registry yet: each installs from a clone of the repository, folder editors/. Editors has the detail.
git clone https://code.wispweb.dev/wispdev/wisp.git| State | Editor |
|---|---|
| From source | VS Code: build the extension and install the file. It is not on the Marketplace or Open VSX yet.
|
| From source | Neovim: add editors/nvim to the runtime path (a lazy.nvim snippet is in its README), then :TSInstall wisp rust javascript typescript css. |
| From source | Helix: merge editors/helix/languages.toml, run hx --grammar fetch and hx --grammar build, then copy the queries (steps). |
| From source | Zed: run zed: install dev extension and pick editors/zed. |
| From source | Sublime Text: copy editors/sublime into a Wisp package folder and install the LSP package. |
| From source | JetBrains: install LSP4IJ from the plugin marketplace, then import editors/jetbrains/lsp4ij-template. |
| From source | Emacs: add editors/emacs to load-path, require wisp-ts-mode, then install the grammar with treesit-install-language-grammar. |
| From source | tree-sitter grammar: editors/tree-sitter-wisp, the parser behind Neovim, Helix, Zed and Emacs. |
| Not published | Prettier plugin: editors/prettier-plugin-wisp is not on NPM yet, so npm install prettier-plugin-wisp does not work. It only runs wisp fmt --stdin, so use wisp fmt directly. |
Source and release pages
The source and the release pages are at code.wispweb.dev/wispdev/wisp, a self-hosted git server, because GitHub suspended our account. Accounts there are closed for now.