--- title: "HTMX Setup" audience: [developer] summary: "How HTMX is integrated under a strict CSP, and the conventions for adding external JS and CSS to HTMX partials." --- # HTMX Setup This document describes how the member-console uses HTMX and how its configuration interacts with the Content Security Policy (CSP). ## Overview The member-console uses [HTMX](https://htmx.org/) for dynamic UI updates without full page reloads. All interactive sections (operator tabs, site management, workspace switching) use the **HTMX partial pattern**: the server renders HTML fragments that HTMX swaps into the DOM. ### Version HTMX is vendored as a static asset at `internal/embeds/static/htmx.min.js` (currently v4.0.0; upgraded from v2.0.4 in 10k.3). The migration is complete: no `htmx-2-compat` shim, no `implicitInheritance` flag, and lint fails htmx 2 residue (`hx-disinherit`, camelCase event names, compat references). Attribute inheritance is explicit: only the page shells mark `hx-boost:inherited` and the CSRF `hx-headers:inherited`; everything else declares its own attributes (see `design-system.md` §7). ### Loading HTMX is loaded via a `