Colour-only design tokens for all public Kolektiv projects, rendered out to several targets from one source:
| entry | output |
|---|---|
@kolektiv/themes |
themes, getTheme, shikiThemeFor, themeCss, allThemeCss |
@kolektiv/themes/theme.css |
daisyUI-compatible [data-theme] colour variables |
@kolektiv/themes/shiki |
Shiki theme registrations (Kolektiv light/dark) |
@kolektiv/themes/tokens.json |
raw tokens for Compose / other platforms |
Colour-only by design. A theme declares color-scheme and the twenty daisyUI colour
variables; each app owns its radii, sizes, borders and density. Palettes: nord,
catppuccin-latte/frappe/macchiato/mocha (extracted from Keel), and
kolektivcomputer-lig/dark. Each also maps to a Shiki analog via shikiThemeFor
(light/dark → GitHub light/dark, nord → nord, catppuccin → catppuccin,
kolektiv → kolektiv).
# .npmrc — fetch from the aggregated group repository
@kolektiv:registry=https://repo.yuri.capital/repository/npm-public/
pnpm add @kolektiv/themesimport { themes, shikiThemeFor } from '@kolektiv/themes';
import '@kolektiv/themes/theme.css';
import { kolektivDark } from '@kolektiv/themes/shiki';/* In a Tailwind v4 entry, before/after your own theme overrides */
@import '@kolektiv/themes/theme.css';Set <html data-theme="catppuccin-mocha"> (etc.) and every daisyUI component follows.
- Add it to
packages/themes/src/tokens.mjs(id, label, scheme,shiki, and the twenty colour keys). pnpm --filter @kolektiv/themes build.- Bump the version, add a
CHANGELOG.mdentry, and push av*tag.
pnpm install
pnpm typecheck
pnpm test
pnpm buildTag-driven, mirroring Keel: git tag vX.Y.Z && git push origin vX.Y.Z runs the Release
workflow (GitHub Release from the changelog) and the Publish workflow (publishes to
brand-npm, then verifies resolution from npm-public).
Secrets: YURI_CAPITAL_REPO_USERNAME, YURI_CAPITAL_REPO_PASSWORD.