0.4.5 • Published 9 months ago

oraclett v0.4.5

Weekly downloads
-
License
GPLv3
Repository
github
Last release
9 months ago

oraclett

Oracle time tracker

Licence GPLv3 Npm Downloads

Log working hours on different projects. Keep notes of what you did. Generate a report at the end of the week to transfer it into your company's Oracle system.

Built for Endava, initially as part of my bachelors thesis on improving CLI app usability.

Table of Contents

Install

Npm Version

sudo npm install -g oraclett

Usage

Some notes

On structure

The app is structured in nouns and verbs (e.g. project and add). The first subcommand is always a noun and the secound one a verb (e.g. oraclett project add). The verbs are the same accross all nouns. So list and edit will work for both note and hour.

On interactivity

All commands are offered in an interactive version. Just call them with some or none of the flags and everything necessary that you omitted will be prompted for.

On aliases

All verbs have short, one-letter aliases available:

  • add -> a
  • list -> l
  • edit -> e
  • remove -> r, d (for delete)

ticket

The point of tickets is to expand a short identifier in a note to include a description.

Example:

$ oraclett ticket add -i AAKKK001-1337 -t 'The status icon "New" and the filter behind it should be adjusted.' -p INTPD999DXD
# Successfully added AAKKK001-1337 to INTPD999DXD!
$ oraclett note add -p INTPD999DXD -t02 -n "Finished AAKKK001-1337"
# Matched and expanded ticket AAKKK001-1337!
# INTPD999DXD
#   Finished AAKKK001-1337 (The status icon "New" and the filter behind it should be adjusted.)

This arose out of the need to be required to include the full title each time I was to reference a ticket id. If you don't need to do this, don't bother with it :)

ticket add

Create a ticket to be matched and expanded in note-taking.

Required Flags:

  • -p, --project: Project this ticket belongs to
  • -i, --id: Identifier of the ticket
  • -t, --title: Title of the ticket

Examples:

  $ oraclett ticket add
  $ oraclett ticket add --id AAKKK001-1337
  $ oraclett ticket add -i AAKKK001-1337 -t 'The status icon "New" and the filter behind it should be adjusted.' -p INTPD999DXD

ticket list

List tickets.

Optional Flags:

  • -p, --project: Project to filter the tickets by

Examples:

  $ oraclett ticket list
  $ oraclett ticket list -p INTPD999DXD

ticket edit

Edit the id or title of a ticket.

Required Flags for editing the id:

  • -p, --project: Project this ticket belongs to
  • -i, --id: Identifier of the ticket
  • --new-id: New identifier for the '--id' to be changed to

Required Flags for editing the title:

  • -p, --project: Project this ticket belongs to
  • -i, --id: Identifier of the ticket
  • -t, --title: Title of the ticket

Examples:

  # edit interactively
  $ oraclett ticket edit
  $ oraclett ticket edit --id AAKKK001-1337
  # edit title
  $ oraclett ticket edit -i AAKKK001-1337 -t 'The status icon "New" and the filter behind it should be adjusted.' -p INTPD999DXD
  # edit id
  $ oraclett ticket edit -i AAKKK001-1337 --new-id BBJJJ002-1337 -p INTPD999DXD

ticket remove

Remove a ticket.

Required Flags:

  • -p, --project: Project this ticket belongs to
  • -i, --id: Identifier of the ticket

Examples:

  $ oraclett ticket remove
  $ oraclett ticket remove --id AAKKK001-1337 -p INTPD999DXD

Example aliases

Here are the aliases I use in the day-to-day.

I have everything set-up to add/filter for the main project I'm working on. All oraclett commands have a three letter shorthand. For some common notes of mime I have shortcuts.

local ORACLETT_MAIN_PROJECT=ORFDV001
local ORACLETT_MAIN_TASK_DETAILS=03

alias onl="oraclett note list"
alias ona="oraclett note add -p $ORACLETT_MAIN_PROJECT -t $ORACLETT_MAIN_TASK_DETAILS"
alias one="oraclett note edit"
alias onr="oraclett note remove"

# add common notes
alias onaprs="ona -n 'Review PRs'"
alias onareviewprs="onaprs"
alias onaceremonies="ona -n 'Sprint ceremonies'"

alias ohl="oraclett hour list"
alias oha="oraclett hour add -p $ORACLETT_MAIN_PROJECT -t $ORACLETT_MAIN_TASK_DETAILS"
alias ohe="oraclett hour edit"
alias ohr="oraclett hour remove"
alias oha8="oha -H8"

alias otl="oraclett ticket list -p $ORACLETT_MAIN_PROJECT"
alias ota="oraclett ticket add -p $ORACLETT_MAIN_PROJECT"
alias ote="oraclett ticket edit -p $ORACLETT_MAIN_PROJECT"
alias otr="oraclett ticket remove -p $ORACLETT_MAIN_PROJECT"

alias otc="oraclett timecard --classic"

Because they are aliases you can just add your flags to them like you normally would.

If you don't know where to put aliases: this depends on your shell. You can use echo $0 to find out what you're using. In the case of zsh, the relevant file is ~/.zshrc. And in bashs case ~/.bashrc.

0.4.5

9 months ago

0.4.4

11 months ago

0.4.3

11 months ago

0.4.1

1 year ago

0.4.0

1 year ago

0.4.2

12 months ago

0.3.2

1 year ago

0.3.1

1 year ago

0.3.0

1 year ago

0.2.0

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago