DevGotchi turns VS Code into an RPG: four stats decay as you work, real coding
activity (saves, commits, fixing lint errors) earns XP, and a living developer
avatar reflects your session. 2.1 tied the game to real signals — a boss fight
driven by your actual error count, a real Pomodoro timer, a weekly recap.
2.2 is about two things: giving you more control over how the game behaves,
and — the one I'm most excited about — letting a team see each other's
progress without adding a backend to a project that has deliberately never
had one.
⚙️ A real Settings panel
New ⚙️ button on the panel:
- Turn Weekly Recap notifications on/off
- Reduce achievement popups (they still log to the Activity Log, just no popup)
- Pick a stat decay speed — Relaxed, Normal, or Intense
💾 Progress export/import
Your save now travels. Export Progress writes your full save (stats +
settings) to a JSON file; Import Progress restores it elsewhere, after a
confirmation since it overwrites. Useful for backups or moving to a new
machine — everything stays a local file, nothing round-trips through a server.
🌴 Vacation Mode
A toggle that freezes stat decay, burnout, and streak-breaking entirely.
Going on a trip used to mean coming back to a burnt-out avatar and a broken
streak — now it doesn't. Flip it off when you're back and everything resumes
exactly where it left off.
👥 Team Mode — the one I want feedback on
This is the feature I spent the most time thinking through. The idea: let a
team see each other's level, XP, and streak, without DevGotchi ever running a
server, storing an account, or making a network call of its own.
The mechanism is just git. Each teammate who opts in gets one small JSON
snapshot file written into the repo, at .devgotchi/team/<them>.json — keyed
by git email, so nobody's file collides with anyone else's. DevGotchi never
runs git commit or git push for you; the file just sits there like any
other change, and syncs the same way everything else does — through the
commits and pushes your team is already making. A new 👥 Team view reads
every snapshot in that folder and shows a simple sorted list.
It's gated on there actually being a team: it checks distinct commit-author
emails in the repo and only shows the Team button/toggle if there's more than
one. A "team" of one is just clutter — same reasoning that killed an earlier
idea I had for a global cross-install leaderboard (not enough users to make
it meaningful).
Worth being upfront about: this makes your stats visible to anyone with repo
access. It's an explicit per-workspace opt-in, not a default, and the readme
in .devgotchi/team/ says exactly what the folder is and how to turn it off.
💬 Feedback link
Small one: a direct link in Settings to file an issue. No in-editor form,
just routes straight to GitHub.
The technical bit
Team Mode's git lookups (identity, contributor count) shell out to git
synchronously and are capped at a 5-second timeout, cached after the first
call per session. It's the one place in the extension that can technically
block the UI thread — worth knowing if you're digging through the source.
Still a single TypeScript file, zero runtime dependencies, no backend. 15+
achievements, daily quests, a skill tree, a coffee-bean economy, and now a
Bug Boss, a Pomodoro mode, and a way to see your team without asking anyone
to stand up infrastructure for a game.
Free and open source. I'd love feedback specifically on Team Mode — whether
the git-file approach feels natural or like a workaround, and whether the
opt-in framing is clear enough.
🔗 Marketplace: search "DevGotchi" or visit
https://marketplace.visualstudio.com/items?itemName=johnfacey.vscode-devgotchi
🔗 GitHub: https://github.com/johnfacey/vscode-devgotchi
Code is a martial art.
Top comments (0)