turborepo · mindrally — скилл для Claude Code: настройка монорепозитория
Скилл задаёт агенту правила работы с Turborepo: структура воркспейсов, turbo.json, кэш и фильтры задач. Пригодится, когда монорепо уже есть и его надо привести в порядок.
npx skills add Mindrally/skills --skill turborepo -a claude-codeЧто делает turborepo
Скилл описывает, как агент должен конфигурировать Turborepo в монорепозиториях на JavaScript и TypeScript. Он держит структуру apps/, packages/ и tooling/, требует минимальный корневой package.json и единые имена воркспейсов. Внутренние пакеты подключаются через workspace-протокол, например "@repo/ui": "workspace:*".
Отдельный блок — turbo.json. Агент расставляет dependsOn с префиксом ^ для топологических зависимостей, прописывает outputs для кэша и исключает служебные каталоги вроде !.next/cache/**. Задачи разработки помечаются cache: false и persistent: true. Для CI скилл советует включить удалённый кэш и развести переменные окружения через globalEnv и env.
Скилл рассчитан на проект, где Turborepo уже стоит: он не создаёт монорепо с нуля и не тянет за собой зависимости. Команды вроде turbo build --filter=web и turbo watch он применяет к существующим воркспейсам, поэтому в пустом репозитории пользы от него не будет.
Какие задачи решает
- разложить воркспейсы по
apps/иpackages/ - настроить
turbo.jsonс зависимостями и выходами задач - включить удалённый кэш для сборки в CI
- отфильтровать сборку одного приложения через
--filter - вынести общие конфиги TypeScript и ESLint в пакеты
Примеры запросов агенту
- Настрой turbo.json для монорепо: build зависит от ^build, dev без кэша
- Разложи воркспейсы по apps/ и packages/ и подключи @repo/ui через workspace:*
- Добавь удалённый кэш и globalEnv для сборки в GitHub Actions
Как установить turborepo
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill turborepo -a claude-code2Вручную: положить файлы
~/.claude/skills/turborepo/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/turborepo/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill turborepo -a codex2Вручную: положить файлы
.agents/skills/turborepo/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill turborepo -a cursor2Вручную: положить файлы
.cursor/skills/turborepo/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills turborepo2Вручную: положить файлы
.github/skills/turborepo/SKILL.md1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill turborepo -a gemini-cli2Командой платформы
gemini skills install https://github.com/Mindrally/skills --path turborepoВручную: положить файлы
.devin/skills/turborepo/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill turborepo -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о turborepo
Как установить turborepo в Claude?
Выполните npx skills add Mindrally/skills --skill turborepo -a claude-code. Файл скилла окажется в ~/.claude/skills/turborepo/SKILL.md.
Что делает скилл turborepo?
Задаёт агенту правила конфигурации Turborepo: структуру воркспейсов, содержимое turbo.json, стратегию кэширования и порядок задач в пайплайне.
Нужен ли уже установленный Turborepo?
Да. Скилл описывает настройку и оптимизацию существующего монорепозитория, а не его создание с нуля.
Исходный текст
SKILL.md · Apache-2.0
---
name: turborepo
description: Best practices for Turborepo monorepo build system configuration and optimization
metadata:
maintainer: Mindrally
source: https://github.com/Mindrally/skills
---
# Turborepo Development
You are an expert in Turborepo, the high-performance build system for JavaScript and TypeScript monorepos.
## Project Structure
- Organize workspaces following the standard Turborepo structure:
- `apps/` - Application workspaces (web apps, APIs, mobile apps)
- `packages/` - Shared packages (UI components, utilities, configs)
- `tooling/` - Build tools and configurations (optional)
- Keep the root `package.json` minimal with workspace configuration
- Use consistent naming conventions across all workspaces
## Workspace Configuration
- Define workspaces in the root `package.json`:
```json
{
"workspaces": ["apps/*", "packages/*"]
}
```
- Each workspace should have its own `package.json` with proper dependencies
- Use internal package references with workspace protocol: `"@repo/ui": "workspace:*"`
## turbo.json Configuration
```json
{
"$schema": "https://turbo.build/schema.json",
"tasks": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**", ".next/**", "!.next/cache/**"]
},
"dev": {
"cache": false,
"persistent": true
},
"lint": {},
"test": {
"dependsOn": ["build"]
}
}
}
```
- Use `^` prefix for topological dependencies (build dependencies first)
- Define proper `outputs` for caching
- Mark development tasks with `cache: false` and `persistent: true`
## Caching Strategy
- Configure remote caching for CI/CD with Vercel or self-hosted solutions
- Define accurate `outputs` arrays to ensure proper cache hits
- Use `inputs` to specify which files affect task caching
- Exclude cache directories from outputs (e.g., `!.next/cache/**`)
## Task Dependencies
- Use `dependsOn` to define task relationships:
- `"^build"` - Run build in dependencies first
- `"lint"` - Run lint in the same package
- `"@repo/ui#build"` - Run build in a specific package
- Define proper task ordering for complex build pipelines
## Shared Configurations
- Create shared config packages:
- `@repo/typescript-config` - Shared TypeScript configurations
- `@repo/eslint-config` - Shared ESLint configurations
- `@repo/tailwind-config` - Shared Tailwind configurations
- Reference configs using `extends` or imports in workspace configs
## Development Workflow
- Use `turbo dev` to run development servers across workspaces
- Filter commands to specific workspaces: `turbo build --filter=web`
- Use `--filter` with patterns: `turbo build --filter=./apps/*`
- Watch mode with `turbo watch` for continuous builds
## CI/CD Integration
- Enable remote caching in CI for faster builds
- Use `--dry-run` to preview what would be executed
- Implement proper environment variable handling with `globalEnv` and `env`
- Set up GitHub Actions or other CI with Turborepo caching
## Best Practices
- Keep task definitions consistent across similar workspaces
- Use workspace-level `turbo.json` for package-specific overrides
- Minimize root-level dependencies; install in workspaces that need them
- Document workspace purposes and relationships in README files
- Use TypeScript project references for faster type checking
- Implement incremental builds for large codebases
© Mindrally · Apache-2.0 · Mindrally/skills
Похожие скиллы
Всё по теме «DevOps и инфраструктура» →Сначала — turborepo от других авторов.