buffrs
buffrs copied to clipboard
UI: display protobuf as HTML
Sorry if this is already a feature or out of scope of the project but I think it would make very much sense if the registry that serves the protobuf files also comes along with a UI to display protobuf files or derivated protobuf docs.
Hey @lcmgh! Nice to see you here.
What you are describing is definitely something that is on the roadmap. I can summarize our plans to you what I understand from talking to @mara-schulke:
- We want to have a UI at some point that renders all of the protobuf definitions.
- This UI should serve as the primary endpoint for documentation, meaning that it pretty-prints everything, makes items (types, services, enums) be linked, similar to what
rustdoc
does. - We would like to use that to also show dependencies and reverse dependencies not only of packages, but also of individual types, if we can.
- We would also have a full-text search here, so that you can search for type names across the entire registry.
There is some ideas on my end for how we might achieve that:
- In the validation crate, we are currently toying with parsing protocol buffer definitions. Having a parsed representation should enable us to make this metadata available to the UI.
- Work is needed on the registry side to not only parse this data, but also store and serve it.
- Someone needs to build a frontend for it.
I do have to say that while this feature is on the roadmap, it is not an immediate high-priority item. So likely we will get around to it but it will take some time. Currently we are focusing on stability of the CLI and building out the registry.
Hi @lcmgh, just to add this as context here:
There is already a first draft of the user interface in the registry/ui
folder in this repository! The feature you are requesting is being worked on in the semi-near future after we have solved the initial registry implementation as @xfbs stated.
Citing the registry vision document:
Beyond hosting Protocol Buffers, the Buffrs Registry will serve as the tool for documentation, insights, and other essential resources associated with APIs. This comprehensive API management empowers users with valuable information to make informed decisions and streamlines the development process.
See https://github.com/helsing-ai/buffrs/discussions/117 😊
Happy to hear your thoughts and further feature requests!