PulseGit
PulseGit quietly tracks your coding activity and snapshots it to a Git repository you own.
No accounts. No dashboards. No external servers.
Your data lives in Git — where it belongs.
Why PulseGit
GitHub contribution graphs don’t tell the full story.
PulseGit captures real coding effort, even when you’re:
- Working locally
- Learning new technology
- Offline
- Experimenting without committing to a project repository
What It Does
- Tracks files edited, languages used, and lines changed
- Creates timestamped JSON activity snapshots
- Pushes snapshots to a Git repository you control
- Works offline and retries automatically when connectivity returns
- Manual Force Snapshot button in the status bar
Gap Analysis vs Other Extensions
| Feature |
Other VS Code Activity Extensions |
PulseGit |
| Open-source / external repo support |
❌ Requires push access to each project repo; impossible for most open-source contributions |
✅ Snapshots go to your own activity repo; can track any project without affecting project repos |
| Authentication |
⚠️ Requires GitHub personal access token |
✅ Uses existing VS Code Git authentication; no extra token needed |
| Activity commit destination |
⚠️ Commits directly to project repo, polluting history |
✅ Commits only to your dedicated activity repo |
| Repository requirement |
❌ Must have a repo for each project/folder you work on |
✅ Only your dedicated activity repo is needed; you can track learning, demos, or experiments without a project/folder repo |
| Offline support |
❌ Often fails if offline |
✅ Stores snapshots locally and retries automatically when connectivity returns |
| Setup complexity |
⚠️ Must configure multiple repos or tokens |
✅ Only one repo URL required (your activity repo) |
PulseGit lets you track coding activity across all your projects, without worrying about polluting project histories or being blocked on permissions.
Prerequisites
Before using PulseGit, ensure the following:
- Git is installed and available in your system PATH
- You are signed into GitHub in VS Code
- Open the Accounts menu (bottom-left) and sign in
- The configured repository belongs to you or you have push access
- Repository URL uses HTTPS (recommended)
PulseGit relies on your existing Git authentication.
If you are not authenticated or lack permission, pushes will fail.
Setup
- Install PulseGit
- Create a Git repository (public or private) — this will be your activity repo
- Open Settings → PulseGit
- Set the Repository URL (HTTPS)
- Ensure GitHub authentication is active in VS Code
- Start coding
Snapshots will be created automatically based on the configured interval.
Manual Snapshot
Use the PulseGit button in the status bar or run:
This immediately creates a snapshot and attempts to sync it.
Offline & Error Handling
Configuration / Settings
| Setting |
Type |
Default |
Description |
enabled |
Boolean |
true |
Enable or disable PulseGit tracking. |
snapshotIntervalMinutes |
Number |
30 |
Interval (in minutes) between automatic snapshots. Minimum is 5 minutes. |
enableGitSync |
Boolean |
true |
Enable pushing snapshots to a Git repository. |
repoUrl |
String |
"" |
HTTPS URL of the Git repository where snapshots will be stored. Must be a repo you can push to. |
enableNotifications |
Boolean |
true |
Show VS Code notifications for successful syncs or errors. |
⚠️ Important: Changing the repository URL will remove the previous local repository and clone the new one.
Settings UI
You can configure PulseGit directly from the VS Code Settings panel.
Example: General Settings

- Enable/disable tracking
- Set snapshot interval
- Toggle Git sync
Privacy
PulseGit does not collect or transmit data to any external service.
All activity data:
- Is generated locally
- Is stored locally
- Is pushed only to the Git repository you explicitly configure
See PRIVACY.md for full details.
License
MIT. See LICENSE.txt for full license details.
For any questions or suggestions, please open an issue on the GitHub repository or reach out to me directly.
GitHub Repository