Your editor. Your adventure. Every keystroke counts.
Dev Legend turns your daily coding sessions into a persistent RPG experience — inspired by Old School RuneScape and Melvor Idle. Write code, fix bugs, make commits, and watch your character grow across 19 unique skills.
Features
- 19 RPG Skills — track distinct coding activities: writing, debugging, committing, testing, documenting, and more
- OSRS XP Curve — early levels come fast; mastery (Lv. 99) requires real dedication
- Per-Language Scribe Skills — TypeScript, Python, Rust, Go, Java, JavaScript, C/C++ each have their own skill
- 7 Character Classes — your dominant skill determines your class (The Wizard, The Bug Slayer, The Architect, etc.)
- 16 Tiered Achievements — bronze/silver/gold tiers with toast notifications and badge icons
- Daily & Weekly Quests — 3 daily quests refreshed each day, 3 weekly quests refreshed each Monday
- 5 Quest Chains — multi-step narrative chains with lore and cosmetic/pet rewards
- 10 Pet Companions — unlocked at skill Lv.50 milestones and special conditions, equippable from the Character tab
- 7 Cosmetic Items — prestige capes, skill capes, blueprint hat, ink cloak — equip hat and cape slots
- 8 Unlockable Themes — dashboard colour themes unlocked via prestige, skill levels, and quest chains
- Prestige System — reset 6 core skills to Lv.1 for a permanent +50% XP bonus (up to 3×)
- Pomodoro Timer — 25-min focus sessions with +25% XP bonus during focus phase
- Random Coding Events — timed challenges spawn on file save (5% chance, 1-hr cooldown) for bonus XP
- Offline Focus XP — passive XP accrual capped at 8 hours while VS Code is closed
- Profile Card Generator — generate a shareable pixel-art profile card; copy to clipboard or save as PNG
- Share Text — compact social-media-friendly share string
- Live Dashboard — pixel-art RPG dashboard with animated XP bars, character sprite, skill capes, heatmap, XP history
- Status Bar — total level + session XP always visible; Pomodoro countdown overlay
- Session History — last 30 sessions tracked with per-skill XP breakdowns
- Import / Export / Reset — full data portability, VS Code Settings Sync compatible
Dashboard
The dashboard opens as a full VS Code panel tab via the ⚔️ Dev Legend: Open Dashboard command (or click the status bar item). It has six tabs:
| Tab | Content |
|---|---|
| Character | Class sprite, total level, streak, prestige badges, pet/cosmetic inventory with equip buttons, active coding event |
| Skills | Live XP bars for all 19 skills, grouped by Core / Advanced / Language Scribes; milestone perk slots; skill cape icons |
| Quests | 3 sub-tabs: Daily, Weekly, Chains — each with progress bars, tier colours, and step-by-step chain tracking |
| Achievements | Grid of achievement cards with tier badges (bronze/silver/gold), unlock dates, pop animation on new unlock |
| Stats | Total/session XP table, per-language bar chart, 52-week coding heatmap, session history, XP event log |
| Settings | Notification toggles, theme picker, XP multiplier slider, offline XP toggle, prestige, export/import/reset |
How XP is Earned
| Event | Skill | XP |
|---|---|---|
| Save file (per net line added, cap 500 lines) | Scribe + Scribe:<lang> | 4 XP/line each |
Save test file (*.test.*, *.spec.*) |
Tester | 6 XP/line |
| Error diagnostic resolved | Debugger | 50 XP |
| Warning diagnostic resolved | Debugger | 15 XP |
| New function/class/interface defined on save | Architect | 75 XP each |
| Git commit detected | Git Knight | 200 XP |
| Active coding minute (keypresses tracked) | Focus | 10 XP/min |
| Offline passive (while VS Code closed, 8 hr cap) | Focus | 2 XP/min |
| Net lines removed on save (refactoring) | Refactorer | 2 XP/line (cap 1000) |
| Comment lines written on save | Documenter | 3 XP/line (cap 600) |
| First time a new language is opened | Polyglot | 25 XP |
| AI prompt interaction logged | Prompter | 50 XP |
| Terminal command executed | Terminal Knight | 10–20 XP |
| File/folder created | Workspace Architect | 20–30 XP |
| Inline comments added | Reviewer | 8 XP/comment (cap 200) |
Anti-abuse: Scribe XP is capped at 2000 XP per save and only awards on net-positive line changes. Milestone perks raise caps and rates over time.
Skills
Core Skills
| Skill | Tracks |
|---|---|
| Scribe | Total lines of code written |
| Debugger | Errors and warnings resolved |
| Architect | Functions, classes, interfaces defined |
| Git Knight | Git commits detected |
| Tester | Lines written in test files |
| Focus | Active coding minutes + offline time |
Advanced Skills
| Skill | Tracks |
|---|---|
| Polyglot | Unique programming languages used |
| Refactorer | Net lines of code removed (clean-up) |
| Documenter | Comment and docstring lines written |
| Prompter | AI prompt interactions logged |
| Terminal Knight | Commands executed in integrated terminal |
| Workspace Architect | Files/folders created; workspace config changed |
| Reviewer | Inline code comments added |
Language Scribe Skills
| Skill | Language |
|---|---|
| Scribe: TypeScript | .ts, .tsx |
| Scribe: JavaScript | .js, .jsx, .mjs |
| Scribe: Python | .py |
| Scribe: Rust | .rs |
| Scribe: Go | .go |
| Scribe: Java | .java |
| Scribe: C/C++ | .c, .cpp, .h |
| Scribe: Other | All other languages |
Character Classes
Your class is determined by your highest XP skill and updates on level-up:
| Class | Dominant Skill |
|---|---|
| The Wizard (+ language variant) | Highest per-language Scribe XP |
| The Bug Slayer | Debugger |
| The Architect | Architect |
| The Git Knight | Git Knight |
| The Sage | Tester or Documenter |
| The Wanderer | Polyglot |
| The Monk | Focus |
Quests & Chains
Daily Quests (3 per day)
Deterministic from date seed — same quests for everyone that day. Three difficulty tiers.
Weekly Quests (3 per week)
Refresh every Monday. Higher targets and bigger XP bonuses (3,000–20,000 XP).
Quest Chains (5 narrative chains)
| Chain | Theme | Reward |
|---|---|---|
| The Debug Saga | Bug fixing | 5,000 Debugger XP |
| The Architect's Journey | Symbol definition | Blueprint Hat cosmetic |
| The Git Legacy | Commits | 5,000 Git Knight XP |
| The Polyglot Path | Language diversity | Polyglot Globe pet |
| The Scribe's Oath | Lines written | Ink Cloak cosmetic |
Achievements
16 achievements with bronze/silver/gold tiers:
| Achievement | Tiers |
|---|---|
| Hello World | First XP earned |
| First Blood | First bug resolved → 50 → 500 → 5000 |
| Committed | First commit → 100 → 1000 |
| The Grinder | 10K → 100K → 1M lines written |
| Bug Slayer | 50 → 500 → 5000 bugs fixed |
| Grandmaster | Level 50 → 99 → 120 in any skill |
| Night Owl | 1 → 10 → 50 late-night sessions |
| Polyglot | 3 → 7 → 15 languages used |
| Focus Master | 1000 → 10K → 100K active minutes |
| Prompt Logger | 1 → 100 → 1000 AI prompts |
| Level 10 Debugger | Debugger level 10 |
| Quest Completionist | All 3 dailies in one day |
| Prestige I / II / III | Prestige 1× / 2× / 3× |
Configuration
All settings are under devLegend.* in VS Code settings (or via the Settings tab in the dashboard):
| Setting | Default | Description |
|---|---|---|
devLegend.enabled |
true |
Enable/disable XP tracking entirely |
devLegend.xpMultiplier |
1.0 |
XP multiplier (0.1× – 5×) |
devLegend.showStatusBar |
true |
Show the status bar item |
devLegend.notifyOnLevelUp |
true |
Toast notification on level-up |
devLegend.notifyOnAchievement |
true |
Toast notification on achievement unlock |
devLegend.offlineXPEnabled |
true |
Passive Focus XP while VS Code is closed |
devLegend.trackedLanguages |
[...] |
Languages tracked for per-language Scribe XP |
devLegend.theme |
default |
Dashboard theme (default / osrs / melvor / cyberpunk) |
devLegend.pomodoroFocusDuration |
25 |
Focus session duration in minutes (5–90) |
devLegend.pomodoroRestDuration |
5 |
Break duration in minutes (1–30) |
devLegend.showFloatingXP |
false |
Floating +XP decoration on file save |
devLegend.soundEnabled |
false |
Sound effects for level-ups, achievements, etc. |
Data & Privacy
All data is stored locally in VS Code's globalState — nothing leaves your machine. You can:
- Export your data to a JSON file via the Settings tab
- Import a previously exported JSON file to restore progress
- Reset all data with double-confirmation via the Settings tab
- Opt into VS Code Settings Sync to carry progress across machines
Requirements
- VS Code
1.80.0or later - The built-in
vscode.gitextension for Git Knight XP (enabled by default in VS Code)
Release Notes
See CHANGELOG.md for the full version history.
Contributing
Issues and pull requests are welcome. Please open a GitHub issue to discuss any significant change before submitting a PR.
Inspired by Old School RuneScape and Melvor Idle. Built with vanilla TypeScript + Vite + esbuild.
Development
npm install # Install dependencies
npm run compile # Build extension + webview
npm run watch # Watch mode for development
npm run lint # Run ESLint
npm run test # Run unit tests