asset-pipeline-propshaft
Installation
SKILL.md
Asset Pipeline (Propshaft)
Rails 8 ships Propshaft. It does two things: maintain a load path for assets, and digest-stamp filenames for cache-busting. That's it. Sprockets did much more (preprocessing, transpilation, concatenation). Most of that moved to dedicated bundlers (esbuild, vite, sass).
The opinion
Greenfield Rails 8: Propshaft + Importmap (no Node) for simple apps. Propshaft + jsbundling-rails (esbuild) for richer apps. Propshaft + cssbundling-rails (Tailwind / Dart Sass) for Tailwind apps. Don't migrate an existing Sprockets app to Propshaft unless you audit for Sprockets-specific features (
.scss.erb, manifest directives, asset processors) — those don't translate.
What Propshaft does NOT do
- No preprocessing. No
.scss.erb. No ERB inside CSS / JS. - No transpilation. No CoffeeScript, no Babel built-in.
- No concatenation. No
//= requiredirectives. Bundle with esbuild / vite if you need. - No source maps. Bundlers handle.
What it does: serve app/assets/, stamp filenames with content digests, set Cache-Control headers.