### TODOs - [ ] Error message format - [ ] Colored message - [ ] Internal state - [ ] Transitions id - config - [x] templatize message ( default : "prefix(scope) message \[issue\]") - [ ] handle existing on uninitiated jet project `config.shared.toml` - [x] init command - [x] template commit command - [x] generate commit prefix from config - [x] git2 implementation - [x] current jira issue - [x] optional scope - [x] default behavior for unmapped branch - [ ] fix empty repository scenario - [ ] optionally commit with $EDITOR - [ ] install commit hooks - [ ] validate commit message against template - [ ] info command - [ ] dump config (ie. without credentials) - [ ] opt global - [ ] opt local - [ ] status command - [x] current branch name - [ ] show current issue - [ ] issue state - [ ] issue description --details - [ ] show related commits - [ ] show git diff - [ ] issues command - [x] open my issues - [ ] opt open - [ ] opt search - [ ] opt user - [x] checkout command - [x] fetch issue - [x] if not assign issue to the current user - [x] create and checkout branch from template - [x] checkout branch from template - [x] create and checkout branch from template - [x] warn on simple checkout if issue is not assigned to current user - [x] change issue state to ${WIP} - [x] save transition id to internal settings - [x] checkout without prefix for issue with exactly one matching branch - [ ] submit command - [ ] create a new PR on the remote git platform - [ ] assign reviewers - [ ] assign jira issues default reporter - [ ] support bitbucket - [ ] support github - [ ] support gitlab - [ ] opt wip - [ ] unwip by default - [ ] open command - [ ] open jira issue in the browser - [ ] opt `--git` to open pull request page - [ ] changelogs command (see [git journal](https://github.com/saschagrunert/git-journal)) - [ ] default from previous tag - [ ] opt --from - [ ] opt --to