Hi,
There were many good ideas on the thread about possible improvements on the score for modules. Some of them are easy to implement/automate, some are a bit tricky. I would like to come back to your initial posting Ben. The goal of voxpupuli-puppet-lint-plugins was to reflect the current state of best practices and style guides in the Puppet ecosystem. Puppet has some docs on puppet.com about formatting code. But that does not contain enough details for newcomers to write good code or to review pull requests. That's why Vox Pupuli started https://voxpupuli.org/docs/reviewing_pr/, basically a checklist for code reviewers that covers the code style.

voxpupuli-puppet-lint-plugins is our solution to automate most of points from our review checklist. The gem and the website are a living document, we update it on a regular basis based on discussions within the community. I think it would be good when not only Vox Pupuli, but the whole puppet ecosystem tries to follow the same styleguide. That's why I think the forge should lint modules based on voxpupuli-puppet-lint-plugins (and that's why I suggested it for pdk-templates).

Someone doesn't agree with our checklist or some linter plugins in voxpupuli-puppet-lint-plugins? please raise an issue on:

* https://github.com/voxpupuli/voxpupuli.github.io
* https://github.com/voxpupuli/voxpupuli-puppet-lint-plugins

I believe that a consistent style guide with proper linting is a good base to onboard newcomers and make their lifes easier but is also the base for high quality public modules. A proper scoring on the forge helps us to achieve this and that's important. If that's done there are many more enhancements for scoring, like the mentioned one in the thread.

Cheers, Tim
Vox Pupuli PMC

On 28.10.21 22:33, Ben Ford wrote:
Trick question, I know. Having strong opinions is part of why we do the
work we do. So I'm hoping that many of you will help us out on this project.

Some time ago, the Forge turned off the quality scores detail display
because many of the warnings were confusing and frightening to less
experienced Puppet users. And we didn't really have a good specification of
what made quality code anyway. That's what I hope to improve on today, and
we'd like to turn it back on with a better picture of each module's quality.

Vox Pupuli has a meta-gem that defines a list of the puppet-lint checks
<https://github.com/voxpupuli/voxpupuli-puppet-lint-plugins/blob/master/voxpupuli-puppet-lint-plugins.gemspec>
that they use for their definition of a quality Puppet module. I'd like the
Forge and Vox Pupuli to be in alignment here, and this seems like the best
place to start.

Do you have a favorite list of puppet-lint checks you use? Do you think
they'd be useful as an ecosystem standard? Can you support that opinion
with a cogent argument for it? Suggest it as a pull request and let's have
that conversation. Together as a community we can all come up with a solid
starting point as a standard definition of module quality.

https://github.com/voxpupuli/voxpupuli-puppet-lint-plugins/blob/master/voxpupuli-puppet-lint-plugins.gemspec

Thank you all for your help!


--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/3c66a801-5bb4-8edf-caf4-1b28ed2d46f0%40bastelfreak.de.

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to