FilePulse tracks how often you open files and visualizes your activity as a vibrant color heatmap directly in the Explorer. Stay in flow by quickly identifying your hot spots and grouping them into smart "Hot Groups".
Features
- 🔥 Visual Heatmap: Files are marked in the explorer with colored indicators ranging from cold blue to blazing red.
- 🎨 Git Friendly: The heat indicator is a colored dot next to the file name, so it doesn't interfere with VS Code's native Git colors or error highlights.
- 📉 Exponential Decay: Your frequency score naturally decays over time, ensuring current projects stay "hot" while old files cool down.
- 📌 Smart Hot Groups: FilePulse analyzes your workflow and suggests pinning clusters of files that you often open together.
- 📊 Dashboard View: A dedicated sidebar panel to see your top files, groups, and overall statistics.
- 🔒 Privacy First: All data is stored locally on your machine. No sync, no tracking, no external dependencies.
- ⚙️ Highly Configurable: Toggle decorations, adjust decay rates, and exclude files via glob patterns.
How the Heatmap Works
The heatmap uses a 5-tier system based on your percentile rank within the current workspace:
| Tier | Percentile | Indicator | Color |
|---|---|---|---|
| Tier 5 — Blazing | Top 5% | 🔥 | Flame Red |
| Tier 4 — Hot | Top 20% | 🔴 | Red |
| Tier 3 — Warm | Top 40% | 🟠 | Orange |
| Tier 2 — Cool | Top 60% | 🟡 | Yellow |
| Tier 1 — Cold | Bottom 40% | 🟢 | Green |
The Decay Algorithm
FilePulse uses an exponential decay formula:
score = openCount * e^(-λ * daysSinceLastOpen)
In plain English: a file you opened 100 times last month but haven't touched since will eventually score lower than a file you've opened 10 times today. This keeps your explorer focused on your current tasks.
Hot Groups
Hot Groups are collections of files that act as "pinned workspaces".
- Auto-Suggestions: If you frequently switch between a set of files (e.g., a component, its styles, and its test), FilePulse will suggest creating a group.
- One-Click Open: Open all files in a group at once. If there are more than 3 files, FilePulse can automatically split the editor layout for you.
Settings
| Setting | Default | Description |
|---|---|---|
fileHeatmap.showDecorations |
true |
Toggle the heatmap indicators in the explorer. |
fileHeatmap.showBadges |
true |
Show colored dots and flames as badges. |
fileHeatmap.minOpensForDecoration |
3 |
Minimum opens needed before a file is colored. |
fileHeatmap.autoSuggestGroups |
true |
Enable/disable smart group suggestions. |
fileHeatmap.ignoredGlobs |
[...] |
Patterns to exclude from tracking (node_modules, etc). |
fileHeatmap.decayLambda |
0.02 |
How fast scores decay (0.02 ≈ half life of ~35 days). |
Commands
FilePulse: Show Stats Panel- Focus the sidebar dashboard.FilePulse: Reset All Tracking Data- Clear all history everywhere.FilePulse: Reset Data for This Workspace- Clear history for the current folder.FilePulse: Refresh Explorer Decorations- Manually force a UI update.FilePulse: Create Hot Group- Manually create a group from your top files.FilePulse: Delete Hot Group- Remove a pinned group.FilePulse: Open Hot Group- Open all files in a group.FilePulse: Export Data as JSON- Save your history to a file.
Contributing
Issues and pull requests are welcome!
License
MIT