This repository covers some must-haves when starting a project so you don't have to. Things like setting up a basic CI configuration, a README, issue templates and whatnot. Simply clone it and fill it up with your project's files! Everything you find in here is a suggestion rather than a prescription; don't feel obligated to stick to the templated format! After all, every project is unique in its own right.
To get started, take out this How to section, replace New Project Kit with your project's name and fill up the README template below!
Nice-to-haves
- A lot of projects have a nice logo that catches the eye and builds branding, feel free to add one to your project!
- Badges are a great way to visually represent the current state of your project, from CI to latest released versions.
- Don't forget to add in a badge for your project's Maturity Score!
- Screenshots or GIFs of your project in action can also be pretty cool to have in here!
At a high-level, what is your project about? What problem does it solve? This is the first thing people will see when landing on your repository, make it snappy!
This can be an extension of the Overview describing your problem space. It's a cool way to give an origin story to your project.
How can users set up your project? Through npm/yarn? Through a manual installer and some cURL magic? Be as thorough as you can!
Once installed, how can your users make it work?
If there is a specific procedure to uninstall your project that isn't straightforward and/or well-defined, you should outline it here to avoid frustrations.
Instructions or guidelines on how to contribute are essential to any OSS project! You can easily split this off to a CONTRIBUTING document alongside the README, or keep it in here.
In your contribution guide, you can outline best practices, how to set up a development environment that meets the needs of your project, and what the process is to get contributions merged.
You don't really have to add this section yourself! Simply use all-contributors by adding comments in your PRs like so:
@all-contributors please add <username> for <contribution type>
Find out more about All-Contributors on their website!
It can be tremendously useful for both your maintainers and contributors to have tools within reach. Don't hesitate to rely on Docker if you need specific environments to test, develop or build in. Moreover, a well-crafted Makefile
can streamline a lot of the common tasks that are part of your project's development cycle. Bonus: you can use those in CI!
You can set up a webhook that will post Github updates (new pull requests, new issues, ...) to Discord automagically by using the Discord Webhook API. This requires some set up at the repository level which you can do while setting up your project as well as a couple of boxes to tick on the appropriate channel to allow Github to post on Discord. If in doubt, reach out to the Discord space's admins!
If you have any suggestions for ways we could make this starting kit better, please open a documentation request!