symfinity/ui-kernel

Design tokens, themes, and slim CSS generation for Symfony

Maintainers

Package info

github.com/symfinity/ui-kernel

Type:symfony-bundle

pkg:composer/symfinity/ui-kernel

Statistics

Installs: 71

Dependents: 1

Suggesters: 1

Stars: 0

Open Issues: 0

v0.2.0 2026-06-22 18:27 UTC

This package is auto-updated.

Last update: 2026-06-22 18:29:47 UTC


README

UI Kernel

Design tokens, themes, and slim CSS generation for Symfony

PHP Version Symfony
CI
Release Downloads License

Note

Read-only mirror. See CONTRIBUTING.md for how to propose changes.

Features

  • Design tokens--ui-color-*, spacing, radius, motion, and focus tokens from W3C DTCG theme layers
  • Built-in themes — Balanced, Semantic, and Utility lineages (light + dark variants) on disk under config/themes/{lineage}/
  • OKLCH palette generator — shared ramp math; author palette refs, not raw hex, in theme packs
  • Twig integrationui_kernel_css(), theme boot script, active theme id, theme shell helper
  • Slim kernel boundary — theme CSS only; component [data-ui-role] rules live in ux-blocks-* packages. ui-themer consumer themes use AuthoringThemeConfig (not the built-in DTCG catalog) — see Themes.

Prerequisites

Add the symfinity/recipes Flex endpoint to your project's composer.json (see recipes README) — recipes are not in Symfony's official recipe repository yet.

Installation

composer require symfinity/ui-kernel

The Flex recipe registers the bundle for all environments and copies a minimal app config. See Installation.

Quick Start

{# templates/base.html.twig #}
<head>
    {{ ui_kernel_theme_boot_script() }}
    {{ ui_kernel_css()|raw }}
</head>
# config/packages/symfinity_ui_kernel.yaml
symfinity_ui_kernel:
    default_theme: semantic
    default_variant: semantic
    schema_version: '2.0'

See Quick start for the full walkthrough.

Documentation

Requirements

  • PHP 8.2 or higher
  • Symfony 6.4, 7.x, or 8.x
  • Twig 3.0 or higher

Support

R2 release train (maintainers)

First public tag v0.1.0 with ui-themer, ui-action, and ux-blocks in one coordination event (PRODUCT-split-release-wave-1).

Before tag Consumer install order
115 done; schema_version: '2.0'; Flex recipe + handbook; split row in mono.json 1. composer require symfinity/ui-kernel
mono repo:doctor clean for this slug 2. composer require symfinity/ui-themer --dev (after kernel on Packagist)
mono recipes:validate --tier=v1 clean for ui-kernel 3. composer require symfinity/ui-action and/or symfinity/ux-blocks (parallel)

After tag: mono recipes:publish for changed recipe dirs → Packagist webhook → Flex smoke in a clean Symfony app.

License

MIT