Dude
A daily assistant in the hard work of a programmer
This program helps to combine such services as Jira, Trello, Toggl, etc. and replace most routine activities with one simple CLI utility.
Installation
Add this line to your application's Gemfile:
gem 'dude-cli'
And then execute:
$ bundle
Or install it yourself as:
$ gem install dude-cli
After that create .duderc.yml file in your work project directory by command:
$ dude install
It will offer you a step by step instruction how to setup dude:
You always could edit this file manually and setup some stuff like Toggl time entry name or Github PR template
Default template could be found here: lib/dude/templates/duderc_template
Additional configuration variables:
Replace it with your project list names. Skip for empty lists
:todo_list_name: To Do
:in_progress_list_name: In Progress
:code_review_list_name: Code Review
:testing_list_name: TESTABLE
:done_list_name: Done
Use the {issue_id} and {issue_title} and specify format for the task titles in Toggl or keep it as it is
:toggl:
:task_format: [{issue_id}] {issue_title}
Github PR template looks like this (Available variables: {issue_id}, {issue_title}, {issue_url})
:github:
:pr_template:
:title: "[{issue_id}] {issue_title}\n"
:body: |
## Story
[**\[{issue_id}\] {issue_title}**]({issue_url})
## Description
Example description of the issue
Usage
Using RVM
To run gem in any folder using RVM just install gem to the global default ruby version and add alias to ~/.bashrc or ~/.zshrc (Replace 2.7.2 to your ruby version and/or gemset)
alias dude="rvm 2.7.2 do dude"
Command | Required parameters | Optional parameters | Description |
---|---|---|---|
dude install | - | - | Create .duderc file in your home directory |
dude checkout | ISSUE_ID* | - | Checkout to branch with name "ID-issue-title" |
dude track | ISSUE_ID* | - | Start time entry in Toggl with issue project, title and id |
dude tasks | - | - | Show all issues in current project (For current sprint) |
dude commit | ISSUE_ID* | - | Create commit with the ID and title of current story |
dude stop | - | - | Stop current time entry in Toggl |
dude start | ISSUE_ID* | - | Do checkout , track and move actions |
dude move | ISSUE_ID* | --list=NAME | Move issue to another column (Will provide options if called without --list parameter) |
dude pr create | Creates PR in Github using template | ||
dude assign | ISSUE_ID* | Assign current user as author for current task | |
dude version | - | - | Display gem version |
dude healthcheck | - | - | Check configuration of all dependencies |
* You could ignore ISSUE_ID if you are already on a git branch with issue id
You also can use dude help
for short description of every command.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/npupko/dude.
License
The gem is available as open source under the terms of the MIT License.