A boilerplate for Adobe UXP Premiere Pro plugin using React + TypeScript + Tailwind CSS + Spectrum CSS.
- React 18 - UI Library
- TypeScript - Type Safety
- Tailwind CSS - Utility CSS Framework
- Adobe Spectrum - Adobe's Design System
- Webpack - Build Tool
uxp/
├── src/
│ ├── components/ # React Components
│ ├── styles/ # Style Files
│ ├── types/ # TypeScript Type Definitions
│ ├── utils/ # Utility Functions
│ ├── App.tsx # Main App Component
│ ├── index.tsx # Entry Point
│ └── index.html # HTML Template
├── icons/ # Plugin Icons
├── dist/ # Build Output (Generated)
├── manifest.json # UXP Plugin Manifest
├── package.json
├── tsconfig.json
├── webpack.config.js
├── tailwind.config.js
└── postcss.config.js
pnpm installpnpm run devThis command watches for file changes and automatically rebuilds.
pnpm run buildBuilt files will be generated in the dist/ directory.
dist/
├── index.html # Built HTML
├── index.js # Bundled JavaScript
├── manifest.json # Plugin Manifest
└── icons/ # Icon Files
-
First, prepare icon files (optional):
- Create
icons/icon.png(23x23px) - Create
icons/icon@2x.png(46x46px) (for retina)
- Create
-
Open Adobe UXP Developer Tool (Download Guide)
-
Click the "Add Plugin" button
-
Select the
dist/manifest.jsonfile from your project (after building) -
Run Premiere Pro Beta and open the plugin panel
Defines the metadata and permissions for the UXP plugin. Modify the plugin ID, name, and version as needed.
This boilerplate is configured to use Tailwind CSS and Adobe Spectrum together:
- Tailwind's
preflightis disabled to avoid conflicts with Spectrum CSS - Both systems can be used in the same component
<View className="rounded-lg shadow-lg">
<Button variant="cta">Click me</Button>
</View>- Adobe UXP Documentation
- React Spectrum Documentation
- Tailwind CSS Documentation
- TypeScript Documentation
MIT