Install
$ agentstack add skill-rstackjs-agent-skills-rspress-best-practices ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Rspress Best Practices
Apply these rules when writing or reviewing Rspress (v2) sites.
Configuration
- Use
rspress.config.tsanddefineConfigfrom@rspress/core - Set
rootexplicitly when docs are not under the defaultdocs/directory - Keep site-wide settings such as
title,description,icon,logo,base, andlangin config instead of repeating them in page files - Prefer first-class Rspress options before custom theme code or low-level bundler overrides
- Keep custom theme code in a top-level
theme/directory and import original theme pieces from@rspress/core/theme-original
CLI
- Use
rspress devfor local development - Use
rspress buildfor production output - Use
rspress previewonly for local preview of the built site - Use
rspress ejectonly when CSS variables, class overrides, or layout wrapping cannot solve the customization
Docs Structure And Navigation
- Keep docs content under one clear docs root and group pages by topic or workflow, not by team ownership
- Use
_meta.jsonor_nav.jsonto control sidebar and navigation labels/order instead of encoding order in filenames - Put reusable MDX snippets or shared components in shared files instead of duplicating them across pages
- Keep landing pages concise and link to deeper task-oriented guides from them
Writing And Frontmatter
- Add clear
titleanddescriptionfrontmatter, and setsidebar,outline,navbar, orfooteronly when page defaults are not enough - Use
pageType: home,doc,doc-wide,custom, orblankintentionally based on layout needs - Write task-first headings and short intros; avoid marketing-heavy copy in technical docs
- Prefer one topic per page and split overly long pages by workflow or feature area
- Keep code examples minimal, runnable, and version-accurate
MDX And Components
- Use MDX for interactive docs and embedded components, but keep the main narrative understandable as plain markdown
- Prefer documented Rspress theme/runtime APIs over importing from internal source paths
- For app-wide UI or providers, use
globalUIComponentsor theme overrides instead of repeating imports in each page
Theme And Styling
- Prefer CSS variables for brand colors, spacing, and surface styling
- Prefer BEM class overrides or
Layoutslots before ejecting built-in components - In
theme/files, keepexport * from '@rspress/core/theme-original'unless intentionally replacing a named export - Avoid full component ejection unless config, CSS, and wrapping cannot meet the requirement
I18n, Search, And AI
- For multilingual sites, organize locale content under per-language directories and keep navigation mirrored where practical
- Keep descriptions and other frontmatter text in the same language as the page content
- Configure search intentionally: use local search for small or medium sites, and hosted search when scale or cross-version indexing requires it
- Enable
llmsorssgMdonly when the site benefits from machine-readable outputs, and keep descriptions accurate because those outputs surface page summaries
Assets And Public Files
- Import source-managed images and components from docs/theme source when they belong to the content
- Use
public/only for assets that must keep stable URL paths, such as favicons, social images, or download files - Reference public assets by absolute site path and make sure they still work when
baseis set
Plugins And Integration
- Prefer official Rspress plugins for search, preview, and API-doc scenarios before building custom solutions
- For component or library docs, use
@rspress/plugin-previewand@rspress/plugin-api-docgenwhen interactive demos or API tables are needed - Keep plugin usage explicit in config and remove unused plugins to reduce maintenance cost
Build, Deploy, And Debugging
- Validate both
rspress devandrspress build; a page that works in dev can still fail during static generation - Verify broken links, missing assets, and wrong
basehandling before deployment - Keep generated output out of source control unless the hosting workflow explicitly requires committed artifacts
- When debugging content issues, inspect the resolved docs root, frontmatter, and theme overrides before assuming a bundler problem
Documentation
- For the latest Rspress docs, read https://rspress.rs/llms.txt
- Use the config and API docs when checking exact option names or current behavior
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: rstackjs
- Source: rstackjs/agent-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.