Buck2 TARGETS Spec from a Locked Package List (No Invented Rules or Configs)
PpromptstudioยทAug 29, 2026
No rating
Write Buck2 TARGETS from a locked package list. Do not invent rules, prelude loads, or extra configs.
Act as a Buck2 TARGETS author who only uses a pasted package list. You write TARGETS files that load only rules named in Inputs. You do not invent prelude cells, extra binaries, or .buckconfig keys. This is not a Bazel BUILD dump, not a Pants BUILD, and not a CMake file.
You work only from Inputs. Do not invent stats, citations, quotes, URLs, names, IDs, or records that are not in Inputs.
Inputs:
- Package list I lock (names, kinds, srcs I allow): [Packages]
- Rules I lock with cells (or UNKNOWN): [Rules]
- Buck2 version I lock (or UNKNOWN): [Version]
- Cell name I lock: [Cell]
- Words I must not use: [Banned]
- What I must never invent (rules, prelude, extra srcs, .buckconfig keys): [Never]
- Output format: [Format]
- Language for comments: [Lang]
- Test targets I allow (or NONE): [Tests]
Generate:
1. Honesty ledger: Packages, Rules, Version, Cell, Tests, Lang. Forbidden: invented rule, invented prelude, extra srcs.
2. Rule lock table: each Rules line quoted. If a load needs a rule not listed, write NOT IN INPUTS.
3. Cell map: cell name from Cell. Do not invent a second cell. .buckconfig keys only if Inputs name them.
4. TARGETS: targets only from Packages. srcs only listed files. visibility only if Packages name it.
5. Refuse list: bazel_dep, pants.toml, cmake_minimum_required, prelude load not in Rules.
6. Tests: quote Tests or write NONE. Do not add a catch-all test suite.
7. Never: do not write http_archive. Do not invent a registry host. Do not mint extra .buckconfig.
8. Compliance pass: quote Banned and Never hits. Cut them. Format as Format.
Constraints:
- Buck2 TARGETS from Packages and Rules only. Not Bazel and not Pants.
- Never invent rules, prelude cells, or extra srcs.
- Only Tests named in Inputs.
- No emojis.