Decision record

ADR-0002: UI framework and styling strategy

Written by

ADR-0002: UI framework and styling strategy

Status: accepted · Date: 2026-08-27

Decision

Tailwind CSS v4 + shadcn-svelte-style components (Bits UI primitives) vendored into packages/ui, with design tokens as CSS custom properties defined once in packages/ui/src/tokens.css (normative source: DESIGN.md) and mapped into Tailwind’s @theme namespace by apps/web. Rendered document content is styled by the semantic .bladbase-prose stylesheet only — utility classes never enter stored document HTML.

Context

The product needs a dense, quiet, keyboard-first UI (Outline/Docmost class) with heavy customization of editor chrome, page tree, and command palette. Most polished component libraries are React-only; the SvelteKit choice constrains us to Svelte-native options.

Alternatives considered

Consequences

References

Written and maintained by , who made this decision — about · GitHub.

← All decisions