ctt(1)
======
Nico Schottelius <nico-ctt--@--schottelius.org>


NAME
----
ctt - time tracking for geeks


SYNOPSIS
--------
ctt [-h] [-d] [-v] {listprojects,track,report} ...

ctt listprojects [-h] [-d] [-v]

ctt track [-h] [-d] [-v] [--sd START] [--ed END] [-n] project

ctt report [-h] [-d] [-v] [--sd START] [--ed END] [-a] [-e REGEXP] [-i]
           [-f OUTPUT_FORMAT] [-s]
           project


DESCRIPTION
-----------

ctt tracks time while you are working and stores the values
in a cconfig database.

GENERAL OPTIONS
---------------
The following parameters are available to all subcommands:

-h, --help::
    show this help message and exit
-d, --debug::
    set log level to debug
-v, --verbose::
    set log level to info, be more verbose


TRACK
-----
Tracking is started by using the **track** subcommand.
It requires the project name to track time for.

Without any options it stays in the foreground and waits until
enter is pressed and then prompts for a comment.

Available parameters:

--sd START, --start START::
    start date (default: first of this month, format: Y-m-d)
--ed END, --end END::
    end date (default: last of this month, format: Y-m-d)
-n, --no-comment::
    disable comment prompting after tracking


REPORT
------
Reporting is handled by the **report** subcommand.
It requires the project name to report time for.
It supports to filter entries using regular expressions
and also allows to use a custom output format.

Available parameters:

--sd START, --start START::
    start date (default: first of this month, format: Y-m-d)
--ed END, --end END::
    end date (default: last of this month, format: Y-m-d)
-a, --all::
    List entries for all projects
-e REGEXP, --regexp REGEXP::
    regular expression to match
-i, --ignore-case::
    ignore case distinctions
-f OUTPUT_FORMAT, --format OUTPUT_FORMAT::
    output format (default: {start_datetime} ({delta}): {comment})
-s, --summary::
    hide project names and list time entries in chronological order

Output format may reference the following fields:

- start_datetime
- end_datetime
- delta
- delta_seconds
- delta_minutes
- comment

LISTPROJECTS
------------
The **listprojects** subcommand is used to list used projects.
It does not expect any parameters.


EXAMPLES
--------

--------------------------------------------------------------------------------
# Track some time
% ctt track test
Comment: Did some cool work

# Track for a given time range
% ctt track --sd 2013-04-29-1000 --ed 2013-05-29-1200 test
Comment: Long working period

# Track (keep running), but specify different start date
% ctt track --sd 2013-04-29-0800  test
Comment: Started early today

# Track without prompting for a comment
% ctt track -n test                                       

# List available projects
% ctt listprojects
[...]

# List all entries of this month for project test
% ctt report test
[...]

# List all entries from January
% ctt report --sd 2013-01-01 --ed 2013-01-31 test 

# List all entries from January matching either rails ruby or cdist
% ctt report --sd 2013-01-29 --ed 2013-04-29 -e "(rails|ruby|cdist)" test

# The same, but case insensitive
% ctt report --sd 2013-01-29 --ed 2013-04-29 -e "(rails|ruby|cdist)" -i test
--------------------------------------------------------------------------------

BUGS
----
ctt is made for geeks, so it should not stand in your way.
If it does, raise a bug.

SEE ALSO
---------

- cconfig homepage: http://www.nico.schottelius.org/docs/cconfig/
- ctt homepage: http://www.nico.schottelius.org/software/ctt/


COPYING
-------
Copyright \(C) 2013 Nico Schottelius. Free use of this software is
granted under the terms of the GNU General Public License version 3 (GPLv3).