Spaces:
Paused
Paused
| # @paperclipai/create-paperclip-plugin | |
| Scaffolding tool for creating new Paperclip plugins. | |
| ```bash | |
| npx @paperclipai/create-paperclip-plugin my-plugin | |
| ``` | |
| Or with options: | |
| ```bash | |
| npx @paperclipai/create-paperclip-plugin @acme/my-plugin \ | |
| --template connector \ | |
| --category connector \ | |
| --display-name "Acme Connector" \ | |
| --description "Syncs Acme data into Paperclip" \ | |
| --author "Acme Inc" | |
| ``` | |
| Supported templates: `default`, `connector`, `workspace` | |
| Supported categories: `connector`, `workspace`, `automation`, `ui` | |
| Generates: | |
| - typed manifest + worker entrypoint | |
| - example UI widget using the supported `@paperclipai/plugin-sdk/ui` hooks | |
| - test file using `@paperclipai/plugin-sdk/testing` | |
| - `esbuild` and `rollup` config files using SDK bundler presets | |
| - dev server script for hot-reload (`paperclip-plugin-dev-server`) | |
| The scaffold intentionally uses plain React elements rather than host-provided UI kit components, because the current plugin runtime does not ship a stable shared component library yet. | |
| Inside this repo, the generated package uses `@paperclipai/plugin-sdk` via `workspace:*`. | |
| Outside this repo, the scaffold snapshots `@paperclipai/plugin-sdk` from your local Paperclip checkout into a `.paperclip-sdk/` tarball and points the generated package at that local file by default. You can override the SDK source explicitly: | |
| ```bash | |
| node packages/plugins/create-paperclip-plugin/dist/index.js @acme/my-plugin \ | |
| --output /absolute/path/to/plugins \ | |
| --sdk-path /absolute/path/to/paperclip/packages/plugins/sdk | |
| ``` | |
| That gives you an outside-repo local development path before the SDK is published to npm. | |
| ## Workflow after scaffolding | |
| ```bash | |
| cd my-plugin | |
| pnpm install | |
| pnpm dev # watch worker + manifest + ui bundles | |
| pnpm dev:ui # local UI preview server with hot-reload events | |
| pnpm test | |
| ``` | |