Skip to content

Quick Start

Prerequisites

  • Node.js >=20
  • pnpm >=9
  • You are working inside the brettjohnson-xyz monorepo

Setup

  1. Install workspace dependencies

    From the repo root:

    Terminal window
    pnpm install
  2. Import the shared Tailwind theme

    In your app’s global CSS file, import Tailwind v4 and the shared tokens:

    app/globals.css
    @import "tailwindcss";
    @import "@brettjohnson/config-tailwind/theme.css";

    This gives you access to all brand tokens via Tailwind utilities:

    <div class="bg-brand-dark text-white border border-brand-gray rounded-sm">
    </div>
  3. Use shared components

    Import from @brettjohnson/ui:

    import { Button } from '@brettjohnson/ui';
    export default function Page() {
    return (
    <Button variant="primary" size="lg">
    Book a Speaking Engagement
    </Button>
    );
    }
  4. Run your app

    Terminal window
    # Run the main site
    pnpm dev:www
    # Run this design docs site
    pnpm dev:design

Token access patterns

<!-- Background -->
<div class="bg-brand-red"></div>
<div class="bg-brand-dark"></div>
<div class="bg-brand-charcoal"></div>
<!-- Text -->
<p class="text-brand-red"></p>
<!-- Border -->
<div class="border border-brand-gray"></div>

Design docs site

To run this design system site locally:

Terminal window
pnpm dev:design
# → http://localhost:4322

To build:

Terminal window
pnpm turbo build --filter=@brettjohnson/design