Checkmatrix for ‘eStep friendly’ projects.

Printable check-list — complete this checklist to ensure your project is eStep-ready. If you can tick all boxes on this form, your project should be included as an eStep Pre-release project.

Version Control

Item / Phase Done
use git as version control system (vcs)
use GitHub flow branching model (use feature branches and pull requests)
public vcs repository (github)
meaningful commit messages

Releases

Item / Phase Done
discuss release cycle with coordinator

Licensing

Item / Phase Done
Apache 2 license
compatible license of all libraries
NOTICE(.txt or .md) listing licenses, request citation of paper if applicable

Communication

Item / Phase Done
project discussion list (github issues, mailing list, not private email) for all project related discussions from the beginning of the project
Pitch presentation (1 to 3 slides)

Testing

Item / Phase Done
unit tests
build tests
continuous integration, public on Travis

Documentation

Item / Phase Done
README.md - clear explanation of the goal of the project with pointers to other documentation resources. Use GitHub flavored markdown for, e.g., syntax highlighting.
well defined functionality
source code documentation
usage documentation
documented development setup (good example is Getting started with khmer development)
contribution guidelines egzample
code of conduct (contributor covenant)
documented code style
meaning of issue labels used

Development setup

Item / Phase Done
using the eScience Center coding style is required
editorconfig
applied code style in automated way if possible (i.e using linters and code formaters)
dev environment docker images in Dockerhub (with Dockerfile)

Use standards

Item / Phase Done
exchange format (Unicode, W3C, OGN, NetCDF, etc)
protocols (HTTP, TCP, TLS, etc)