I've certainly got a few opinions. I think that the following are mandatory:
- rspec-puppet tests (that pass) - beaker, litmus, or test-kitchen tests (that pass) - Critical path test coverage that matches your supported operating systems (as much as is reasonable) - Documented parameters (generated docs with puppet-strings should pass) - A reasonable README.md - A generated REFERENCE.md - A useful Changelog (however you do it) - No embedded binaries - Use vendor provided packages as a default - A reasonable update period/response time to bugs - No telemetry/phone home capabilities - Fail closed/safe I think that the following are nice to have: - Arrow alignment - Indentation - Muti-node tests (for externally-facing services) I think that the following are largely pointless: - Line length checks - Trailing comma checks - Code coverage checks - Taking time to add tests for trivial non-critial-path items just makes it more difficult to refactor the module. Acceptance tests should be used for functionality. Trevor On Thu, Oct 28, 2021 at 4:33 PM Ben Ford <ben.f...@puppet.com> 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! > > -- > Ben Ford > @binford2k > Ecosystem Product Manager > _._,_._,_ > ------------------------------ > Groups.io Links: > > You receive all messages sent to this group. > > View/Reply Online (#395) <https://groups.io/g/voxpupuli/message/395> | Reply > To Group > <voxpup...@groups.io?subject=Re:%20%5Bvoxpupuli%5D%20Do%20you%20have%20opinions%20on%20what%20module%20quality%20means%3F> > | Reply To Sender > <ben.f...@puppet.com?subject=Private:%20Re:%20%5Bvoxpupuli%5D%20Do%20you%20have%20opinions%20on%20what%20module%20quality%20means%3F> > | Mute This Topic <https://groups.io/mt/86662086/1024671> | New Topic > <https://groups.io/g/voxpupuli/post> > Your Subscription <https://groups.io/g/voxpupuli/editsub/1024671> | Contact > Group Owner <voxpupuli+ow...@groups.io> | Unsubscribe > <https://groups.io/g/voxpupuli/leave/4249677/1024671/629153198/xyzzy> [ > tvaug...@onyxpoint.com] > _._,_._,_ > > -- Trevor Vaughan Vice President, Onyx Point (410) 541-6699 x788 -- This account not approved for unencrypted proprietary information -- -- 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/CANs%2BFoV-6fcCAZAq5L5AQeqDs03-K_96d0Mx-HsHbAMjd3Qgjg%40mail.gmail.com.