-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
OSS Project Checklist
A copy of the below checklist could be obtained from https://github.com/scriptnull/oss-checklist (Help us make it better!)
Pre-checks
- Able to explain your project in a tweet ?
- Choose a name for the project
- Check if domain name / App name is available ?
- List and learn tools required for the project
- Prepare mock-up and one page design document, if needed to explain to collaborators
- List previous / similar implementations and learn from them
- Start a blog post to document the journey ( if time permits ) Mention idea + helpful resources.
- Ask if project could be solved in a modular way by dividing into sub-problems and creating a separate project for the sub-problems.
Project Creation
- Create a Repository in any of the Source Control Management sites
- Github ( Free public repos )
- Gitlab ( Free public and private repos + CI + docker registry )
- Bitbucket ( Free public and private repos )
- Create a README.md (check below for more)
- Create a LICENSE file (choose one before)
- Create a CODE_OF_CONDUCT.md
- Create a CONTRIBUTING.md
- Create a .gitignore
- Create Gitter chatroom (if needed)
README.md Checklist
- Title
- Logo
- Badges
- Description
- Prerequisite for using software ( if any )
- Install
- Example Usage
- Screenshots and GIFs
- For command line apps, try asciinema
- For mac GUI screenshots, use [Cmd+Shift+3] or [Cmd+Shift+4] or [Cmd+Shift+4,SpaceBar]
- For mac GUI GIF creation, try kap
- For Ubuntu GUI Screenshots, use [Shift+PrintScr] or Shutter
- For Ubuntu GUI GIF creation, try silentcast
- Benchmarks
- Contributors
- Backers and Sponsors
- Attributions ( mention 3rd party libs used etc. )
- Security
- Post maintainer's PGP fingerprint for reporting security vulnerabilities
- Share keybase profile for making the reporting process easier.
Coding Phase
- Install required developer tools
- Compiler
- Linter
- Formatter
- Build Tool
- Other
- Basic code complete
- Write tests and keep watch on code coverage
- Setup CI
- AppVeyor - CI/CD for Windows developers.
- CircleCI - Docker-based building with support of customized workflows.
- Codefresh - Docker-native CI/CD.
- Codeship - Continuous integration, delivery, and deployment.
- continuousphp - CI/CD for PHP applications.
- DeployHQ - Deployment automation.
- Sauce Labs - Cross-browser testing, Selenium testing, and mobile testing.
- Semaphore - Fast automated CI/CD.
- Shippable - DevOps automation.
- Travis-CI - Automated CI/CD for Open Source.
- Host the documentation of the code somewhere if the project is a software library
- Use Github issues ( or other tools ) for tracking backlogs
- Encourage OSS culture by having labels like "help wanted" "easy-to-contribute" etc.
- Contribute to other OSS projects on which the current project is dependent on ( if possible )
- File bug reports
- Improve docs
- Suggest feature
- Learn by reading code
Release Phase
- Package software in CI or manually in local
- Publish in registries (npm, docker hub etc.) or markets (Android store, App Store etc.)
- Create the release version, description, link for downloading the release etc. in release page ( example: Github release page)
Post-release
- Publish the blog post
- Tweet
- Hackernews
- Product Hunt
- Send PR to
awesome-*github repository - Hashnode
- Edit Wikipedia pages (if related)
- Prepare slides and give talks (if possible)
Metadata
Metadata
Assignees
Labels
No labels