Compétences turborepo
📦

turborepo

Risque faible ⚡ Contient des scripts🌐 Accès réseau📁 Accès au système de fichiers🔑 Variables d’environnement⚙️ Commandes externes

إعداد أنظمة بناء Turborepo أحادية المستودع

Également disponible depuis: vercel

إدارة حزم متعددة في مستودع واحد يمكن أن تؤدي إلى بناء بطيء وتنسيق مهام معقدة. يوفر Turborepo ذاكرة تخزين مؤقت ذكية وتنفيذ متوازي لتسريع عمليات البناء. تقدم هذه المهلة إرشادات متخصصة حول تكوين خطوط أنابيب المهام واستراتيجيات التخزين المؤقت والمتغيرات البيئية وأفضل ممارسات المستودع الفردي.

Prend en charge: Claude Codex Code(CC)
⚠️ 66 Médiocre
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "turborepo". How do I configure a build task that depends on my packages being built first?

Résultat attendu:

لتكوين مهمة بناء مع تبعية البناء، استخدم مفتاح dependsOn مع بادئة ^:

```json
{
"tasks": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**", ".next/**"]
}
}
}
```

بادئة ^build تعني "قم بتشغيل البناء في جميع التبعيات أولاً". يجب أن تكون لدى حزمك نصوص بناء خاصة بها في package.json، و turbo.json في الجذر ينسق ترتيب التنفيذ.

Utilisation de "turborepo". My team wants to only run tests for packages that changed in the current PR

Résultat attendu:

استخدم العلامة --affected للكشف التلقائي عن الحزم المتغيرة وتبعيتها:

```bash
turbo run test --affected
```

هذا يقارن مع الفرع الافتراضي الخاص بك و:
- يجد الحزم مع الملفات المتغيرة
- يتضمن الحزم التي تعتمد على الحزم المتغيرة
- يشغل فقط تلك الاختبارات

للتفرعات الأساسية المخصصة، استخدم --affected-base=origin/develop.

Audit de sécurité

Risque faible
v1 • 1/31/2026

Documentation-only skill containing Turborepo best practices. All static findings are false positives from the scanner misinterpreting markdown code examples as executable code. The skill provides guidance on turbo.json configuration, task pipelines, caching strategies, and monorepo best practices. No actual code execution, network calls, or credential access occurs.

28
Fichiers analysés
5,306
Lignes analysées
5
résultats
1
Total des audits

Motifs détectés

Documentation Pattern Misidentified as External CommandsDocumentation URLs Misidentified as Network ActivityFile Path Patterns Misidentified as Path TraversalEnvironment Variable Documentation Misidentified as Credential AccessHeuristic False Positive: Dangerous Combination
Audité par: claude

Score de qualité

36
Architecture
100
Maintenabilité
87
Contenu
20
Communauté
90
Sécurité
83
Conformité aux spécifications

Ce que vous pouvez construire

إعداد مستودع فردي جديد

مستخدم جديد في Turborepo يحتاج إلى إرشادات حول إعداد خطوط أنابيب المهام، وتعريف التبعيات بين الحزم، وتكوين التخزين المؤقت لأداء بناء مثالي.

تحسين CI

مهندس DevOps يريد تكوين خطوط أنابيب CI التي تبني فقط الحزم المتغيرة باستخدام العلامة --affected، مما يقلل من أوقات البناء والتكاليف.

تصحيح أخطاء التخزين المؤقت

مطور يواجه فشل التخزين المؤقت أو بناء غير صحيح يحتاج مساعدة في تصحيح أخطاء مدخلات التجزئة وفهم تأثير المتغيرات البيئية على التخزين المؤقت.

Essayez ces prompts

تكوين المهمة الأساسية
أريد تكوين مهمة [build/lint/test] في مستودعي الفردي Turborepo. حرفتي تنتج [وصف المخرجات]. كيف يجب أن يبدو تكويني في turbo.json؟
المتغيرات البيئية والتخزين المؤقت
التخزين المؤقت في Turborepo الخاص بي لا يتم تحديثه عندما تتغير المتغيرات البيئية. لدي API_URL وDATABASE_URL في الكود الخاص بي لكن نتائج التخزين المؤقت خاطئة. كيف أعرّف env وglobalEnv بشكل صحيح؟
إعداد خط أنابيب CI
إعداد سير عمل GitHub Actions للمستودع الفردي الخاص بي الذي يبني فقط الحزم المتغيرة. كيف أستخدم العلامة --affected مع turbo run؟
أنماط متقدمة
أحتاج إلى تنفيذ نمط Transit Nodes للمهام المتوازية مع تحديث التخزين المؤقت. كيف أعرّف dependsOn للسماح بالتنفيذ المتوازي مع تحديث التخزين المؤقت عندما يتغير كود المصدر للتبعيات؟

Bonnes pratiques

  • استخدم دائماً 'turbo run' في نصوص package.json وخطوط أنابيب CI، وليس الاختزال 'turbo <task>' الذي مخصص فقط للاستخدام التفاعلي في الطرفية
  • ضع نصوص البناء في package.json لكل حزمة وسجل المهام في turbo.json بالجذر، وتجنب النصوص بالجذر التي defeat التوازي
  • استخدم globalEnv وglobalDependencies للتكوين المشترك عبر جميع المهام، مما يقلل التكرار في تكوينات المهام الفردية

Éviter

  • استخدام '&&' لسلسلة مهام turbo معاً - دع turbo ينسق تنفيذ المهام من خلال dependsOn بدلاً من ذلك
  • وضع منطق المهام في نصوص package.json بالجذر - هذا يتجاوز رسم بياني التبعيات والتوازي turbo
  • استخدام مسارات نسبية مثل '../' في مدخلات turbo.json - استخدم $TURBO_ROOT$ ل��مسارات المتعلقة بالمستودع بدلاً من ذلك

Foire aux questions

ما الفرق بين 'turbo build' و 'turbo run build'؟
استخدم 'turbo run build' في نصوص package.json وخطوط أنابيب CI. الاختزال 'turbo build' هو فقط لأوامر الطرفية الواحدة المكتوبة مباشرة بواسطة البشر. كلمة 'run' تضمن سلوك متسق في النصوص البرمجية.
كيف أستبعد حزمة من البناء؟
استخدم العلامة --filter مع النفي: turbo run build --filter=!@excluded/package. يمكنك أيضاً استخدام --filter مع أنماط glob مثل --filter=./apps/* لتضمين مجلدات محددة فقط.
لماذا لا يعمل التخزين المؤقت لمشاريع TypeScript؟
تأكد من وجود 'incremental: true' في tsconfig.json لملفات التخزين المؤقت .tsbuildinfo. تحقق أيضاً من أن نمط المخرجات الخاص بك يتطابق مع outDir. تحقق من أن المتغيرات البيئية المؤثرة على البناء معرفة في مفتاح env.
كيف أعرّف التخزين المؤقت عن بُعد لفريقي؟
إعداد Vercel Remote Cache أو عن بُعد مستضاف. استخدم 'npx turbo login' للمصادقة، ثم 'npx turbo link' للاتصال بالعن بُعد. يحتاج أعضاء الفريق إلى أذونات مناسبة للوصول إلى العناصر المخزنة مؤقتاً.
ما هو نمط Transit Nodes ومتى يجب استخدامه؟
Transit Nodes تنشئ مهمة no-op التي تؤسس علاقات تبعية بدون تنفيذ تسلسلي. استخدمها عندما يمكن للمهام أن تعمل بالتوازي ولكن تحتاج إلى تحديث التخزين المؤقت عندما يتغير كود المصدر للتبعية. عرّفها مع dependsOn: ["^transit"] في مهمتك الفعلية.
كيف تعمل المتغيرات البيئية في Turborepo؟
المتغيرات في مفتاح 'env' يتم تجزئتها في مفتاح التخزين المؤقت - التغييرات تشغل إعادة البناء. استخدم 'globalEnv' للمتغيرات المشتركة عبر جميع المهام. يتم تصفية المتغيرات غير الموجودة في هذه المفاتيح في الوضع الصارم. استخدم passThroughEnv للسماح بمتغيرات CI محددة.

Détails du développeur

Structure de fichiers