What problem does it solve? Building Chrome extensions with modern frameworks lacks hot module replacement, forcing developers to manually reload the extension and lose state on every code change, especially for content scripts. ## Core Features & Use Cases - True HMR for all extension contexts: Popup, options pages, side panels, and content scripts update via WebSocket without full reloads, while service worker changes trigger automatic extension reload. - Manifest-driven builds: Use defineManifest for type-safe, dynamic Manifest V3 definitions, with CRXJS auto-resolving HTML entry points and generating the extension output. - Dynamic content script injection: Use ?script and ?script&module import suffixes to get resolved paths for chrome.scripting.executeScript, including main world injection. - Use Case: Scaffold a React-based Chrome extension with npm create crxjs@latest, configure the Vite plugin, and iterate on popup and content script code with instant HMR feedback. ## Quick Start Ask the AI to scaffold a new CRXJS Chrome extension project with your preferred framework and configure the Vite plugin with a type-safe manifest.