README.md
April 24, 2026 · View on GitHub
Unofficial High-Performance Vue.js Toolchain in Rust
/viːz/ — Named after Vizier + Visor + Advisor: a wise tool that sees through your code.
Documentation ・ Playground ・ Sponsor
Warning
Vize is under active development. APIs, package boundaries, and editor features are still moving.
Important
For day-to-day editor support, keep using the official Vue language tools (vuejs/language-tools) for now.
Vize's VS Code extension, Zed extension, and vize lsp default to opt-in capabilities so teams can adopt them gradually.
What Ships Today
- Rust workspace crates for parsing, semantic analysis, compilation, linting, formatting, type checking, LSP, Musea art tooling, and bindings
- A full Rust CLI via the
vizecrate (build,fmt,lint,check,ready,upgrade,musea,lsp,ide) - npm packages including
@vizejs/vite-plugin,@vizejs/native,@vizejs/wasm,@vizejs/unplugin,@vizejs/rspack-plugin,@vizejs/nuxt,@vizejs/vite-plugin-musea,@vizejs/musea-mcp-server, andoxlint-plugin-vize - The
vizenpm package for shared config utilities and nativebuild,fmt,lint,check,ready, andupgradecommands
Quick Start
Need vp first? Install Vite+ once from the Vite+ install guide.
Vite
vp install -D vize @vizejs/vite-plugin
// vite.config.ts
import { defineConfig } from "vite";
import vize from "@vizejs/vite-plugin";
export default defineConfig({
plugins: [vize()],
});
// vize.config.ts
import { defineConfig } from "vize";
export default defineConfig({
linter: {
preset: "opinionated",
},
lsp: {
lint: true,
typecheck: false,
editor: false,
formatting: false,
},
});
npm CLI
The npm vize package exposes native CLI commands plus shared config helpers:
vp install -D vize
vp exec vize fmt --write src
vp exec vize lint src
vp exec vize check
vp exec vize build src
vp exec vize ready src
Full Rust CLI
For the full native CLI, install the Rust binary:
cargo install vize
vize build src/**/*.vue
vize fmt --check src
vize lint --profile src
vize check --profile src
vize ready src
vize upgrade
vize lsp
You can also run the current workspace build directly:
nix run github:ubugeeei/vize#vize -- --help
Oxlint Integration
oxlint-plugin-vize lets Oxlint execute Vize Patina diagnostics through Oxlint's JS plugin system.
vp install -D oxlint oxlint-plugin-vize
vp exec oxlint-vize -c .oxlintrc.json -f stylish src
This keeps Oxlint's core JS and TS rules active while adding Vue-aware diagnostics under the vize/* namespace.
Editor Integration
Vize editor support is designed for incremental adoption alongside vuejs/language-tools.
Start with lint-only mode in VS Code:
{
"vize.enable": true,
"vize.lint.enable": true,
"vize.typecheck.enable": false,
"vize.editor.enable": false,
"vize.formatting.enable": false
}
Zed can enable the same capabilities through LSP initialization options:
{
"languages": {
"Vue": {
"language_servers": ["vize", "..."]
}
},
"lsp": {
"vize": {
"initialization_options": {
"lint": true
}
}
}
}
The same feature names can be committed in vize.config.json or vize.config.pkl under lsp.
Local Development
The primary local setup is Nix + vp.
nix develop
vp install --frozen-lockfile
vp check
vp fmt
vp dev
vp build
Useful workspace tasks:
vp check
vp fmt
vp dev
vp build
vp run --workspace-root check:fix
vp run --workspace-root bench:all
Credits
This project draws inspiration from: Volar.js ・ vuejs/language-tools ・ eslint-plugin-vue ・ eslint-plugin-vuejs-accessibility ・ Lightning CSS ・ Storybook ・ OXC
Sponsors
Vize is maintained by @ubugeeei. If you find it useful, please consider sponsoring.