Skip to content
Library of markdown checklists for Reproducible Research. Best used as github issue templates
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Build Status

Welcome to checklib—a library of checklists to aid you in all your software sustainability and reproducibility needs!

What Are These Checklists?

Have you ever found yourself wondering, "Gosh, I know I'm supposed to be doing [fill in the blank], but I haven't the slightest idea where to start." Our checklists are here to help. At their core, they are simply Markdown files containing checklist items we've deemed useful in making sure you're doing the right things in terms of usability, maintainability, extensibility, etc.

How Do I Use Them?

The project consists of a library of markdown checklists and a simple command line tool for incorporating checklists as GitHub issue templates into your own projects.

Currently you need a local copy of the checklist library to use the tool, as well as a local copy of the project you wish to add checklists to.

  • The first step is to go ahead and clone checklib so you have local access to the checklists.
    git clone
    Make sure to pull before using each time to ensure you have an up to date version of the checklists.
  • Navigate to the root of your local copy of checklib.
  • Run the checklib tool by running bash ./ If you don't supply any arguments (or supply the argument --help) the tool will output information explaining how to use the tool.

View available checklists

In the checklib root:

  • Get a list of the available checklists divided by subject use the --ls_lists flag: bash ./ --ls_lists

Add checklists to your project:

In the checklib root:

  • Use the --ls_lists flag to decide which checklists you would like to include in your project
  • Run the run_checklib script with those checklists as arguments. For example to add the and checklists you would run:
    bash ./
  • When prompted to by the script, supply the path to your project's repository.

Use them on GitHub

Use the command line tool to add checklists as issue templates as described above. The push your repo to GitHub.

Now when users go to create a new issue through the GitHub interface, they'll be presented with a list of templates from which to choose. Once they've selected one, the new issue page pops up with the description populated with your brand new checklist.

Use them on GitLab

Under construction.

Can I Customize Them to Suit My Needs?

Certainly. Once you've copied them into your repository and they're all set up as issue templates, feel free to customize them to your heart's content. If you come up with something that would be useful for the research software engineering community at large, please send it back to us via pull request.

How Do I Get Support?

If ever you need anything, head over to our support page to see how we can help.

This Is Awesome—How Can I Contribute?

We're glad you asked. We're always happy to have new collaborators. For details on our workflow, check out our contributing guidelines.


For our licensing information, check out our LICENSE file.

You can’t perform that action at this time.