DevMod Pulse
Development Modifications Pulse
A work tracker that lives in your editor sidebar. No login, no account, no server - all your data stays in one local JSON file on your machine.
Pulse auto-detects which project a window belongs to, logs the time you spend (on tasks you start, or just on the coding you're doing), nudges you when you drift off-track, and turns it all into filterable reports.
What it does
- Per-window project detection. Each window knows its own repo from the open folder (and reads the git remote for identity). Open three projects in three windows and each tracks itself - one window being busy never marks another idle.
- Task tracking. Add tasks per project, start/stop them, mark them done. Time logs against the running task.
- Tracks even with no task. Coding in a linked project without starting a task? Pulse logs it as untracked work under that project and shows “Working in PROJECT” - nothing slips.
- Idle watchdog. If a focused window sees no activity for your threshold (default 15 min), Pulse flags you off-track, with an optional sound.
- Focus-aware, with a background lane. Only the focused window accrues time - except an unfocused window keeps counting while real edits are still happening in it (e.g. an AI agent working), so two genuinely-active windows can both run. The session timer pauses and resumes as you juggle windows; it never resets just because you switched away.
- Reports. A sidebar report view with Day / Week / Month / Year / Custom filters, broken down by project and task, with untracked time called out separately. Click a project to drill into its individual sessions.
- Status-bar timer. A live, ticking session timer in the status bar; click it for a quick summary with View more / Show report.
Issue sync - GitHub + Jira (optional, off by default)
Pulse is local-first. Issue sync is strictly opt-in - when it's off, nothing leaves your machine. Both providers feed one unified task list: each item is badged by source (GitHub / Jira), deduped, and linked to its issue. There is no second panel.
- GitHub - turn on
devModPulse.github.enabled (or run “Pulse: Connect GitHub”). For any project with a GitHub remote, Pulse pulls issues (assigned to you by default) using VS Code's built-in GitHub sign-in. No token to manage.
- Jira - run “Pulse: Connect Jira Account” (site URL + email + API token). The token is stored in VS Code's encrypted secret storage, never in settings. Issues come from a configurable JQL.
Sync only keeps open issues - closing one removes it from the list on the next sync.
- Status mapping. With
devModPulse.syncStatusToRemote on, starting a task moves the issue to In Progress and completing it to Done/Closed, for both providers. The status names are configurable.
- Branch-aware switching. Check out a branch with an issue key (
PROJ-123-fix-login or 42-fix) and Pulse activates the matching task automatically.
- Keyboard-first.
Pulse: Start / Switch Task (Ctrl/Cmd+Alt+T), Pulse: Stop Tracking Task (Ctrl/Cmd+Alt+Shift+T), plus optional commit & push on complete.
Reports & your data
A few things worth knowing so the numbers make sense:
- Sessions. Each continuous stretch of active work in a window is recorded with its start/end. Idle time is not counted.
- Overlaps count once. If two windows are open for the same 8 hours, your day shows 8 hours, not 16 - the report unions time intervals at every level (total, project, task).
- Drill-down. Click a project in the report to see its individual sessions: actual clock-time ranges (e.g.
09:15–11:30), task, duration, and the files touched (devModPulse.trackFiles, on by default).
- Local & yours. Everything lives in a single
devmod-pulse.json in VS Code's global storage - it never leaves your machine. Open it with “Pulse: Open Local Data File (JSON)”.
- Retention & cleanup. Records older than
devModPulse.dataRetentionDays (default 60) are pruned daily; set 0 to keep forever. Wipe everything with “Pulse: Delete All History”.
For the exact session/reporting model (including the two-projects-at-once nuance), architecture, and the build/release flow, see DEVELOPMENT.md.
Settings
| Setting |
Default |
What it does |
devModPulse.idleMinutes |
15 |
Idle threshold before you're flagged off-track. |
devModPulse.idleSound |
true |
Play a sound when you go idle. |
devModPulse.autoTrackWithoutTask |
true |
Log coding time to the project even with no task started. |
devModPulse.trackFiles |
true |
Record project files touched per session (shown in the report drill-down). |
devModPulse.dataRetentionDays |
60 |
Auto-delete sessions/done tasks older than N days (0 = keep forever). |
devModPulse.trackBackgroundActivity |
true |
Keep tracking an unfocused window while edits are still happening (e.g. an AI agent). |
devModPulse.backgroundIdleSeconds |
60 |
Grace after the last edit before an unfocused window pauses. |
devModPulse.backgroundIncludesTerminal |
false |
Count terminal output as background activity in an unfocused window. |
devModPulse.showStatusBarTimer |
true |
Show the live session timer in the status bar. |
devModPulse.github.enabled |
false |
Enable GitHub issue sync (opt-in). |
devModPulse.github.issueFilter |
assigned |
Which open issues to pull: assigned / created / all. |
devModPulse.github.inProgressLabel |
"" |
Optional label applied when you start a GitHub issue. |
devModPulse.jira.enabled |
false |
Enable Jira issue sync (opt-in; connect via the command). |
devModPulse.jira.siteUrl |
"" |
Jira Cloud site URL. |
devModPulse.jira.email |
"" |
Jira account email (token is in secret storage). |
devModPulse.jira.jql |
assigned & not done |
JQL selecting which Jira issues to pull. |
devModPulse.syncStatusToRemote |
false |
Start → In Progress, complete → Done/Closed on the remote. |
devModPulse.jira.inProgressStatus |
In Progress |
Jira status name for in-progress work. |
devModPulse.jira.doneStatus |
Done |
Jira status name for completed work. |
devModPulse.branchTaskSwitching |
true |
Auto-activate the task matching the checked-out branch's issue key. |
devModPulse.git.commitPushOnComplete |
false |
On completing a task, offer to commit staged changes and push. |
Contributing & releases
Development setup, architecture, packaging, and the CI/CD release flow are documented in DEVELOPMENT.md.
License
Proprietary - Copyright © 2026 Modhruti LLP. All rights reserved.
No license is granted to any person or entity. Use, copying, installation, modification, distribution, and commercial use are prohibited - public or private - without the prior written permission of Modhruti LLP. See LICENSE for the full terms. For licensing inquiries, contact Modhruti LLP.
DevMod Pulse - Development Modifications Pulse. © 2026 Modhruti LLP.