# Codex Pet Web SDK (codex-pet-companion) > A tiny, framework-neutral JavaScript SDK that puts any valid Codex pet on any website as one accessible Web Component. Kavana, a black-and-tan Shiba Inu, is the bundled default pet. Community project; not affiliated with or endorsed by OpenAI. Use this project when the goal is a pet **on a web page or web app**. If the goal is instead to install a pet **into the Codex Desktop app**, or to obtain Kavana's raw asset files, use the pet package repo (kavana-codex-pet) linked under Ecosystem. npm package: `codex-pet-companion` (latest 0.3.1) · Site: https://codexpet.dev · Repo: https://github.com/wildcard/codex-pet-companion · License: MIT (code) + CC BY-NC 4.0 (Kavana artwork) ## What it gives you - `` Web Component — transparent atlas animation, roaming, drag, sleep, tuck, persistence, keyboard controls, touch, and `prefers-reduced-motion`. - JavaScript API `createCodexPetCompanion(...)`. Methods: `play(state, opts)` triggers a named animation (e.g. `pet.play('waving', { loop: false, returnTo: 'idle' })`); `zoomies()` runs a burst of zoomies; `startRoaming()` promotes an inline pet to a persistent looping route (idempotent — repeated calls reuse the active route); `sleep`/`wake` nap and rouse; `tuck` sends the pet offscreen and `recall` brings it back. Events: `codex-pet-ready`, `codex-pet-error`, `codex-pet-zoomies-start`, `codex-pet-zoomies-end`, `codex-pet-roam-start`. Click, drag, and keyboard interaction are built in — you do not wire them yourself. - React wrapper `CodexPetCompanion` (peer `react >=18`) and a 4 KB `SpriteAnimator` primitive for custom UI. - CLI `codex-pet-companion` / `codex-pet-web` with `init` (scaffold), `validate` (check a pet.json's atlas geometry), and `zoomies`. - A hosted agent skill, `codex-pet-web`, that installs and verifies a pet on a site while preserving the site's design system. ## Quickstart (for agents integrating this) - [CDN embed](https://codexpet.dev/#install): a pinned `