@getbourdon/design-system
v1.0.0
Published
The Bourdon design system: palette, type, elevation and motion tokens for web, Kotlin (Compose) and Swift (SwiftUI), plus the brand fonts.
Readme
@getbourdon/design-system
The one design system for every Bourdon product: the engine's own surfaces, the Bourdon phone app and Bourdon Meetings all read these files. Nothing else in any repo may restate a colour, radius, shadow or type face.
| File | Consumer | How it is read |
|---|---|---|
| tokens.json | the source of truth | change a value here first |
| web/tokens.css | web, desktop | @import / import as text |
| kotlin/BourdonTokens.kt | Android (Compose), package ai.bourdon.design | a Gradle java.srcDir pointing at kotlin/ |
| swift/BourdonTokens.swift | iOS (SwiftUI) | an XcodeGen source path |
| fonts/*.ttf | every client | copied or bundled at build time; each face ships with its licence |
Consuming it
- Inside the
bourdonrepo, read it by path:packages/design-system/.... - In any other repo, pin the published package (
"@getbourdon/design-system": "1.0.0") and point every consumer atnode_modules/@getbourdon/design-system/.... Do not copy files out of it; a copy is exactly how the palette once drifted across three repos.
Changing it
- Change
tokens.json, then the sibling files by hand, in one PR in thebourdonrepo.tests/test_design_system.pyfails if any sibling disagrees withtokens.json, if an action colour stops meeting WCAG AA, or if a font's real PostScript name stops matching its filename. - Bump
version(semver: a removed or renamed token is a major bump). - Publish, then bump the pin in each consuming repo.
The fonts are licensed separately under the SIL Open Font License; see fonts/LICENSE-*.txt.
