cjpatoilo / open-source-recipe

A meaningful open source checklist.

Home Page:https://cjpatoilo.com/open-source-recipe

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Open Source Recipe

A meaningful open source checklist.

Why it's awesome?

Open Source Recipe is a work-in-progress project by CJ Patoilo that brings essential information to build professional open source projects. Note that there is no cake recipe, there is no right or wrong way or the BEST way, but there are some good practices. Hope you enjoy!

Table of Contents

Getting Started

Version Control

Git is the most used tool among developers and GitHub is the platform most used by communities around the world for open source projects.

GitHub's Support

Lorem ipsum

Default Files

To document and pass information so users have quick access to relevant content on how to use your project, have a README.md file at the root of your open source project. Be objective, just report what is needed for those who just want to have a quick view on the project. In addition, you can also put an F.A.Q. and links to demos, lisence or more extensive documentation.

Badges

A cool thing that gives a serious effect to the open source project is the use of badges. The shields.io project offers a collection of parameterizable badges for you to add in your project.

  • CI Status
  • Coverage Status
  • Quality Status
  • Dependencies Status
  • Download Status
  • Gitter Chat

Contributing

GitHub provides support for anyone contributing by opening a new issue, or pulling a request. To do this, create a file called issue_template.md and pull_request_template.md. Also create a contributing.md file targeting those who want to contribute to your project. A good practice is to save these files inside the .github directory.

  • .github/contributing.md
  • .github/issue_template.md
  • .github/pull_request_template.md

Code Quality

Another very useful tool is Codacy and Coveralls, which will validate the quality of the code in your project and will even offer a seal with the final mark. There are several tools that can offer coverage of tests, code evaluation, accessibility, performance, etc.

Code Style

Style configuration files help keep order and even discipline among developers in the project. The main ones would be the lint files, such as .eslintrc or .stylintrc, and of course, the .editorconfig.

Code Coverage

Tests show the seriousness of your open source project and the quality of the new releases. There are several options for testing tools. Do not forget to add information in your readme about how the developer can run the tests.

Continuous Integration

GitHub allows you to use various tools that can be connected to it through its APIs. Examples are TravisCI and AppVeyor, which will run the build tasks of your application and try to pass your unit tests, linters, etc.

Publishing

A package manager or package management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer's operating system in a consistent manner.

Propagation

Contributing

Want to contribute? Follow these recommendations.

License

Designed with ♥ by CJ Patoilo. Licensed under the MIT License.