This might be unpopular here but I think the common case of adding a package to the Opam repository is too complicated. I recently tried
opam publish and
dune-release and they failed with unexplained authentication problems or demanded conventions that go beyond what Opam requires like conventions where to publish documentation.
Obviously it’s my responsibility to have an Opam file that correctly specifies dependencies and some meta data. Beyond that, in the common case the Opam file is part of a GitHub repository that includes the code and GitHub hosts the archive based on the tag. Why is this more complicated than providing an URL to a GitHub repository and a version tag? I don’t want to exclude other methods and forms of hosting but I believe the ecosystem would benefit from a simpler process for this use case. I know that I publish fewer packages than I could because I simply don’t want to deal with the complexity.