From d3a3dce1590305d35a8e2dba88eaf6120b4a4962 Mon Sep 17 00:00:00 2001 From: Richard Levasseur Date: Wed, 5 Aug 2026 01:45:26 +0000 Subject: [PATCH] agents(rules): add manual tag rule and frontmatter to starlark.md Add YAML frontmatter triggers (*.bzl,BUILD,BUILD.bazel,*.bazel) to .agents/rules/starlark.md so Bazel rules load automatically, and document that internal macro helper targets must use tags = ["manual"] to avoid being built during wildcard expansion. --- .agents/rules/starlark.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.agents/rules/starlark.md b/.agents/rules/starlark.md index 430284bcd5..4517b06aec 100644 --- a/.agents/rules/starlark.md +++ b/.agents/rules/starlark.md @@ -1,3 +1,9 @@ +--- +trigger: glob +description: Starlark Language, Macro, and Testing Invariants +globs: "*.bzl,BUILD,BUILD.bazel,*.bazel" +--- + # Starlark Language & Macro Invariants ## Macro Target Canonicalization @@ -7,6 +13,12 @@ * Note that `python/private/common_labels.bzl` defines `labels`, a struct containing common canonicalized label strings used across the project. +## Manual Tag on Internal Macro Helper Targets +* When macros instantiate internal helper targets (such as private rule targets + for artifact extraction or linking support), always include `tags = ["manual"]`. +* **Why**: This prevents internal helper targets from being implicitly built when + wildcard target patterns (e.g., `//...`) are expanded. + ## Private Alias Pattern when Appending to User `deps` * When macros append internal helper targets to user-provided dependency lists (`deps`), use private alias targets (e.g.