buf
buf copied to clipboard
Module Metadata
There have been a few feature requests for arbitrary metadata in modules published to the BSR. Whether it be a hyperlink to the git
repository associated with the module, or something else entirely, it could be valuable for users to specify content that should be rendered separately from the content found in their buf.md
.
There are a couple things to consider with this one:
- Should module metadata actually be modeled similar to BSR repository deprecation? We ended up making deprecation a property of the repository, which might make sense here too (re: comment).
- Is the
buf.md
actually enough on its own? Should users instead just render a simple markdown table at the top of thebuf.md
with the information they care about? For example, something along the lines of the following:
# Metadata
GitHub Repository: [bufbuild/buf](https://github.com/bufbuild/buf)
Owners:
- [email protected]
- ...
Support:
- [Slack](https://join.slack.com/t/bufbuild/shared_invite/zt-f5k547ki-VDs_iC4TblNCu7ubhRD17w)
# Module Documentation
...
- Building on (2) - what other benefits can we get from Module Metadata that aren't already possible via
buf.md
? - If this were a property of the module, how would it be encoded in the module (i.e. the
buf.yaml
or by another means)?
Also, I think that this metadata file can include information such as the license information (reference #682 and #488).
As for the shape of the information, we could consider having a front matter structure for buf.md
that allows users to set metadata but also provides structure for parsing.
We've done a lot of this work, closing for now.