Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More project templates #1

Open
3 of 8 tasks
LunarWatcher opened this issue Oct 2, 2021 · 0 comments
Open
3 of 8 tasks

More project templates #1

LunarWatcher opened this issue Oct 2, 2021 · 0 comments
Labels
enhancement New feature or request good first issue Good for newcomers hacktoberfest

Comments

@LunarWatcher
Copy link
Owner

LunarWatcher commented Oct 2, 2021

Dawn needs more templates.

See the docs for the how. These templates should represent a standard; there's not currently a requirement that the templates have to follow the strictest standards, but standard bad practices should be avoided.

Current languages:

There's a lot of flexibility in what counts as an accepted template, but please check in before implementing anything. Here's a few examples of what counts as invalid templates:

  • Generally anything that already has a template generator (such as hugo, libgdx, etc.). At best, though, a template like this could consist of a single command that runs said generator, along with other boilerplate actions, though preferably if it's command line compatible.
  • Heavily opinionated templates, or templates with obvious bad practices; templates should follow a standard as much as possible, as well as established best-practices for any given language. (Example: no using namespace std; 🗞️). Indentation is a different can of worms, but could be worth just doing :retab automatically to make it work with the editor's standards. (Not sure if that works from spaces to tabs, but I guess we'll find out if this is attempted)

Note that this isn't a complete list; use common sense when adding templates. To finish off though, a good template:

  • Is minimal
  • Includes some sane project standards for both your language, as well as some sane standards for Git and GitHub projects (a README, a gitignore, an empty license, etc.)
  • Compiles or runs a "Hello, World!" program after being generated. This is purely so any user can instantly verify that the build system has been linked successfully1, and is not an invitation to write a "Hello, World!" program in your favorite language (this isn't one of those repos).
  • May include other features that are commented out in the template (Example: Conan in the C++ template). This may change if we support template arguments (Support template arguments #4)

1: Dunno about you, but the first thing I do when setting up a project is making sure my build system has been correctly configured. For languages where this doesn't make sense, like Python (because a 0 dependency "Hello, World!" program is trivial to do; takes a file and a command, so there's nothing to test here), this part isn't required

@LunarWatcher LunarWatcher added enhancement New feature or request good first issue Good for newcomers hacktoberfest labels Oct 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers hacktoberfest
Projects
None yet
Development

No branches or pull requests

1 participant