Ditch the Browser Tab: Track Your Time Right in the Terminal with 'hours'
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
| Command | Description |
|---|---|
hours start | Begin tracking time for a task. |
hours stop | Stop the currently running timer. |
hours report | Generate a plaintext report for the given date (e.g., hours report yest). |
hours log | Show a detailed log of all sessions within the specified range (e.g., this week). |
hours stats | Display 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)