/turborepo-monorepo
Provides comprehensive Turborepo monorepo management guidance for TypeScript/JavaScript projects. Use when creating Turborepo workspaces, configuring turbo.json tasks, setting up Next.js/NestJS apps, managing test pipelines (Vitest/Jest), configuring CI/CD, implementing remote
$ npx -y skills add giuseppe-trisciuoglio/developer-kit --skill turborepo-monorepo --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/turborepo-monorepo
Context preview
The summary Claude sees to decide when to auto-load this skill.
Provides comprehensive Turborepo monorepo management guidance for TypeScript/JavaScript projects. Use when creating Turborepo workspaces, configuring turbo.json tasks, setting up Next.js/NestJS apps, managing test pipelines (Vitest/Jest), configuring CI/CD, implementing remote
SKILL.md
turborepo-monorepo.SKILL.mdname: turborepo-monorepo
description: Provides comprehensive Turborepo monorepo management guidance for TypeScript/JavaScript projects. Use when creating Turborepo workspaces, configuring turbo.json tasks, setting up Next.js/NestJS apps, managing test pipelines (Vitest/Jest), configuring CI/CD, implementing remote caching, or optimizing build performance in monorepos
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
Turborepo Monorepo
Overview
Provides guidance for Turborepo monorepo management: workspace creation, `turbo.json` task configuration, Next.js/NestJS integration, testing pipelines (Vitest/Jest), CI/CD setup, and build performance optimization.
When to Use
- Create or initialize Turborepo workspaces
- Configure `turbo.json` tasks with dependencies and outputs
- Set up Next.js/NestJS apps in monorepo structure
- Configure Vitest/Jest test pipelines
- Build CI/CD workflows (GitHub Actions, GitLab CI)
- Implement remote caching with Vercel Remote Cache
- Optimize build times and cache hit ratios
- Debug task dependency or cache issues
- Migrate from other monorepo tools to Turborepo
Instructions
Workspace Creation
1. **Create a new workspace:**
pnpm create turbo@latest my-workspace
cd my-workspace
2. **Initialize in existing project:**
pnpm add -D -w turbo
3. **Create turbo.json in root** (minimal config):
{
"$schema": "https://turborepo.dev/schema.json",
"pipeline": {
"build": { "dependsOn": ["^build"], "outputs": ["dist/**", ".next/**"] },
"lint": { "outputs": [] },
"test": { "dependsOn": ["build"], "outputs": ["coverage/**"] }
}
}4. **Add scripts to root package.json:**
{ "scripts": { "build": "turbo run build", "dev": "turbo run dev", "lint": "turbo run lint", "test": "turbo run test", "clean": "turbo run clean" } }5. **Validate task graph before CI:**
turbo run build --dry-run --filter=... # Verify task execution order
Task Configuration
1. **Configure tasks** in `turbo.json`:
{ "pipeline": { "build": { "dependsOn": ["^build"], "outputs": ["dist/**"] }, "test": { "dependsOn": ["build"], "outputs": ["coverage/**"] }, "lint": { "outputs": [] } } }2. **Run tasks:**
turbo run build # All packages
turbo run lint test build # Multiple tasks
turbo run build --filter=web # Specific package
3. **Parallel type checking** (use transit nodes to avoid cache issues):
{ "pipeline": { "transit": { "dependsOn": ["^transit"] }, "typecheck": { "dependsOn": ["transit"] } } }4. **Validate before committing:**
turbo run build --dry-run # Check task order and affected packages
Framework Integration
**Next.js:** outputs `".next/**"` and env `["NEXT_PUBLIC_*"]` - See [references/nextjs-config.md](references/nextjs-config.md)
**NestJS:** outputs `"dist/**"`, dev tasks with `cache: false, persistent: true` - See [references/nestjs-config.md](references/nestjs-config.md)
Testing Setup
1. **Vitest configuration:**
{
"pipeline": {
"test": {
"outputs": [],
"inputs": ["$TURBO_DEFAULT$", "vitest.config.ts"]
},
"test:watch": {
"cache": false,
"persistent": true
}
}
}2. **Run affected tests:**
turbo run test --filter=[HEAD^]
See [references/testing-config.md](references/testing-config.md) for complete testing setup.
Package Configurations
1. **Create package-specific turbo.json:**
{
"extends": ["//"],
"tasks": {
"build": {
"outputs": ["$TURBO_EXTENDS$", ".next/**"]
}
}
}See [references/package-configs.md](references/package-configs.md) for detailed package configuration patterns.
CI/CD Setup
1. **GitHub Actions with validation checkpoints:**
- name: Install dependencies
run: pnpm install
- name: Validate affected packages (dry-run)
run: pnpm turbo run build --filter=[HEAD^] --dry-run
# VALIDATE: Review output to confirm only expected packages will build
- name: Run tests
run: pnpm run test --filter=[HEAD^]
- name: Build affected packages
run: pnpm run build --filter=[HEAD^]
- name: Verify cache hits
run: pnpm turbo run build --filter=[HEAD^] --dry-run | grep "Cache"
# VALIDATE: Confirm cache hits for unchanged packages2. **Remote cache setup:**
# Login to Vercel
npx turbo login
# Link repository
npx turbo link
See [references/ci-cd.md](references/ci-cd.md) for complete CI/CD setup examples.
Task Properties Reference
| Property | Description | Example | |----------|-------------|---------| | `dependsOn` | Tasks that must complete first | `["^build"]` - dependencies first | | `outputs` | Files/folders to cache | `["dist/**"]` | | `inputs` | Files for cache hash | `["src/**/*.ts"]` | | `env` | Environment variables affecting hash | `["DATABASE_URL"]` | | `cache` | Enable/disable caching | `true` or `false` | | `persistent` | Long-running task | `true` for dev servers | | `outputLogs` | Log verbosity | `"full"`, `"new-only"`, `"errors-only"` |
Dependency Patterns
- `^task` - Run task in dependencies first (topological order)
- `task` - Run task in same package first
- `package#task` - Run specific package's task
Filter Syntax
| Filter | Description | |--------|-------------| | `web` | Only web package | | `web...` | web + all dependencies | | `...web` | web + all dependents | | `...web...` | web + deps + dependents | | `[HEAD^]` | Packages changed since last commit | | `./apps/*` | All packages in apps/ |
Best Practices
Performance Optimization
1. **Use specific outputs** - Only cache what's needed 2. **Fine-tune inputs** - Exclude files that don't af
Read more
name: turborepo-monorepo description: Provides comprehensive Turborepo monorepo management guidance for TypeScript/JavaScript projects. Use when creating Turborepo workspaces, configuring turbo.json tasks, setting up Next.js/NestJS apps, managing test pipelines (Vitest/Jest), configuring CI/CD, implementing remote caching, or optimizing build performance in monorepos allowed-tools: Read, Write, Edit, Bash, Glob, Grep
Turborepo Monorepo
Overview
Provides guidance for Turborepo monorepo management: workspace creation, `turbo.json` task configuration, Next.js/NestJS integration, testing pipelines (Vitest/Jest), CI/CD setup, and build performance optimization.
When to Use
- Create or initialize Turborepo workspaces
- Configure `turbo.json` tasks with dependencies and outputs
- Set up Next.js/NestJS apps in monorepo structure
- Configure Vitest/Jest test pipelines
- Build CI/CD workflows (GitHub Actions, GitLab CI)
- Implement remote caching with Vercel Remote Cache
- Optimize build times and cache hit ratios
- Debug task dependency or cache issues
- Migrate from other monorepo tools to Turborepo
Instructions
Workspace Creation
1. **Create a new workspace:**
pnpm create turbo@latest my-workspace cd my-workspace
2. **Initialize in existing project:**
pnpm add -D -w turbo
3. **Create turbo.json in root** (minimal config):
{
"$schema": "https://turborepo.dev/schema.json",
"pipeline": {
"build": { "dependsOn": ["^build"], "outputs": ["dist/**", ".next/**"] },
"lint": { "outputs": [] },
"test": { "dependsOn": ["build"], "outputs": ["coverage/**"] }
}
}4. **Add scripts to root package.json:**
{ "scripts": { "build": "turbo run build", "dev": "turbo run dev", "lint": "turbo run lint", "test": "turbo run test", "clean": "turbo run clean" } }5. **Validate task graph before CI:**
turbo run build --dry-run --filter=... # Verify task execution order
Task Configuration
1. **Configure tasks** in `turbo.json`:
{ "pipeline": { "build": { "dependsOn": ["^build"], "outputs": ["dist/**"] }, "test": { "dependsOn": ["build"], "outputs": ["coverage/**"] }, "lint": { "outputs": [] } } }2. **Run tasks:**
turbo run build # All packages turbo run lint test build # Multiple tasks turbo run build --filter=web # Specific package
3. **Parallel type checking** (use transit nodes to avoid cache issues):
{ "pipeline": { "transit": { "dependsOn": ["^transit"] }, "typecheck": { "dependsOn": ["transit"] } } }4. **Validate before committing:**
turbo run build --dry-run # Check task order and affected packages
Framework Integration
**Next.js:** outputs `".next/**"` and env `["NEXT_PUBLIC_*"]` - See [references/nextjs-config.md](references/nextjs-config.md)
**NestJS:** outputs `"dist/**"`, dev tasks with `cache: false, persistent: true` - See [references/nestjs-config.md](references/nestjs-config.md)
Testing Setup
1. **Vitest configuration:**
{
"pipeline": {
"test": {
"outputs": [],
"inputs": ["$TURBO_DEFAULT$", "vitest.config.ts"]
},
"test:watch": {
"cache": false,
"persistent": true
}
}
}2. **Run affected tests:**
turbo run test --filter=[HEAD^]
See [references/testing-config.md](references/testing-config.md) for complete testing setup.
Package Configurations
1. **Create package-specific turbo.json:**
{
"extends": ["//"],
"tasks": {
"build": {
"outputs": ["$TURBO_EXTENDS$", ".next/**"]
}
}
}See [references/package-configs.md](references/package-configs.md) for detailed package configuration patterns.
CI/CD Setup
1. **GitHub Actions with validation checkpoints:**
- name: Install dependencies
run: pnpm install
- name: Validate affected packages (dry-run)
run: pnpm turbo run build --filter=[HEAD^] --dry-run
# VALIDATE: Review output to confirm only expected packages will build
- name: Run tests
run: pnpm run test --filter=[HEAD^]
- name: Build affected packages
run: pnpm run build --filter=[HEAD^]
- name: Verify cache hits
run: pnpm turbo run build --filter=[HEAD^] --dry-run | grep "Cache"
# VALIDATE: Confirm cache hits for unchanged packages2. **Remote cache setup:**
# Login to Vercel npx turbo login # Link repository npx turbo link
See [references/ci-cd.md](references/ci-cd.md) for complete CI/CD setup examples.
Task Properties Reference
| Property | Description | Example | |----------|-------------|---------| | `dependsOn` | Tasks that must complete first | `["^build"]` - dependencies first | | `outputs` | Files/folders to cache | `["dist/**"]` | | `inputs` | Files for cache hash | `["src/**/*.ts"]` | | `env` | Environment variables affecting hash | `["DATABASE_URL"]` | | `cache` | Enable/disable caching | `true` or `false` | | `persistent` | Long-running task | `true` for dev servers | | `outputLogs` | Log verbosity | `"full"`, `"new-only"`, `"errors-only"` |
Dependency Patterns
- `^task` - Run task in dependencies first (topological order)
- `task` - Run task in same package first
- `package#task` - Run specific package's task
Filter Syntax
| Filter | Description | |--------|-------------| | `web` | Only web package | | `web...` | web + all dependencies | | `...web` | web + all dependents | | `...web...` | web + deps + dependents | | `[HEAD^]` | Packages changed since last commit | | `./apps/*` | All packages in apps/ |
Best Practices
Performance Optimization
1. **Use specific outputs** - Only cache what's needed 2. **Fine-tune inputs** - Exclude files that don't af
Showing the first part of this file.
Modular plugin marketplace for Claude Code and agentic CLIs, with validated, spec-driven skills, agents, commands, and workflows for Java, TypeScript, Python, PHP, AWS, and AI.
Repo: giuseppe-trisciuoglio/developer-kit
Other skills on developer-kit.
- /chunking-strategy
Provides chunking strategies for RAG systems. Generates chunk size recommendations (256-1024 tokens), overlap percentages (10-20%), and semantic boundary detection methods. Validates semantic coherence and evaluates retrieval precision/recall metrics. Use when building
Open skill - /prompt-engineering
Provides workflows to write, debug, and optimize prompts for LLMs, including few-shot example selection, chain-of-thought structuring, system prompt design, and template composition. Use when the user asks to write or improve a prompt, wants help with few-shot examples,
Open skill - /rag
Implements document chunking, embedding generation, vector storage, and retrieval pipelines for Retrieval-Augmented Generation systems. Use when building RAG applications, creating document Q&A systems, or integrating AI with knowledge bases.
Open skill - /aws-cloudformation-auto-scaling
Provides AWS CloudFormation patterns for Auto Scaling including EC2, ECS, and Lambda. Use when creating Auto Scaling groups, launch configurations, launch templates, scaling policies, lifecycle hooks, and predictive scaling. Covers template structure with Parameters, Outputs,
Open skill - /aws-cloudformation-bedrock
Provides AWS CloudFormation patterns for Amazon Bedrock resources including agents, knowledge bases, data sources, guardrails, prompts, flows, and inference profiles. Use when creating Bedrock agents with action groups, implementing RAG with knowledge bases, configuring vector
Open skill - /aws-cloudformation-cloudfront
Provides AWS CloudFormation patterns for CloudFront distributions, origins (ALB, S3, Lambda@Edge, VPC Origins), CacheBehaviors, Functions, SecurityHeaders, parameters, Outputs and cross-stack references. Use when creating CloudFront distributions with CloudFormation, configuring
Open skill

