[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5012":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":32,"readmeContent":33,"aiSummary":34,"trendingCount":16,"starSnapshotCount":16,"syncStatus":35,"lastSyncTime":36,"discoverSource":37},5012,"buf","bufbuild\u002Fbuf","bufbuild","The best way of working with Protocol Buffers.","https:\u002F\u002Fbuf.build",null,"Go",11178,361,70,55,0,5,17,74,20,93.58,"Apache License 2.0",false,"main",[26,27,28,29,30,31],"buf-cli","buf-schema-registry","grpc","protobuf","protoc","protocol-buffers","2026-06-12 04:00:24","![The Buf logo](https:\u002F\u002Fraw.githubusercontent.com\u002Fbufbuild\u002Fbuf\u002Fmain\u002F.github\u002Fbuf-logo.svg)\n\n# Buf\n\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fbufbuild\u002Fbuf?color=blue)](https:\u002F\u002Fgithub.com\u002Fbufbuild\u002Fbuf\u002Fblob\u002Fmain\u002FLICENSE)\n[![Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fbufbuild\u002Fbuf?include_prereleases)](https:\u002F\u002Fgithub.com\u002Fbufbuild\u002Fbuf\u002Freleases)\n[![CI](https:\u002F\u002Fgithub.com\u002Fbufbuild\u002Fbuf\u002Fworkflows\u002Fci\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fbufbuild\u002Fbuf\u002Factions?workflow=ci)\n[![Docker](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Fbufbuild\u002Fbuf)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fbufbuild\u002Fbuf)\n[![Homebrew](https:\u002F\u002Fimg.shields.io\u002Fhomebrew\u002Fv\u002Fbuf)](https:\u002F\u002Fgithub.com\u002Fbufbuild\u002Fhomebrew-buf)\n[![Slack](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fslack-buf-%23e01563)][badges_slack]\n\n\u003Ca name=\"features\">\u003C\u002Fa>\nThe [`buf`][buf] CLI is the best tool for working with [Protocol Buffers][protobuf]. It provides:\n\n- A [linter][lint_usage] that enforces good API design choices and structure.\n- A [breaking change detector][breaking_tutorial] that enforces compatibility at the source code or wire level.\n- A [generator][generate_usage] that invokes your plugins based on [configuration files][templates].\n- A [formatter][format_usage] that formats your Protobuf files in accordance with industry standards.\n- Integration with the [Buf Schema Registry][bsr], including full dependency management.\n\n## Installation\n\n### Homebrew\n\nYou can install `buf` using [Homebrew][brew] (macOS or Linux):\n\n```sh\nbrew install bufbuild\u002Fbuf\u002Fbuf\n```\n\nThis installs:\n\n- The `buf`, [`protoc-gen-buf-breaking`][breaking], and [`protoc-gen-buf-lint`][lint] binaries\n- Shell completion scripts for [Bash], [Fish], [Powershell], and [zsh]\n\n### Other methods\n\nFor other installation methods, see our [official documentation][install], which covers:\n\n- Installing `buf` via [npm]\n- Installing `buf` on [Windows]\n- Using `buf` as a [Docker image][docker]\n- Installing as a [binary], from a [tarball], and from [source] through [GitHub Releases][releases]\n- [Verifying] releases using a [minisign] public key\n\n\n## Usage\n\nBuf's help interface provides summaries for commands and flags:\n\n```sh\nbuf --help\n```\n\nFor more comprehensive usage information, consult Buf's [documentation][docs], especially these guides:\n\n* [`buf breaking`][breaking_tutorial]\n* [`buf build`][build_usage]\n* [`buf generate`][generate_usage]\n* [`buf lint`][lint_usage]\n* [`buf format`][format_usage]\n* [`buf registry`][bsr_quickstart] (for using the [BSR])\n\n## CLI breaking change policy\n\nWe will never make breaking changes within a given major version of the CLI. After `buf` reached v1.0, you can expect no breaking changes until v2.0. But as we have no plans to ever release a v2.0, we will likely never break the `buf` CLI.\n\n> This breaking change policy does _not_ apply to commands behind the `buf beta` gate, and you should expect breaking changes to commands like `buf beta registry`. The policy does go into effect, however, when those commands or flags are elevated out of beta.\n\n## Our goals for Protobuf\n\n[Buf]'s goal is to replace the current paradigm of API development, centered around REST\u002FJSON, with a **schema-driven** paradigm. Defining APIs using an [IDL] provides numerous benefits over REST\u002FJSON, and [Protobuf] is by far the most stable and widely adopted IDL in the industry. We've chosen to build on this widely trusted foundation rather than creating a new IDL from scratch.\n\nBut despite its technical merits, actually _using_ Protobuf has long been more challenging than it needs to be. The Buf CLI and the [BSR](#the-buf-schema-registry) are the cornerstones of our effort to change that for good and to make Protobuf reliable and easy to use for service owners and clients alike—in other words, to create a **modern Protobuf ecosystem**.\n\nWhile we intend to incrementally improve on the `buf` CLI and the [BSR](#the-buf-schema-registry), we're confident that the basic groundwork for such an ecosystem is _already_ in place.\n\n## The Buf Schema Registry\n\nThe [Buf Schema Registry][bsr] (BSR) is a SaaS platform for managing your Protobuf APIs. It provides a centralized registry and a single source of truth for all of your Protobuf assets, including not just your `.proto` files but also [remote plugins][bsr_plugins]. Although the BSR provides an intuitive browser UI, `buf` enables you to perform most BSR-related tasks from the command line, such as [pushing] Protobuf sources to the registry and managing [users] and [repositories]. \n\n> The BSR is not required to use `buf`. We've made the core [features] of the `buf` CLI available to _all_ Protobuf users.\n\n## More advanced CLI features\n\nWhile `buf`'s [core features][features] should cover most use cases, we've included some more advanced features to cover edge cases:\n\n* **Automatic file discovery**. Buf walks your file tree and builds your `.proto` files in accordance with your supplied [build configuration][build_config], which means that you no longer need to manually specify `--proto_paths`. You can still, however, specify `.proto` files manually through CLI flags in cases where file discovery needs to be disabled.\n* **Fine-grained rule configuration** for [linting][lint_rules] and [breaking changes][breaking_rules]. While we do have recommended defaults, you can always select the exact set of rules that your use case requires, with [40 lint rules][lint_rules] and [53 breaking change rules][breaking_rules] available.\n* **Configurable error formats** for CLI output. `buf` outputs information in `file:line:column:message` form by default for each lint error and breaking change it encounters, but you can also select JSON, MSVS, JUnit, and Github Actions output.\n* **Editor integration** driven by `buf`'s granular error output. We currently provide linting integrations for both [Vim and Visual Studio Code][ide] and [JetBrains IDEs][jetbrains] like IntelliJ and GoLand, but we plan to support other editors such as Emacs in the future.\n* **Universal Input targeting**. Buf enables you to perform actions like linting and breaking change detection not just against local `.proto` files but also against a broad range of other [Inputs], such as tarballs and ZIP files, remote Git repositories, and pre-built [image][images] files.\n* **Speed**. Buf's internal Protobuf [compiler] compiles your Protobuf sources using all available cores without compromising deterministic output, which is considerably faster than `protoc`. This allows for near-instantaneous feedback, which is of special importance for features like [editor integration][ide].\n\n## Next steps\n\nOnce you've installed `buf`, we recommend completing the [CLI tutorial][cli-tutorial], which provides a broad but hands-on overview of the core functionality of the CLI. The tour takes about 10 minutes to complete.\n\nAfter completing the tour, check out the remainder of the [docs] for your specific areas of interest.\n\n## Builds\n\nThe following is a breakdown of the binaries by CPU architecture and operating system available through our [releases]:\n\n|  | Linux | MacOS | Windows | OpenBSD | FreeBSD |\n| --- | --- | --- | --- | --- | --- |\n| x86 (64-bit) | ✅ | ✅ | ✅ | ✅ | ✅ |\n| ARM (64-bit) | ✅ | ✅ | ✅ | ✅ | ✅ |\n| ARMv7 (32-bit) | ✅ | ❌ | ❌ | ❌ | ❌ |\n| RISC-V (64-bit) | ✅ | ❌ | ❌ | ❌ | ❌ |\n| ppc64le | ✅ | ❌ | ❌ | ❌ | ❌ |\n| s390x | ✅ | ❌ | ❌ | ❌ | ❌ |\n\n## Community\n\nFor help and discussion around Protobuf, best practices, and more, join us on [Slack][badges_slack].\n\nFor updates on the Buf CLI, [follow this repo on GitHub][repo].\n\nFor feature requests, bugs, or technical questions, email us at [dev@buf.build][email_dev]. For general inquiries or inclusion in our upcoming feature betas, email us at [info@buf.build][email_info].\n\n[badges_slack]: https:\u002F\u002Fbuf.build\u002Flinks\u002Fslack\n[bash]: https:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Fbash\n[binary]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fcli\u002Finstallation\u002F#source\n[breaking]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fbreaking\u002Foverview\u002F\n[breaking_rules]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fbreaking\u002Frules\u002F\n[breaking_tutorial]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fbreaking\u002Ftutorial\u002F\n[brew]: https:\u002F\u002Fbrew.sh\n[bsr]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fbsr\u002F\n[bsr_plugins]: https:\u002F\u002Fbuf.build\u002Fplugins\n[bsr_quickstart]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fbsr\u002Fquickstart\u002F\n[buf]: https:\u002F\u002Fbuf.build\n[build_config]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fbuild\u002Fusage\u002F#key-concepts\n[build_usage]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fbuild\u002Fusage\n[cli-tutorial]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fcli\u002Fquickstart\u002F\n[compiler]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Freference\u002Finternal-compiler\u002F\n[docker]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fcli\u002Finstallation\u002F#docker\n[docs]: https:\u002F\u002Fbuf.build\u002Fdocs\n[email_dev]: mailto:dev@buf.build\n[email_info]: mailto:info@buf.build\n[features]: #features\n[fish]: https:\u002F\u002Ffishshell.com\n[format_usage]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fformat\u002Fstyle\u002F\n[generate_usage]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fgenerate\u002Ftutorial\u002F\n[ide]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fcli\u002Feditor-integration\u002F\n[idl]: https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FInterface_description_language\n[images]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Freference\u002Fimages\u002F\n[inputs]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Freference\u002Finputs\u002F\n[install]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fcli\u002Finstallation\u002F\n[jetbrains]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fcli\u002Feditor-integration\u002F#jetbrains-ides\n[lint]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Flint\u002Foverview\u002F\n[lint_rules]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Flint\u002Frules\u002F\n[lint_usage]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Flint\u002Ftutorial\u002F\n[npm]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fcli\u002Finstallation\u002F#npm\n[minisign]: https:\u002F\u002Fgithub.com\u002Fjedisct1\u002Fminisign\n[powershell]: https:\u002F\u002Fdocs.microsoft.com\u002Fen-us\u002Fpowershell\n[protobuf]: https:\u002F\u002Fprotobuf.dev\n[pushing]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fbsr\u002Fmodule\u002Fpublish\u002F\n[releases]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fcli\u002Finstallation\u002F#github\n[repo]: https:\u002F\u002Fgithub.com\u002Fbufbuild\u002Fbuf\u002F\n[repositories]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fconcepts\u002Frepositories\u002F\n[source]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fcli\u002Finstallation\u002F#source\n[tarball]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fcli\u002Finstallation\u002F#github\n[templates]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fconfiguration\u002Fv2\u002Fbuf-gen-yaml\u002F\n[users]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fadmin\u002Fmanage-members\u002F\n[verifying]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fcli\u002Finstallation\u002F#github\n[windows]: https:\u002F\u002Fbuf.build\u002Fdocs\u002Fcli\u002Finstallation\u002F#windows\n[zsh]: https:\u002F\u002Fzsh.org\n","bufbuild\u002Fbuf 是一个用于处理 Protocol Buffers 的最佳工具。它提供了包括代码格式化、API 设计检查、破坏性变更检测以及基于配置文件的代码生成等功能，并且支持与 Buf Schema Registry 集成，实现依赖管理。该项目使用 Go 语言编写，具有强大的命令行界面（CLI），能够帮助开发者在开发过程中保持 Protobuf 文件的一致性和高质量。适用于需要高效管理和维护 Protobuf 定义文件的各种规模的应用场景，特别是那些依赖于 gRPC 或者需要跨平台通信的服务端应用开发。",2,"2026-06-11 03:02:04","top_language"]