Nvisy's product console — the web app (app.nvisy.com) and a Tauri desktop app, sharing one dashboard via a Nuxt layer.
The dashboard surface (design system, feature views, composables, and the
@nvisy/sdk data layer) lives in a shared @nvisy/console Nuxt layer, and each
app provides only its own shell. The web app is a Nuxt SPA; the desktop app
wraps the same frontend in a Tauri native shell.
Warning
Active development: API not stable. This project is under active development. Public APIs, configuration shapes, and on-disk formats may change without notice between releases.
An npm workspace split into deployable apps and the shared package they build on.
Apps (apps/*) — the shells that ship:
@nvisy/webapp(apps/web) — web shell, a Nuxt 4 SPA served at app.nvisy.com@nvisy/desktop(apps/desktop) — desktop shell: the same frontend wrapped in a Tauri 2 (Rust) native window, with the Rust shell living inapps/desktop/tauri/
Packages (packages/*) — the shared code the apps build on:
@nvisy/console— Nuxt layer holding the whole dashboard surface: design system (shadcn-vue), feature views, composables, the@nvisy/sdkdata layer, theme, and i18n@nvisy/config— shared configuration and constants, built as a platform-neutral ESM library (tsdown)
Each app opts in with extends: ["@nvisy/console"] and imports shared code
through the #console alias; the layer provides everything, the apps add only
their own shell.
- Node.js 22.18+
- npm 10+
- Rust + Cargo (desktop app only)
make install # Install dependencies
npm run dev -w @nvisy/webapp # Web dev server (port 3000)
npm run dev -w @nvisy/desktop # Desktop frontend dev (port 1420)
npm run tauri -w @nvisy/desktop dev # Desktop app (Tauri window)make build # Build the web app -> ./output
make build-desktop # Build the desktop frontend
make check # Lint and format check (Biome)
make clean # Remove build artifacts and node_modules
make repair # Clean and reinstall
npm run typecheck # Type check all workspacesapps/
├── web/ # web shell — Nuxt 4 SPA (@nvisy/webapp)
└── desktop/ # desktop shell (@nvisy/desktop)
├── app/ # Nuxt frontend (extends @nvisy/console)
└── tauri/ # Tauri 2 Rust shell (Cargo, tauri.conf.json)
packages/
├── console/ # shared Nuxt layer (@nvisy/console)
└── config/ # shared config & constants — ESM lib (@nvisy/config)
See CONTRIBUTING.md for development setup and guidelines.
Apache 2.0 License, see LICENSE.txt
- Documentation: docs.nvisy.com
- Issues: GitHub Issues
- Email: support@nvisy.com