Sumery Libra — Coding TimeCounts your coding time for Sumery Libra — only while you are actually editing code, and stops when you stop. Works in VS Code and its forks (Cursor, Windsurf, VSCodium and others). What counts as codingA heartbeat is written only when all of these hold:
So reading, scrolling, switching files, searching, watching a build, or having the editor open while you are in another app record nothing. When counting stopsHeartbeats are throttled to one per 30 seconds; the last edit of a stretch is always written with the time it happened. Libra joins heartbeats that are at most 3 minutes apart into one stretch, so a pause to think stays in the same stretch, and a longer pause ends the stretch at your last edit — none of the idle time is counted. What is recordedOne JSON line per heartbeat, appended to
That is: the time, the editor's product id and name, and the project root. Never file names, file contents, language, cursor position, window titles or keystrokes. The extension makes no network connections. The extension is declared Switching it offIn Libra: Settings → General → Collection → IDE plugin. Or from the command line:
The extension re-reads the switch at most every 5 seconds; no restart needed. When the switch is off, edits are discarded, including any heartbeat not yet written. Checking that it works
Libra's Data sources page lists the file's line count and the time of the last heartbeat; on the Today page the time shows as IDE coding. Companion pluginThe same rules are implemented for JetBrains IDEs: Sumery Libra - Coding Time on JetBrains Marketplace. LicenseProvided under the Sumery Libra IDE plugin license (see |