Shelf is open source and in early preview
Shelf
Get started

Validation

One command tells you, or your agent, whether what Shelf installed is still intact, and what you changed.

terminal
shelf check output from the example app, with two files modified locally.

Steps

Every step checks something Shelf wrote. They read files only, so the check is offline and takes milliseconds.

config
shelf.config.json exists and is valid.
provenance
Every installed file against its BASE hash. Lists what you changed, and fails if a file or the record is missing, or a file still has a conflict marker from shelf update, naming the line.
dependencies
Every Shelf dependency of an installed item is installed, and every package it needs is in package.json. Prints the commands that fix it.
imports
Relative and alias imports in installed files still point at files, so an edit or a deleted file can't leave one dangling.

Your own tools

TypeScript, linting, formatting, tests, and the build belong to your project, and Shelf doesn't run them for you. Installed components are normal source, so the tools you already use cover them. Put shelf check next to those tools in your own script:

package.json
A check script that runs shelf check and the app's tools.

Output for agents

The output is short and stable. A failure names the file and says what to run, so an agent can fix it without a person interpreting it. Pass --only provenance,imports to run a subset, or --verbose to list every detail instead of the first 30. The exit code is 1 on failure.

What comes next

Shelf is building toward visual validation: deterministic captures of each Storybook state, compared structurally, so a report reads like "Button horizontal padding increased 4px, from the control spacing token" rather than a percentage of changed pixels. It isn't available yet.