# Markdown for AI

> Every page as Markdown for assistants: the llms.txt index, llms-full.txt with every page in one file, the .md version of each page, and a prompt to start a migration.

Page: https://svelte-lean.vercel.app/docs/ai · Markdown: https://svelte-lean.vercel.app/docs/ai.md · Index: https://svelte-lean.vercel.app/llms.txt

Every page of this site is also published as Markdown, so an assistant can read the documentation without the site around it.

## Files

| Address | Contents |
| --- | --- |
| [`/llms.txt`](https://svelte-lean.vercel.app/llms.txt) | The index: one line per page with its purpose, linking the page's Markdown version. |
| [`/llms-full.txt`](https://svelte-lean.vercel.app/llms-full.txt) | Every page in one file, in the order of the index. It is large: it suits tools that index files and models with a long context, not a chat message. |
| `<page>.md` | One page: add `.md` to its address, for example [`/primitives/select.md`](https://svelte-lean.vercel.app/primitives/select.md); the home page is [`/index.md`](https://svelte-lean.vercel.app/index.md). The Markdown link in every page header opens it. |

## What a page contains

- The prose, the headings and the callouts of the page.
- The source of every example, with its language and file name.
- The tables: anatomy, keyboard, tokens, props and measurements.
- Links as absolute addresses; a link to another page points to its Markdown version.

The live examples (their source stays), the navigation and the copy buttons are left out. The files are written from the built pages at deploy time, so they always match the site of the same version.

## With an assistant

1. For a question or a single task, give the assistant `https://svelte-lean.vercel.app/llms.txt`; it reads the index and fetches the pages it needs.
2. For a larger change, such as a migration, give it the Markdown pages of the guide and of each primitive the screen uses. `https://svelte-lean.vercel.app/llms-full.txt` is for tools that index the whole documentation.
3. Ask it to change one screen at a time and to keep the markup of the primitive pages.

A prompt that works as a start:

> Read https://svelte-lean.vercel.app/llms.txt and the pages it links that this task needs. Rewrite this screen with Svelte Lean primitives: native elements with data-slean attributes, the parts helpers for ids, and the stylesheets of each primitive. Keep the behavior and the labels; list anything that has no Svelte Lean equivalent.

> **Note** An assistant without web access cannot fetch the files: paste the text of the Markdown pages into the conversation instead.

## Migration guides

- [From shadcn-svelte and Bits UI](https://svelte-lean.vercel.app/docs/migration/shadcn-svelte.md) ([Markdown](https://svelte-lean.vercel.app/docs/migration/shadcn-svelte.md))
- [From TanStack Query](https://svelte-lean.vercel.app/query/migration/tanstack-query.md) ([Markdown](https://svelte-lean.vercel.app/query/migration/tanstack-query.md))
- [From RTK Query](https://svelte-lean.vercel.app/query/migration/rtk-query.md) ([Markdown](https://svelte-lean.vercel.app/query/migration/rtk-query.md))

## Index

Every page, with the Markdown version linked.

### Site

- [Browser-native UI for Svelte.](https://svelte-lean.vercel.app/index.md): Svelte Lean is a Svelte-first, browser-native UI ecosystem: semantic HTML first, zero runtime where the browser owns the behavior, small shared behaviors where it does not.
- [Proof](https://svelte-lean.vercel.app/proof.md): Live runtime inspector: primitives mounted on the page, registered behaviors, shared listeners counted two ways, loaded behavior modules, measured bundle sizes and browser capabilities.

### Docs

- [Introduction](https://svelte-lean.vercel.app/docs.md): What Svelte Lean is and is not, who it is for, the two products, how behavior is shipped, what exists today and where to go next.
- [Philosophy](https://svelte-lean.vercel.app/docs/philosophy.md): The core thesis, the three public messages, the seven Lean Rules with their engineering meaning, the mantra, and what the project does not claim.
- [Installation](https://svelte-lean.vercel.app/docs/installation.md): Install commands for every package, the three consumption modes with working snippets, the manual register escape hatch, the stylesheets and the build report.
- [Browser support](https://svelte-lean.vercel.app/docs/browser-support.md): The versioned support policy, the Baseline features each native path depends on, what happens outside the target, and the opt-in compatibility model.
- [Compatibility](https://svelte-lean.vercel.app/docs/compatibility.md): The version matrix of Svelte, SvelteKit, Vite, Node and the toolchain the packages are tested with, read from the repository files; the JavaScript output target and the deprecation rule.
- [Markdown for AI](https://svelte-lean.vercel.app/docs/ai.md): Every page as Markdown for assistants: the llms.txt index, llms-full.txt with every page in one file, the .md version of each page, and a prompt to start a migration.
- [Native-first](https://svelte-lean.vercel.app/docs/architecture/native-first.md): Why the platform owns behavior first, which native features are relied on, and what "Svelte Lean owns nothing" means.
- [Runtime tiers](https://svelte-lean.vercel.app/docs/architecture/runtime-tiers.md): The four runtime tiers with their budgets, how a primitive declares one, the classification of every primitive, and the ADR 0003 targets next to the measured values.
- [DOM protocol](https://svelte-lean.vercel.app/docs/architecture/dom-protocol.md): The data-slean attributes, one attribute per option, platform pseudo-classes and ARIA state, slean:\* events, the static-marker requirement and the deprecation rule.
- [Build-time discovery](https://svelte-lean.vercel.app/docs/architecture/build-time-discovery.md): How @svelte-lean/vite scans static markers, injects register modules, writes the manifest and build report, and why there is no MutationObserver.
- [Distribution](https://svelte-lean.vercel.app/docs/distribution.md): Take what you need, ship what you use: the three consumption modes, subpath exports, the five shipping invariants with their tests, the manifest and every escape hatch.
- [Accessibility policy](https://svelte-lean.vercel.app/docs/architecture/accessibility.md): Accessibility as a runtime contract: APG conformance, what every contract specifies, focus and portal policy, the test layers and the test matrix with its gaps.
- [What we do not do](https://svelte-lean.vercel.app/docs/what-we-dont-do.md): The architecture explained by its omissions: no JavaScript dialog, no listener per instance, no MutationObserver, no mirrored state, no Provider, no positioning engine, no forced virtualization, no hidden cost.
- [Trade-offs](https://svelte-lean.vercel.app/docs/trade-offs.md): The costs of the native-first architecture: browser focus, a verbose protocol, author ids, complex widgets, build tooling, browser-defined semantics, and the preview status.
- [Compared with plain HTML](https://svelte-lean.vercel.app/docs/why-not-html.md): For native primitives plain HTML is sometimes enough; what the package adds at Tier 0 and at Tier 1, with the measured cost of each.
- [Compared with Bits UI](https://svelte-lean.vercel.app/docs/why-not-bits-ui.md): A component model and a platform-first DOM protocol compared without claims about the other library; when to choose which, and how they coexist.
- [Compared with shadcn-svelte](https://svelte-lean.vercel.app/docs/why-not-shadcn-svelte.md): Source-owned components and a native-first runtime architecture are different layers; where the ownership line is and how they coexist.
- [Compared with raw Svelte](https://svelte-lean.vercel.app/docs/why-not-raw-svelte.md): Raw Svelte can implement every primitive; what the package adds is a tested contract, shared runtime, discovery and styles, never a claim that Svelte is slow.
- [From shadcn-svelte and Bits UI](https://svelte-lean.vercel.app/docs/migration/shadcn-svelte.md): Move an application from shadcn-svelte or Bits UI to native elements with Svelte Lean attributes: what changes, a component map with tiers, before and after examples and a checklist per screen.

### Primitives

- [Primitives](https://svelte-lean.vercel.app/primitives.md): Every primitive with its tier, measured behavior JavaScript, platform features and status, and how a primitive page is organised.
- [Button](https://svelte-lean.vercel.app/primitives/button.md): Native \<button\> with command and commandfor, styling hooks, and when a button is a link.
- [Button group](https://svelte-lean.vercel.app/primitives/button-group.md): Buttons joined into one control with shared borders, in a role="group".
- [Toggle](https://svelte-lean.vercel.app/primitives/toggle.md): A button with aria-pressed: one shared click listener flips the pressed state, which lives in the attribute.
- [Toggle group](https://svelte-lean.vercel.app/primitives/toggle-group.md): Buttons with aria-pressed in a group: single or multiple selection and roving focus, state in the attributes.
- [Toolbar](https://svelte-lean.vercel.app/primitives/toolbar.md): role="toolbar" with roving focus across its controls; the controls keep their own behavior.
- [Copy](https://svelte-lean.vercel.app/primitives/copy.md): A data-slean-copy attribute on a button: one shared click listener writes the value to the clipboard and marks the button as copied for a moment.
- [Input](https://svelte-lean.vercel.app/primitives/input.md): Every native input type and the textarea in one field look (text, number, date and time, color, file, one-time code), and a field shell with adornments, a clear button, a password reveal and steppers.
- [Field](https://svelte-lean.vercel.app/primitives/field.md): Label, control, description and error message laid out and related with author ids; the application renders the error with aria-invalid.
- [Select](https://svelte-lean.vercel.app/primitives/select.md): A styled native \<select\>, or an owned field over it: search, multiple with tags, creatable values, groups, a clear button, the same in every browser; the native select without JavaScript.
- [Checkbox](https://svelte-lean.vercel.app/primitives/checkbox.md): Native checkbox, and with role="switch" the same input as a switch: indeterminate, sizes, colors, label association and forms.
- [Checkbox group](https://svelte-lean.vercel.app/primitives/checkbox-group.md): Native checkboxes in a fieldset with a select-all box: one shared change listener checks every member and shows their state as checked, mixed or unchecked, nested groups included.
- [Radio group](https://svelte-lean.vercel.app/primitives/radio-group.md): Native radios sharing a name inside a fieldset: the browser owns selection, arrow keys and form participation; drawn as round marks or, with data-variant="segmented", as one bar of segments.
- [Rating](https://svelte-lean.vercel.app/primitives/rating.md): Radio inputs drawn as stars: a single choice with native keyboard, form value and labels.
- [Slider](https://svelte-lean.vercel.app/primitives/slider.md): The native range input, styled; a group around one or two of them fills the track in every engine and makes a range with two thumbs kept in order.
- [File drop](https://svelte-lean.vercel.app/primitives/file-drop.md): A drop area around a native file input: the drop and the picker are the input’s; the area marks a drag, checks type, size and count, and lists the files with thumbnails and remove buttons.
- [Autocomplete](https://svelte-lean.vercel.app/primitives/autocomplete.md): A text field with suggestions from a \<datalist\> or rows you render, free text kept: the browser’s list without a wrapper, an owned popup with one (Tier 2).
- [Listbox](https://svelte-lean.vercel.app/primitives/listbox.md): Tier 1 selection widget: single and multi-select, automatic and manual modes, typeahead, orientation, RTL, keyboard, ARIA relationships and the slean:change event.
- [Calendar](https://svelte-lean.vercel.app/primitives/calendar.md): A month grid with single, range and multiple selection, year and month buttons, two months for a range with a preview, keyboard across months and locale titles; state in attributes, no memory.
- [Date picker](https://svelte-lean.vercel.app/primitives/date-picker.md): Tier 2 date field over a native date input: a formatted text input, clear button and calendar popup with Today; a range picker with two months and presets; the native input without JavaScript.
- [Dialog](https://svelte-lean.vercel.app/primitives/dialog.md): Native \<dialog\> in three shapes: centered, a drawer at an edge (data-slean-side), an alert dialog (role="alertdialog" closedby="none"); top layer, Escape and focus return, form method dialog, no runtime.
- [Popover](https://svelte-lean.vercel.app/primitives/popover.md): The popover attribute (auto and manual), popovertarget, CSS anchor positioning with position-area, and the fallback without anchor positioning.
- [Tooltip](https://svelte-lean.vercel.app/primitives/hint.md): The tooltip is one attribute, data-slean-hint, on any element: one bubble for the page, shown on hover and keyboard focus, with no per-element markup or state.
- [Hover card](https://svelte-lean.vercel.app/primitives/hover-card.md): A preview card a link names with interestfor: shown on hover and keyboard focus, with interactive content reachable with Tab; native where interest invokers ship.
- [Menu](https://svelte-lean.vercel.app/primitives/menu.md): A popover menu opened by a button or a right click (data-slean-contextmenu), with its roles written on opening, delegated keyboard navigation, typeahead and checkable items.
- [Menubar](https://svelte-lean.vercel.app/primitives/menubar.md): A row of menus with one tab stop: the side arrows move between items and between open menus, ArrowDown opens one.
- [Toast](https://svelte-lean.vercel.app/primitives/toast.md): Transient messages in a popover="manual" region: created by the application, dismissed by a timer that pauses on hover and focus.
- [Tabs](https://svelte-lean.vercel.app/primitives/tabs.md): Tier 1 delegated behavior: markup, activation modes, orientation, RTL, keyboard, ARIA relationships, SSR ids, automatic and manual registration.
- [Nav](https://svelte-lean.vercel.app/primitives/nav.md): A sidebar of links in \<details name\> groups, link tabs or an icon rail; aria-current="page" marks the current page and its group.
- [Breadcrumb](https://svelte-lean.vercel.app/primitives/breadcrumb.md): A nav with an ordered list of links and aria-current="page" on the last one.
- [Pagination](https://svelte-lean.vercel.app/primitives/pagination.md): Links to pages in a nav with aria-current="page"; the application owns the page number.
- [Steps](https://svelte-lean.vercel.app/primitives/steps.md): An ordered list of the steps of a task with aria-current="step".
- [Tree](https://svelte-lean.vercel.app/primitives/tree.md): role="tree" with nested groups: expansion and roving focus through shared listeners, state in aria-expanded and tabindex.
- [Accordion](https://svelte-lean.vercel.app/primitives/accordion.md): Native \<details\> items that join into a list; a shared name keeps one open, the ghost look shows and hides one section.
- [Card](https://svelte-lean.vercel.app/primitives/card.md): An \<article\> with a header, body and footer, elevated or outlined: a container with no behavior.
- [Splitter](https://svelte-lean.vercel.app/primitives/splitter.md): Two panes with a draggable, keyboard-operable separator (WAI-ARIA window splitter).
- [Sortable](https://svelte-lean.vercel.app/primitives/sortable.md): A list whose items are reordered by dragging a handle, by Alt with the arrow keys, or by move buttons; the document order is the value and a form submits it.
- [Scroll area](https://svelte-lean.vercel.app/primitives/scroll-area.md): A focusable scrolling region with thin native scrollbars, and edge shadows where scroll-driven animations are supported.
- [Separator](https://svelte-lean.vercel.app/primitives/separator.md): \<hr\>, or role="separator" between inline items.
- [Avatar](https://svelte-lean.vercel.app/primitives/avatar.md): An image with initials behind it: circular, rounded or square, in three sizes and in groups.
- [Badge](https://svelte-lean.vercel.app/primitives/badge.md): A short label, status or count next to other content, with an optional remove button for tags and chips.
- [Keyboard key](https://svelte-lean.vercel.app/primitives/kbd.md): The \<kbd\> element drawn as a key.
- [Carousel](https://svelte-lean.vercel.app/primitives/carousel.md): A scroll-snapping row with native scroll buttons and markers where the browser draws them.
- [Descriptions](https://svelte-lean.vercel.app/primitives/descriptions.md): Label and value pairs in a \<dl\>, laid out as a grid.
- [Timeline](https://svelte-lean.vercel.app/primitives/timeline.md): Dated events in an ordered list along a line.
- [Findable](https://svelte-lean.vercel.app/primitives/findable.md): Text shortened on screen and whole for the browser’s find-in-page: a data-slean-findable attribute and a hidden="until-found" value, opened one at a time.
- [Alert](https://svelte-lean.vercel.app/primitives/alert.md): A message block with role="status" or role="alert" and a color: information, success, warning or error.
- [Progress](https://svelte-lean.vercel.app/primitives/progress.md): The native \<progress\> as a bar or a ring, determinate and indeterminate; the busy indicator is a circular progress.
- [Meter](https://svelte-lean.vercel.app/primitives/meter.md): The native \<meter\> with low, high and optimum regions.
- [Skeleton](https://svelte-lean.vercel.app/primitives/skeleton.md): Placeholders for content that is loading, hidden from assistive technology.
- [Empty state](https://svelte-lean.vercel.app/primitives/empty.md): What a list, table or search shows when it has nothing: a heading, a message and an action.

### Table

- [Table](https://svelte-lean.vercel.app/table.md): Svelte Lean Table: the capability levels from Table to Data Grid, measured sizes per entry point, and the full specimen index.
- [Getting started](https://svelte-lean.vercel.app/table/getting-started.md): Install, import, the three required props, the style import, the first render, binding state, and the semantic \<table\> output.
- [Columns](https://svelte-lean.vercel.app/table/columns.md): Column definition: accessors, headers, formatting, cell snippets, grouped headers, pinning, visibility, resize and reorder, ellipsis and spans.
- [Layout](https://svelte-lean.vercel.app/table/layout.md): Table-level presentation: density, stripes, borders, sticky header, fixed height and scrolling surface, caption and label.
- [Rows](https://svelte-lean.vercel.app/table/rows.md): Row identity, expandable details, tree data with getSubRows, row reordering, row events and application-owned row animation.
- [Sorting](https://svelte-lean.vercel.app/table/sorting.md): Single and multi-column sort, sort priority, custom comparators, controlled sort state and aria-sort.
- [Filtering](https://svelte-lean.vercel.app/table/filtering.md): Global search, per-column filters and operators, controlled filter state, and how filtering composes with pagination and selection.
- [Selection](https://svelte-lean.vercel.app/table/selection.md): Single and multiple selection, disabled rows, select-all scope, controlled selection and keyboard.
- [Pagination](https://svelte-lean.vercel.app/table/pagination.md): Client pagination, page size, disabling pagination, the pager accessible names and the pointer to server pagination.
- [Editing](https://svelte-lean.vercel.app/table/editing.md): Cell editing, validation, applyEdit, history and undo as an opt-in module, and the keyboard flow in an editing cell.
- [Grouping & Pivot](https://svelte-lean.vercel.app/table/grouping-pivot.md): The groupBy row model, aggregates, the summaries row and the pivot helper; separate entry points that cost nothing until imported.
- [Clipboard & Export](https://svelte-lean.vercel.app/table/clipboard-export.md): Range selection, copy and paste as TSV, CSV export with quoting and formula protection, and downloadText.
- [Server data](https://svelte-lean.vercel.app/table/server-data.md): Manual mode, rowCount, loading, error and empty states, retry, and stale-request handling left to the application.
- [State persistence](https://svelte-lean.vercel.app/table/state-persistence.md): serializeState and restoreState, what is persisted, dropping columns that no longer exist, storage as the application choice.
- [Localization & RTL](https://svelte-lean.vercel.app/table/localization-rtl.md): The messages object, shipped en and tr, replacing every string, locale for formatting, and dir="rtl" mirroring.
- [Data Grid](https://svelte-lean.vercel.app/table/data-grid.md): Data Grid as a capability level: which features make a table a grid, what is implemented today, what is not, and how to compose them.
- [Accessibility](https://svelte-lean.vercel.app/table/accessibility.md): Native table semantics, aria-sort, selection announcements, keyboard paths, what the application must supply, and how it is tested.
- [API reference](https://svelte-lean.vercel.app/table/api.md): Exports, DataTable props, Column options, table state, events, messages and modules on one anchored page.

### Query

- [Svelte Lean Query](https://svelte-lean.vercel.app/query.md): Server state for Svelte 5: endpoint definitions, cache, invalidation by tags, loading states and writes on runes; a live example, the install command, the levels, and the entry points with their stability labels and measured sizes.
- [Client setup](https://svelte-lean.vercel.app/query/client.md): Installing the package and creating the client once: the HTTP transport, a platform profile, scope, the access check, defaults, modules and engine parts.
- [Defining endpoints](https://svelte-lean.vercel.app/query/endpoints.md): defineQuery and defineMutation: method and path, params, result, tags, entities, freshness, access rules and the tag registry.
- [Reading](https://svelte-lean.vercel.app/query/reading.md): createQuery: data, loading, refreshing, busy and error; info; keepPrevious; when and load(); polling; page states and the loading hint.
- [Writing](https://svelte-lean.vercel.app/query/writing.md): createMutation: run, busy, errors; the three ways to change cached values: invalidate, patch and optimistic; queues and removal.
- [Lists](https://svelte-lean.vercel.app/query/lists.md): Server-paged lists with createPaged and DataTable, and "load more" lists with createInfinite.
- [Forms](https://svelte-lean.vercel.app/query/forms.md): Server validation errors into native form state with the fieldErrors attachment, issues() and errorKey().
- [Realtime](https://svelte-lean.vercel.app/query/realtime.md): Socket events that invalidate or patch cached entries with ./live, and one poller and one socket per browser with ./tabs.
- [Persistence](https://svelte-lean.vercel.app/query/persistence.md): Opt-in IndexedDB persistence per endpoint and per session with ./persist: lazy restore, write-behind, maxAge and buster.
- [Server rendering](https://svelte-lean.vercel.app/query/ssr.md): SvelteKit with ./ssr: one client per request, loads that fill the cache, dehydrate and hydrate, and tags that re-run loads.
- [Testing](https://svelte-lean.vercel.app/query/testing.md): Component and unit tests with createTestClient: virtual time, typed mocks, replies, the call log, findings, and the same handlers on MSW.
- [Devtools](https://svelte-lean.vercel.app/query/devtools.md): The development detectors, the timeline and the in-page panel of ./devtools; a stub in production.
- [Codegen](https://svelte-lean.vercel.app/query/codegen.md): Installing @svelte-lean/query-codegen, the endpoint modules it generates from an OpenAPI document, and the policy modules that complete them.
- [Load when a dialog opens](https://svelte-lean.vercel.app/query/recipes/dialog.md): A query that requests its data when the dialog opens, aborts when it closes and keeps the data for the next opening.
- [Search button](https://svelte-lean.vercel.app/query/recipes/search-button.md): A query that runs when the search button is pressed, keeps the previous results and refetches like any query afterwards.
- [Filtered table](https://svelte-lean.vercel.app/query/recipes/filtered-table.md): A server-paged DataTable with a search field and a team filter: the page resets on a filter change and the previous rows stay on screen.
- [Save and refresh the list](https://svelte-lean.vercel.app/query/recipes/save-and-refresh.md): A form in a dialog that saves a member, shows field errors, closes on success and refreshes exactly the lists the save touched.
- [Dependent queries](https://svelte-lean.vercel.app/query/recipes/dependent-queries.md): A second query that waits for an input from the first, without a waterfall of effects.
- [Optimistic toggle](https://svelte-lean.vercel.app/query/recipes/optimistic-toggle.md): A switch that changes at once, survives polls and rapid clicks, and rolls back only its own change on failure.
- [Watch a job until it ends](https://svelte-lean.vercel.app/query/recipes/job-progress.md): Polling an export job until it finishes, then refreshing what it changed and downloading the file.
- [From TanStack Query](https://svelte-lean.vercel.app/query/migration/tanstack-query.md): TanStack Query concepts next to their Svelte Lean Query equivalents: keys, options, enabled, placeholders, invalidation, mutations and optimistic updates.
- [From RTK Query](https://svelte-lean.vercel.app/query/migration/rtk-query.md): RTK Query concepts next to their Svelte Lean Query equivalents: createApi, endpoints, providesTags, invalidatesTags, lazy queries, polling and optimistic updates.
- [Performance](https://svelte-lean.vercel.app/query/performance.md): Measured sizes per entry point, engine benchmarks, browser benchmarks, the long-session soak and type cost, each with its target, method and environment.
- [@svelte-lean/query](https://svelte-lean.vercel.app/query/api.md): Root entry: defineQuery, defineMutation, the client, createQuery, createMutation, invalidate, patch, send, defineModule, QueryError and the public types.
- [@svelte-lean/query/parts](https://svelte-lean.vercel.app/query/api/parts.md): allParts and the seven optional engine parts for createClient({ parts }): nothing to do in a small app, every part in the first load of a large one.
- [@svelte-lean/query/http](https://svelte-lean.vercel.app/query/api/http.md): http(): the fetch transport with base URL, headers, timeout, a profile, uploads with progress and file downloads.
- [@svelte-lean/query/laravel](https://svelte-lean.vercel.app/query/api/laravel.md): laravel(): the Laravel profile (envelope, refusals, 422 field errors, paginators, query strings, method spoofing), formData() and hasFiles().
- [@svelte-lean/query/paged](https://svelte-lean.vercel.app/query/api/paged.md): createPaged() and tablePaging(): server-paged lists, their page state and the DataTable props.
- [@svelte-lean/query/infinite](https://svelte-lean.vercel.app/query/api/infinite.md): createInfinite(): "load more" walks over ordinary page entries, with head-only polling and per-page failures.
- [@svelte-lean/query/forms](https://svelte-lean.vercel.app/query/api/forms.md): fieldErrors(), issues() and errorKey(): server errors into native form state and stable message keys.
- [@svelte-lean/query/live](https://svelte-lean.vercel.app/query/api/live.md): live() and rule(): socket events that invalidate or patch cached entries; the LiveSource contract.
- [@svelte-lean/query/tabs](https://svelte-lean.vercel.app/query/api/tabs.md): tabs(): one poller and one live connection per browser, invalidations and values shared across tabs.
- [@svelte-lean/query/persist](https://svelte-lean.vercel.app/query/api/persist.md): persist() and indexedDbStore(): opt-in persistence per endpoint and per session, and the PersistStore contract.
- [@svelte-lean/query/ssr](https://svelte-lean.vercel.app/query/api/ssr.md): dehydrate(), hydrate(), kitInvalidate(), source() and sources(): server rendering and SvelteKit interop.
- [@svelte-lean/query/testing](https://svelte-lean.vercel.app/query/api/testing.md): createTestClient(), mock, reply, route(), mswHandlers(), fakeSource(), memoryStore() and persistStoreSuite().
- [@svelte-lean/query/devtools](https://svelte-lean.vercel.app/query/api/devtools.md): devtools(), findings(), timeline(), openPanel() and closePanel(): the development detectors, their thresholds, the timeline records and the panel.
- [@svelte-lean/query-codegen](https://svelte-lean.vercel.app/query/api/codegen.md): The slq-codegen command, its flags, defineConfig() options, what each OpenAPI construct generates and the policy module types.

### Styling

- [Styling](https://svelte-lean.vercel.app/styling.md): The three styling modes, granular entry points, cascade layers, and the absence of a Tailwind or CSS-in-JS dependency.
- [Tokens](https://svelte-lean.vercel.app/styling/tokens.md): Every --slean-\* token with its default value and purpose, rendered from the tokens file and grouped by kind.
- [Themes](https://svelte-lean.vercel.app/styling/themes.md): The palette of seven colors with six tones each, the typography scale and elevation, and creating a theme: token overrides on :root or a subtree, the dark theme, presets, and why there is no Provider.
- [Variants](https://svelte-lean.vercel.app/styling/variants.md): The looks model: data-variant (shape or fill), data-color (seven palette colors), data-size and the modifiers, with variant × color matrices of buttons, badges, alerts and fields.
- [Tailwind CSS](https://svelte-lean.vercel.app/styling/tailwind.md): Using @svelte-lean/styles with Tailwind CSS v4: the layer order, the import order, @theme inline mappings from the --slean-\* tokens and overriding a primitive with utilities.
- [Owned styles](https://svelte-lean.vercel.app/styling/owned-styles.md): Copying a primitive CSS file into the application and owning it; the future slean add marked as not available; behavior stays in npm.

### Performance

- [Performance](https://svelte-lean.vercel.app/performance.md): What is measured, what is not claimed, the five shipping invariants, and links to methodology, budgets and results.
- [Methodology](https://svelte-lean.vercel.app/performance/methodology.md): Build settings, browser and OS versions, hardware, iterations, median and p95, fixtures, and the command that reproduces each number.
- [Budgets](https://svelte-lean.vercel.app/performance/budgets.md): Per-primitive and per-entry-point budgets, targets marked as targets until measured, and the listener budget for 1 versus 1000 roots.
- [Results](https://svelte-lean.vercel.app/performance/results.md): Measured numbers only: sizes per entry point, listener counts, table render and sort timings and fixture assertions, each with environment and command.

### Demos

- [Demos](https://svelte-lean.vercel.app/demos.md): The demo applications: which primitives and table features each one exercises, the one that is built, and the three that are not yet.
- [Settings application](https://svelte-lean.vercel.app/demos/settings.md): An account-settings screen built from Tabs, Dialog, Popover, Menu, checkboxes and switches, a radio group, fields, native selects, badges and a DataTable of sessions, with a live runtime panel and a without-JavaScript checklist under it.
