@dwmm/platform Get in touch

In development · Shared package

@dwmm/platform

The shared base under four products: one schema layer, one component library, one set of design tokens.

The other four products in the suite, plus anyone curious why they all match.

platform/tokens/base.css

theme
9px
Andareaccent-blue.css

APP-6 · Migrate settings pageIn Review

Create issueCancel

Soldiaccent-green.css

1000 · CheckingPosted

New invoiceCancel

Cicloaccent-purple.css

CMP-00042 · Controller boardReleased

New ECOCancel

Docsaccent-amber.css

ENG · RunbookDraft

New pageCancel

Flip the theme or drag the radius. These are the platform’s real token values, drawn in your browser; the buttons use the kit’s primary and secondary classes. Each app pins a tagged version (all four are on v0.11.0), so a change reaches an app when its pin moves.

What it does

The shared foundation under every Bottega app.

Each app’s build checks that it’s pinned to the shared package and that the shared CSS compiled, and a suite-wide check limits how many raw palette colors each app may use instead of the design tokens.

  1. 01

    Design tokens and a Radix + CVA component library used by the four web apps, the settings portal, the mobile app and Andare Code

  2. 02

    Shared Zod schemas for the tenancy model

  3. 03

    Firestore rules, indexes and the deploy pipeline for the single Firebase project

  4. 04

    Build-time checks that keep apps on the shared package and its tokens

  5. 05

    Versioned with git tags (v0.11.0 as of September 2026), with a public component catalog site

The gate

Try to sneak a color past it.

The suite’s check:tokens step scans every app for Tailwind’s raw palette classes, like bg-green-100, and fails when an app goes over its budget. Most budgets are zero. Ciclo’s is 25, down from 738 when the check started counting, and it can only go down. This runs the check’s own pattern in your browser.

$ node scripts/design-tokens.mjs

  soldi: 4 raw palette classes, budget 0
      4  (this edit)

1 surface(s) paint from Tailwind's palette beyond their budget.
Use the semantic tokens in platform/tokens/base.css — success, danger,
warning and neutral, at steps 50, 200 and 800 — or the kit components that
already do (InlineAlert, Badge).

The kit

Components the apps share.

Some of the components in @dwmm/platform/ui. Another check fails the suite when a new kit export isn’t used by any app.

  • AppShell
  • Avatar
  • Badge
  • Button
  • Card
  • Combobox
  • DateField
  • Dialog
  • DropdownMenu
  • EmptyState
  • HoverCard
  • InlineAlert
  • Input
  • MoneyText
  • PageHeader
  • Select
  • Sheet
  • Skeleton
  • StatTile
  • Table
  • Tabs
  • Toast
  • Toggle
  • Tooltip

Part of Bottega

One company, one login, four apps.

@dwmm/platform shares its company record, member list and design with the rest of the Bottega suite. Turning on another app for someone is a permission, not a new account.

Specification

What it’s built with, and when.

Pulled from the repository each time this site is built.

State
In development
Discipline
Business platform
Shape
Hosted service
Started
Jul 2026
Last change
Sep 2026
Commits
389
  • TypeScript
  • Radix UI
  • CVA
  • Zod
  • Firebase
  • TypeScript 92%
  • JavaScript 4%
  • CSS 4%

Next

Bring @dwmm/platform into your company

Ask about onboarding your organization, moving existing records over, or a demo.

This site isn't finished. Anything on it may still change, and none of it is binding until the site is live.