Skip to content
/ dude Public

A daily assistant in the hard work of a programmer

License

Notifications You must be signed in to change notification settings

npupko/dude

Repository files navigation

Dude

Gem Version Codacy coverage Codacy Badge Gem GitHub

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.

Dude

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:

Setup Wizard

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.

Changelog

CHANGELOG.md