Über den Service
ÜbersetztIch schreibe Build-Automatisierung auf Starlark — einem Python-Dialekt, der Bazel- und Buck-Systeme antreibt. Wenn deine Builds langsam, instabil oder über Dutzende von BUILD-Dateien als Copy-Paste verteilt sind, verwandle ich sie in kleine wiederverwendbare Regeln und Makros, die vollständig hermetisch und reproduzierbar sind.
Was du bekommst: benutzerdefinierte Regeln mit korrekten Aktionen und Ausgabedateien; Makros, die Boilerplate-Code aus BUILD-Dateien entfernen; benutzerdefinierte Provider zum Übertragen strukturierter Daten zwischen Regeln; Toolchains und Plattformkonfiguration für die Kreuzkompilierung; Aspekte für die Codegenerierung, Linting und Abhängigkeitsgraphanalyse; Repository-Regeln, die deterministisch externe Abhängigkeiten herunterladen und festlegen.
Korrektheit ist mir wichtig. Jede Aktion erklärt ausdrücklich Eingaben und Ausgaben — nichts leckt vom Host, der Remote-Cache und die Remote-Ausführung funktionieren sofort, und inkrementelle Builds bleiben schnell. Ich schreibe Starlark-Code idiomatisch, mit Doc-Strings und decke ihn mit Analysetests ab, damit Regeln beim nächsten Bazel-Update nicht stillschweigend brechen.
Typische Aufgaben: Migration eines Make- oder CMake-Baums zu Bazel, Extrahieren eines Regelsets in eine gemeinsame Bibliothek für mehrere Ziele, Hinzufügen von Sprachunterstützung (Go, Rust, Python, TypeScript, protobuf), Einrichten von Remote-Cache und CI, Debugging nicht-deterministischer Ausgaben und Cache-Fehler. Schick mir dein Repo und beschreibe das Problem — ich werde die Arbeit in klare überprüfbare Schritte mit einem festen Preis und einer Frist aufteilen.
Was du bekommst: benutzerdefinierte Regeln mit korrekten Aktionen und Ausgabedateien; Makros, die Boilerplate-Code aus BUILD-Dateien entfernen; benutzerdefinierte Provider zum Übertragen strukturierter Daten zwischen Regeln; Toolchains und Plattformkonfiguration für die Kreuzkompilierung; Aspekte für die Codegenerierung, Linting und Abhängigkeitsgraphanalyse; Repository-Regeln, die deterministisch externe Abhängigkeiten herunterladen und festlegen.
Korrektheit ist mir wichtig. Jede Aktion erklärt ausdrücklich Eingaben und Ausgaben — nichts leckt vom Host, der Remote-Cache und die Remote-Ausführung funktionieren sofort, und inkrementelle Builds bleiben schnell. Ich schreibe Starlark-Code idiomatisch, mit Doc-Strings und decke ihn mit Analysetests ab, damit Regeln beim nächsten Bazel-Update nicht stillschweigend brechen.
Typische Aufgaben: Migration eines Make- oder CMake-Baums zu Bazel, Extrahieren eines Regelsets in eine gemeinsame Bibliothek für mehrere Ziele, Hinzufügen von Sprachunterstützung (Go, Rust, Python, TypeScript, protobuf), Einrichten von Remote-Cache und CI, Debugging nicht-deterministischer Ausgaben und Cache-Fehler. Schick mir dein Repo und beschreibe das Problem — ich werde die Arbeit in klare überprüfbare Schritte mit einem festen Preis und einer Frist aufteilen.