Wisp

Type to search every docs page and heading.

CLI Reference

wisp --help prints the same list. App commands run from the app's folder.

Commands

CommandWhat it does
wisp new [name]create an app; asks a few questions, the options below answer them
wisp dev [--port|-p <n>]run the app, rebuild and reload on every save (port 3000)
wisp buildone release binary with CSS and static files inside
wisp build --sourcemapthe same, with source maps for browser code
wisp build --analyzeeach route's JS, CSS and wasm bytes, raw and gzipped; builds nothing
wisp build --static [--out dist]the pages as plain files, for any static host
wisp build --spa [--out dist]the same, and index.html draws the SSR = false pages
wisp build --docker [--force]write a Dockerfile and .dockerignore
wisp build --target|-t <host> [--edge] [--out|-o <dir>]a folder for cloudflare, pages, deno, vercel, netlify, node, bun or lambda; --edge uses edge functions on vercel or netlify
wisp build --client ts [--out client.ts]a typed TypeScript client of the +server.rs endpoints
wisp openapi [-o|--out openapi.json]print the OpenAPI 3.1 document, or write it
wisp openapi --checkfail if the committed file is stale (CI)
wisp check [--types]check routes and templates without compiling; --types runs tsc too
wisp test [--browser] [args]cargo test with its args; --browser runs browser tests too
wisp fmt [paths]format .wisp files (markup, the --- block, scripts, styles)
wisp fmt --checkname unformatted files and fail if any
wisp fmt --stdin [path]format stdin to stdout, as the file at path (editors)
wisp routeseach route's methods, URL and file
wisp new-route <path> [page|server|rest]write a page, endpoint or REST resource
wisp deploy init <host> [--force]a GitHub Actions workflow that deploys on push
wisp deploy init fly|render|railway [--force]that host's config (and a Dockerfile)
wisp add <pkg>[@version]add an npm package to package.json; no Node needed
wisp add [name] [--force]apply the recipe add/<name>/recipe; no name lists them
wisp remove <pkg>take an npm package out
wisp ui add <name…> [--force]copy components (button, dialog, tabs…) into src/components
wisp ui listthe components wisp ui add has
wisp service install|uninstall|start|stop|statusrun the release binary as a systemd, launchd or Windows service; --name, --user, --port, --dry-run
wisp lspthe language server, over stdio
wisp update-docsbring AGENTS.md up to this Wisp
wisp mcpdocs, routes, components and checks for AI agents (MCP, stdio)
wisp --helpthis list (-h, help)

Options for Wisp New

OptionWhat it does
-t, --template demo|minimal|apian app to learn from, one empty page, or a JSON API (also --api)
--tailwind, --no-tailwindadd Tailwind CSS, or leave it out
--git, --no-gitcreate a git repository, or not
--install, --no-installdownload and compile dependencies now, or later
-y, --yestake the defaults for anything not given

CLI Older than the App

App commands warn on stderr when the installed wisp is older than the app's wisp crate, and in a terminal ask before going on. WISP_NO_UPDATE_CHECK=1 silences it. More: CLI, dev loop and security.

Is This Page Useful?

Edit This Page