worktracker

module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 21, 2026 License: MIT

README

⏱ WorkTracker

A CLI tool to track your work sessions from the terminal. Clock in, clock out, and view your weekly and monthly progress at a glance.

Go License

Features

  • Clock in / Clock out — Register work sessions with current time or a specific date and time
  • Progress tracking — Weekly (40h) and monthly (160h) progress bars
  • Today's sessions — See all entries and exits for the day, with open session indicator
  • Overlap validation — Prevents creating sessions that overlap with existing ones
  • Fullscreen TUI — Responsive terminal interface with keyboard navigation
  • Local storage — All data stored locally in an embedded database (BoltDB)

Installation

With Go
go install github.com/ddbaque/worktracker/cmd/worktracker@latest

Make sure ~/go/bin is in your $PATH.

From source
git clone https://github.com/ddbaque/worktracker.git
cd worktracker
make build
./bin/worktracker

Usage

worktracker
Keyboard shortcuts
Key Action
j / Move down
k / Move up
enter Select action
r Refresh stats
esc Go back
q / ctrl+c Quit
Clock in / Clock out flow
  1. Select Clock In or Clock Out
  2. Choose Ahora (now) or Hora específica (specific time)
  3. If specific time: fill in day, month, year, hour and minute

The app validates that the time doesn't overlap with existing sessions.

Configuration

On first run, a config file is created at:

~/.config/worktracker/config.yml
# Uncomment and modify to override defaults

# Directory where the database file is stored
# db_path: ~/.local/share/worktracker

# Database file name
# db_name: worktracker.db

Data is stored at ~/.local/share/worktracker/worktracker.db.

License

MIT

Directories

Path Synopsis
cmd
worktracker command
internal
application
Package application must be ...
Package application must be ...
domain
Package domain must be...
Package domain must be...
infrastructure
Package infrastructure contains the infrastructure layer implementations.
Package infrastructure contains the infrastructure layer implementations.
infrastructure/bootstrap
Package bootstrap wires up all dependencies and exposes them via a Container.
Package bootstrap wires up all dependencies and exposes them via a Container.
infrastructure/cli
Package cli contains the command-line interface components.
Package cli contains the command-line interface components.
infrastructure/cli/dashboard
Package dashboard must be ...
Package dashboard must be ...
infrastructure/cli/root
Package root is the init ...
Package root is the init ...
infrastructure/config
Package config handles loading and managing application configuration.
Package config handles loading and managing application configuration.
infrastructure/persistence
Package persistence must be ..
Package persistence must be ..

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL