Compétences bazel-build-optimization
📦

bazel-build-optimization

Sûr

Optimiser les performances de build Bazel

Également disponible depuis: wshobson

Les builds Bazel dans les grands monorepos peuvent être lents et complexes. Cette skill fournit des modèles éprouvés pour la mise en cache à distance, l'exécution parallèle et les règles personnalisées pour réduire considérablement les temps de build.

Prend en charge: Claude Codex Code(CC)
🥉 75 Bronze
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 "bazel-build-optimization". Aidez-moi à configurer Bazel pour un projet Python avec des dépendances externes

Résultat attendu:

Voici une configuration WORKSPACE.bazel de base pour Python :

```python
workspace(name = "myproject")

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
name = "rules_python",
sha256 = "...",
strip_prefix = "rules_python-0.27.0",
url = "https://github.com/bazelbuild/rules_python/releases/download/0.27.0/rules_python-0.27.0.tar.gz",
)

load("@rules_python//python:repositories.bzl", "py_repositories")
py_repositories()
```

Ensuite, créez un fichier BUILD.bazel avec les règles py_library et py_test.

Utilisation de "bazel-build-optimization". Comment configurer l'exécution à distance ?

Résultat attendu:

Ajoutez ceci à votre .bazelrc pour l'exécution à distance :

```bash
build:remote-exec --remote_executor=grpcs://remote.example.com
build:remote-exec --remote_instance_name=projects/myproject/instances/default
build:remote-exec --jobs=500
```

Conseils de sécurité :
- Utilisez TLS pour les endpoints distants
- Authentifiez-vous avec OAuth ou des certificats
- Commencez par un cache distant en lecture seule avant d'activer l'exécution

Audit de sécurité

Sûr
v1 • 2/25/2026

Static analysis detected 36 potential issues (external_commands, network, filesystem patterns), but all are false positives. The skill contains documentation and templates for Bazel build optimization with example commands and configuration snippets - no actual executable code with security implications. URLs are legitimate documentation links, filesystem references are standard Bazel cache paths, and cryptographic mentions are SHA256 checksums for download verification.

1
Fichiers analysés
400
Lignes analysées
0
résultats
1
Total des audits
Aucun problème de sécurité trouvé
Audité par: claude

Score de qualité

38
Architecture
100
Maintenabilité
87
Contenu
50
Communauté
100
Sécurité
100
Conformité aux spécifications

Ce que vous pouvez construire

Configurer la mise en cache à distance pour les pipelines CI/CD

Configurez Bazel avec la mise en cache à distance pour partager les artefacts de build entre les runners CI et réduire les temps de build de plusieurs heures à quelques minutes.

Optimiser un grand monorepo TypeScript

Appliquez les meilleures pratiques pour organiser les fichiers BUILD, activer l'exécution parallèle et configurer la mise en cache disque.

Créer des règles de build personnalisées pour Docker

Écrivez une règle Bazel personnalisée pour build des images Docker dans le cadre du graphe de build avec un suivi approprié des dépendances.

Essayez ces prompts

Configuration Bazel de base
Help me set up Bazel for a new monorepo. I need to configure WORKSPACE.bazel with rules for JavaScript and Python. What are the essential configurations?
Activer la mise en cache à distance
I want to set up remote caching for our Bazel builds. We use Google Cloud. Show me the .bazelrc configuration needed and any security considerations.
Écrire une règle personnalisée
Create a custom Bazel rule that builds a Docker image. The rule should accept a Dockerfile, base image, and layer files as inputs.
Profiler et optimiser le build
Our Bazel build takes 30 minutes. Help me profile it using bazel build --profile and identify the slowest actions. What optimizations should I try first?

Bonnes pratiques

  • Utilisez des cibles fines au lieu de motifs glob larges pour de meilleurs builds incrémentiels
  • Activez la mise en cache à distance tôt - elle offre les gains de performance les plus importants
  • Épinglez les versions des dépendances dans WORKSPACE pour garantir des builds reproductibles

Éviter

  • Utiliser glob(['**/*.py']) pour srcs - provoque des rebuilds inutiles
  • Ignorer la configuration WORKSPACE - conduit à une résolution incohérente des dépendances
  • Ignorer les avertissements de build - les petits problèmes deviennent de la dette technique

Foire aux questions

Est-ce que cette skill installe Bazel ?
Non, Bazel doit être pré-installé sur votre système. Cette skill vous aide à configurer et optimiser Bazel une fois qu'il est installé.
Puis-je utiliser ceci pour d'autres systèmes de build non-Bazel ?
Non, cette skill est spécifiquement pour Bazel. Elle couvre WORKSPACE, les fichiers BUILD, .bazelrc et les concepts spécifiques à Bazel.
Combien de temps de build puis-je économiser ?
Avec la mise en cache à distance, les équipes observent généralement une réduction de 50 à 90 % des temps de build après le premier build. L'exécution à distance peut fournir des améliorations encore plus importantes pour les grandes bases de code.
La mise en cache à distance est-elle sécurisée ?
Oui, lorsqu'elle est correctement configurée avec TLS et authentification. Commencez par un cache en lecture seule pour vérifier la sécurité avant d'activer l'accès en écriture.
Cela peut-il aider à migrer vers Bazel ?
Oui, la skill inclut des conseils sur la migration vers Bazel depuis d'autres systèmes de build et la configuration des configurations WORKSPACE initiales.
Quels langages sont pris en charge ?
La skill couvre JavaScript/TypeScript, Python, Java, C++ et Docker. Elle montre comment configurer les règles pour chaque écosystème de langage.

Détails du développeur

Structure de fichiers

📄 SKILL.md