Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Work on OSS Project Checklist #3

Open
27 of 52 tasks
cjtu opened this issue Oct 12, 2017 · 0 comments
Open
27 of 52 tasks

Work on OSS Project Checklist #3

cjtu opened this issue Oct 12, 2017 · 0 comments

Comments

@cjtu
Copy link
Owner

cjtu commented Oct 12, 2017

OSS Project Checklist

A checklist from https://github.com/scriptnull/oss-checklist to be a guide future open-source development of craterpy.

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 Github
  • Create a README.rst (check below for more)
  • Create a LICENSE file (choose one before)
  • Create a CONTRIBUTING.rst
  • Create a .gitignore

README.md Checklist

  • Title
  • Logo
  • Badges
  • Description
  • Prerequisite for using software ( if any )
  • Install
  • Example Usage
  • Screenshots and GIFs
  • Contributors
  • Attributions ( mention 3rd party libs used etc. )

Coding Phase

  • Install required developer tools
    • Compiler
    • Linter
    • Build Tools
    • Other
  • Organize files and folders that will help readers to find code easily
  • Basic code complete
  • Write tests and keep watch on code coverage
  • Setup CI
    • Setup CI on Linux (Travis CI)
    • Setup CI on Windows (AppVeyor)
    • Setup CI on OS X (tricky with anaconda, explore further)
  • Host the documentation of the code on ReadTheDocs
  • 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 (PyPI, conda-forge, etc.)
  • Create the release version, description, link for downloading the release etc. in release page ( example: Github release page)

Post-release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant