https://github.com/cjpatoilo/open-source-recipe
A meaningful open source checklist.
https://github.com/cjpatoilo/open-source-recipe
checklist open-source tips
Last synced: 6 months ago
JSON representation
A meaningful open source checklist.
- Host: GitHub
- URL: https://github.com/cjpatoilo/open-source-recipe
- Owner: cjpatoilo
- Created: 2019-01-31T17:47:48.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2023-02-27T01:27:35.000Z (over 3 years ago)
- Last Synced: 2025-10-19T15:37:45.258Z (10 months ago)
- Topics: checklist, open-source, tips
- Homepage: https://cjpatoilo.com/open-source-recipe
- Size: 129 KB
- Stars: 7
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- Funding: .github/funding.yml
Awesome Lists containing this project
README
> 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
- [Version Control](#version-control)
- [GitHub's Support](#githubs-support)
- [Default Files](#default-files)
- [Badges](#badges)
- [Contributing](#contributing)
- [Code Quality](#code-quality)
- [Code Style](#code-style)
- [Code Coverage](#code-coverage)
- [Continuous Integration](#continuous-integration)
- [Publishing](#publishing)
## 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.
- [ ] [GitFlow](https://nvie.com/posts/a-successful-git-branching-model)
- [ ] [Git Commit Guidelines](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#-git-commit-guidelines)
- [ ] [SemVer](https://semver.io)
### GitHub's Support
Lorem ipsum
- [ ] [GitHub's Releases](https://github.com/blog/1547-release-your-software)
- [ ] [GitHub's Wiki](https://help.github.com/articles/about-github-wikis)
- [ ] [GitHub's Projects](https://github.com/blog/2272-introducing-projects-for-organizations)
- [ ] [GitHub's Pages](https://pages.github.com)
- [ ] [GitHub's Templates](https://github.com/blog/2111-issue-and-pull-request-templates)
### 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.
- [ ] [readme.md](https://readme.io)
- [ ] [license](https://choosealicense.com)
- [ ] [.gitignore](https://gitignore.io)
### 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.
- [ ] [Codacy](https://codacy.com)
- [ ] [.coveralls.yml](https://coveralls.io)
### 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.
- [ ] [.editorconfig](https://editorconfig.org)
- [ ] [.eslintrc](https://eslint.org)
- [ ] [.stylintrc](https://csslint.net)
### 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.
- [ ] [test/unit](https://mochajs.org)
- [ ] [test/regression](https://garris.github.io/BackstopJS)
### 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.
- [ ] [.travis.yml](https://travis-ci.org)
- [ ] [.appveyor.yml](https://appveyor.com)
### 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.
- [ ] [npm](https://docs.npmjs.com/getting-started/publishing-npm-packages)
- [ ] [Bower](https://bower.io/docs/creating-packages/#register)
- [ ] [Yarn](https://yarnpkg.com/en/docs/publishing-a-package#toc-publishing-your-package)
- [ ] [Composer](https://getcomposer.org/doc/02-libraries.md)
- [ ] [Atmosphere](https://atmospherejs.com/i/publishing)
- [ ] [Gemfile](http://guides.rubygems.org/publishing/)
- [ ] [Pip](https://pypi.python.org)
- [ ] [NuGet](http://docs.nuget.org/ndocs/create-packages/creating-a-package)
### Propagation
- [ ] [Web Tools](https://twitter.com/WebToolsWeekly)
- [ ] [FrontEnd Focus](https://twitter.com/FrontEndDaily)
- [ ] [NodeJS](https://twitter.com/NodeJSWeekly)
- [ ] [BrazilJS](https://github.com/braziljs/weekly/issues)
- [ ] [Wappalyzer](https://github.com/AliasIO/Wappalyzer)
- [ ] [First Contributions](https://github.com/firstcontributions/firstcontributions.github.io)
## Contributing
Want to contribute? Follow these [recommendations](https://github.com/milligram/milligram/blob/master/.github/contributing.md).
## License
Designed with ♥ by [CJ Patoilo](https://twitter.com/cjpatoilo). Licensed under the [MIT License](http://cjpatoilo.mit-license.org).
