DevPulse Daily — VS Code Extension
DevPulse Daily tracks your active coding time inside VS Code and composes a daily email summary with your coding stats. It's intended to help developers monitor daily productivity, keep track of time spent per project, and send a summarized report at the end of each day.
🔑 Features
- Track active coding time per project
- Automatic daily email report sent at 23:59 local time
- Status bar indicator displaying today’s cumulative coding minutes
- Commands to start/stop tracking, show a detailed stats webview, and send a test email
⚙️ Configuration
Add your Resend API key to the workspace or user settings in VS Code (Settings UI or settings.json):
"devpulse.resendApiKey": "YOUR_RESEND_API_KEY"
Note: At present the recipient email is hard-coded in src/emailer.ts. Consider making the recipient configurable before publishing the extension.
🛠️ Commands
DevPulse: Start Tracking — Start tracking your active coding time
DevPulse: Stop Tracking — Stop tracking
DevPulse: Show Stats — Displays the daily report and project breakdown in a webview
DevPulse: Send Test Email — Sends a test email to validate your Resend API key
DevPulse: Send Test Email — Sends a test email with a motivational report (showing your top language and time spent) to validate your Resend API key
🚀 Local Setup
- Clone the repository and navigate to the project folder:
git clone <repo-url>
cd vscode-extension
- Install dependencies:
npm install
- Build TypeScript:
npm run compile
- Launch the extension in the Extension Development Host for local testing:
- Press
F5 in VS Code to run the extension in a new Extension Development Host window.
- For iterative development, run:
npm run watch
📦 Packaging & Local Installation
To create a .vsix package for distribution or local installation:
npm run package
Install the resulting .vsix in your main VS Code instance:
code --install-extension ./devpulse-daily-1.0.0.vsix
You can also install from the VS Code UI: Extensions → ... → Install from VSIX…
🧪 Manual Testing
- Launch the Development Host (F5).
- Use the command palette to run
DevPulse: Start Tracking and DevPulse: Show Stats.
- Edit files or move within editors to generate activity and verify the status bar updates.
- Use
DevPulse: Send Test Email after setting devpulse.resendApiKey and validate an email is sent.
- Inspect logs: In the Extension Development Host window use
Help → Toggle Developer Tools and View → Output → Log (Extension Host).
⚠️ Security & Operational Notes
devpulse.resendApiKey should be stored as a secret and not committed to version control; use workspace or user settings.
- Do not commit
node_modules, the compiled out/ directory, .vscode/, or .vsix files (see .gitignore).
- The extension relies on the
resend library; validate that the library is compatible with your targeted Node version used by VS Code.
✅ Recommended Improvements
- Add
devpulse.recipientEmail to contributes.configuration in package.json and use it in Emailer.
- Implement proper disposal for
Tracker event listeners to avoid memory leaks and ensure a clean shutdown.
- Add
.vscodeignore and consider bundling for smaller package size.
- Add
repository and license fields to package.json and create a LICENSE file.
📄 License
MIT
DevPulse Daily VS Code Extension
DevPulse Daily tracks your active coding time inside VS Code and sends you a daily email summary with your coding stats.
Features
- Tracks active coding time per project
- Sends daily email report at 23:59 local time
- Shows coding streak and motivational messages
- Status bar item shows live coding time
- Commands to start/stop tracking, show stats, and send test email
Configuration
Set your Resend API key in VS Code settings:
"devpulse.resendApiKey": "YOUR_API_KEY"
Commands
DevPulse: Start Tracking - Start tracking active coding time
DevPulse: Stop Tracking - Stop tracking
DevPulse: Show Stats - Show detailed stats in a webview
DevPulse: Send Test Email - Send a test email to verify configuration
Development
Setup
- Install dependencies:
npm install
- Compile the extension:
npm run compile
Running
- Press
F5 in VS Code to launch an Extension Development Host with the extension loaded.
Packaging
- Use the following command to package the extension:
npm run package
Publishing
vsce publish
Make sure you have a publisher configured and logged in.
License
MIT