Skip to content

Automatic time tracking for developers — in any editor

Automatic time tracking for developers that works in any editor — VS Code, Neovim, JetBrains, Vim. It watches your files, not the editor, so there's no plugin to install. No screenshots, idle auto-close, invoicing built in.

Article

27 June 2026Sander, Founder & engineer, Temporal.ist4 min read

A code editor window with a clock — automatic time tracking for developers in any editor

Most "dev time trackers" are an editor plugin you have to install, configure, and trust. This one watches the files your editor saves instead — so it works the same in VS Code, Neovim, JetBrains, or a terminal on a VPS, with nothing to install in the editor at all.

TL;DR

  • Editor-agnostic: it watches file writes, so VS Code, Neovim, JetBrains and Vim all work the same — no plugin.
  • Point a watch path at a repo; in-scope file edits become a tracked session, excludes keep build noise out.
  • Idle time auto-closes sessions, and a Linux CLI covers terminal and VPS work over SSH.
  • No screenshots or keystroke logging — capture is plain file paths you can audit.

The problem with editor plugins

Search "time tracking for developers" and you mostly find editor extensions:
one for VS Code, a different one for JetBrains, nothing for your Neovim setup,
and certainly nothing for the ssh session where half your real work happens.
Each one is a separate plugin to install, keep updated, and trust inside your
editor — and the moment you switch tools, your tracking history fragments.

There's a simpler place to watch from: the filesystem. Whatever editor you use,
when you save a file it produces an ordinary write event. Track that and the
editor stops mattering.

How it works: watch files, not the editor

A background desktop client (macOS, Windows, Linux) watches the directories you
configure. When a file changes inside one, a session for that project starts;
when edits stop for a while, it ends. Because it's reading filesystem events,
the same setup covers every editor you'll ever use.

VS Code, Neovim, JetBrains and Vim all writing files into one watcher that opens a session — with no editor plugin to install

No extension in VS Code. No plugin in JetBrains. Nothing to wire into Neovim.
If your editor can save a file, it's already compatible.

Setting up a project

You map each project to a directory once, and tell the watcher what counts:

A project watch-path editor: a watch path, include globs for source files, exclude globs for node_modules and build output, and a 15-minute idle timeout

  • Watch path — the repo to track, e.g. ~/code/dmi/.
  • Include — globs that count as work: **/*.py, **/*.ts, **/*.svelte.
  • Exclude — noise to ignore: node_modules/, .venv/, dist/. This
    matters more than it sounds — a test run or npm install writes hundreds of
    files you don't want inflating your hours.
  • Idle timeout — how long with no in-scope edits before the session
    auto-closes (default 15 minutes), so breaks and lunches aren't tracked.

It follows you to the terminal

A lot of developer work isn't in a GUI editor at all — it's in a terminal,
often on a remote box. The same tracking is available as a Linux CLI and
TUI
that installs over plain SSH, signs in with the OAuth device flow, and
runs the watcher as a systemd service. So work on a headless VPS lands in the
same place as work in your desktop editor, each session tagged with where it
came from.

What it doesn't do

  • No screenshots, no keystroke logging, no productivity score. Capture is
    file paths (and, via the browser extensions, visited URLs) — all auditable
    in plain text.
  • No editor lock-in. Switch from VS Code to Neovim tomorrow and your
    tracking doesn't notice or care.
  • No manual timer babysitting. A manual timer exists as a fallback, but the
    default is that you never touch it.

From edits to an invoice

Because each project links to a client and a rate, the sessions your edits
generate become invoice line items in the same tool — no export step. You write
code in whatever editor you like; the billable hours assemble themselves.

The takeaway

A developer time tracker shouldn't care which editor you use. Watch the files
instead of the editor, exclude the build noise, let idle time trim the breaks,
and the same setup covers VS Code, Neovim, JetBrains, and the terminal on your
VPS — with nothing to install in any of them.

See also

developersautomatic time trackingvs codeneovimguide

Questions

Do I need a VS Code or JetBrains extension?

No. Tracking watches filesystem events, not the editor, so there's nothing to install in VS Code, JetBrains, Neovim, Vim or anything else. If your editor saves files, it already works.

Will running tests or installing dependencies inflate my hours?

Not if you exclude them. Each project's watch path takes exclude globs like `node_modules/`, `.venv/` and build output, so only writes to included source paths count toward tracked time.

Does it work for terminal and remote (SSH/VPS) work?

Yes. A Linux CLI and TUI install over SSH, sign in with the device flow, and run the watcher as a systemd service, so work on a headless VPS tracks alongside your desktop editor work.

Does it take screenshots or count keystrokes?

No. There are no screenshots, no keystroke logs and no productivity scores. Capture is plain file paths and visited URLs you can read and audit.

Can the tracked coding time become an invoice?

Yes. Projects link to clients and rates, so the sessions your file edits create turn into invoice line items in the same tool — no export to a separate app.

Keep reading

All posts
  • Three stacked cards for a timesheet filled in from memory, a timer that was never started, and an automatic tracker recording a session, next to the headline: timesheets, timers, or a tracker that fills itself in

    Article

    Time tracking software in 2026: timesheets vs timers vs automatic

    What time tracking software actually does, the three kinds of time tracking tool (timesheet software, timer apps, automatic time logging software), what a memory-based timesheet costs you, and a checklist for choosing one as a freelancer or small team.

    4 September 2026Sander10 min read

  • A calendar day column with two tracked sessions and a dashed gap between them being filled by a session block marked as recovered

    Article

    How to recover billable hours you forgot to track

    Forgot to track your time? Rebuild billable hours from commits, file timestamps, browser history and your calendar, log them as sessions, and invoice them with confidence.

    1 September 2026Sander6 min read

  • One card split down the middle, dark on the left and light on the right, with a small sun and moon dial sitting on the seam between the two halves

    Article

    Light mode, a new tray panel, and a calendar that stops hiding things

    Temporal.ist now has a light mode with a switch in the sidebar, a calendar that gives every project its own column and lists your tasks, and a desktop tray panel showing your week, what is running, and what is being watched. Plus pause and resume, and a per-project ignore list.

    12 August 2026Sander8 min read

Let your work keep its own time

Start on the free plan: no card and no trial period. Install the desktop app or the browser extension, choose what belongs to each project, and keep working.