Skip to content

IAmRadek/tm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tm

A minimal CLI time tracker for projects and tasks.

Install

cargo install --path .

Usage

# Start tracking
tm start <project> <task>
tm start myproject "implement feature"

# Start with 30-min rounding (for billing)
tm start myproject "implement feature" --round

# Start at a specific time today
tm start myproject "implement feature" --started-at 09:30

# Start at a specific date and time
tm start myproject "implement feature" --started-at "2026-04-07 09:30"

# Start from the stop time of the last finished entry
tm start myproject "review PR" --from-last-stop

# Amend an existing entry by ID
tm amend <id> --started-at "2026-04-07 09:30"
tm amend <id> --stopped-at "2026-04-07 11:00"
tm amend <id> --started-at "2026-04-07 09:30" --stopped-at "2026-04-07 11:00"

# Check status
tm status

# Stop tracking
tm stop

# Continue last task
tm continue

# Merge today's fragmented entries per task
tm squash

# Merge yesterday's fragmented entries
tm squash --yesterday

# Merge fragmented entries for a specific day
tm squash --day 2026-04-07

# View log
tm log

# View log grouped by day
tm log --daily

# View billable times only
tm log --billable

# Cancel current entry
tm cancel

# Clear all data
tm clear

How it works

  • Data stored in ~/.config/tm/data.sqlite
  • Time entries grouped by project and task
  • tm squash merges today's stopped fragments per task into one wider entry
  • Optional rounding to nearest 30 minutes for billing
  • Tracks both actual and billable time

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors