bufbuild/buf

The best way of working with Protocol Buffers.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 32 minutes ago
Added to GitGenius on September 5th, 2026
Created on October 3rd, 2019
Open Issues & Pull Requests: 64 (+0)
GitHub issues: Enabled
Number of forks: 367
Total Stargazers: 11,420 (+0)
Total Subscribers: 73 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 7.8 hours
Mean response time: 21.3 days
90th percentile: 9.9 days
Tracked items: 202

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 71% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 8% of issues opened in the past year have been closed. Three people close 72% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 38
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 436 days
Stale 30+ days: 35
Stale 90+ days: 32

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • Feature (87)
  • Bug (70)
  • Needs reproducible example (4)
  • Cleanup (2)
  • Won't Fix (2)
  • Did not follow issue instructions (1)
  • Wishlist (1)

Most active issues this week

Detailed Description

Buf is a modern toolchain for Protocol Buffers that replaces day-to-day protoc use with a fast compiler, module-aware workspaces, formatting, linting, breaking-change detection, code generation, dependency management, and a client for the Buf Schema Registry.

Buf solves the fragmentation and complexity of managing Protocol Buffers across teams and projects. Instead of maintaining shell scripts around protoc with manual include paths, file discovery, and plugin management, Buf provides a unified workflow where a single buf.yaml file declares modules, dependencies, and code generation settings. The tool includes a deterministic parallel compiler tested against protoc output, built-in linting with over forty rules, breaking-change detection that runs before merge, and dependency management through the Buf Schema Registry with lock files for reproducibility. Code generation, plugin configuration, and outputs are centralized in buf.gen.yaml, eliminating the need to maintain plugin binaries across machines or encode behavior in long command-line invocations.

Teams should adopt Buf if they manage Protocol Buffers across multiple repositories or need to distribute schemas and generated code to consumers. It suits projects where governance matters—enforcing consistent style, detecting breaking changes, and managing dependencies across teams. The tool works entirely offline for core CLI features like linting and code generation, but gains distribution, remote plugins, generated SDKs, and server-side policy enforcement when connected to the Buf Schema Registry. If your current workflow relies on protoc with manual include paths and shell scripts, Buf offers a direct upgrade using the same schema language and plugin model with fewer moving parts.

The project maintains a steady cadence of releases with regular updates to core functionality. Development shows consistent attention to both the CLI tool and the broader ecosystem, including the Schema Registry and code generation features. The maintainers actively refine the compiler and linting rules based on real-world usage patterns.