Checklister
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:
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
Find your Gitlab token (v7)
Find your Gitlab token (v8)
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:
- Install rbenv-each
- 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 :
Once the file is parsed, a Github issue will be created with its content. In this case, the issue would be :
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
- Clone the git repository:
git clone git@github.com:benichu/checklister.git
- Run
script/bootstrap
to install the required gems. - Run
script/test
to ensure your development setup is sane. - Read
CONTRIBUTING.md
for contribution guidelines. - Run
bundle exec guard
- 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.