turborepo-caching
Ajuda seu agente a configurar o Turborepo para compilações rápidas. Ele usa cache para acelerar o desenvolvimento em projetos grandes.
O que ela faz
Esta ferramenta ajuda a configurar o Turborepo para construir seus projetos de forma mais rápida e eficiente. Ela otimiza o processo de construção, permitindo que você reutilize partes já construídas e compartilhe resultados entre computadores.
Quando usar
- ✓Ao iniciar um novo projeto com Turborepo.
- ✓Quando quiser acelerar o processo de construção do seu código.
- ✓Ao configurar um sistema para compartilhar resultados de construção entre equipes.
Exemplo do que pedir para a IA
“Como configuro o Turborepo para usar cache local e remoto?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O Turborepo analisa quais partes do seu código mudaram e reutiliza os resultados de compilações anteriores. Ele pode salvar esses resultados em um local na sua máquina ou em um servidor compartilhado para que outros possam usá-los.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill turborepo-cachingOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/turborepo-caching/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Cache do Turborepo
Padrões de produção para otimização de build do Turborepo.
Não use esta habilidade quando
- A tarefa não estiver relacionada ao cache do turborepo
- Você precisar de um domínio ou ferramenta diferente fora deste escopo
Instruções
- Clarifique objetivos, restrições e entradas necessárias.
- Aplique as melhores práticas relevantes e valide os resultados.
- Forneça etapas acionáveis e verificação.
Use esta habilidade quando
- Configurando novos projetos Turborepo
- Configurando pipelines de build
- Implementando cache remoto
- Otimizando o desempenho de CI/CD
- Migrando de outras ferramentas de monorepo
- Depurando falhas de cache
Conceitos Principais
1. Arquitetura do Turborepo
Workspace Root/
├── apps/
│ ├── web/
│ │ └── package.json
│ └── docs/
│ └── package.json
├── packages/
│ ├── ui/
│ │ └── package.json
│ └── config/
│ └── package.json
├── turbo.json
└── package.json
2. Conceitos de Pipeline
| Conceito | Descrição |
|---|---|
| dependsOn | Tarefas que devem ser concluídas primeiro |
| cache | Se os resultados devem ser cacheados |
| outputs | Arquivos a serem cacheados |
| inputs | Arquivos que afetam a chave de cache |
| persistent | Tarefas de longa duração (servidores de desenvolvimento) |
Modelos
Modelo 1: Configuração do turbo.json
{
"$schema": "https://turbo.build/schema.json",
"globalDependencies": [
".env",
".env.local"
],
"globalEnv": [
"NODE_ENV",
"VERCEL_URL"
],
"pipeline": {
"build": {
"dependsOn": ["^build"],
"outputs": [
"dist/**",
".next/**",
"!.next/cache/**"
],
"env": [
"API_URL",
"NEXT_PUBLIC_*"
]
},
"test": {
"dependsOn": ["build"],
"outputs": ["coverage/**"],
"inputs": [
"src/**/*.tsx",
"src/**/*.ts",
"test/**/*.ts"
]
},
"lint": {
"outputs": [],
"cache": true
},
"typecheck": {
"dependsOn": ["^build"],
"outputs": []
},
"dev": {
"cache": false,
"persistent": true
},
"clean": {
"cache": false
}
}
}
Modelo 2: Pipeline Específico do Pacote
// apps/web/turbo.json
{
"$schema": "https://turbo.build/schema.json",
"extends": ["//"],
"pipeline": {
"build": {
"outputs": [".next/**", "!.next/cache/**"],
"env": [
"NEXT_PUBLIC_API_URL",
"NEXT_PUBLIC_ANALYTICS_ID"
]
},
"test": {
"outputs": ["coverage/**"],
"inputs": [
"src/**",
"tests/**",
"jest.config.js"
]
}
}
}
Modelo 3: Cache Remoto com Vercel
# Login to Vercel
npx turbo login
# Link to Vercel project
npx turbo link
# Run with remote cache
turbo build --remote-only
# CI environment variables
TURBO_TOKEN=your-token
TURBO_TEAM=your-team
# .github/workflows/ci.yml
name: CI
on:
push:
branches: [main]
pull_request:
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build
run: npx turbo build --filter='...[origin/main]'
- name: Test
run: npx turbo test --filter='...[origin/main]'
Modelo 4: Cache Remoto Auto-Hospedado
// Servidor de cache remoto personalizado (Express)
import express from 'express';
import { createReadStream, createWriteStream } from 'fs';
import { mkdir } from 'fs/promises';
import { join } from 'path';
const app = express();
const CACHE_DIR = './cache';
// Obter artefato
app.get('/v8/artifacts/:hash', async (req, res) => {
const { hash } = req.params;
const team = req.query.teamId || 'default';
const filePath = join(CACHE_DIR, team, hash);
try {
const stream = createReadStream(filePath);
stream.pipe(res);
} catch {
res.status(404).send('Não encontrado');
}
});
// Colocar artefato
app.put('/v8/artifacts/:hash', async (req, res) => {
const { hash } = req.params;
const team = req.query.teamId || 'default';
const dir = join(CACHE_DIR, team);
const filePath = join(dir, hash);
await mkdir(dir, { recursive: true });
const stream = createWriteStream(filePath);
req.pipe(stream);
stream.on('finish', () => {
res.json({ urls: [`${req.protocol}://${req.get('host')}/v8/artifacts/${hash}`] });
});
});
…
Perguntas frequentes
O que é 'cache'?
Cache é como uma memória temporária. O Turborepo guarda os resultados de tarefas já feitas para não precisar refazê-las se nada importante mudar.
Qual a diferença entre cache local e remoto?
Cache local fica no seu computador, sendo rápido para você. Cache remoto é compartilhado em um servidor, permitindo que toda a equipe use os mesmos resultados de construção.
O que são 'pipelines'?
Pipelines são sequências de tarefas que o Turborepo executa, como 'build' (construir) ou 'test' (testar). Você pode configurar como essas tarefas dependem umas das outras e o que deve ser guardado no cache.
Detalhes
Descrição original do autor
Configure Turborepo for efficient monorepo builds with local and remote caching. Use when setting up Turborepo, optimizing build pipelines, or implementing distributed caching.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4413
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC