Skip to content

Adhere to oss-checklist for proper major release #78

@argonlaser

Description

@argonlaser

OSS Project Checklist

A copy of the below checklist could be obtained from 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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions