Skip to content

Latest commit

 

History

History
44 lines (36 loc) · 2.96 KB

contributing.md

File metadata and controls

44 lines (36 loc) · 2.96 KB

Purpose and Goal

This list is meant to give a high-quality overview of the best parts of the Lua ecosystem, covering all aspects and uses (although with some tilt toward web technologies). Someone out of touch or unfamiliar with Lua (or even just with a particular aspect of Lua) should be able to look at this list and find:

  • Starting points to explore from and resources to consume.
  • The best tools and packages to work with.
  • The most up-to-date practices to follow.
  • An overview of the ways people are actually doing things and the packages people are actually using.

Because of this goal, contributions from the community are welcomed and wanted!

Contribution Guidelines

The following are desirable properties of a package/library on this list:

  • An active maintainer and recent development.
  • Documentation, examples, and tests.
  • Authoritative, of high quality, and not overly specific.
  • Is the best library or package of its kind, or contributes heavily to the overall picture of what's available and possible with Lua.
  • Hosted on GitHub (or at least somewhere reliable).
  • Can be installed with LuaRocks, or is a single pure Lua file, or is otherwise easy to set up.
  • Relatively production-ready, or headed that way; people might actually use it for real projects.

What this list doesn't need or have much room for:

  • A laundry list of every JSON parser, or every database driver, or every web framework; just the really good ones will suffice.
  • Unfinished, unmaintained, or unadopted packages.
  • Packages that do a specific, niche sort of thing that few people will use.
  • Ancient packages that haven't been touched or used in years, or that are just past their time.
  • Packages which have a strictly better alternative available, or which don't add to the picture of what's out there.

Of course, there are exceptions, because meeting all of the good properties and avoiding all the bad ones is hard. For example, the experimental section exists for packages which are particularly awesome, but not close to production-ready.

In general, a useful, high-quality, up-to-date package probably has a place on this list, and the more useful and awesome it is, the more leeway it has. If your suggestion falls under a bad property, or doesn't meet very many of the good properties, you might reconsider.

When making a pull request, please make sure to:

  • Search previous suggestions before making a new one, as yours may be a duplicate.
  • Make a separate pull request for each suggestion.
  • Include a link to the package and briefly describe why it should be included.
  • Add new categories or improve existing categorization when appropriate.
  • Have your description:
    • Be short and simple, descriptive but not pitchy or promotional.
    • Follow this format: [package](link) - Description.
    • Start with a capital and end with a full stop/period; no trailing whitespace.
    • Checked for spelling and grammar.
    • Not say for Lua unnecessarily; it's implied.

Thank you for your suggestions!