Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>CodeRex — Coding Dino CompanionNew to Visual Studio Code? Get it now.
CodeRex — Coding Dino Companion

CodeRex — Coding Dino Companion

CodeRex

|
6 installs
| (0) | Free
A modern animated dinosaur pet that walks along the bottom of VS Code, reacts to your errors, saves, git and coding rhythm, and levels up while you code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

🦖 CodeRex — Coding Dino Companion

A modern, interactive animated dinosaur pet that lives at the bottom of Visual Studio Code. Inspired by the Chrome offline dino, Tamagotchi and VS Pets — but procedurally drawn, framework-aware and built for production.

CodeRex walks, runs, sleeps, jumps, celebrates clean builds and gets worried when your code breaks. It levels up while you code, unlocks achievements and even swaps accessories depending on the language you are working in.

Cross-platform: Windows, Linux and macOS.


✨ Features

Area What it does
Living animation 60 fps procedural T-Rex — idle, walk, run, jump, sleep, happy, error, coding, eat, dance.
Reacts to you File saves, diagnostics (errors / fixes), git branch changes, typing speed and idle time.
Smart context Detects the active language and project framework and adapts accessories & mood.
8 skins Classic, Cyberpunk, Pixel, Neon, Hacker, Robot, Dragon, Mini-Godzilla.
4 render modes Smooth, Pixel-art, Neon-glow, Retro-CRT scanlines.
Progression XP, levels, achievements and a light Tamagotchi mood/feed loop — all persisted.
Interactive Click for a quip, double-click for a backflip, triple-click for disco mode.
Lightweight Vector rendering (no sprite assets), auto-pauses when hidden, throttled events.

Framework-aware accessories

Detected stack Accessory
React / Next.js Futuristic glasses
Python Hacker hat
Docker Mech plating
Rust Antenna
(others) Skin default

🏗️ Architecture

Important / honest note: VS Code does not expose an API to float a webview on top of the editor. The supported, professional approach — also used by the popular vscode-pets extension — is a WebviewView docked in the bottom panel, right above the status bar. That is exactly what CodeRex does.

┌────────────────────── Extension Host (Node / TypeScript) ──────────────────────┐
│  extension.ts          activate / deactivate, dependency wiring                │
│  core/StateManager     logical dino state + live workspace context (events)    │
│  core/ProgressionMgr   XP · levels · achievements · mood  (globalState)        │
│  core/DinoViewProvider WebviewView host + message bridge                       │
│  events/WorkspaceWatch saves · diagnostics · git · typing · idle → state/XP    │
│  commands/             8 contributed commands                                  │
│  utils/                config · framework detection · logger · types           │
└───────────────────────────────┬────────────────────────────────────────────────┘
                                 │  postMessage  (JSON protocol)
┌───────────────────────────────▼──────────────── Webview (HTML5 Canvas / JS) ───┐
│  engine.js     render loop · scene · HUD · particles · input · skins           │
│  dino.js       actor: state machine · physics · pose synthesis                 │
│  renderer.js   procedural cartoon T-Rex (pure canvas primitives)               │
│  skins.js      palettes + framework→accessory map                              │
│  dialogues.js  speech-bubble lines                                             │
└─────────────────────────────────────────────────────────────────────────────────┘

See docs/ARCHITECTURE.md for the full design and the docs/PUBLISHING.md Marketplace guide.

Project structure

coderex/
├── media/
│   ├── icon.png                 # Marketplace icon (generated, no deps)
│   ├── icon.svg                 # Monochrome panel icon
│   └── webview/
│       ├── style.css
│       └── engine/              # skins · dialogues · renderer · dino · engine · main
├── scripts/
│   └── make-icon.js             # Procedural PNG icon generator (zlib only)
├── src/
│   ├── extension.ts
│   ├── core/                    # StateManager · ProgressionManager · DinoViewProvider
│   ├── events/                  # WorkspaceWatcher
│   ├── commands/                # registerCommands
│   └── utils/                   # config · framework · logger · types
├── docs/                        # ARCHITECTURE.md · PUBLISHING.md
└── package.json

🚀 Getting started (development)

npm install        # install dev dependencies
npm run icon       # (re)generate media/icon.png
npm run compile    # build TypeScript → out/

Then press F5 in VS Code to launch the Extension Development Host. Open the bottom panel and pick the CodeRex tab, or run CodeRex: Spawn Dino from the Command Palette.

npm scripts

Script Purpose
npm run compile Compile TypeScript to out/.
npm run watch Incremental compile on save.
npm run lint ESLint over src/.
npm run icon Regenerate the PNG icon procedurally.
npm run package Build a .vsix with vsce.
npm run publish Publish to the Marketplace with vsce.

🎮 Commands

Command Description
CodeRex: Spawn Dino Reveal the dino panel.
CodeRex: Hide Dino Hide the dino sprite.
CodeRex: Change Dino Skin Pick a skin from a quick-pick.
CodeRex: Dino Dance Make the dino dance.
CodeRex: Dino Sleep Send the dino to sleep.
CodeRex: Toggle Follow Cursor Dino follows the mouse inside its panel.
CodeRex: Feed Dino Feed the dino (raises mood).
CodeRex: Show Dino Stats Show level, XP and achievements.

⚙️ Settings

Setting Default Description
coderex.skin classic Active skin.
coderex.size medium small · medium · large.
coderex.speed 1 Walking speed multiplier (0.25–3).
coderex.opacity 1 Dino opacity (0.2–1).
coderex.renderMode smooth smooth · pixel · neon · retro.
coderex.sounds false Optional retro sound effects.
coderex.followCursor false Walk toward the mouse pointer.
coderex.reactToErrors true React to diagnostics.
coderex.autoSkinByLanguage true Swap accessories by framework.
coderex.idleSleepSeconds 90 Inactivity before sleeping.

🥚 Easter eggs

  • Double-click the dino → backflip.
  • Triple-click the dino → 8-second disco mode with confetti.
  • Code after midnight to unlock the Night Owl achievement.

⚡ Performance strategy

  • Procedural rendering — the dino is canvas geometry, so there are no binary sprite assets to load, decode or cache.
  • Single requestAnimationFrame loop with delta-time clamping.
  • Auto-pause — the loop does no work while document.hidden.
  • Event throttling — diagnostics are debounced; typing is sampled in a rolling 6-second window instead of per-keystroke work.
  • retainContextWhenHidden keeps the webview warm without re-rendering.

📦 Publishing

A complete, step-by-step Marketplace guide (publisher account, PAT, vsce, versioning, CI) lives in docs/PUBLISHING.md.

📄 License

MIT © 2026 tech2goec

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft