Checklister

Build Status Dependency Status Gem Version Code Climate Coverage Status

Description

Checklister is a CLI packaged as a Ruby gem giving you the power to transform any markdown file or url checklist into an actionable gitlab or github issue.

Why using checklists

A checklist is an ideal tool to help people remembering all of the steps required to accomplish complicated tasks and objectives. Using a checklist enforces best practices, even if they seem obvious at first, preventing costly mistakes.

The checklist manifesto

A great book to read for more inspiration about the power of checklist:

The Checklist Manifesto

Source: http://atulgawande.com/book/the-checklist-manifesto/

Usage

Requirements

  • Ruby 2.0+
  • RubyGems 1.9+
  • a Gitlab and/or Github user authentication token

Find your Github token

Follow this video tutorial.

Find your Gitlab token (v7)

Follow this video tutorial.

Find your Gitlab token (v8)

Follow this video tutorial.

Install/Update gem

$ gem install checklister

NOTE: If you use a ruby manager, the gem have to be installed each time you want to use it in a new ruby context.

PROTIP

If you use rbenv as your ruby manager, and want to easily install/update checklister across all your rubies:

  1. Install rbenv-each
  2. Run $ rbenv each gem install checklister everytime there is a new version of the gem

Setup Gitlab Authentication

$ checklister setup

Answer the questions and the information will be saved for later use in a configuration json file.

Check your saved configuration

$ checklister settings

CLI

$ checklister new --checklist /path/to/simple-checklist.md

In this example, the initial markdown file at https://raw.githubusercontent.com/benichu/checklister/master/examples/simple-checklist.md is the following :

Simple Checklist

Once the file is parsed, a Github issue will be created with its content. In this case, the issue would be :

Github Issue

Alternatively, you can set a custom title for your issue with the -t or --title option :

$ checklister new --checklist /path/to/simple-checklist.md --title "A custom title"

Development Setup

Dependencies

  • rbenv or rvm
  • Ruby 2.0+
  • RubyGems 1.9+ (gem update --system)
  • Bundler 1.10+
  • ctags

Bootstrap

To install or update your development environment, run script/bootstrap.

Install

  1. Clone the git repository: git clone [email protected]:benichu/checklister.git
  2. Run script/bootstrap to install the required gems.
  3. Run script/test to ensure your development setup is sane.
  4. Read CONTRIBUTING.md for contribution guidelines.
  5. Run bundle exec guard
  6. You can run a REPL: script/console

Testing

You can write tests using rspec v3+ syntax in the spec folder. To run the tests, run script/test.

Documentation

Documenting your code from rubygems.org

This project is documented with the YARD syntax, every time the gem is published a documentation will automatically be generated at rubydoc.info.

You should always check how your documentation looks like from time to time. Here is a convenient way for you to run a yard server:

$ script/doc

You can now open your browser at http://localhost:8808/

Release

Make sure you are all set up first: http://guides.rubygems.org/publishing/#publishing-to-rubygemsorg

To prepare a release, run script/release. This will package a new version of the checklister gem and release it to https://rubygems.org/gems/checklister.

Roadmap

Wishlist

  • [ ] [documentation] Yard documentation updated
  • [ ] [dev] Better step by step DSL for CLI interactions with user
  • [ ] [feature] Select a milestone from a list populated based on github/gitlab API
  • [ ] [feature] Select a checklist from an history list
  • [ ] [feature] Connect to a bitbucket account
  • [ ] [feature] Create a new Issue based on a specific markdown file (remote path)

Authors

Checklister is written and maintained by Benjamin Thouret and Manon Deloupy.

License

Checklister is licensed under the MIT License