v1.0 · for VS Code, Cursor, Windsurf, & VSCodium

Track the hours
you actually code.

A quiet, local‑first timer that sits in your status bar and logs every coding session — automatically, per project. No accounts. No cloud. No timers to start. Just open a folder and ship.

0 runtime deps
1 s resolution
MIT license
Features

Quiet by default, powerful when you look.

Everything you need to understand where your time goes — without spreadsheets, sign‑ups, or remembering to press Start.

live session · status bar

The timer ticks while you work — and steps aside when you don't.

A second-resolution counter lives in your status bar, attached to the project you're in. Click it to open the full report. Idle for five minutes and the session saves itself.

streaks

Don't break the chain.

Current and longest coding streak, calculated automatically.

12d
14 days agotoday
daily goal

Aim, then watch it fill.

Set a daily target. The progress ring updates live.

76%OF 6H
today
4h 32m / 6h
remaining
1h 28m
idle detection

Knows when you've stepped away.

Sessions end automatically when focus is lost.

threshold5 min
range1 – 60
min saved60 s
local-first

Your data, in your repo, as plain JSON.

Saved to .devCodeTracker/sessions.json. Readable by any tool, portable forever, gitignore-friendly.

{ "project": "payments-service", "display_name": "Payments API", "start_time": "2026-05-24T09:12:04Z", "duration_seconds": 8048, "date": "2026-05-24", "synced_online": true }
history

14 days at a glance.

Offline webview — no browser needed.

ai-assistant friendly

Counts even when an agent is typing for you.

The timer follows window focus, not keystrokes — so pair‑programming with Cursor, Claude Code, or Windsurf keeps the session alive. Works in every VS Code‑compatible editor.

VS Code Cursor Claude Code Windsurf VSCodium
0cfg
setup before tracking
1s
timer resolution
60s
minimum saved session
0deps
runtime npm packages
How it works

Five steps, then it disappears.

Setup is one install. After that, the extension does its job in the background and only shows up when you ask.

01

Install once

Grab it from the Marketplace or install a .vsix manually. Works in VS Code, Cursor, Windsurf, and any VS Code‑compatible editor.

02

Open any project

The status bar shows ⏱ project: 0s the instant a workspace opens. No prompts, no permission dialogs.

03

Code (or pair with an AI) normally

The timer follows window focus, so AI assistants like Cursor and Claude Code keep the session alive even when you're not typing.

04

Idle ends the session

Step away for your idle window (default 5 min) and the session writes itself to sessions.json. Midnight is split correctly per your timezone.

05

Sync (optional)

Self‑host the PHP + MySQL backend on any cheap hosting to get the web dashboard with streaks, goals, and 30‑day history. Otherwise: never leaves your machine.

~/payments-service
$code --install-extension KuldipsinhParmar.dev-code-tracker
→ Installed Dev Code Tracker v1.0.0
 
# open project
$code ~/payments-service
[tracker] tracking started — payments-service · 09:12 IST
[tracker] idle threshold: 5m · min session: 60s
 
# 2h 14m later …
[tracker] idle detected — ending session
[tracker] ✓ session saved · 8048s · sessions.json
[tracker] ✓ synced 1 session to API · 200 OK
 
$cat .devCodeTracker/sessions.json | jq '.[-1]'
{
"project": "payments-service",
"duration_seconds": 8048,
"synced_online": true
}
Command palette

Eight commands, nothing more to memorize.

Open the palette with P (or Ctrl P) and type Dev Code Tracker.

Dev Code Tracker: Open ReportOpen Report / Dashboard

Opens your full report — local webview if offline, online dashboard if sync is configured. Also fires on a status‑bar click.

Dev Code Tracker: Show Local DashboardShow Local Dashboard

Forces the local graph & charts even when sync is on. Includes the live session in real time.

Dev Code Tracker: Show Today's SummaryShow Today's Summary

Opens a Markdown file with today's sessions, totals, and per‑session times for the current project.

Dev Code Tracker: Configure Online APIConfigure Online API

Guided prompts for API URL, secret key, and idle timeout. Under 30 seconds end‑to‑end.

Dev Code Tracker: Sync to Server NowSync to Server Now

Manually push pending sessions to your server. Useful after working offline.

Dev Code Tracker: Set Display NameSet Display Name for Project

Assign a friendly name to a folder. Syncs to status bar, both dashboards, and all reports.

Dev Code Tracker: Clear Project DataClear Project Data

Permanently deletes local session data for the current project. Asks for confirmation first.

Dev Code Tracker: Toggle Status Bar ModeToggle Status Bar Mode

Active: ⏱ project: 1h 23m 45s · Idle: ⏱ today: 2h 15m.

Install

Up and tracking in thirty seconds.

Two ways in. The Marketplace is the fastest; the VSIX is for air‑gapped or pre‑release builds.

✦ Recommended

From the Marketplace

Get it directly from the VS Code Marketplace, search for Dev Code Tracker in the Extensions panel, or run it from your shell:

$code --install-extension KuldipsinhParmar.dev-code-tracker
Works in VS Code, Cursor, Windsurf, VSCodium
Auto‑updates with your editor
Free forever · no account required
⌥ Manual install

From source or VSIX

For pre‑release builds or fully air‑gapped setups. Pull the repo, build, then load via Command Palette → Install from VSIX.

# 1. clone & build $git clone https://github.com/KuldipsinhParmar/dev-clock-tracker $cd dev-clock-tracker/extension $npm install && npm run compile # 2. press F5 in VS Code for dev mode # or install the built vsix: $code --install-extension dev-code-tracker-1.0.0.vsix
Optional · self‑hosted

A real dashboard, on your own server.

Upload two files, run one SQL script, drop in an API key. You get streaks, daily goals, a 30‑day history, and dark mode — all from a single‑file PHP backend.

https://your-server.dev/devcodetracker
LightDark

Welcome back here's your week

Sun · 24 May 2026 · IST
TODAY
4h 32m
76% of 6h goal
THIS WEEK
28h 12m
14 sessions · 5 projects
CURRENT STREAK
12 days
best: 24 days
ALL TIME
347h
across 8 projects
Daily activity
7d14d30d
Apr 25May 02May 09May 16today
FAQ

Quick answers.

Still have questions? Open an issue on GitHub →

Does it phone home, share data, or require an account?
No. The extension is 100% local first. Session data lives in .devCodeTracker/sessions.json inside your project. Nothing leaves your machine unless you configure the self‑hosted sync to your own server.
How does it handle idle time?
Window focus drives the timer, with a configurable idle threshold (default 5 min, range 1–60 min). Sessions under 60s are discarded automatically.
Will it work with Cursor, Claude Code, and other AI tools?
Yes. The timer tracks window focus instead of keystrokes, so any flow that keeps your editor focused — including pair‑programming with Cursor, Claude Code, or Windsurf — keeps your session alive.
What does the self‑hosted backend require?
PHP and MySQL — any shared hosting works. Upload api.php and dashboard.html, run setup.sql, set your DB credentials and API key. Then run Configure Online API from the palette.
Is the data format portable?
Yes — plain JSON, one record per session, ISO‑8601 timestamps. Easy to read with jq, scripts, or any other tool.
How much does it cost?
Free. MIT‑licensed, open source. The optional backend is yours to host.
free · open source · MIT

Start tracking the hours
you actually code.

Thirty seconds to install. Zero ongoing thought. Decades of context.

VS Code Cursor Windsurf VSCodium Claude Code