npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

create-kt-plugin

v1.3.2

Published

A template for creating a KT plugins for ExtendScript

Readme

KT Plugin Template Banner

Create KT Plugin

npm version License: ISC

A CLI tool for creating KT (KT Framework) plugins for Adobe ExtendScript applications. This template generator creates a structured project with TypeScript support, testing capabilities, and build configurations optimized for Adobe Creative Suite applications.

🚀 Quick Start

Create a new KT plugin project instantly:

npx create-kt-plugin

Or install globally:

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:

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

Core Dependencies

  • kt-core: KT framework core functionality

Development Dependencies

  • 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:

// 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 };

🚦 Requirements

  • Node.js: Version 14.0.0 or higher
  • npm: For package management

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the ISC License.

👨‍💻 Author

Miguel de Mendoza


Happy coding with KT plugins! 🎉