meridian-ui

Featured

Build, develop, and debug the Meridian dashboard - the Next.js static export that runs inside the Tauri tray webview. Covers the bridge to Rust, component patterns, and the bun test runner.

Web & Frontend 336 stars 23 forks Updated 5 days ago MIT

Install

View on GitHub

Quality Score: 91/100

Stars 20%
84
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Meridian UI Skill The dashboard is a **Next.js static export** (`output: 'export'` → `ui/out`) that runs **inside the Tauri tray webview**. There is no Node server at runtime and there are no `/api` route handlers - `ui/app/api/` does not exist, and `better-sqlite3` is not a dependency of `ui/`. Everything that used to be a route handler is now Rust reached over Tauri `invoke`. If you are looking for the old route-handler / `@/lib/db` / `@/lib/category-colors` world, it was removed in the Next fold. See `CLAUDE.md` → "Dashboard → Tauri fold". ## Stack - **Next.js 16** (App Router), **React 19** - **TypeScript** - strict, no `any` without a justifying comment - **Tailwind CSS 4** - utility classes, no CSS modules - **bun:test** - test runner for `ui/__tests__/` ## Dev & Build ```bash cd ui npm run dev # dev server on :3939 (turbopack; NODE_ENV is unset deliberately) npm run build # production build + copies the tray popover into out/ npm run typecheck # tsc --noEmit bun test # dashboard tests ``` Two things worth knowing before you debug either: - **Never run `next dev` with `NODE_ENV` set** - that is why the script is `env -u NODE_ENV next dev`. A stale `.next` after a branch or config switch produces an `Invalid distDirRoot` panic; `rm -rf .next` from `ui/` clears it. - **The popover works under `tauri dev` too.** `tauri.conf.json`'s `beforeDevCommand` runs `node scripts/sync-popover.mjs dev`, which copies `tray/src/` into `ui/public...

Details

Author
Meridiona
Repository
Meridiona/meridian
Created
4 months ago
Last Updated
5 days ago
Language
Rust
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category