Monorepo for @opsydyn/crumbs-css — React Native style authoring with a familiar vanilla-extract-shaped API.
- Docs site workspace:
docs/is the primary consumer documentation surface and follows a Diataxis structure. - npm quickstart:
packages/css/README.mdis the concise package-level entrypoint. - Repository overview: this README covers workspace layout, development commands, and release operations.
| Package | Version | Description |
|---|---|---|
@opsydyn/crumbs-css |
Metro transformer, style authoring API, theme runtime |
Compiles .css.ts files to React Native StyleSheet.create output at Metro transform time. The authoring API mirrors vanilla-extract — style, styleVariants, recipe, createThemeContract, createTheme — so the mental model is familiar if you already use vanilla-extract on web.
At runtime, ThemeProvider and useThemedStyles resolve token references into concrete values without re-running the transform.
| Command | Purpose |
|---|---|
bun install |
Install workspace dependencies. |
bun run build |
Build the published package. |
bun run test |
Run the package test suite. |
bun run typecheck |
Typecheck the published package. |
bun run app:storybook |
Start the Expo Storybook app for component development. |
bun run docs:dev |
Run the Starlight docs site locally. |
bun run docs:build |
Build the docs site. |
bun run release:check |
Build, typecheck, test, bench, and pack the package. |
packages/
css/ # Published package: transformer, style API, theme runtime
apps/
storybook/ # Expo Storybook — component development and visual testing
docs/
# Starlight consumer documentation site
bun run app:storybookRuns the Expo Storybook app. Use it for visual checks, component examples, and Expo Dev Client smoke testing.
- release-please manages version PRs, changelog updates, tags, and GitHub releases.
- npm publication is a separate workflow gate, not an automatic consequence of merging a release PR.
- Release operations require repository secrets and permissions:
RELEASE_PLEASE_TOKENfor reliable release PR creationNPM_TOKENfor npm publication
- Before publishing, run:
bun run release:checkThen trigger the dedicated publish workflow in GitHub Actions for the release tag or approved ref.
Directly inspired by vanilla-extract — the zero-runtime CSS-in-TypeScript library by Mark Dalgleish and the team at Seek. The authoring API, theme contract model, and recipe abstraction are all shaped by vanilla-extract's design. If you work on web, use vanilla-extract.
MIT
