++ed by:
KEEDI NGLENN

2 PAUSE users

Jan Henning Thorsen

NAME

App::tt - Time tracking application

VERSION

0.04

DESCRIPTION

App::tt is an application that can track how much time you spend on an project from command line.

It is inspired by App::TimeTracker and share the same log file format, but it has (in my humble opinion) a simpler interface and easier to install.

SYNOPSIS

The application is built up by specifying an an action and optional arguments.

  $ tt <action> [options]
  $ tt help <action>
  $ tt <action> -h

Available actions: "analyze", "edit", "log", "register", "start", "status" (default) and "stop".

Basic usage;

  # Start to track time
  $ cd $HOME/git/my-project
  $ tt start
  # Work, work, work, cd ..., do other stuff
  $ tt stop

A bit more complex:

  # Start to work on an event and add a tag
  $ tt start -t ISSUE-999 -p some-project-at-work
  # Add another tag to the same event and add a --comment
  $ tt stop -t GITHUB-1005 "Today I was mostly in meetings"

ACTIONS

Each action can tak -h for more details. Example:

  $ tt start -h

analyze

This action can analyze all the git repos in a directory and print what time you started/stopped working on a set of repos grouped per day. The output is suitable for "tt register".

  $ cd ..                  # one step up from the current git-project
  $ tt analyze             # default is last month
  $ tt analyze "last week" # analyze git reflog from last week
  $ tt analyze 2015-07-01  # analyze git reflog since a given date

edit

This command can be used to rewrite all the log entries. See source code before running this action. (Internals might change)

DISCLAIMER! Backup your files before running this action!

  $ cat rewrite.pl | tt edit
  # verify output, and then run:
  $ cat rewrite.pl | tt edit --no-dry-run

log

This command will report how much time you have spent on various events.

  $ tt log         # this month
  $ tt log -2      # two months ago
  $ tt log year    # log for year
  $ tt log year -1 # last year
  $ tt log -p foo  # Filter by project name

register

This command is used to import data from other sources. "project-name" default to "-p" or current git project, "some description" default to "-d" and tags can be specified by -t foo -t bar

  $ tt register 2016-06-28T09:00:00 17:00:00 "project-name" "some description" "foo,bar"
  $ echo "2016-06-28T09:00:00\t2016-06-28T17:00:00\tproject-name\tsome description\tfoo,bar" | tt register

start

This command will start tracking a new event. It will also stop the current event if any event is in process. This action takes the "-p" and "-t" switches. "-p" (project) is not required if you start from a git repository.

  # Specify a tag and custom project name
  $ tt start -t ISSUE-999 some-project-name

  # Started working at 08:00 instead of now
  $ tt start 08:00

status

This is the default action and will return the current status: Are you working on something or not?

  $ tt status

stop

This command will stop tracking the current event.

  # Add more tags to the current event
  $ tt stop -t meetings -t not_fun

  # Stop working at 16:00 instead of now
  $ tt stop 16:00

COPYRIGHT AND LICENSE

Copyright (C) 2014, Jan Henning Thorsen

This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.

AUTHOR

Jan Henning Thorsen - jhthorsen@cpan.org