Agents that drive the CLI
Auto-repair
Diagnoses and auto-repairs manifest shapes that Chromium would refuse to load.
Automation contract (recommended)
Browser flag
Use --browser=firefox or --browser=edge to target different browsers.
Browser Flags
Add or exclude browser launch flags.
Browser-prefixed keys
Supports chromium, chrome, edge, firefox, gecko prefixes for top-level and nested fields.
Browser-specific manifest fields
Prefixed manifest keys for Chromium and Gecko targets.
Build-time field filtering
Emit only the manifest fields matching the active target at compile time.
Canonical Playwright flow (AI-friendly)
CLI Commands
Provides commands like create, dev, and build for extension development.
Common pitfalls
Companion Extensions
Load companion extensions together with the main extension.
Cross-browser compatibility
Ship one codebase to multiple browsers.
Custom Binaries
Use custom Chromium or Gecko binary paths.
Custom browser binary
Specify a custom browser binary for development.
Development mode vs test mode
Engine-family resolution
Environment variables
Manage environment-specific behavior.
Extension configuration
Centralize build/runtime defaults.
Framework templates
Templates for React, Vue, Svelte, Preact, TypeScript, and vanilla JS.
GitHub URL input
Pass a GitHub URL to extension dev to fetch and build the extension.
Hosted MCP server
Exposes a Model Context Protocol server at https://extensionjs.mintlify.app/mcp for AI clients.
Important distinction: run mode vs readiness gate
Init command
Create a minimal extension from scratch with init.
Inline-prefixed manifest fields
Define browser-specific manifest values inline with prefixes like chromium: and firefox:.
llms.txt endpoints
Provides /llms.txt index and /llms-full.txt full-content bundle for ingestion.
Local path input
Use a local path relative to the current working folder.
Manifest change recompilation
Recompiles and triggers hard reload on manifest changes; may require restart for structural changes.
Manifest source locations
Reads manifest from src/manifest.json or project root, not public/.
Multi-platform builds
Build and package for target matrices.
Offline scaffolding
JavaScript template ships inside the CLI and scaffolds offline.
One-click install
Contextual menu on each page provides install buttons for Claude, Cursor, VS Code, and ChatGPT.
Output path rewriting
Rewrites background.service_worker to background/service_worker.js and side_panel.default_path to sidebar/index.html.
Per-browser output
Outputs dist/chrome, dist/edge, dist/firefox.
Per-page AI actions
Copy page as Markdown, view as Markdown, and ask ChatGPT/Claude/Perplexity with page context.
Permission design guidance
Recommends minimal permissions and optional permissions.
Playwright E2E testing for extensions
Playwright testing capabilities
Practical guidance for extensions
Profile Management
Set browser profile path, persist profile, keep changes, copy from existing profile.
Recommended baseline
Reproducible scaffolds
Templates pinned to an immutable commit, ensuring identical scaffolds.
Rspack configuration
Extend bundler behavior safely.
Running tests
Scaffold from URL
Scaffold directly from a GitHub or ZIP URL.
Special folders
Keep non-manifest assets organized.
Supported manifest fields
Handles action, background, content_scripts, icons, options_ui, and more.
Telemetry and privacy
Template catalog
Catalog with 6 groups and roughly 50 templates.
Typical setup
Why use it
ZIP URL input
Treat other http(s) URLs as ZIP archives and extract them.