Chirp 0.1.7

App shell guide, islands examples, explicit boost migration, Alpine Focus plugin

Key additions: App shell guide, islands examples, explicit boost migration, breadcrumbs/sidebar OOB, Alpine Focus plugin, and Kida integration docs.


Highlights

App Shell Guide

Full documentation for persistent layouts: navigation model (explicit boost on sidebar links), rendering rule (Page with page_block_name), shell actions, nav_link for content links, and interactive shell gotchas (OOB with hx-swap="none", SSE event naming, ContextVar loss, dual template blocks).

Islands Examples

  • islands/ — No-build client-managed surfaces
  • islands_shell/ — Islands + app shell with htmx-boosted navigation
  • islands_swap/ — Islands in dynamically swapped content
  • oob_layout_chain/ — OOB layout chains with depth/nesting

Alpine Improvements

  • Focus plugin — Injected whenalpine=Truefor tray/modal overlay focus management. Modals/trays store auto-injected.
  • Dropdown and tabs macrosx-ref, x-id, focus return, $dispatch tab-changedfor better accessibility.

Other Additions

  • Breadcrumbs and sidebar OOB — Boosted layout navigation updates breadcrumbs and sidebar state via OOB swaps.
  • Kida integration docs — Template integration guide and fragments reference.
  • wizard_form contract extraction — Contract checker extracts IDs from wizard_form()macro (fixes false-positive "unknown target").

Changed

  • Explicit boost migration — Shell layout no longer useshx-boost on <main>. Sidebar links carry explicit hx-boost via sidebar_link(boost=true). Removed #page-contentwrapper.
  • HX-Reselect removal — Fragment responses no longer sendHX-Reselect: *; no longer needed with explicit boost on links.
  • Context provider module names_context.pyfiles load with path-based names instead of depth-based ones.
  • htmx debug targetError — "Target Not Found" toast now includes remediation hint.

Fixed

  • Kanban board OOB/SSE — Move/add/delete routes use empty main fragment; SSE adds OOB-aware template blocks with correct event naming.
  • Wizard form contract — Templates targetingwizard_formIDs no longer get false-positive "unknown target" warnings.

Breaking Changes

None. Fully backward-compatible release.


Upgrading

uv pip install --upgrade bengal-chirp
pip install --upgrade bengal-chirp

With chirp-ui:

pip install bengal-chirp[ui]