Create a new Chrome Extension project structure with Manifest V3, complete file setup, and optional TypeScript/build configuration
Scaffolds a Chrome Extension project with Manifest V3, type-specific files, and best practices.
/plugin marketplace add francanete/fran-marketplace/plugin install chrome-extension-expert@fran-marketplaceCreate a new Chrome Extension project with Manifest V3 best practices.
Based on the provided parameters, create a complete extension project structure.
popup (default):
sidepanel:
content:
full (all components):
{
"manifest_version": 3,
"name": "{{name}}",
"version": "1.0.0",
"description": "Description of {{name}}",
"permissions": ["storage"],
"icons": {
"16": "icons/icon16.png",
"32": "icons/icon32.png",
"48": "icons/icon48.png",
"128": "icons/icon128.png"
}
}
Add appropriate sections based on type:
For popup:
{
"action": {
"default_popup": "popup.html",
"default_icon": {
"16": "icons/icon16.png",
"32": "icons/icon32.png"
}
},
"background": {
"service_worker": "background.js"
}
}
For sidepanel:
{
"side_panel": {
"default_path": "sidepanel.html"
},
"permissions": ["storage", "sidePanel"],
"background": {
"service_worker": "background.js"
},
"action": {
"default_title": "Open Side Panel"
}
}
For content:
{
"content_scripts": [{
"matches": ["<all_urls>"],
"js": ["content.js"],
"css": ["content.css"]
}],
"background": {
"service_worker": "background.js"
}
}
{{name}}/
├── manifest.json
├── background.js
├── icons/
│ ├── icon16.png (placeholder)
│ ├── icon32.png (placeholder)
│ ├── icon48.png (placeholder)
│ └── icon128.png (placeholder)
├── [type-specific files]
└── README.md
Now create the extension structure for "{{name}}" with type "{{type}}".