← ClaudeAtlas

kerf-applisted

Build UIs in the kerf reactive framework (https://github.com/brianwestphal/kerf). Use this skill whenever the user is writing or modifying code that imports `kerfjs`, asks to add a feature to a kerf app, or asks "how do I do X in kerf?". Use it proactively the moment you spot a kerf import in the file you're editing.
brianwestphal/hotsheet · ★ 6 · Code & Development · score 74
Install: claude install-skill brianwestphal/hotsheet
# Building apps with kerf > Drop this file into your `~/.claude/skills/kerf-app/SKILL.md` (or your > project's `.claude/skills/kerf-app/SKILL.md`) so Claude Code activates > it whenever you work on a kerf app. kerf is a ~11 KB reactive UI framework (~12 KB with `arraySignal`): signals + DOM morphing + JSX → HTML strings. No virtual DOM, no compiler, no scheduler. The whole public surface fits in 15 exports. ## Setup - Install: `npm install kerfjs` - `tsconfig.json`: `"jsx": "react-jsx"`, `"jsxImportSource": "kerfjs"` - Vite / esbuild need no extra config. - Recommended companion: `npm install --save-dev eslint-plugin-kerfjs` and add `kerfjs.configs.recommended` to the project's eslint config. Enforces five of the hard rules below (no inline JSX event handlers, require `data-key` in `each()`, capture `delegate()` disposers, no nested `mount()`, prefer module JSX augmentation) at edit time — useful as a self-correction signal when authoring kerf code. ## Public API — one import path ```ts import { signal, computed, effect, batch, // reactivity defineStore, resetAllStores, // stores mount, morph, each, // render (reactive + one-shot) + keyed list delegate, delegateCapture, // events toElement, // direct JSX → DOM Element (or DocumentFragment for multi-root) SafeHtml, isSafeHtml, raw, Fragment, } from 'kerfjs'; // Optional, only when you need granular collection updates: import { arraySignal } from 'ke