| Github repos | Gitlab repos | |
|---|---|---|
| Github issues | ✅ | ✅ |
| Asana | ✅ | ✅ |
| Jira | ✅ | ✅ |
| ClickUp | ✅ | ✅ |
First, install rustup and cargo, here the docs
then run this command
cargo install mrburns --git https://github.com/emberist/mrburnsor, clone this repo and add the required permission to the install.sh script
chmod a+x ./install.shThen run the install.sh script:
./install.shBased on which tool you are using, you have to add the following environment variables in your ~/.zshrc file (or ~/.bashrc if you use Bash).
export JIRA_USERNAME="PUT_YOUR_USERNAME_HERE"
export JIRA_TOKEN="PUT_YOUR_TOKEN_HERE"
export CLICKUP_TOKEN="PUT_YOUR_TOKEN_HERE" # read-only token used to access your click up tasks
export GITHUB_TOKEN="PUT_YOUR_TOKEN_HERE" # read-only token used to access your github issuesAfter that, do not forget to run source ~/.zshrc (or source ~/.bashrc if you use Bash). 🤓
Here are some hints on how to generate the tokens.
- JIRA_USERNAME: should be the email associated with your jira account
- JIRA_TOKEN
- GITHUB_TOKEN
- CLICKUP_TOKEN
This command prints mrburns's help screen, which lists all the available commands and options.
mrburns --helpThis commands switches to a new Git branch to start working on it. mrburns takes care of creating a proper name for the branch starting from the task title.
mrburns start https://your-domain.atlassian.net/browse/foo-3293NOTE: There is an options --type option (or -t) to choose the task type between bugfix, chore or feature
This commands open for you a prefilled marge request page
mrburns mrHelpful when you need to quickly switch between active mrburns's branches;
mrburns listHelpful when you need to quickly open you task from the codebase current branch!
mrburns browseThis command helps you to create a mrburns.config.json file
mrburns configPass --global to write to your user-level config instead of the project-local one:
mrburns config --globalmrburns reads configuration from two locations, layered in this order (later overrides earlier):
- Built-in defaults
- User-level config:
$XDG_CONFIG_HOME/mrburns/mrburns.config.json, or~/.config/mrburns/mrburns.config.jsonifXDG_CONFIG_HOMEis unset - Project-local config:
./mrburns.config.jsonin the current working directory
The merge is deep per key, so a project file only needs to override the fields it cares about; everything else falls through to the user-level file and then the defaults. Use mrburns config --get to inspect the effective merged configuration.
The default config file is something like this
{
"mr": {
"defaultDraft": false,
"titleTemplate": "{task_id}/{task_type}/{task_title}",
"descriptionTemplate": [],
"descriptionTemplatePath": "./templates/default.md"
},
"branchPrefixes": {
"feature": "feat",
"release": "release",
"bugfix": "bugfix",
"chore": "chore"
}
}if the descriptionTemplatePath file exists, it will override the descriptionTemplate option
cargo run -- <...commands>cargo buildcargo test