Buf(1)

πŸ“¦
version 1.75.0 Β· 3 versions
, in arch rolling

πŸ’… Buf(1) β€” the buf breaking page, bestie edition πŸŽ€

okay so this is Buf(1), and we're zooming straight in on buf breaking. it's the vibe-check command. the "did u just break my API" command. iconic behavior only. ✨


🌸 NAME 🌸

buf-breaking β€” verify no breaking changes have been made 🫢

like, literally just making sure u didn't ruin everything. no cap.


⭐ SYNOPSIS ⭐

buf breaking  --against  [flags]

πŸ¦‹ DESCRIPTION πŸ¦‹

bestie. this command makes sure that the location has no breaking changes compared to the location. yes. that's the whole assignment. πŸ’€

the first argument is the source, module, or image to check for breaking changes, and it must be one of format [binpb,dir,git,json,mod,protofile,tar,txtpb,yaml,zip]. if u don't pass an argument at all, it just defaults to "." β€” like, it'll just look at where u already are. main character energy tbh. πŸ‘‘


✨ OPTIONS ✨

  • --against="" β€” Required, except if --against-registry is set. this is the source, module, or image to check against. must be one of format [binpb,dir,git,json,mod,protofile,tar,txtpb,yaml,zip]. it's giving "who am i comparing myself to" πŸ’…
  • --against-config="" β€” the buf.yaml file or data to use to configure the against source, module, or image. yes, the against side gets its own config. she's got her own little setup. πŸŽ€
  • --against-registry[=false] β€” run breaking checks against the latest commit on the default branch in the registry. all modules in the input must have a name configured, otherwise this will fail. and if a remote module is not found with the configured name, then this will also fail. also also β€” this cannot be set with --against. pick a lane, bestie. πŸ™ˆ
  • --config="" β€” the buf.yaml file or data to use for configuration
  • --disable-symlinks[=false] β€” do not follow symlinks when reading sources or configuration from the local filesystem. by default, symlinks are followed in this CLI, but never followed on the Buf Schema Registry. so like, know the difference, ok? 🧚
  • --error-format="text" β€” the format for build errors or check violations printed to stdout. must be one of [text,json,msvs,junit,github-actions,gitlab-code-quality]
  • --exclude-imports[=false] β€” exclude imports from breaking change detection. we're not checking the plus-ones today. βœ‚οΈ
  • --exclude-path=[] β€” exclude specific files or directories, e.g. "proto/a/a.proto", "proto/a". if specified multiple times, the union is taken
  • -h, --help[=false] β€” help for breaking 🫢 (the little helper)
  • --limit-to-input-files[=false] β€” only run breaking checks against the files in the input. when set, the against input contains only the files in the input. overrides --path β€” yeah she said what she said. πŸ”₯
  • --path=[] β€” limit to specific files or directories, e.g. "proto/a/a.proto", "proto/a". if specified multiple times, the union is taken

πŸ‘‘ OPTIONS INHERITED FROM PARENT COMMANDS πŸ‘‘

these come from upstairs. the parent commands. we love a family heirloom. πŸ’œ

  • --debug[=false] β€” turn on debug logging (env BUF_DEBUG)
  • --log-format="color" β€” the log format text,color,json ⟨env BUF_LOG_FORMAT⟩
  • --timeout=0s β€” the duration until timing out, setting it to 0 means no timeout (env BUF_TIMEOUT). literally "we have all the time in the world" energy. 😭

🌈 SEE ALSO 🌈

buf(1) β€” go say hi to the main page, she misses u 🫢


πŸ“ HISTORY πŸ“

2026-10-22 Auto generated by spf13/cobra


fr fr: if --against isn't set and --against-registry isn't set either, that's a problem. and if u try to use both --against and --against-registry together β€” nope, not allowed. πŸ’€

and that's the page!! auto generated by spf13/cobra, dated 2026-10-22 β€” a little robot wrote this for u with love, slay, periodt. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from