wax
wax is the front door to the command line toolchain. It sends each command to the installed tool that owns it.
Commands
| Command | Tool | Purpose |
|---|---|---|
wax new |
— | Create a one shot, standalone loop, or embedded project. |
wax run |
— | Build and run a one shot or standalone host target. |
wax build |
waxc |
Compile a project. |
wax check |
waxc |
Check a project without producing an artifact. |
wax targets |
waxc |
Inspect resolved manifest targets without compiling. |
wax add, install, update, and other package verbs |
Packages | Manage dependencies, accounts, and published packages. |
wax debug |
waxdbg |
Debug a program or inspect a recording. |
wax lsp |
Editor support | Run the language server over standard input and output. |
Start a project
This complete first pass stays on the wax surface:
wax new my-app --yes
cd my-app
wax run --build-tier instant
wax add Easing @wax/easing "^1.0.3"
wax check
wax build
wax debug init
run gives the quick edit and run loop. check validates the application and
installed package sources. build writes the configured delivery artifact.
The final command binds a debugger session to the project. Continue with
editor setup to install the extension once your editor's
command line launcher is available.
Most command arguments pass directly to the focused tool. wax new and wax run
are workflows owned by the driver: new creates a project driven by its manifest, while run
builds a private run artifact and forwards arguments after -- to the program.
Output, diagnostics, and exit status from focused tools otherwise pass back unchanged.
Builds keep the Debug/Release preset, Instant/Balanced/Optimized build tier, and C/Native/WebAssembly backend as independent choices. See Build Wax projects for the defaults and custom C compiler support.
Target discovery
wax targets shows manifest defaults, every named target after
inheritance, and which target an ordinary build selects. Values omitted from the
manifest remain omitted rather than expanding to compiler defaults. The JSON
form emits one versioned wax.targets.v1 document designed for build tools and
coding agents.
wax targets
wax targets --json
The JSON keeps unspecified bindings as null and an intentional empty binding
set as []. With several targets and no default, discovery succeeds with
selectedTarget: null; a subsequent build must pass --target.
Editor extension
wax vscode installs the editor extension bundled with the toolchain. It looks for supported editor command line launchers, or accepts an explicit launcher and VSIX path.
wax vscode
wax vscode --help
Versions and help
wax --version prints the driver and installed component versions. wax --help lists the available commands. The driver forwards wax <command> --help to the component that owns the command.
wax --version
wax --help
wax build --help
Discover installed commands
Run wax capabilities --json for installed command schemas and versions. Unavailable components are reported explicitly and cause exit 1. See the generated CLI reference or its plain Markdown.
Run without an external compiler
On macOS ARM64, Linux x64/ARM64, and Windows x64, wax run executes a Native
Release image directly. Its default build tier is Instant. Explicit backend,
preset, and tier choices in your command or project are respected; C and Debug
builds still use the external compiler. wax build exports an application and
currently needs a Clang-compatible compiler and platform linker.
wax run --record first-run.wxs saves a Native run for
Inspector. Use a new filename for each run; existing recordings are
preserved. Follow Your first investigation
for a complete example.