К основному содержанию
скилл CX Codex

pnpm · mindrally — скилл для Claude Code: что делает и как установить

Скилл задаёт правила работы с pnpm, монорепозиториями и изоляцией зависимостей в проектах для Claude Code.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Mindrally/skills --skill pnpm -a claude-code
Открыть на GitHub

Что делает pnpm

Инструкции скилла обучают агента практикам работы с пакетным менеджером pnpm. В правила заложен отказ от npm и yarn, фиксация версий в pnpm-lock.yaml, управление хранилищем на основе контентной адресации и связывание внутренних пакетов через протокол workspace:.

Ассистент получает шаблоны для файла pnpm-workspace.yaml, параметры фильтрации команд через --filter и запуск параллельных задач ключом -r. Описаны параметры для .npmrc: выборочный подъём пакетов через public-hoist-pattern и управление peer-зависимостями.

Для Docker скилл предлагает разделять шаги через pnpm fetch и офлайн-установку, а режим shamefully-hoist помечает как нежелательный. Без настроенного файла конфигурации рабочего пространства команды фильтрации и внутренние зависимости работать не будут.

Какие задачи решает

  • сконфигурировать монорепозиторий через pnpm-workspace.yaml
  • связать локальные пакеты протоколом workspace:
  • запускать скрипты сборки и тестов параллельно во всех модулях
  • переопределить уязвимые транзитивные зависимости в package.json

Примеры запросов агенту

  • Настрой структуру монорепозитория с каталогами приложений и общих библиотек в pnpm-workspace.yaml.
  • Установи утилиту lodash исключительно в проект @org/my-app через флаг фильтра.
  • Запусти параллельное тестирование во всех зависимых пакетах с потоковым выводом логов.

Как установить pnpm

1Через Skills CLI (Vercel)

npx skills add Mindrally/skills --skill pnpm -a claude-code

2Вручную: положить файлы

~/.claude/skills/pnpm/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/pnpm/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о pnpm

Как установить pnpm в Claude Code?

Выполните в терминале команду npx skills add Mindrally/skills --skill pnpm -a claude-code. Либо добавьте файл скилла вручную по пути ~/.claude/skills/pnpm/SKILL.md.

Что делает этот скилл?

Он задаёт ИИ-агенту контекст по командам pnpm, изоляции зависимостей, ускорению сборки контейнеров и фильтрации задач в монорепозиториях.

Как скилл рекомендует подключать внутренние зависимости?

Через протокол рабочих пространств, например workspace:* или workspace:^. При публикации пакетов pnpm автоматически заменит такие указатели на точные версии.

Исходный текст

SKILL.md · Apache-2.0
---
name: pnpm
description: Best practices for pnpm package manager, workspace management, and monorepo configuration
metadata:
  maintainer: Mindrally
  source: https://github.com/Mindrally/skills
---

# pnpm Development

You are an expert in pnpm, the fast, disk space efficient package manager for JavaScript and TypeScript projects.

## Core Principles

- Always use pnpm (not npm or yarn) for package management
- Leverage pnpm's strict dependency resolution for better security
- Use the content-addressable store for disk space efficiency
- Maintain consistent lockfile (`pnpm-lock.yaml`)

## Installation and Setup

- Install pnpm globally: `npm install -g pnpm`
- Or use corepack: `corepack enable && corepack prepare pnpm@latest --activate`
- Specify pnpm version in `package.json`:
  ```json
  {
    "packageManager": "[email protected]"
  }
  ```

## Workspace Configuration

Create `pnpm-workspace.yaml` for monorepo setup:

```yaml
packages:
  - 'apps/*'
  - 'packages/*'
  - 'tooling/*'
```

- Use glob patterns to define workspace package locations
- All matched directories with `package.json` become workspace packages

## Dependency Management

- Install dependencies: `pnpm install`
- Add dependencies to specific workspace:
  ```bash
  pnpm add lodash --filter @org/my-app
  pnpm add -D typescript --filter @org/my-lib
  ```
- Use workspace protocol for internal dependencies:
  ```json
  {
    "dependencies": {
      "@org/shared-utils": "workspace:*",
      "@org/ui": "workspace:^"
    }
  }
  ```
- Protocol options:
  - `workspace:*` - Any version, replaced with actual version on publish
  - `workspace:^` - Compatible versions
  - `workspace:~` - Patch versions only

## Filtering Commands

Run commands in specific packages:

```bash
pnpm --filter @org/my-app dev
pnpm --filter "./apps/*" build
pnpm --filter "...@org/my-lib" test  # Include dependents
pnpm --filter "@org/my-lib..." build  # Include dependencies
```

- Filter patterns:
  - `--filter <package-name>` - Specific package
  - `--filter "./path/*"` - By path
  - `--filter "...<pkg>"` - Package and its dependents
  - `--filter "<pkg>..."` - Package and its dependencies

## Scripts and Task Running

- Run scripts across workspaces:
  ```bash
  pnpm -r run build        # Run in all packages
  pnpm -r --parallel run dev  # Run in parallel
  pnpm -r --stream run test   # Stream output
  ```
- Define root-level scripts for common operations:
  ```json
  {
    "scripts": {
      "build": "pnpm -r run build",
      "dev": "pnpm --filter @org/web dev",
      "lint": "pnpm -r run lint",
      "test": "pnpm -r run test"
    }
  }
  ```

## Dependency Hoisting

Configure hoisting in `.npmrc`:

```ini
# Strict mode - no hoisting
hoist=false

# Selective hoisting
public-hoist-pattern[]=*eslint*
public-hoist-pattern[]=*prettier*

# Shamefully hoist everything (not recommended)
shamefully-hoist=true
```

- Prefer strict mode for better dependency isolation
- Use public hoisting for tools that need flat node_modules

## Peer Dependencies

Configure peer dependency handling in `.npmrc`:

```ini
auto-install-peers=true
strict-peer-dependencies=false
```

- Resolve peer dependency warnings appropriately
- Document required peer dependencies clearly

## Overrides and Resolutions

Override dependencies in root `package.json`:

```json
{
  "pnpm": {
    "overrides": {
      "lodash": "^4.17.21",
      "[email protected]": "npm:bar@^2.0.0"
    }
  }
}
```

- Use overrides to fix security vulnerabilities
- Pin problematic transitive dependencies

## Publishing Workspaces

- Configure publishable packages with proper fields
- Publish with `pnpm publish`
- Workspace protocol references are replaced with actual versions

## Performance Optimization

- Use `pnpm fetch` in Docker for better caching:
  ```dockerfile
  COPY pnpm-lock.yaml ./
  RUN pnpm fetch
  COPY . ./
  RUN pnpm install --offline
  ```
- Configure store location for CI caching
- Use `--frozen-lockfile` in CI environments

## Best Practices

- Always commit `pnpm-lock.yaml`
- Use `.npmrc` for consistent team configuration
- Prefer `workspace:*` for internal dependencies
- Keep root `package.json` minimal
- Use `pnpm dedupe` to optimize lockfile
- Audit regularly with `pnpm audit`
- Use `pnpm why <package>` to debug dependency issues
- Integrate with Turborepo or Nx for advanced task running
- Set `engine-strict=true` to enforce Node.js version requirements

© Mindrally · Apache-2.0 · Mindrally/skills

Похожие скиллы

Все скиллы по теме «DevOps и инфраструктура» →

Сначала — pnpm от других авторов.

pnpm Anthony Fu Скилл для работы с pnpm, менеджером пакетов Node.js со строгим разрешением зависимостей. Нужен, если в проекте используются рабочие пространства, каталоги версий, патчи или переопределения зависимостей. CX Codex +1 22 400установок wizard Matt Pocock Скилл создаёт интерактивный bash-скрипт для ручных шагов: настройки сервисов, секретов CI и разовых миграций. 553 369установок hyperframes-cli heygen-com Управляет проектами HyperFrames через терминал: собирает таймлайн, проверяет контраст кадров, запускает предпросмотр и рендерит видео локально или в облаке. CX Codex +1 1 300 000установок setup-pre-commit Matt Pocock Скилл настраивает pre-commit для JavaScript-репозитория: Husky запускает форматирование, проверку типов и тесты перед коммитом. 489 289установок using-git-worktrees Jesse Vincent Готовит изолированное рабочее дерево перед доработкой или выполнением плана. Проверяет текущий репозиторий, выбирает нативные средства платформы либо Git. CX Codex 217 153установок finishing-a-development-branch Jesse Vincent Скилл проверяет тесты и помогает выбрать, как завершить работу в ветке: слить её, открыть Pull Request или оставить как есть. CX Codex 214 439установок orca-cli stablyai Скилл даёт агенту доступ к worktree, терминалам, артефактам и встроенному браузеру Orca через CLI. Пригодится, когда работа идёт в окружении Orca. CX Codex +1 353 600установок

Из того же набора214

sanity Скилл для работы с Sanity CMS: помогает описывать схемы документов, писать GROQ-запросы и связывать контент с TypeScript. CX Codex +1 725установок llm Скилл задаёт агенту правила работы с большими языковыми моделями: архитектура, файнтюнинг, обучение и деплой. Пригодится, когда проект крутится вокруг трансформеров. CX Codex +1 724установок dotnet Задаёт агенту правила C#, ASP.NET Core и Entity Framework Core: структура проекта, async/await, DI, кэш, тесты. CX Codex +1 724установок fastapi-microservices-serverless Скилл задаёт агенту правила проектирования FastAPI-микросервисов под serverless и cloud-native: без состояния, с Redis, API Gateway и OAuth2. CX Codex +1 724установок tanstack-query Скилл задаёт агенту правила работы с серверным состоянием в React: ключи запросов, queryOptions, мутации и переход с v4 на v5. CX Codex +1 724установок phoenix Задаёт агенту правила кода на Elixir и Phoenix: LiveView, Ecto, контексты, тесты. Пригодится, когда проект уже на Phoenix и нужен предсказуемый стиль. CX Codex +1 722установок sveltekit Скилл задаёт правила разработки на SvelteKit с TypeScript и Tailwind CSS. Помогает писать серверные функции загрузки, формы и статические страницы. CX Codex +1 720установок solidity Скилл для написания и ревью Solidity-контрактов: паттерны защиты от reentrancy, оптимизация gas, тесты и связка с React-фронтендом. CX Codex +1 721установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой