Meirakami94 downloadsOne-click project time tracking from the macOS menu bar. Stop the timer, tag the project, and a markdown session note lands in your vault.
A focused Obsidian desktop plugin that puts a clock in your macOS menu bar for one-click project time tracking. Left-click to start, left-click again to stop, then confirm the project and jot a description — a markdown session note lands in your vault, and an Obsidian Base rolls up total time per project.
Built to keep the data yours: plain markdown in your vault, not a SaaS database.
0:42).project, start, end, duration in minutes, date).Time per project.base groups sessions by project and sums duration.macOS-only for the live menu-bar readout (Tray.setTitle is macOS-only); the timer and note-writing still work elsewhere.
npm install
npm run build # produces main.js
Then copy main.js, manifest.json, and styles.css into your vault at:
<vault>/.obsidian/plugins/menubar-time-tracker/
Enable it under Settings → Community plugins (Restricted Mode off). Set your session folder under the plugin's settings (default Time Log/Sessions).
The Time per project Base is deployed automatically next to your session folder after the first session is saved. If you change the session folder later, update the Base's file.inFolder(...) filter (the plugin reminds you).
npm run dev # esbuild watch
npm test # vitest (pure logic: format, session)
npm run typecheck # tsc --noEmit
Pure, Obsidian-free logic lives in src/format.ts and src/session.ts and is unit-tested. The Obsidian/Electron-coupled code (tray, modal, vault) is thin and verified manually in Obsidian (see below).
Because there's no headless Obsidian harness, verify these in your running Obsidian after installing:
on('click') / on('right-click') + popUpContextMenu path works in your Obsidian/Electron build.) 2 suffix.Time per project.base — sessions group by project with summed minutes/hours.MIT