� �
Team Members - Team Lead: [ADITH RAJEEV] - [COLLEGE OF ENIGINEERING & MANAGEMENT PUNNAPRA] - Member 2: [AGNAS MARIA] - [COLLEGE OF ENIGINEERING & MANAGEMENT PUNNAPRA]
[A VSCODE EXTENSION THAT TELLS YOU WHEN YOU ARE TYPING,THINKING AND BEING IDLE.IT DOESNT LET YOU FEEL ALONE-ITS ALWAYS BY YOUR SIDE AND ALSO TELLS YOU IF YOU HAVE ENTERED A FLOW STATE OR ARE YOU WORRIED AND IF YOU HAVE COPIED THE CODE FROM SOME OTHER PLACE!!!]
[THE LONELY FEELING THAT NOBODY IS WATCHING AND APPRECIATING WHILE I AM CODING ALONE]
[PRESENTING BEFORE YOU-CODEPULSE , THE PULSE OF YOUR CODE.IT LETS YOU SEE YOUR CODE BREATHE]
For Software: - [TEXTSCRIPT] - [VSCODE API] - [VSCODE , NODE.JS , NPM , ESLINT , TYPESCRIPT COMPILER , VSCODE EXTENSION DEBUGGER]
For Software: THE IMPLEMENTATION HERE IS BASICALLY A VSCODE EXTENSION WHOSE JOP IS TO MOINTER YOUR CODING ACTIVITY AND REFLECT IT AS A MOOD IN THE STATUS BAR
npm install -g@vscode/vsce # install vsce vscse package #package extension code --install-extension codepulse-0.0.1.vsix # install the packaged extension into vscode
npm install #install dependencies npm run compile #compile javascript code . #open the project in vs code
For Software: Project Documentation – CodePulse (Software)
- Project Overview
CodePulse is a Visual Studio Code extension designed to enhance developer self-awareness by tracking coding activity in real-time and displaying the developer’s current “mood” in the VS Code status bar. The mood is determined by:
Time since the last keystroke.
Number of code errors present.
This tool helps programmers reflect on their coding flow and maintain productivity.
- Features
Keystroke Tracking: Detects how long you’ve been idle.
Error Monitoring: Counts current coding errors in open files.
Dynamic Mood Display: Uses emojis + text to show real-time mood.
Status Bar Integration: Non-intrusive UI at the bottom of VS Code.
Automatic Updates: Refreshes every 2 seconds without user action.
- Technology Stack
Component Technology Used
Language TypeScript Platform/API Visual Studio Code Extension API Runtime Node.js Package Manager npm Linter ESLint Build Tool TypeScript Compiler (tsc)
- Installation
For Development Mode
git clone cd codepulse
npm install
npm run compile
code .
For Local Installation
npm install -g @vscode/vsce
vsce package
code --install-extension codepulse-0.0.1.vsix
-
Usage
-
Open VS Code with the extension installed.
-
Start typing or stay idle — mood changes automatically.
-
View your current mood in the status bar:
⚡ Coding – Actively typing.
😖 Stuck – Idle for > 2 seconds & errors present.
☕ Chilling – Idle for > 2 seconds & no errors.
🤔 Thinking – Default/initial state.
- Implementation Details
Keystroke Monitoring: Uses workspace.onDidChangeTextDocument() to detect typing.
Error Checking: Fetches diagnostics via languages.getDiagnostics() and filters by DiagnosticSeverity.Error.
UI Updates: StatusBarItem text and tooltip are updated on a setInterval() loop every 2000ms.
Iconography: Uses VS Code codicons (e.g.,
- Folder Structure
codepulse/ ├── .vscode/ # VS Code configs ├── src/ │ └── extension.ts # Main extension logic ├── package.json # Extension manifest + dependencies ├── tsconfig.json # TypeScript configuration ├── eslint.config.mjs # Linting rules ├── README.md # Documentation └── node_modules/ # Installed dependencies
- Future Enhancements
Mood History Graph: Show mood trends over a coding session.
Notifications: Alert user when idle for too long.
Customizable Thresholds: Let users set idle time before mood changes.
Git Integration: Track mood per commit.
Motivational Quotes: Display tips when idle too long.
- License
MIT License – free to use, modify, and distribute.
https://drive.google.com/file/d/1-on2vbQWX1CmoVX9zfBa-8tHpBINhVK-/view?usp=sharing https://drive.google.com/file/d/1T5_aGJbb8MjT0Wb9kQigQTM393cp_MDI/view?usp=sharing https://drive.google.com/file/d/1aVs919wvp8ewj_vlbqJWDn_FmGU9eY27/view?usp=sharing
[https://drive.google.com/file/d/1blkBUOaULs2oVEnPe05-G5YnRqxSCKdI/view?usp=sharing] THE VIDEO DEMONSTRATES HOW ON RUNNING THE EXTENSION IN A NEW FOLDER, IT SHOWS THAT WE ARE CHILING WHEN WE ARE NOT TYPING CODE AND THEN TYPIBG WHEN WE ARE TYPING AND THAT WE ARE IN A FLOW STATE WHEN YOU ARE CONTINUOUSLY TYPING CODE AND THEN PZASTING CODE WHEN WE PASTE CODE FROM SOME OTHER SOURCE.
Team Contributions - [ADITH RAJEEV]: [Member 1 – Adith Rajeev - Designed the project concept and decided on mood-tracking as the main feature.
- Implemented keystroke tracking logic using onDidChangeTextDocument.
- Wrote mood decision algorithm and emoji mapping.
- Integrated error-checking mechanism using languages.getDiagnostics().
- Tested the extension on multiple code files to ensure accuracy.
[AGNAS MARIA]: [ Member 2 - Set up the project structure and VS Code extension configuration.
- Implemented the Status Bar UI and tooltip updates.
- Managed TypeScript compilation and ESLint setup.
- Created installation scripts and package.json configuration.
- Wrote README and installation guide for end users]
Made with
❤
at TinkerHub Useless Projects


