Heartbeat is a comprehensive Visual Studio Code extension designed to help developers manage productivity, health breaks, tasks, and daily activity directly from their editor.
Features
Daily Task Reminders: Create and manage a list of tasks with optional due dates and receive notifications.
Break Reminders: Get recurring alerts to drink water, stretch, or take a custom break.
Calendar & Holidays: View upcoming holidays imported from CSV or JSON. Receive alerts 1 day before a holiday starts.
Coding Time Tracker: Automatically track your active coding session time inside VS Code.
Salah Time Watch: Display current and upcoming prayer times, customizable directly from settings.
Sidebar Application UI: A dedicated webview panel containing all features.
Usage
Click on the Heartbeat icon (pulse) in the Activity Bar on the left side of your VS Code window.
The dashboard will open, showing your tasks, break reminders, coding time, Salah watch, and calendar.
Configure Settings:
Go to Preferences: Open Settings (or press Ctrl+,) and search for Heartbeat to customize:
heartbeat.breaks.interval: The interval for break reminders in minutes.
heartbeat.holidays.source: Absolute path to your custom holidays.json or holidays.csv.
heartbeat.salah.method: Method for calculating Salah times.
How to Build from Git
Follow these steps to clone the repository, run the extension locally, or package it into an installable .vsix file.
(Note: If you have already created the folder, just navigate to it: cd path/to/heartbeat)
2. Install Dependencies
npm install
3. Run and Debug Locally
Open the project folder in VS Code:
code .
Press F5 (or go to Run > Start Debugging).
This will compile the TypeScript code and launch a new Extension Development Host window.
In the new window, click the clock icon on the left Activity Bar to test the extension UI and functionality.
4. Package the Extension (for installation)
If you want to install it permanently or share it with others, you can create a .vsix package format payload:
Install vsce (the Visual Studio Code Extension publisher) globally:
npm install -g @vscode/vsce
Run the packaging command in the project root:
vsce package
Note: If vsce warns about a missing repository field in package.json, you can safely say "yes" (Y) to continue anyway.
A file named heartbeat-1.0.0.vsix will be generated in your folder.
To install it: Open your regular VS Code, go to the Extensions view (Ctrl+Shift+X), click the ... (more) menu in the top right of the sidebar, select Install from VSIX..., and then select the generated file.