Skip to content

gochrono/chrono

Repository files navigation

Alt chrono

GitHub Release Go Report Card Build Status GitHub Golang Version

Overview

Chrono is a time tracking tool written in Go. It is fast and simple to use.

Want to know what you did with your time? Chrono will help you with that. Track how long you spend on a project. Add notes so you know exactly what you did.

asciicast

Installation

Binaries Releases

To install the latest stable release:

curl -L https://git.io/fpHAj | sh

We provide pre-built Chrono binaries for Windows, Linux, and macOS (Darwin) for x64 and i386 architectures.

If you'd like to install a specific version, checkout the releases page.

If you want to run the absolute latest version, build it from source.

Package Managers

If you are using Arch Linux, you can install the AUR package chrono-git to get the latest version or chrono for the latest stable release.

If you're using Ubuntu or a Debian based system, you can find debian packages (.deb) on the releases page.

Quickstart

Usage

To start tracking time a project, use the start command:

$ chrono start development +chrono

If you wanted to set the start time to something other than now, use the '--start' flag:

$ chrono start development --at "2019-02-01 13:00"

Time is parsed by jinzhu/now so it should be in a format it can understand.

This creates a new frame for the development project with the chrono tag.

Keep notes of what you do for a project with the notes add command:

$ chrono notes add "made some awesome changes to the README"
$ chrono notes show
[0]: made some awesome changes to the README

The notes are added to the current frame.

Get information about the current frame with the status command:

$ chrono status
Project development [chrono] started 10 seconds ago.

To stop tracking time for the current frame, use the stop command:

$ chrono stop
Stopping project development [chrono], started 5 minutes ago (id: 073bbf).

You can show a chronolical list of the current day's session (or frames) through the log command:

$ chrono log
Monday  3 December 2018
    (ID: 0d3131) 10:15 to 10:20     0h 05m 00s  development [chrono]

For a list of all available commands, use the help command:

$ chrono help

For a list of all available options and arguments for a command, use the ---help flag:

$ chrono log --help

Building Chrono from the Source

Prequisite Tools

Downloading & building the source

Chrono uses Go Modules to handle dependencies.

The easiest way to build from the source is to clone Chrono in a directory outsite of GOPATH, for example:

mkdir ~/src && cd ~/src
git clone https://github.com/gochrono/chrono.git
cd chrono
go install

Make sure $GOPATH/bin is on $PATH.

If you haven't customized your $GOPATH then you'll need to add ~/go/bin to $PATH.

Contributing to Chrono

To contribute to the Chrono project or documentation, you should fork the GitHub project and clone it to your machine.

For a complete guide to contributing to Chrono, see the Contribution Guide.

We welcome contributions of many kinds from updating documentation, feature requests, bug reports & issues, feature implementation, pull requests, answering other users questions, etc.

Asking Support Questions

We currently don't have a discussion forum. For now, use the issue tracker to ask questions.

Reporting Issues

If you believe you have found an issue or bad documentation, use the GitHub issue tracker to report the problem to the Chrono maintainers.

When reporting an issue, please provide the version of chrono is use (chrono version)