All Projects → mrusme → Zeit

mrusme / Zeit

Licence: gpl-3.0
Zeit, erfassen. A command line tool for tracking time spent on activities.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Zeit

Gitlab Time Tracker
🦊🕘 A command line interface for GitLab's time tracking feature.
Stars: ✭ 371 (+1024.24%)
Mutual labels:  time-tracker, time-tracking, time, tracking
Takt
Track your tasks and time
Stars: ✭ 142 (+330.3%)
Mutual labels:  time-tracker, time-tracking, tracking
ad-alexatalkingclock
Alexa (or other Smart Speakers) tell you the time without asking every hour. Please ⭐️if you like my app :)
Stars: ✭ 30 (-9.09%)
Mutual labels:  time, time-tracker
team-timesheets
Time tracking web app built as a replacement for old school timesheets.
Stars: ✭ 25 (-24.24%)
Mutual labels:  time-tracker, time-tracking
tom
Command line tool to track time and to simplify related office work (reporting, invoicing)
Stars: ✭ 16 (-51.52%)
Mutual labels:  time-tracker, time-tracking
Klog
A plain-text file format and command line tool for time tracking
Stars: ✭ 222 (+572.73%)
Mutual labels:  time-tracker, time-tracking
about-time
A cool helper for tracking time and throughput of code blocks, with beautiful human friendly renditions.
Stars: ✭ 36 (+9.09%)
Mutual labels:  tracking, time
PlaceTracking
Simple and free to use API for time and location tracking
Stars: ✭ 21 (-36.36%)
Mutual labels:  tracking, time-tracker
Browser Interaction Time
⏰ A JavaScript library (written in TypeScript) to measure the time a user is active on a website
Stars: ✭ 175 (+430.3%)
Mutual labels:  time, tracking
Gauzy
Gauzy™ - Open-Source Business Management Platform (ERP/CRM/HRM)
Stars: ✭ 374 (+1033.33%)
Mutual labels:  time-tracker, time-tracking
Moro
Simple CLI tool for tracking work hours. Note: Heavy changes are happening in this repository. Docs might not be up to date, and things might be broken. Only the released NPM version is stable.
Stars: ✭ 390 (+1081.82%)
Mutual labels:  time-tracker, time-tracking
Timewarrior
Timewarrior - Commandline Time Reporting
Stars: ✭ 528 (+1500%)
Mutual labels:  time, tracking
Hackaru
Simple, cross-platform time tracking application
Stars: ✭ 82 (+148.48%)
Mutual labels:  time-tracker, time-tracking
legacy-python-cli
Command line interface used by all WakaTime text editor plugins.
Stars: ✭ 1,048 (+3075.76%)
Mutual labels:  time-tracker, time-tracking
Kimai2
Kimai v2 is a web-based multiuser time-tracking application. Free for everyone: freelancers, agencies, companies, organizations - all can track their times, generate invoices and more. SaaS version available at https://www.kimai.cloud
Stars: ✭ 1,216 (+3584.85%)
Mutual labels:  time-tracker, time-tracking
AppsTracker
Windows Application for tracking computer usage. C# + WPF + MVVM
Stars: ✭ 27 (-18.18%)
Mutual labels:  tracking, time-tracker
Atom Wakatime
Atom plugin for automatic time tracking and metrics generated from your programming activity.
Stars: ✭ 303 (+818.18%)
Mutual labels:  time-tracker, time-tracking
Activitywatch
The goal of ActivityWatch is simple: Enable the collection of as much valuable lifedata as possible without compromising user privacy.
Stars: ✭ 5,927 (+17860.61%)
Mutual labels:  time-tracker, time-tracking
Kimai
Kimai v1 open source time-tracking - please switch to Kimai v2
Stars: ✭ 583 (+1666.67%)
Mutual labels:  time-tracker, time-tracking
Vue Datetime
Mobile friendly datetime picker for Vue. Supports date and datetime modes, i18n and more.
Stars: ✭ 928 (+2712.12%)
Mutual labels:  time

zeit

Zeit, erfassen. A command line tool for tracking time spent on tasks & projects.

Get some more info on why I build this here.

Download the latest version for macOS, Linux, FreeBSD, NetBSD, OpenBSD & Plan9 here.

Build

make

Info: This will build using the version 0.0.0. You can prefix the make command with VERSION=x.y.z and set x, y and z accordingly if you want the version in zeit --help to be a different one.

Usage

zeit

Please make sure to export ZEIT_DB=~/.config/zeit.db (or whatever location you would like to have the zeit database at).

zeit's data structure contains of the following key entities: project, task and entry. An entry consists of a project and a task. These don't have to pre-exist and can be created on-the-fly inside a new entry using e.g. zeit track --project "New Project" --task "New Task". In order to configure them, the zeit project and the zeit task commands can be utilised.

Projects

A project can be configured using zeit project:

zeit project --help

Examples:

Set the project color to a hex color code, allowing zeit stats to display information in that color (if your terminal supports colours):

zeit project --color '#d3d3d3' "cool project"

Task

A task can be configured using zeit task:

zeit task --help

Examples:

Setting up a Git repository to have commit messages automatically imported into the activity notes when an activity is finished:

zeit task --git ~/my/git/repository "development"

Info: You will have to have the git binary available in your PATH for this to work. zeit automatically limits the commit log to the exact time of the activity's beginning- and finish-time. Commit messages before or after these times won't be imported.

Track activity

zeit track --help

Examples:

Begin tracking a new activity and reset the start time to 15 minutes ago:

zeit track --project project --task task --begin -0:15

Show current activity

zeit tracking

Finish tracking activity

zeit finish --help

Examples:

Finish tracking the currently tracked activity without adding any further info:

zeit finish

Finish tracking the currently tracked activity and change its task:

zeit finish --task other-task

Finish tracking the currently tracked activity and adjust its start time to 4 PM:

zeit finish --begin 16:00

List tracked activity

zeit list --help

Examples:

List all tracked activities:

zeit list

List all tracked activities since a specific date/time:

zeit list --since "2020-10-14T00:00:01+01:00"

List all tracked activities and add the total hours:

zeit list --total

List only projects and tasks (relational):

zeit list --only-projects-and-tasks

List only projects and tasks (relational) that were tracked since a specific date/time:

zeit list --only-projects-and-tasks --since "2020-10-14T00:00:01+01:00"

Display/update activity

zeit entry --help

Examples:

Display a tracked activity:

zeit entry 14037730-5c2d-44ff-b70e-81f1dcd4eb5f

Update a tracked activity:

zeit entry --finish "2020-09-02T18:16:00+01:00" 14037730-5c2d-44ff-b70e-81f1dcd4eb5f

Erase tracked activity

zeit erase --help

Examples:

Erase a tracked activity by its internal ID:

zeit erase 14037730-5c2d-44ff-b70e-81f1dcd4eb5f

Statistics

zeit stats

zeit stats

Import tracked activities

zeit import --help

The following formats are supported as of right now:

tyme: Tyme 3 JSON

It is possible to import JSON exports from Tyme 3. It is important that the JSON is exported with the following options set/unset:

Tyme 3 JSON export

  • Start/End can be set as required
  • Format has to be JSON
  • Export only unbilled entries can be set as required
  • Mark exported entries as billed can be set as required
  • Include non-billable tasks can be set as required
  • Filter Projects & Tasks can be set as required
  • Combine times by day & task must be unchecked

During import, zeit will create SHA1 sums for every Tyme 3 entry, which allows it to identify every imported activity. This way zeit won't import the exact same entry twice. Keep this in mind if you change entries in Tyme and then import them again into zeit.

Examples:

Import a Tyme 3 JSON export:

zeit import --format tyme ./tyme.export.json

Export tracked activities

zeit export --help

The following formats are supported as of right now:

zeit: zeit JSON

The zeit internal JSON format. Basically a dump of the database including only tracked activities.

tyme: Tyme 3 JSON

It is possible to export JSON compatible to the Tyme 3 JSON format. Fields that are not available in zeit will be filled with dummy values, e.g. Billing: "UNBILLED".

Examples:

Export a Tyme 3 JSON:

zeit export --format tyme --project "my project" --since "2020-04-01T15:04:05+07:00" --until "2020-04-04T15:04:05+07:00"

Integrations

Here are a few integrations and extensions built by myself as well as other people that make use of zeit:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].