Overview
Code Pulse is local-first developer time tracking and AI-activity observability. It has three surfaces: VS Code extension, desktop app (Tauri+Svelte), and CLI + local daemon + MCP server.
Quick start
VS Code-only
Install the extension, reload VS Code, and open
Code Pulse: Show Dashboard.
Desktop
Start the daemon, then open the Tauri desktop app for Timeline, Tokens, Recovery, and AI Sources.
CLI + daemon
Run codepulse doctor and codepulse status
to validate the local service.
AI agents
Connect the MCP server so local activity, token, and session stats are queryable by compatible agents.
Install — VS Code extension
Install from the Marketplace:
umutkorkmaz.code-pulse-tracker
Or install the local .vsix:
code --install-extension code-pulse-tracker-1.2.2.vsix
Or package from source:
git clone https://github.com/UmutKorkmaz/code-pulse.git
cd code-pulse
npm install
npm run package
code --install-extension code-pulse-tracker-1.2.2.vsix
Reload the window, then open Code Pulse from the Command Palette with
Code Pulse: Show Dashboard.
Install — Desktop app
Build the desktop app from source:
git clone https://github.com/UmutKorkmaz/code-pulse
cd code-pulse/platform && npm install && npm run build
cd apps/desktop && npm run tauri:build
The native installer is in src-tauri/target/release/bundle/.
For development, run npm run tauri:dev.
After a release is published, install from GitHub Releases with:
gh release download v1.2.2 \
--repo UmutKorkmaz/code-pulse \
--pattern "*.dmg" \
--dir dist/releases
open dist/releases/*.dmg
The desktop app needs the daemon running. Dev mode needs
VITE_DAEMON_TOKEN=$(cat ~/.codepulse/token) npm run dev.
Install — CLI & daemon
The daemon binds 127.0.0.1:7842 for HTTP and :7843
for WebSocket. Start it with:
node platform/apps/daemon/dist/main.js
CLI commands:
codepulse doctor
codepulse status
codepulse registry
codepulse daemon
Sample codepulse doctor output:
$ codepulse doctor
✓ data-directory ~/.codepulse
✓ auth-token present, mode 0600
✓ database SQLite ready
✓ daemon-reachable http://127.0.0.1:7842
✓ registry 6 scanners
All checks passed
AI tool detection
Code Pulse detects 6 tools via process, log, terminal, and extension signals:
- Claude Code
- OpenAI Codex
- Cursor
- Cline
- Droid (Factory)
- Kilo
Run time is how long the tool ran. Active work time is the activity Code Pulse can account for. All sources merge into one row per tool.
The dashboards
The VS Code dashboard includes the AI Tools card. The desktop app
includes the Home You vs AI panel and Timeline rows like
ran 3h · worked 37m.
Privacy & data
Code Pulse is 100% local: SQLite database under ~/.codepulse,
loopback-only daemon, 0600 auth token, ed25519-signed scanner
registry, and no cloud, account, or telemetry.
MCP server
Query your stats from any MCP-capable AI agent. The MCP server uses stdio JSON-RPC.
Publish GitHub Pages
The Pages workflow deploys the site/ directory. It runs on pushes
to main, or you can trigger it manually:
gh workflow run pages.yml --repo UmutKorkmaz/code-pulse --ref main
RUN_ID=$(gh run list --repo UmutKorkmaz/code-pulse --workflow pages.yml --limit 1 --json databaseId --jq '.[0].databaseId')
gh run watch --repo UmutKorkmaz/code-pulse "$RUN_ID"
gh api repos/UmutKorkmaz/code-pulse/pages --jq '.html_url'
Troubleshooting
-
Daemon not reachable: start the daemon or run
codepulse doctor. -
Desktop
401in dev: setVITE_DAEMON_TOKEN=$(cat ~/.codepulse/token). -
Stale unsigned manifests: clear
~/.codepulse/cache/registry/so the daemon reseeds signed ones. -
Gray or empty Activity Bar tile: install v1.2.2 or newer, then run
Developer: Reload Window. If VS Code still shows the stale cached icon, quit and reopen VS Code.