Install
pip install chirp-ui==0.9.0
# or
uv add chirp-ui==0.9.0
With Chirp:
pip install "bengal-chirp[ui]"
What's New
Appearance and tone pilot
The first descriptor-backedappearance and toneparameters are now
available onbtn, badge, alert, card, surface, and form fields.
This starts the public styling vocabulary that can span components without
turning Chirp UI into utility classes.
The shared destructive tone isdanger. Existing component-local
variant="error"compatibility remains unchanged.
Token-only theme-pack catalog
Chirp UI now ships a first catalog of packaged token-only theme packs:
atlas, ember, and sage. Their metadata is immutable and discoverable
through the Python library contract and manifest.
The theme packs are visible in the showcase matrix and wired into Bengal palette-control metadata, with browser proof across navigation, forms, overlay layers, compact data tables, desktop and mobile viewports, and light, dark, and system token resolution.
Application chrome and visual proof
The application chrome work now has follow-up proof for rail-to-drawer recipes, multi-family browser gauntlets, rhythm audits, Bengal parity, composite evaluation, and release-readiness tracking.
First-party showcase chrome was cleaned up so new examples stop teaching legacy helper-class chains. A static visual audit surface now gives maintainers and agents a first QA stop for visual decisions.
Anatomy docs and agent sources
New anatomy guides and published site mirrors cover:
- Bengal theme controls
- Drawers and trays
- Dropdown menus, selects, and split menus
- Modals and confirm dialogs
- HTMX tabs, client-side tab panels, route tabs, and tabbed page layouts
The docs also gain agent source inventory and source-map collateral that records provenance, snippet eligibility, generated-output ownership, and forbidden output-name overlaps.
Changed
- Boosted shell navigation, live search/filter helpers, and mutating HTMX form/action helpers now get rapid-click request coordination defaults.
- The pre-1.0 compatibility policy for legacy helpers is documented alongside the cleaned showcase chrome.
Fixed
- Dropdown menu and split-menu selection payloads now read labels, URLs, and
actions from escaped
data-*attributes instead of inline Alpine JavaScript literals. - Tab-panel selection now reads tab ids from escaped
data-*attributes inchirpuiTabs().
Upgrade Notes
This is a minor release because it adds new public styling vocabulary, theme pack discovery, and application-chrome documentation/proof.
- Prefer
tone="danger"for shared destructive styling in the new appearance/tone pilot surfaces. - Keep theme customization token-first; the catalog packs are token-only and do not introduce component selector forks.
- Treat application chrome as recipe-first. No mega-shell macro is promoted in this release.
- Apps with custom Alpine payload handling should prefer escaped
data-*attributes over interpolated inline literals.
Verification
Release prep passed:
uv run poe ciuv run poe test-browser-chromemake release-preflight