No description
Find a file
vince f1dc95b51c Merge pull request #17 from codex/issue-6-design-system
feat: build content-free dashboard design system
2026-06-18 18:39:53 +02:00
drizzle feat: add dashboard persistence store 2026-06-18 18:16:21 +02:00
src feat: build dashboard design system 2026-06-18 18:37:20 +02:00
.gitignore feat: scaffold SvelteKit runtime 2026-06-18 17:29:01 +02:00
bun.lock feat: build dashboard design system 2026-06-18 18:37:20 +02:00
drizzle.config.ts feat: add dashboard persistence store 2026-06-18 18:16:21 +02:00
package.json feat: build dashboard design system 2026-06-18 18:37:20 +02:00
README.md feat: add dashboard persistence store 2026-06-18 18:16:21 +02:00
svelte.config.js feat: scaffold SvelteKit runtime 2026-06-18 17:29:01 +02:00
tsconfig.json feat: add dashboard persistence store 2026-06-18 18:16:21 +02:00
vite.config.ts feat: scaffold SvelteKit runtime 2026-06-18 17:29:01 +02:00

Dimension Lab Website

Standalone SvelteKit runtime for the Dimension Lab system overview dashboard.

This project is not a Homepage customization and does not depend on Homepage runtime, frontend code, or configuration. The dashboard will be model-driven: the reusable renderer stays content-free, while environment-specific data lives in validated dashboard model state.

Development

bun install
bun run dev

This MVP uses Drizzle with Bun SQLite for local file-backed persistence.

Scripts

  • bun run dev: start the local development server.
  • bun run check: run Svelte and TypeScript checks.
  • bun run test: run Vitest.
  • bun run build: build the production app.
  • bun run preview: preview the production build.
  • bun run db:generate: generate Drizzle migrations from the server schema.
  • bun run db:check: validate migration consistency.

Persistence

Dashboard documents are stored in SQLite through Drizzle. The default database URL is:

DATABASE_URL=file:./data/dimensionlab.sqlite

SQLite files under data/ are ignored. Drizzle schema lives in src/lib/server/db/schema.ts; tracked migrations live in drizzle/. Runtime startup applies the checked-in dashboard migrations before reads or writes. If the app is launched from outside the repo tree, set DASHBOARD_MIGRATIONS_DIR to the tracked migrations directory. The current driver is bun:sqlite, which keeps this repo installable in the Bun workflow. The store boundary is isolated so a later Postgres driver can replace the SQLite connection without changing the dashboard model or renderer. Stored dashboard documents pass through a version migration boundary before reads or writes; the MVP supports dashboard.v1 and fails unsupported versions with an explicit migration error.

Runtime Shape

The SvelteKit build uses the Node adapter, and the current persistence runtime is Bun because the MVP SQLite driver is bun:sqlite. Later issues add the component system, Storybook, seed data expansion, and rendering pipeline.