About rspack-best-practices
A skill for configuring, building, and reviewing projects that use Rspack. It provides guidance on CSS, assets, type checking, bundle optimization, profiling, and security.
Key features
- 01Configuration and CLI guidance
- 02CSS strategy recommendations
- 03Asset handling practices
- 04Type-checking options
- 05Bundle optimization and profiling
- 06Source map security guidance
Use cases
- 01Setting up an Rspack project configuration
- 02Choosing CSS and asset handling approaches
- 03Investigating build performance or output
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ rstackjs/ agent-skills --skill rspack-best-practicesAfter installing, type/rspack-best-practicesin Claude Code to confirm it loaded.
Details
From the project READMERspack best practices
Apply these rules when writing or reviewing Rspack projects.
Configuration
- Use
rspack.config.tsanddefineConfig - Define explicit
entryvalues for multi-page applications - Keep one main config and branch by
process.env.NODE_ENVonly when needed - Keep rule conditions narrow and explicit (
test,include,exclude,resourceQuery) - Prefer built-in Rspack plugins/loaders over community JS alternatives when equivalent features exist
CLI
If @rspack/cli is installed:
- Use
rspack devfor local development - Use
rspack buildfor production build - Use
rspack previewonly for local production preview
Type checking
- Use
ts-checker-rspack-pluginfor integrated dev/build type checks - Or run
tsc --noEmit/vue-tsc --noEmitas an explicit script step
CSS
Choose one strategy:
- Built-in CSS (
type: 'css' | 'css/auto' | 'css/module') for modern setups css-loader+CssExtractRspackPluginfor webpack migration compatibilitystyle-loaderfor pure style-in-JS runtime injection scenarios
Optional:
- Use
builtin:lightningcss-loaderwhen goals are syntax downgrade + vendor prefixing - Use
sass-loader/less-loaderfor preprocessing Sass/Less files - Use
@tailwindcss/webpackfor Tailwind CSS integration
Bundle size optimization
- Prefer dynamic
import()for non-critical code paths - Prefer lightweight libraries where possible
- Keep
targetaligned with real compatibility requirements
Asset management
- Import source-managed assets from project source directories, not from
public - Reference
publicfiles by absolute URL path - Prefer asset modules (
asset,asset/resource,asset/inline,asset/source) over legacyfile-loader/url-loader/raw-loader
Profiling
- Use Node CPU profiling (
--cpu-prof) when JavaScript-side overhead is suspected - Use
RSPACK_PROFILE=OVERVIEWand analyze trace output for compiler-phase bottlenecks - Replace known slow stacks first (
babel-loader, PostCSS, terser) with Rspack built-ins when feasible
Security
- Do not publish
.mapfiles to public servers/CDNs when production source maps are enabled
Documentation
- For the latest (v2) docs, read http://rspack.rs/llms.txt
- For Rspack v1 docs, read http://v1.rspack.rs/llms.txt
Comments
Markdown supported