Ditch the Browser Tab: Track Your Time Right in the Terminal with 'hours'

Published: (December 9, 2025 at 08:33 AM EST)
2 min read
Source: Dev.to

Source: Dev.to

Quick Summary

Hours is a command‑line time‑tracking toolkit designed for users who prefer a minimalist, keyboard‑driven interface. It lets you:

  • Create and manage tasks directly from the terminal.
  • Start and stop timers with minimal keypresses via an intuitive TUI.
  • Generate flexible plaintext reports, logs, and statistics that are easy to parse and share.
  • Stay within the CLI to reduce context switching and maintain focus.

Project Statistics

  • Stars: 300
  • Forks: 14
  • Open Issues: 12
  • Language: Go

Features

  • Minimalist TUI: A clean interface appears when you run hours, allowing rapid task management without complex menus.
  • Plaintext Output: Reports, logs, and stats are generated as plain text, making them easy to integrate into scripts or other tools.
  • Customizable Date Ranges: Aggregate and filter data by specific dates or ranges (e.g., hours report yest).
  • Interactive Report View: Quick visualisation of time allocation directly in the terminal.

Usage

# Start the interactive interface
hours

Commands

CommandDescription
hours startBegin tracking time for a task.
hours stopStop the currently running timer.
hours reportGenerate a plaintext report for the given date (e.g., hours report yest).
hours logShow a detailed log of all sessions within the specified range (e.g., this week).
hours statsDisplay overall statistics and summaries.

Benefits for Developers

  • Maintains Flow State: By keeping time tracking inside the terminal, you avoid the cognitive load of switching between tools.
  • Transparent Data: Plaintext reports provide a clear overview of how time is allocated, without proprietary formats or heavy dashboards.
  • Easy Integration: The output can be piped into other scripts or tools for further analysis or billing.

Repository

View the project on GitHub (replace with the actual URL)

Back to Blog

Related posts

Read more »