How automated time tracking works
Clocktopus tracks your development time by listening to your git commits. When you push code to GitHub or Bitbucket, we calculate the time you spent working and create time entries for you.
How it works
Supported providers
Time calculation rules
Clocktopus calculates the time between your commits using your configured timezone and work hours. It uses either your default working hours or signals as the reference.
Say you work 9am to 5pm most days. You don't need to do anything special, just keep committing. Your first commit of the day gets picked up automatically, and the system calculates hours from your configured start time.
But real life isn't always that neat. Maybe you had a dentist appointment, or you're running late after a chaotic school drop-off. That's where signals come in. They let you override the default hours so Clocktopus captures what actually happened.
Some companies are strict about arrival, lunch, and finish times. Others are flexible. If yours is the flexible kind, we recommend using signals to capture your actual hours. Either way, most of the time you just need to keep your code committed and let Clocktopus handle the rest.
If you don't push a single commit, Clocktopus treats it as a day off. You can always log hours manually through the web portal if you did work that day.
Same-day commits
Exact time difference between commits is recorded
Next-day commits
The next-day commit closes the tail from Monday. Tuesday and Wednesday are treated as days off. Total: 3h
Exceptions
Sometimes you'll commit outside your working hours, after a signal out or past the default end of day. Clocktopus tries to find a reference point to calculate hours, but when it can't, it registers a 0-hour entry and flags it for your review. Every entry can be edited through the portal.
The commit falls entirely outside configured hours.
Committed before the start of your work session.
Committed after the end of your work session.
The commit arrived out of chronological sequence.
The first three flags are self-explanatory. "Out of Order" doesn't mean something is broken. It means Clocktopus received a commit with a timestamp earlier than the last one it processed.
Picture this: you write some code in the morning but forget to push. The commit timestamp is set, but your remote has no idea it exists. You carry on with other tasks, commit and push everything later. When you finally push that morning commit, it arrives after newer ones. This could mess with records that were already computed. Clocktopus just flags the entry so you can decide what to do.
Cross-project tracking
All your commits go into a single timeline, regardless of which project they belong to. Time between commits is attributed to the project of each commit.
Manual entries
Every automated entry can be edited, and you can add manual entries too. The web portal has two views: weekly, where you drop hours against a project for any given day, and daily, for a more detailed breakdown.
Other collaborators on your team can log their hours through the same portal. It's manual for them, but it keeps everything in one place.
Mindset
Keep it committed. It's simple, and you probably already do it. The more commits you make, the more data points Clocktopus has to work with, and the better the time estimates get.
We recommend using conventional commits to format your messages. Clocktopus can parse structured commit messages and pull out things like time spent on ticket ABC-123. This is where it stops being just a developer tool. It gives the company accurate, real-time data on where time actually goes. That kind of visibility is hard to get any other way.
Signals
Signals add a small overhead, but if you don't have regular hours, there's no way around it. You have to tell the system when your day starts and ends. We made this as painless as possible by putting it right where you already are: the terminal.
Clock in and out via CLI
clocktopus clock [in|out]That's it.