Technical Documentation: crxjs/chrome-extension-tools
โน๏ธ Provenance: Multi-Tier Ingestion ยท CodeWiki Reference
Overview (`README.md`)
CRXJS
[๐ Documentation](https://crxjs.dev) | [๐ฌ Discord ](https://discord.com/invite/FnnE4XR7Wj)
๐ฆ Create CRXJS Project
npm create crxjs@latest[!IMPORTANT]
@latestMUST NOT be omitted, otherwisenpmmay resolve to a cached and outdated version of the package.
โจ Features
- ๐งฉ Full Vite Plugin Ecosystem - Leverage any Vite-compatible plugins with zero extra setup
- โ๏ธ Zero Configuration - Start developing immediately with intelligent defaults
- 3๏ธโฃ Manifest V3 Support - Built for modern Chrome extensions with enhanced security
- ๐ฅ True Hot Module Replacement - Instant UI updates while preserving extension state ๐works with content scripts
- ๐ Static Asset Import - Directly reference images/fonts in your code
- ๐ค Auto Web-Accessible Resources - Automatic generation of
web_accessible_resourcesmanifest entries
[!NOTE]
Looking for MV2 support? Seerollup-plugin
๐ป Development
- Clone this repository
- Install pnpm
- Install dependencies using
pnpm install - Build the
vite-pluginproject usingpnpm build:vite-plugin - Playgrounds project is located at
playgrounds/**, usingpnpm playcan run the playgrounds - Cd into the
vite-plugindirectory usingcd packages/vite-plugin - Test using
pnpm run test - Use DeepWiki to learn more about CRXJS
๐ Contributors
This project exists thanks to all the people who contribute.
And thank you to all our backers! ๐
๐ค Supporting
If these plugins have helped you ship your product faster, please consider
sponsoring me on GitHub.
Overview (`.changeset/README.md`)
Changesets
Hello and welcome! This folder has been automatically generated by @changesets/cli, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it in our repository
We have a quick list of common questions to get you started engaging with this project in
our documentation
Overview (`design/README.md`)
Design Resources
You can find design files for CRXJS in this folder.
Logo Design
Logo was made by
Free Logo Maker: Design Custom Logos | Adobe Express
Fonts used: Lato-BlackItalic
Colors used: 298CD6,F2BAE4
Icon url: https://thenounproject.com/term/puzzle/8651
Icon by: Daniel Heitz (@dnlhtz) / Twitter
Pallets
By blue:
ColorSpace - Color Palettes Generator and Color Gradient Tool
By pink:
ColorSpace - Color Palettes Generator and Color Gradient Tool
Overview (`packages/rollup-plugin/README.md`)
[rollup-plugin-chrome-extension](https://www.extend-chrome.dev/rollup-plugin)
The bundler configuration for a Chrome Extension can be pretty complex.
Use manifest.json as the input. Every file in the manifest will be bundled or
copied to the output folder.
RPCE simplifies project config and supports many of Vite's features in the
Chrome Extension environment, including HMR.
[Documentation](https://www.extend-chrome.dev/rollup-plugin)
We have
v3 boilerplates
for React JavaScript,
React TypeScript and
Svelte,
as well as instructions for
setting up your own project.
See the documentation for usage
and how to get started.
Supporting
If these plugins have helped you ship your product faster, please consider
sponsoring me on GitHub.
Contributing
We encourage pull requests! This is a
pnpm monorepo, so use pnpm instead of Yarn or npm.
Overview (`packages/vite-plugin/README.md`)
CRXJS
[๐ Documentation](https://crxjs.dev/vite-plugin) | [๐ฌ Discord ](https://discord.gg/5yHKEa9v)
๐ฆ Create CRXJS Project
npm create crxjs@latest[!IMPORTANT]
@latestMUST NOT be omitted, otherwisenpmmay resolve to a cached and outdated version of the package.
โจ Features
- ๐งฉ Full Vite Plugin Ecosystem - Leverage any Vite-compatible plugins with zero extra setup
- โ๏ธ Zero Configuration - Start developing immediately with intelligent defaults
- 3๏ธโฃ Manifest V3 Support - Built for modern Chrome extensions with enhanced security
- ๐ฅ True Hot Module Replacement - Instant UI updates while preserving extension state ๐works with content scripts
- ๐ Static Asset Import - Directly reference images/fonts in your code
- ๐ค Auto Web-Accessible Resources - Automatic generation of
web_accessible_resourcesmanifest entries
[!NOTE]
Looking for MV2 support? Seerollup-plugin
๐ป Contributing
See CONTRIBUTING.md for local development workflows.
๐ Contributors
This project exists thanks to all the people who contribute.
And thank you to all our backers! ๐
๐ค Supporting
If these plugins have helped you ship your product faster, please consider
sponsoring me on GitHub.
Overview (`playgrounds/react/README.md`)
React + Vite + CRXJS
This template helps you quickly start developing Chrome extensions with React, TypeScript and Vite. It includes the CRXJS Vite plugin for seamless Chrome extension development.
Features
- React with TypeScript
- TypeScript support
- Vite build tool
- CRXJS Vite plugin integration
- Chrome extension manifest configuration
Quick Start
- Install dependencies:
npm install- Start development server:
npm run dev- Build for production:
npm run buildProject Structure
src/popup/- Extension popup UIsrc/content/- Content scriptsmanifest.config.ts- Chrome extension manifest configuration
Documentation
Chrome Extension Development Notes
- Use
manifest.config.tsto configure your extension - The CRXJS plugin automatically handles manifest generation
- Content scripts should be placed in
src/content/ - Popup UI should be placed in
src/popup/
Overview (`playgrounds/solid/README.md`)
Solid + Vite + CRXJS
This template helps you quickly start developing Chrome extensions using Solid, TypeScript, and Vite. It includes the CRXJS Vite plugin for seamless Chrome extension development.
Features
- Solid with TypeScript
- TypeScript support
- Vite build tool
- CRXJS Vite plugin integration
- Chrome extension manifest configuration
Quick Start
- Install dependencies:
npm install- Start the development server:
npm run dev- Build the production version:
npm run buildProject Structure
src/popup/- Extension popup UIsrc/content/- Content scriptsmanifest.config.ts- Chrome extension manifest configuration
Documentation
Chrome Extension Development Notes
- Use
manifest.config.tsto configure your extension - CRXJS plugin automatically handles manifest generation
- Content scripts should be placed in
src/content/ - Popup UI should be placed in
src/popup/
Overview (`playgrounds/svelte/README.md`)
Svelte + Vite + CRXJS
This template helps you quickly start developing Chrome extensions with Svelte, TypeScript and Vite. It includes the CRXJS Vite plugin for seamless Chrome extension development.
Features
- Svelte with component syntax
- TypeScript support
- Vite build tool
- CRXJS Vite plugin integration
- Chrome extension manifest configuration
Quick Start
- Install dependencies:
npm install- Start development server:
npm run dev- Build for production:
npm run buildProject Structure
src/popup/- Extension popup UIsrc/content/- Content scriptsmanifest.config.ts- Chrome extension manifest configuration
Chrome Extension Development Notes
- Use
manifest.config.tsto configure your extension - The CRXJS plugin automatically handles manifest generation
- Content scripts should be placed in
src/content/ - Popup UI should be placed in
src/popup/
Documentation
Overview (`playgrounds/vue/README.md`)
Vue 3 + Vite + CRXJS
This template helps you quickly start developing Chrome extensions with Vue 3, TypeScript and Vite. It includes the CRXJS Vite plugin for seamless Chrome extension development.
Features
- Vue 3 with
<script setup>syntax - TypeScript support
- Vite build tool
- CRXJS Vite plugin integration
- Chrome extension manifest configuration
Quick Start
- Install dependencies:
npm install- Start development server:
npm run dev- Build for production:
npm run buildProject Structure
src/popup/- Extension popup UIsrc/content/- Content scriptsmanifest.config.ts- Chrome extension manifest configuration
Documentation
Chrome Extension Development Notes
- Use
manifest.config.tsto configure your extension - The CRXJS plugin automatically handles manifest generation
- Content scripts should be placed in
src/content/ - Popup UI should be placed in
src/popup/
Overview (`.agents/skills/tsdown/README.md`)
tsdown Skills
Agent skills that help AI coding agents understand and work with tsdown, the elegant library bundler.
Installation
npx skills add rolldown/tsdownThis will install all tsdown skills (including the migration skill). To install only the tsdown skill:
npx skills add rolldown/tsdown --skill tsdownWhat's Included
The tsdown skill provides Claude Code with knowledge about:
- Core Concepts - What tsdown is, why use it, key features
- Configuration - Config file formats, options, multiple configs, workspace support
- Build Options - Entry points, output formats, type declarations, targets
- Dependency Handling - External/inline dependencies, auto-externalization
- Output Enhancement - Shims, CJS defaults, package exports
- Framework Support - React, Vue, Solid, Svelte integration
- Advanced Features - Plugins, hooks, programmatic API, Rolldown options
- CLI Commands - All CLI options and usage patterns
- Migration - Migrating from tsup to tsdown
Usage
Once installed, Claude Code will automatically use tsdown knowledge when:
- Building TypeScript/JavaScript libraries
- Configuring bundlers for library projects
- Setting up type declaration generation
- Working with multi-format builds (ESM, CJS, IIFE, UMD)
- Migrating from tsup
- Building framework component libraries
Example Prompts
Set up tsdown to build my TypeScript library with ESM and CJS formatsConfigure tsdown to generate type declarations and bundle for browsersAdd React support to my tsdown config with Fast RefreshHelp me migrate from tsup to tsdownSet up a monorepo build with tsdown workspace supportRelated Skills
- tsdown-migrate - Dedicated skill for migrating from tsup to tsdown, with complete option mappings, config transformations, and troubleshooting guidance.
Documentation
License
MIT
Overview (`.agents/skills/tsdown/references/README.md`)
tsdown Skill References
This directory contains detailed reference documentation for the tsdown skill.
Created Files (38 total)
Core Guides (3)
- โ
guide-getting-started.md- Installation, first bundle, CLI basics - โ
guide-migrate-from-tsup.md- Migration guide from tsup - โ
guide-introduction.md- Introduction and key features
Configuration Options (22)
- โ
option-config-file.md- Config file formats, loaders, workspace - โ
option-entry.md- Entry point configuration with globs - โ
option-output-format.md- Output formats (ESM, CJS, IIFE, UMD) - โ
option-output-directory.md- Output directory and extensions - โ
option-dts.md- TypeScript declaration generation - โ
option-target.md- Target environment (ES2020, ESNext, etc.) - โ
option-platform.md- Platform (node, browser, neutral) - โ
option-dependencies.md- External and inline dependencies - โ
option-sourcemap.md- Source map generation - โ
option-minification.md- Minification (boolean | 'dce-only' | MinifyOptions) - โ
option-tree-shaking.md- Tree shaking configuration - โ
option-cleaning.md- Output directory cleaning - โ
option-watch-mode.md- Watch mode configuration - โ
option-shims.md- ESM/CJS compatibility shims - โ
option-package-exports.md- Auto-generate package.json exports - โ
option-css.md- CSS handling (experimental, full pipeline: preprocessors, Lightning CSS, PostCSS, code splitting) - โ
option-unbundle.md- Preserve directory structure - โ
option-root.md- Root directory for output structure mapping - โ
option-copy.md- Copy static files to output - โ
option-cjs-default.md- CommonJS default export handling - โ
option-log-level.md- Logging configuration - โ
option-lint.md- Package validation (publint & attw)
Executable (1)
- โ
option-exe.md- Standalone executable bundling (Node.js SEA)
Advanced Topics (6)
- โ
advanced-plugins.md- Rolldown, Rollup, Unplugin support - โ
advanced-hooks.md- Lifecycle hooks system - โ
advanced-programmatic.md- Node.js API usage - โ
advanced-rolldown-options.md- Pass options to Rolldown - โ
advanced-ci.md- CI environment detection and CI-aware options
Advanced (continued)
- โ
advanced-benchmark.md- Performance benchmarks
Framework Recipes (5)
- โ
recipe-react.md- React library setup with JSX - โ
recipe-vue.md- Vue library setup with SFC - โ
recipe-solid.md- Solid.js library setup - โ
recipe-svelte.md- Svelte component libraries - โ
recipe-wasm.md- WASM module support
Reference (1)
- โ
reference-cli.md- Complete CLI command reference
Coverage Status
Created: 38 files (100% complete)
Current Skill Features
The tsdown skill now includes comprehensive coverage of:
โ Core Functionality
- Getting started and installation
- Entry points and glob patterns
- Output formats (ESM, CJS, IIFE, UMD)
- TypeScript declarations
- Configuration file setup
- CLI reference
โ Build Options
- Target environment configuration
- Platform selection
- Dependency management
- Source maps
- Minification
- Tree shaking
- Output cleaning
- Watch mode
โ Advanced Features
- Plugins (Rolldown, Rollup, Unplugin)
- Lifecycle hooks
- ESM/CJS shims
- Package exports generation
- Package validation (publint, attw)
- Programmatic API (Node.js)
- Output directory customization
- CSS handling and modules
- Unbundle mode
- CI environment detection and CI-aware options
โ Framework & Runtime Support
- React with JSX/TSX
- React Compiler integration
- Vue with SFC support
- Vue type generation (vue-tsc)
- WASM module bundling (rolldown-plugin-wasm)
โ Migration
- Complete migration guide from tsup
- Compatibility notes
Usage
The skill is now ready for use with comprehensive coverage of core features. Additional files can be added incrementally as needed.
File Naming Convention
Files are prefixed by category:
guide-*- Getting started guides and tutorialsoption-*- Configuration optionsadvanced-*- Advanced topics (plugins, hooks, programmatic API)recipe-*- Framework-specific recipesreference-*- CLI and API reference
Creating New Reference Files
When creating new reference files:
- Read source documentation from
/docsdirectory - Simplify for AI consumption - concise, actionable content
- Include code examples - practical, copy-paste ready
- Add cross-references - link to related options
- Follow naming convention - use appropriate prefix
- Keep it focused - one topic per file
Updating Existing Files
When documentation changes:
- Check git diff:
git diff <sha>..HEAD -- docs/ - Update affected reference files
- Update SKILL.md if needed
- Update GENERATION.md with new SHA
See skills/GENERATION.md for detailed update instructions.
--- METRICS ---
- Files Extracted: 11
- Estimated Token Budget: ~4779 tokens
- Canonical Reference: https://codewiki.google/github.com/crxjs/chrome-extension-tools