rslib-best-practices — скилл для Claude Code: как установить
Скилл обучает агента правилам сборки библиотек на Rslib. Пригодится при настройке rslib.config.ts, разделении зависимостей и выводе деклараций.
npx skills add rstackjs/agent-skills --skill rslib-best-practices -a claude-codeЧто делает rslib-best-practices
Скилл передаёт агенту набор правил для сборщика Rslib на базе Rspack. Он учит задавать конфигурацию через rslib.config.ts с помощью defineConfig, отдавая приоритет секции lib.*. Для библиотек компонентов предписывается bundleless-режим с целью 'web'. Для утилит под Node.js выбирается бандлинг. Скилл напоминает публиковать чистый ESM с флагом "type": "module" в package.json и строго связывать поле exports с путями собранных файлов.
Большое внимание уделено зависимостям и генерации типов. Пакеты из dependencies и peerDependencies автоматически остаются внешними при бандлинге, поэтому зависимости для включения внутрь бандла нужно убирать в devDependencies. Типы генерируются через lib.dts. Для ускоренной генерации через экспериментальный флаг lib.dts.tsgo потребуется установить @typescript/native-preview, без которого эта опция не сработает.
При отладке конфигов скилл рекомендует вызывать rslib inspect или запускать сборку с переменной окружения DEBUG=rsbuild. Реальную итоговую конфигурацию нужно смотреть в папке dist/.rsbuild. Для тестов исходник предлагает Rstest с адаптером @rstest/adapter-rslib, а документацию советует вести на Rspress.
Какие задачи решает
- настроить сборку библиотеки через
rslib.config.ts - сопоставить пути в
package.jsonс собранным ESM и файлами типов - разделить зависимости между бандлом и внешними пакетами
- ускорить генерацию
.d.tsчерез режимtsgo - проверить итоговый конфиг Rspack командой
rslib inspect
Примеры запросов агенту
- Помоги настроить
rslib.config.tsдля библиотеки компонентов в bundleless режиме. - Проверь поле
exportsвpackage.jsonдля ESM-сборки и файлов деклараций. - Почему внешние пакеты попадают в бандл? Проверь секции зависимостей в проекте на Rslib.
Как установить rslib-best-practices
1Через Skills CLI (Vercel)
npx skills add rstackjs/agent-skills --skill rslib-best-practices -a claude-code2Вручную: положить файлы
~/.claude/skills/rslib-best-practices/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/rslib-best-practices/
1Через Skills CLI (Vercel)
npx skills add rstackjs/agent-skills --skill rslib-best-practices -a codex2Вручную: положить файлы
.agents/skills/rslib-best-practices/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add rstackjs/agent-skills --skill rslib-best-practices -a cursor2Вручную: положить файлы
.cursor/skills/rslib-best-practices/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install rstackjs/agent-skills rslib-best-practices2Вручную: положить файлы
.github/skills/rslib-best-practices/SKILL.md1Через Skills CLI (Vercel)
npx skills add rstackjs/agent-skills --skill rslib-best-practices -a gemini-cli2Командой платформы
gemini skills install https://github.com/rstackjs/agent-skills --path skills/rslib-best-practicesВручную: положить файлы
.devin/skills/rslib-best-practices/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add rstackjs/agent-skills --skill rslib-best-practices -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора9
Похожие
Рядом в теме «Фронтенд и UI»
Всё по теме «Фронтенд и UI» →Вопросы о rslib-best-practices
Как установить rslib-best-practices в Claude Code?
Выполните команду npx skills add rstackjs/agent-skills --skill rslib-best-practices -a claude-code. Агент получит доступ к правилам сборки Rslib в текущем проекте.
Что делает скилл rslib-best-practices?
Скилл объясняет агенту правила работы с Rslib: выбор между bundle и bundleless режимами, разметку зависимостей, генерацию d.ts файлов и отладку через DEBUG=rsbuild.
Что требуется для ускоренной генерации типов через tsgo?
Для использования опции lib.dts.tsgo необходимо установить пакет @typescript/native-preview. Без него экспериментальная ускоренная генерация типов работать не будет.
Исходный текст
SKILL.md · MIT
--- name: rslib-best-practices description: Configure, review, or troubleshoot Rslib library builds, output formats, declarations, dependency handling, and integrations. --- # Rslib best practices Apply these rules when writing or reviewing Rslib library projects. ## Configuration - Use `rslib.config.ts` and `defineConfig` - Check Rslib-specific configurations first (e.g., `lib.*`), and also leverage Rsbuild configurations (e.g., `source.*`, `output.*`, `tools.*`) as needed - For deep-level or advanced configuration needs, use `tools.rspack` or `tools.bundlerChain` to access Rspack's native configurations - In TypeScript projects, prefer `tsconfig.json` path aliases ## CLI - Use `rslib` to build - Use `rslib --watch` to build in watch mode for local development - Use `rslib inspect` to inspect final Rslib/Rsbuild/Rspack configs ## Output - Prefer to build pure-ESM package with `"type": "module"` in `package.json` - Prefer to use bundleless mode with `output.target` set to `'web'` when building component libraries - Prefer to use bundle mode when building Node.js utility libraries - Ensure `exports` field in `package.json` is correctly configured and matches the actual JavaScript output and declaration files output of different formats (ESM, CJS, etc.) ## Declaration files - Prefer to enable declaration file generation with `lib.dts: true` or detailed configurations - For faster type generation, enable `lib.dts.tsgo` experimental feature with `@typescript/native-preview` installed ## Dependencies - Prefer to place dependencies to be bundled in `devDependencies` in bundle mode and dependencies in `dependencies` and `peerDependencies` will be automatically externalized (not bundled) by default - Verify the build output and dependency specifiers in `package.json` carefully to ensure no missing dependency errors occur when consumers install and use this package ## Build optimization - Keep syntax target in `lib.syntax` aligned with real compatibility requirements to enable better optimizations - Avoid format-specific APIs in source code for better compatibility with different output formats - Prefer lightweight dependencies to reduce bundle size ## Toolchain integration - Prefer to use Rstest with `@rstest/adapter-rslib` for writing tests - Prefer to use Rspress for writing library documentation, with `@rspress/plugin-preview` and `@rspress/plugin-api-docgen` for component previews and API docs ## Debugging - Run with `DEBUG=rsbuild` when diagnosing config resolution or plugin behavior - Read generated files in `dist/.rsbuild` to confirm final Rsbuild/Rspack config, not assumed config ## Documentation - For the latest Rslib docs, read https://rslib.rs/llms.txt
© rstackjs · MIT · rstackjs/agent-skills