À propos du service
TraduitJ'écris de l'automatisation de construction sur Starlark — un dialecte Python qui alimente les systèmes Bazel et Buck. Si vos constructions sont lentes, instables ou éparpillées dans des dizaines de fichiers BUILD en copiant-collant, je les transforme en petites règles et macros réutilisables qui sont complètement hermétiques et reproductibles.
Ce que vous obtenez : des règles personnalisées avec des actions et des fichiers de sortie corrects ; des macros qui suppriment le code standard des fichiers BUILD ; des fournisseurs personnalisés pour passer des données structurées entre les règles ; des chaînes d'outils et une configuration de plateforme pour la compilation croisée ; des aspects pour la génération de code, le linting et l'analyse de graphes de dépendances ; des règles de dépôt qui téléchargent et fixent de manière déterministe les dépendances externes.
La justesse est importante pour moi. Chaque action déclare explicitement les entrées et les sorties — rien ne fuit de l'hôte, le cache distant et l'exécution distante fonctionnent immédiatement, et les constructions incrémentales restent rapides. J'écris du code Starlark de manière idiomatique, avec des doc-strings et je le couvre avec des tests d'analyse afin que les règles ne se brisent pas silencieusement lors de la prochaine mise à jour de Bazel.
Tâches typiques : migrer un arbre Make ou CMake vers Bazel, extraire un ensemble de règles dans une bibliothèque commune pour plusieurs cibles, ajouter un support linguistique (Go, Rust, Python, TypeScript, protobuf), configurer le cache distant et CI, déboguer des sorties non déterministes et des échecs de cache. Envoyez-moi votre dépôt et décrivez la douleur — je décomposerai le travail en étapes claires et vérifiables avec un prix fixe et une date limite.
Ce que vous obtenez : des règles personnalisées avec des actions et des fichiers de sortie corrects ; des macros qui suppriment le code standard des fichiers BUILD ; des fournisseurs personnalisés pour passer des données structurées entre les règles ; des chaînes d'outils et une configuration de plateforme pour la compilation croisée ; des aspects pour la génération de code, le linting et l'analyse de graphes de dépendances ; des règles de dépôt qui téléchargent et fixent de manière déterministe les dépendances externes.
La justesse est importante pour moi. Chaque action déclare explicitement les entrées et les sorties — rien ne fuit de l'hôte, le cache distant et l'exécution distante fonctionnent immédiatement, et les constructions incrémentales restent rapides. J'écris du code Starlark de manière idiomatique, avec des doc-strings et je le couvre avec des tests d'analyse afin que les règles ne se brisent pas silencieusement lors de la prochaine mise à jour de Bazel.
Tâches typiques : migrer un arbre Make ou CMake vers Bazel, extraire un ensemble de règles dans une bibliothèque commune pour plusieurs cibles, ajouter un support linguistique (Go, Rust, Python, TypeScript, protobuf), configurer le cache distant et CI, déboguer des sorties non déterministes et des échecs de cache. Envoyez-moi votre dépôt et décrivez la douleur — je décomposerai le travail en étapes claires et vérifiables avec un prix fixe et une date limite.