Skip to content

RubricLab/concrete

Repository files navigation

Concrete

Concrete is the Rubric Labs design system for AI-native product surfaces, editorial research, generative UI, and educational mockups.

This repo is a Bun monorepo:

  • packages/concrete - public React package @rubriclab/concrete
  • apps/docs - Next app for foundations, primitives, components, and render routes

Commands

bun install
bun run dev
bun run check
bun run build

Public Package

npm install @rubriclab/concrete
import '@rubriclab/concrete/styles.css'
import { Button, Card, Badge } from '@rubriclab/concrete'
import { Composer } from '@rubriclab/concrete/components'
import { Button as PrimitiveButton } from '@rubriclab/concrete/primitives'

The root export is the ergonomic default. Subpath exports are available when an app wants explicit primitive, component, registry, icon, or schema boundaries.

Concrete ships built ESM, declaration files, CSS, and SVG assets. It is intentionally ESM-only and keeps package subpaths small so application bundlers can tree-shake unused surfaces.

Pressure modes are creative direction and registry metadata. They are not universal primitive props.

CI And Release Flow

CI runs on pull requests and pushes to main:

bun install --frozen-lockfile
bun run check
bun run build
bun run --cwd packages/concrete verify:publish

Pushing to main also runs the release workflow. The workflow compares packages/concrete/package.json with the published npm version, bumps to the next patch version when needed, updates packages/concrete/CHANGELOG.md and bun.lock, commits the release bump back to main, then dispatches the publish job.

The publish job verifies the package again and publishes packages/concrete with npm provenance:

npm publish --provenance --access public

Publishing expects npm trusted publishing to be configured for RubricLab/concrete and the Release Package GitHub Actions workflow.

Releases

No releases published

Packages

 
 
 

Contributors