The following checklist is to ensure reproducible software. Check the points that apply, enter the name of your respository,
and then click the generate button.
software checklist0
Repository
Repository: The source code is available at a public url.
Version: The software has a method to support versioning.
Contributing: A statement is included about how to contribute to the software.
Issues: An issues board is available for a user to ask a question, or request support.
Maintainer: At least one primary maintainer is identified.
License: An appropriate plain-text LICENSE file is included, ideally OSI approved [ref]
Documentation
Installation: The repository includes instructions for installation in the README, including dependencies and operating system requirements.
Purpose: A clear purpose or statement of need is defined. A reader knows what the software does.
Getting Started: After installation, there is a clear “Getting Started” tutorial or similar.
Examples: Are included (via scripts or documentation)
Docstrings: If appropriate for the language, docstrings are rendered into code documents.
Functionality: All functions, client interactions, and if appropriate, API endpoints, are documented.
Living Documentation: A user can easily jump from any documentation page to ask for help, or contribute changes [ref]
Artifacts
Containers: The repository provides one or more container recipes (Dockerfile, Singularity) or a pre-built container.
Publications: Any relevant citations for papers or external resources are linked in the README.
Publications: Any required or supplementary data or similar artifacts are linked.
Continuous Integration
Automated Testing: is done with any request for change to the main (typically master) branch.
Environments: testing is done across operating systems and environments that cover 80% of use cases.