Skip to main content

@tour-kit/checklists · Pro

Checklists that walk users
to activation.

An embeddable onboarding checklist for React — task dependencies, progress persistence, and adoption nudges, rendered with your own design system.

Runs free in dev — pay once ($99) when you ship.

< 10KB gzipped · TypeScript strict · WCAG 2.1 AA · your repo, your code

Live demo

Tick the boxes. This one's real.

The checklist below is the live @tour-kit/checklists component — complete a task, watch the dependency unlock, and see progress recalculate. No video, no signup wall.

Activation shouldn't be a maze

Most onboarding stalls between signup and the aha moment. A checklist gives users a visible path — if it doesn't fight your stack.

DIY checklist sprawl

A "quick" useState checklist grows persistence, dependencies, and edge cases until it is a side project nobody owns.

A checklist engine, not a TODO hack

Dependencies, persistence, visibility rules, and progress math are the package. You write the task list.

Heavyweight suite, iframe UI

Pendo-style platforms render their checklist in their styles, behind their script tag, for $300+ a month.

Your components, your tokens

Styled (shadcn-native) or fully headless — the checklist looks like your product because it is your product.

No idea where users stall

Without per-task signals you learn about drop-off from churn, weeks too late.

Per-task events, your analytics

Task completions stream into PostHog, Mixpanel, Amplitude, or GA4 via @tour-kit/analytics — you see the exact task where users stop.

Three steps to production

No iframe embeds, no script tags, no vendor dashboard. The code lands in your repo.

  1. 1

    Install

    One package, zero config.

    terminal
    pnpm add @tour-kit/checklists
  2. 2

    Compose

    Declarative config, headless or pre-styled — the checklist renders with your design system.

    onboarding.tsx
    import {
      ChecklistProvider,
      Checklist,
    } from '@tour-kit/checklists'
    
    <ChecklistProvider checklists={[onboarding]}>
      <Checklist checklistId="onboarding" showProgress />
    </ChecklistProvider>
  3. 3

    Ship it

    The checklist lives in your bundle and your version control — no embed script, no vendor dashboard.

    Read the docs

Built for activation, not just ticking boxes

Three pillars every userTourKit package shares, plus the checklist-specific machinery that usually eats a sprint.

Headless or pre-styled

Drop in the shadcn-style component or use the render-prop ChecklistHeadless and own every pixel.

WCAG 2.1 AA accessible

Keyboard operable, screen-reader announced, focus-managed. Lighthouse a11y 100 out of the box.

The code lands in your repo

No embed script, no vendor dashboard, no monthly invoice. Checklists are TypeScript in your bundle.

Task dependencies

dependsOn locks tasks until prerequisites complete, with circular-dependency detection built in.

Progress persistence

localStorage by default; swap in cookies or your API with a one-line storage adapter for cross-device state.

Adoption nudges

@tour-kit/adoption

Pair with the adoption tracker to nudge users back to unfinished tasks at the right moment.

Pro package

Try it free in dev — watermark until you license.

Full functionality in development and on localhost, no key required. One $99 license unlocks production for all Pro packages.

No signup, no credit card — install and go.

Checklists without the platform tax

userTourKitSaaS platformsOSS libraries
Cost$99 once$200–900/moDIY time
Task dependencies~
Design system fitYour componentsTheir iframeCSS overrides

The honest pitch

Why pick a fresh library?

Tour Kit is new — no legacy API debt, no corporate-UX baggage, no AGPL contamination. Built headless-first so you bring your own components and styles. Every chip below is a measured technical fact, not a marketing claim.

  • < 8KB core gzipped
  • WCAG 2.1 AA
  • Lighthouse a11y 100
  • TypeScript strict
  • >80% test coverage
  • MIT core
  • React 19 ready
  • shadcn-native

See the documentation or source on GitHub.

Checklist questions, answered straight

The things developers ask before swapping out a hand-rolled checklist.

Yes. Pass dependsOn: ["task-id"] and the task stays locked until its prerequisites complete. The dependency resolver detects circular dependencies up front, and locked tasks still count toward the progress total so users see the full path to done.

Ship the checklist. Skip the side project.

Install now, watch it run free in dev, license it when it ships.

$pnpm add @tour-kit/checklists