Skip to content

Canopy 0.1.2

Choose a tag to compare

@mattmaynes mattmaynes released this 27 Jun 15:09
35f32da

First fully-automated release of the Canopy design system. Both packages are published to npm under the @rogueoak scope via the new tag-driven pipeline.

πŸ“¦ Packages

Package Version Install
@rogueoak/roots 0.1.2 pnpm add @rogueoak/roots
@rogueoak/canopy 0.1.2 pnpm add @rogueoak/canopy

@rogueoak/canopy depends on @rogueoak/roots@0.1.2. React 19 is a peer dependency.

πŸš€ What's new β€” tag-driven publishing (spec 0023)

Publishing is now on, and a git tag is the release:

  • Push a strict bare-SemVer tag (X.Y.Z, no v prefix) β†’ CI publishes both packages at that version, lockstep, in dependency order (roots β†’ canopy).
  • Authenticated with npm trusted publishing (OIDC) β€” no long-lived NPM_TOKEN.
  • A pnpm test gate runs before publish; the build is always fresh (no stale dist); workspace:* is rewritten to the real version on publish.
  • Changesets has been retired in favour of this flow.

See docs/specs/0023-npm-publishing.md.

🌳 What's inside

  • Roots 🌱 β€” design tokens (colour, type, spacing, radii, elevation, motion) as CSS variables, a typed TS export, and a Tailwind v4 preset. Light/dark theming lives entirely in the token layer.
  • Seeds (atoms) β€” Button, Input, Label, Badge, Checkbox, Switch, RadioGroup, Textarea, Select, Tooltip, Avatar, Separator, Spinner, Skeleton, Keyboard.
  • Twigs (molecules) β€” FormField, SearchBar, Card.

Exposed via subpath exports: @rogueoak/canopy/seeds, @rogueoak/canopy/twigs, and @rogueoak/roots/tokens.css Β· @rogueoak/roots/tailwind-preset.css.

⚑ Quick start

```bash
pnpm add @rogueoak/canopy @rogueoak/roots react react-dom
```

```css
/* global stylesheet */
@import '@rogueoak/roots/tokens.css';
@import '@rogueoak/roots/tailwind-preset.css';
```

```tsx
import { Button } from '@rogueoak/canopy/seeds';

export const App = () => Plant a seed;
```

πŸ“– Storybook Β· README


Note: @rogueoak/roots@0.1.1 exists as an interim artifact from bootstrapping the pipeline and is unused β€” start from 0.1.2, the first matched release of both packages.