Go
Complete Protocol Buffer ecosystem with gRPC, Connect, Gateway, and validation support. View Go Documentation →
Bufrnix supports code generation for multiple programming languages through a modular plugin system. Each language implementation provides comprehensive Protocol Buffer support with language-specific optimizations and ecosystem integrations.
All examples shown are fully functional and can be found in the examples/
directory. Each example includes:
flake.nix
configuration.proto
files demonstrating various featuresGo
Complete Protocol Buffer ecosystem with gRPC, Connect, Gateway, and validation support. View Go Documentation →
Dart
Flutter and server-side Dart support with full gRPC integration. View Dart Documentation →
Python
Multiple generation options including betterproto, mypy stubs, and gRPC support. View Python Documentation →
JavaScript/TypeScript
Modern ES modules, Connect-ES, gRPC-Web, and Twirp support. View JavaScript Documentation →
Java
Enterprise Java with Protocol Buffers, gRPC, and validation support. View Java Documentation →
Kotlin
Modern Kotlin with coroutines, gRPC, and Connect RPC support. View Kotlin Documentation →
PHP
Protocol Buffer messages with Twirp RPC framework integration. View PHP Documentation →
C
Multiple implementations: protobuf-c, nanopb for embedded systems. View C Documentation →
C#
.NET and C# support with full gRPC integration and NuGet package generation. View C# Documentation →
Swift
iOS, macOS, and server-side Swift with Codable support. View Swift Documentation →
Scala
ScalaPB with case classes, gRPC, JSON serialization, and validation support. View Scala Documentation →
Documentation
Generate HTML, Markdown, JSON, or DocBook documentation from proto files. View Documentation →
SVG Diagrams
Visual diagrams of Protocol Buffer schemas using protoc-gen-d2. View SVG Documentation →
Choose a language above to see detailed configuration options, examples, and best practices. Each language page includes:
Bufrnix excels at generating code for multiple languages from the same proto files. See the multi-language guide for patterns and examples.
Want to add support for a new language? Check our contribution guide for the module interface and implementation guidelines.