Supported
Two Next majors, both bundlers. Outside that range crust refuses to run rather than emit output
derived from artifacts whose shape has not been verified.
Manifest shapes and artifact locations are undocumented and move on minor releases. A nightly CI job
runs the fixtures against
next@canary, so breakage surfaces before an issue does.Non-goals
These are permanent. They were written down before the first user arrived, because saying no in month three is only easy if you said it in month zero.Not a runtime APM
Not a runtime APM
No error tracking, no distributed tracing, no alerting. The optional
span aggregator groups render time by route and stops there.
Not a Lighthouse or PageSpeed replacement
Not a Lighthouse or PageSpeed replacement
crust measures what your build produced and what your users’ browsers reported. It does not
produce a score.
Not multi-framework
Not multi-framework
Next.js App Router only. A Pages Router app gets a clear refusal; a hybrid app gets its
app/
routes analysed with a warning that pages/ is invisible to every number.Not a hosted service
Not a hosted service
No accounts, no SaaS dashboard. Snapshots live in your repository.
Not a bundler
Not a bundler
It reads build output. It never changes how your app builds in production.
No config file
No config file
Until three separate people request the same option. Zero-config is a feature, and config
surface is permanent API you cannot remove. The two JSON escape hatches in
.perf/ are data, not configuration.Known limits
- Per-file attribution needs
productionBrowserSourceMaps. Without it, route totals and shell analysis still work; attribution reports itself unavailable. - Taint propagation is module-level, not function-level. It errs toward reporting dynamism.
- The stamping transform is not built. Component-level runtime attribution would need it; source maps cover file-level attribution instead, and measure better on Turbopack than webpack.
- Server components rendered from props or
childrenare reported as unknown rather than guessed at.