Watch a shell cultivate a pearl in your VS Code status bar as you write code. It takes your chosen amount of real coding time (40, 50, or 60 minutes) to go from an empty shell to a fully formed pearl — a gentle nudge to take a break once it's ready.
How It Works
By default, Pearl Grow watches for actual editing activity in the editor. Every second you're typing counts toward your pearl's growth; if you stop for longer than your idle threshold (5, 10, 15, or 30 minutes — reading docs, in a meeting, grabbing coffee), growth pauses until you start typing again. Simply having VS Code open in the background doesn't count — only real focused work does.
If you'd rather have growth track wall-clock time instead, switch to Always On mode (see Settings below) and it'll grow continuously whenever VS Code is open, regardless of activity.
Once your pearl reaches 100%, it's harvested, you get a notification reminding you to take a break, and a new shell is placed automatically so the cycle continues.
Growth Stages
| Stage | Icon | Progress |
|---|---|---|
| Shell | 🐚 | 0% |
| Open Shell | 🦪 | 25% |
| Forming | 🫧 | 50% |
| Pearl Growing | 🌕 | 75% |
| Pearl! | ⚪ | 100% |
The current stage and percentage are always visible in the status bar, so it's a quiet, ambient companion rather than an intrusive timer.
Your Collection
Every pearl you fully grow is saved to your personal Collection. Click the status bar item at any time to open a quick menu (Show Collection, Set Growth Duration, Set Tracking Mode, Set Idle Threshold, New Shell), or run any of these individually from the Command Palette. Show Collection opens a panel showing:
- Your currently forming pearl and its progress
- Every pearl you've ever harvested, with the date and time it was harvested
Your collection persists across VS Code restarts, so nothing is lost between sessions.
Commands
| Command | Description |
|---|---|
Pearl Grow: Show Collection |
Opens the collection panel with your current pearl and full collection |
Pearl Grow: New Shell |
Discards the pearl currently forming and places a fresh shell |
Pearl Grow: Set Growth Duration |
Quick-pick to choose 40, 50, or 60 minutes |
Pearl Grow: Set Tracking Mode |
Quick-pick to switch between Active Coding and Always On |
Pearl Grow: Set Idle Threshold |
Quick-pick to choose 5, 10, 15, or 30 minutes (Active Coding mode only) |
Why Use This
Pearl Grow isn't a productivity tracker or a pomodoro timer — there's no score, no streaks to protect, no guilt if you skip a day. It's just a small, satisfying visual signal that your focused effort is quietly adding up, one pearl at a time.
Settings
| Setting | Description | Default |
|---|---|---|
pearlGrow.growthDuration |
How many minutes it takes for a pearl to fully form. Choose 40, 50, or 60. | 60 |
pearlGrow.trackingMode |
activeCoding (pauses when idle) or alwaysOn (tracks wall-clock time regardless of activity). |
activeCoding |
pearlGrow.idleThreshold |
In Active Coding mode, how many minutes without typing before growth pauses. Choose 5, 10, 15, or 30. | 5 |
Requirements
No accounts, no external services — install and it works immediately.
Known Limitations
- Growth progress and your collection are stored locally per machine (via VS Code's global storage) and are not synced across devices or installs.
Release Notes
0.0.3
Simplified to 5 evenly spaced growth stages (0/25/50/75/100%).
0.0.2
Renamed "Oyster" terminology to "Shell" throughout (5% stage is now "Open Shell" to stay distinct from the 0% "Shell" stage).
0.0.1
Initial release: status bar growth tracking, six growth stages, persistent pearl collection, configurable growth duration / tracking mode / idle threshold, and status bar quick menu.