Chromatic pipeline for dynamic palette derivation. OKLCH-native, contrast-enforced, schema-validated, plugin-extensible.
Variable-input-count seed colors expand into role-resolved, contrast-enforced palettes via a sequenced task pipeline. The docs site runs the live engine against its own brand palette; every chrome and syntax token on the page is the output of engine.run().
- Getting started — install, the smallest possible pipeline, the shape of the output.
- Try it out — edit seed colors and a role schema in the browser; the page recomputes through the engine on every keystroke.
- Pipeline, Role schemas, ColorRecord — engine concepts.
- Contrast and Accessibility calculations — WCAG 2.1 AA/AAA, APCA Lc targets, CVD simulation and correction.
- Recipes — end-to-end snippets for the CLI, cascading CSS variables, and the Vue + Capacitor sample app.
- Reference — per-color-space pages (Hex, RGB, HSV, CMYK, OKLCH) and accessibility-standards pages (WCAG 2.1, APCA).
@studnicky/iridis— Pluggable color derivation pipeline. Variable-input-count seed colors expand into role-resolved, contrast-enforced palettes via a sequenced task pipeline. Browser- and Node-safe.@studnicky/iridis-cli— Command-line interface for running the pipeline against a config file and writing outputs to disk.
@studnicky/iridis-contrast— WCAG 2.1 AA/AAA, APCA, and color-vision-deficiency enforcement — checks, corrects, and (for CVD) simulates against a resolved palette.
@studnicky/iridis-image— Extracts a palette from image pixels — histogram, dominant-color clustering, and harmonization tasks.
Each ships as a separate plugin package; install only what you need.
@studnicky/iridis-stylesheet— Emits plain and scoped CSS custom-property stylesheets from resolved roles.@studnicky/iridis-tailwind— Emits a Tailwind CSS theme config from resolved roles and shade scales.@studnicky/iridis-vscode— Derives a full VS Code theme (tokenColors, semanticTokenColors, 101 workbench colors) from a resolved palette.@studnicky/iridis-shadcn— Emits shadcn/ui CSS variables from resolved roles.@studnicky/iridis-mui— Emits an MUI theme (createTheme() palette config) from resolved roles.@studnicky/iridis-chakra— Emits a Chakra UI extendTheme() color-token scale from resolved roles and their dark/light variants.@studnicky/iridis-panda— Emits Panda CSS and UnoCSS theme configs from resolved roles.@studnicky/iridis-capacitor— Emits Capacitor status bar, splash screen, native theme config, and Android theme.xml from a resolved palette.@studnicky/iridis-rdf— Emits the resolved palette as an RDF/OWL graph with SHACL-shaped reasoning annotations.
Node.js >= 24 (matches engines.node in package.json).
npm install @studnicky/iridisOutput targets ship as separate plugin packages; install only what you need:
npm install @studnicky/iridis-stylesheet @studnicky/iridis-tailwind @studnicky/iridis-vscodegit clone https://github.com/Studnicky/iridis.git
cd iridis
npm install
npm run typecheck
npm test
cd site && npm run deviridis ships source, not a build step — typecheck is the closest equivalent to build in this workspace.
The docs/demo site lives in site/ — a Nuxt app that runs the real engine live against its own theme. See site/README.md.
MIT — see LICENSE.
See CHANGELOG.md and the GitHub releases.