Shelf is open source and in early preview
Shelf
Get started

For AI agents: the documentation index is at /llms.txt, and any docs page is available as Markdown by appending .md to its URL.

TanStack Start

Set up Shelf in a TanStack Start project. Not yet tested end to end.

Create a project

Skip this if you already have a TanStack Start project.

Set up StyleX

TanStack Start builds with Vite, so StyleX uses the same plugin as a plain Vite app. Add it to vite.config.ts before the other plugins.

vite.config.ts

Shelf has not been run end to end on TanStack Start yet. If the styles are missing after you add a component, compare your setup with the @stylexjs/unplugin documentation and open an issue.

Install the CLI

The package is @shelfui/cli and its command is shelf.

Initialize Shelf

Writes shelf.config.json and .shelf/lock.json, copies the path aliases from your tsconfig.json, and adds a short agent block to AGENTS.md and a Shelf skill to .agents/skills/shelf/. It warns about anything missing from the StyleX setup above.

Add components

Copies Button, the foundations it uses, and the packages it needs into your project, then records what it installed. The files are yours to edit. See ownership and provenance.

Check the result

Verifies config, provenance, and imports. Your own build still covers the rest. See validation.

Use a component

src/routes/index.tsx

Import from the alias your tsconfig.json declares. shelf init copies it, so installed files use the same one.