Validation
One command tells you, or your agent, whether what Shelf installed is still intact, and what you changed.
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:
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.