Tutorials

Learn Lily, step by step

Welcome! Every tutorial starts from scratch and builds the same small thing — an accessible, styled form — in about 10 minutes, so you can compare frameworks apples-to-apples. Then go deeper with theming and user preferences.

Before you start

You need surprisingly little:

  • For the HTML tutorial — just a browser and a text editor. That's the entire toolkit.
  • For Svelte, React, Vue, Angular, or Nunjucksgit, Node 22 or later, and pnpm 10 or later.
  • For Blazor — git and the .NET SDK 8 or later.

New to headless components? You're in the right place — each tutorial explains what's happening as you go, and every step shows the exact code to copy.

The learning path

Four steps from zero to shipped

  1. Your first component (~5 minutes) — pick your framework below, get the code, and render a Button.
  2. Compose and style (~5 minutes) — build a labelled form and style it against the kebab-case class hooks (part of each framework tutorial).
  3. Theme it (~15 minutes) — swap your hand-written CSS for one of the 45 ready-made themes, then let users switch at runtime: theming tutorial.
  4. Respect preferences (~15 minutes) — add language and text-size selection with the preference helpers: helpers tutorial.

Steps 1 and 2

Pick your framework

Torn between them? Start with HTML — it teaches the class-hook contract every other framework shares, and it runs straight from a file.

Steps 3 and 4

Go deeper

After the tutorials

  • Browse the component catalog — every component documents its props, ARIA contract, and keyboard behaviour.
  • Clone an example app to see all 490 components styled and working together — the CSS targets the same class hooks you just used, so copy any of it into your project and adjust it as you wish.
  • Questions? The help page has answers, an FAQ, and ways to reach a friendly human. And if a tutorial could be clearer, tell us — we'll gladly improve it.