Timer
Track time from your terminal. Start timers, log hours, generate reports. Git-aware and CI/CD compatible.
⚠️ BETA — GitScrum CLI is in active development. Open source under the MIT license. Available on GitHub. Built for developers — Tasks, timers, sprints, and analytics in your terminal. Git-aware. CI/CD ready.
Time tracking that stays out of your way. Start timers, log hours, generate reports — all from your terminal.
Commands
| Command | Description |
|---|---|
gitscrum timer | Show active timer status |
gitscrum timer start [CODE] | Start timer for a task |
gitscrum timer stop | Stop active timer |
gitscrum timer log | Log time manually |
gitscrum timer report | View time tracking reports |
gitscrum timer productivity | View productivity metrics |
Check Active Timer
gitscrum timerActive: GS-1234 | Running: 2h 15m
Started: 09:00Or if no timer is running:
No active timer.Start Timer
gitscrum timer start GS-1234Timer started for GS-1234 at 09:15Git-Aware Start
If you're on a branch like feature/GS-1234-oauth, you can start without specifying the task:
gitscrum timer startTimer started for GS-1234 at 09:15With Description
gitscrum timer start GS-1234 -d "Implementing OAuth device flow"Stop Timer
gitscrum timer stopLogged 3h 45m to GS-1234
Total today: 7h 15mLog Time Manually
Forgot to start the timer? No problem.
gitscrum timer log GS-1234 2h30mLogged 2h 30m to GS-1234With Description
gitscrum timer log GS-1234 45m -d "Code review for PR #42"Logged 45m to GS-1234: Code review for PR #42For a Previous Day
gitscrum timer log GS-1234 4h --date 2026-02-06Logged 4h to GS-1234 on Feb 6, 2026Duration Format
Multiple formats are supported:
| Format | Example | Result |
|---|---|---|
| Hours and minutes | 2h30m | 2 hours 30 minutes |
| Hours only | 4h | 4 hours |
| Minutes only | 45m | 45 minutes |
| Decimal hours | 2.5h | 2 hours 30 minutes |
| Colon format | 2:30 | 2 hours 30 minutes |
Time Reports
Today's Work
gitscrum timer report --dayToday (Feb 7, 2026) — 7h 15m
TASK DURATION DESCRIPTION
GS-1234 3h 45m Implement OAuth flow
GS-1234 2h 30m Testing and debugging
GS-1198 1h 00m Fix pagination bugThis Week
gitscrum timer report --weekThis Week — 32h 15m
PROJECT HOURS TASKS
backend-api 18h 30m GS-1234, GS-1198, GS-1156
web-app 10h 45m GS-1089, GS-1091
docs 3h 00m GS-1045
Most time: GS-1234 (12h 30m)This Month
gitscrum timer report --monthBy Project
gitscrum timer report --week -p backend-apiTeam Report
gitscrum timer report --week --teamTeam Time Report — This Week
USER HOURS TOP PROJECT
alice 38h 15m backend-api
bob 35h 30m web-app
charlie 29h 45m mobile-app
Total: 103h 30mJSON Output
gitscrum timer report --week --jsonPerfect for exporting to spreadsheets or invoicing tools.
Configuration
In .gitscrum.yml:
timer:
# Auto-start timer when switching to task branch
auto_start: true
# Auto-stop timer when switching away
auto_stop: true
# Round to nearest 15 minutes
round_to: 15
# Minimum 5 minutes to log
min_duration: 5
# Remind after 2 hours of inactivity
reminder_after: 120Rounding
When round_to: 15:
- 7 minutes → 15 minutes
- 23 minutes → 30 minutes
- 38 minutes → 45 minutes
Minimum Duration
When min_duration: 5, entries under 5 minutes are ignored. Prevents accidental micro-entries from cluttering your timesheet.
Daily Workflow
# Morning: What did I log yesterday?
$ gitscrum timer report --day
# Start working
$ gitscrum timer start GS-1234
# Check status mid-day
$ gitscrum timer
Active: GS-1234 | Running: 2h 15m
# Lunch break? Stop and restart
$ gitscrum timer stop
$ gitscrum timer start GS-1234
# End of day: Stop and review
$ gitscrum timer stop
$ gitscrum timer report --dayTips
Git-Aware
If you don't specify a task code, the CLI automatically detects it from your current branch:
$ git checkout feature/GS-1234-oauth
$ gitscrum timer start
Timer started for GS-1234 at 09:00Auto-Start on Branch Switch
Enable in .gitscrum.yml:
timer:
auto_start: trueNow, every time you checkout a task branch, the timer starts automatically.
Forgot to Start?
Log time after the fact:
gitscrum timer log GS-1234 3h -d "Debugging OAuth flow"Billable Hours Export
# Export week's time as CSV
gitscrum timer report --week --json | jq -r '.entries[] | [.date, .task, .duration, .description] | @csv' > timesheet.csvCI/CD Integration
Track deployment time:
# GitHub Actions
- name: Track deployment
run: |
START=$(date +%s)
# ... deployment steps ...
END=$(date +%s)
DURATION=$((END - START))
MINUTES=$((DURATION / 60))
gitscrum timer log $TASK "${MINUTES}m" -d "Deployment to production"