A template for creating a KT plugins for ExtendScript
npm install create-kt-pluginbash
npx create-kt-plugin
`
Or install globally:
`bash
npm install -g create-kt-plugin
create-kt-plugin
`
๐ What You'll Get
The CLI will prompt you for:
- Plugin Name: The name of your plugin (alphanumeric and hyphens only)
- Target Program: Choose from:
- After Effects
- ExtendScript (generic)
- Photoshop
- Premiere Pro
- Illustrator
- App Version: Automatically detects available versions for your chosen program
- Author: Your name
- Description: Brief description of your plugin
- Install Dependencies: Whether to automatically install npm dependencies
๐๏ธ Project Structure
The generated project includes:
`
your-plugin-name/
โโโ src/
โ โโโ index.ts # Main entry point
โ โโโ YourPlugin.ts # Main plugin class
โ โโโ tests/
โ โโโ index.test.ts # Unit tests
โโโ dist/ # Compiled output
โโโ package.json # Dependencies and scripts
โโโ tsconfig.json # TypeScript configuration
โโโ tsconfig.tests.json # TypeScript config for tests
โโโ vite.config.ts # Vite build configuration
โโโ vite.es.config.ts # ExtendScript-specific build config
`
๐ง Available Scripts
The generated project comes with these npm scripts:
- npm run build - Build the plugin for production
- npm run watch - Build and watch for changes during development
- npm run build-tests - Build test files
- npm run prepublishOnly - Pre-publish build process
- npm run postpublish - Post-publish cleanup
๐งช Testing
The template includes a testing framework with:
- kt-testing-suite-ts: TypeScript testing suite for KT plugins
- Pre-configured test structure
- Example tests for your plugin class
Run tests with:
`bash
npm run build-tests
`
๐ ๏ธ Technology Stack
- TypeScript: Full TypeScript support with proper Adobe types
- Vite: Modern build tool with fast development
- KT Core: KT framework for plugin architecture
- types-for-adobe: Adobe application type definitions
- Babel: JavaScript compilation and transformation
- Rollup: Module bundling
๐ฆ Dependencies
$3
- kt-core: KT framework core functionality
$3
- TypeScript compiler and tooling
- Vite build system with plugins
- Adobe types from types-for-adobe
- Testing suite (kt-testing-suite-core)
- Build tools (Babel, Rollup plugins)
๐ฏ Target Applications
This template supports creating plugins for:
- After Effects: Motion graphics and visual effects
- Photoshop: Image editing and manipulation
- Premiere Pro: Video editing
- Illustrator: Vector graphics
- Generic ExtendScript: Cross-application scripts
๐ Features
- Interactive CLI: User-friendly prompts for project setup
- TypeScript Support: Full type safety and IntelliSense
- Hot Reload: Development with watch mode
- Testing Framework: Built-in testing capabilities
- Adobe Types: Automatic inclusion of appropriate Adobe application types
- Modern Build Tools: Vite + Rollup for optimized builds
- KT Framework Integration: Built on the KT plugin architecture
๐ Example Usage
After creating your plugin, the basic structure looks like:
`typescript
// src/YourPlugin.ts
export class YourPlugin {
private name = "YourPlugin";
private version = "1.0.0";
constructor() {
$.writeln("YourPlugin constructor");
}
}
// src/index.ts
import { KT } from "kt-core";
import { YourPlugin } from "./YourPlugin";
KT.Module("YourPlugin", YourPlugin);
export { YourPlugin };
``