diff --git a/.context/skills/htmx-patterns.md b/.context/skills/htmx-patterns.md new file mode 100644 index 0000000..fe2f224 --- /dev/null +++ b/.context/skills/htmx-patterns.md @@ -0,0 +1,26 @@ +# Skill: HTMX patterns + +## Default attributes +Always include on interactive elements: +- `hx-indicator` for loading states +- `hx-swap="innerHTML"` as default (explicit over implicit) +- `hx-target` pointing to a specific ID, never `this` in production + +## Form pattern +```html +
+ + + ... +
+``` + +## Server-sent validation errors +Return 422 with the error fragment, swap into the form's error container: +```html +hx-target-422="#form-errors" +``` + +## Prefer hypermedia over JSON +If the endpoint returns data for display, return an HTML fragment. +Only use JSON for machine-to-machine APIs or when a non-browser client needs it.