
Research
/Security News
Coruna Respawned: Compromised art-template npm Package Leads to iOS Browser Exploit Kit
Compromised npm package art-template delivered a Coruna-like iOS Safari exploit framework through a watering-hole attack.
create-halo-plugin
Advanced tools
English | 简体中文
🚀 Quickly create Halo plugin development templates
A scaffolding tool for creating Halo plugin projects with modern development setup.
Create a new Halo plugin project using any of the following commands:
# npm
npm create halo-plugin
npm create halo-plugin my-plugin
# pnpm (recommended)
pnpm create halo-plugin
pnpm create halo-plugin my-plugin
# yarn
yarn create halo-plugin
yarn create halo-plugin my-plugin
# npx
npx create-halo-plugin
npx create-halo-plugin my-plugin
pnpm create halo-plugin
# Creates a directory named "plugin-{your-plugin-name}"
pnpm create halo-plugin my-awesome-plugin
# Creates the project in "./my-awesome-plugin" directory
The CLI will guide you through the setup process:
🚀 Welcome to Halo Plugin Creator!
✔ Plugin name: › my-awesome-plugin
✔ Domain (for group and package name): › com.example
✔ Author name: › John Doe
✔ Include UI project? › yes
✔ Choose UI build tool: › Vite
📋 Project Configuration:
Name: my-awesome-plugin
Domain: com.example
Package: com.example.myawesomeplugin
Author: John Doe
Include UI: Yes
UI Tool: vite
Output Directory: /path/to/my-awesome-plugin
✔ Create project? › yes
If your plugin doesn't need a user interface, you can skip UI project creation via command line:
pnpm create halo-plugin my-backend-plugin --name=my-backend-plugin --domain=com.example --author="John Doe" --includeUI=false
Or select "no" when prompted to include a UI project during interactive setup.
my-plugin/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/example/myplugin/
│ │ │ └── MyPluginPlugin.java
│ │ └── resources/
│ │ ├── plugin.yaml
│ │ └── logo.png
│ └── test/
│ └── java/
│ └── com/example/myplugin/
│ └── MyPluginPluginTest.java
├── ui/
│ ├── src/
│ │ ├── index.ts
│ │ ├── views/
│ │ └── assets/
│ ├── package.json
│ ├── vite.config.ts (or rsbuild.config.ts)
│ └── tsconfig.json
├── build.gradle
├── settings.gradle
├── gradlew
└── README.md
my-plugin/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/example/myplugin/
│ │ │ └── MyPluginPlugin.java
│ │ └── resources/
│ │ ├── plugin.yaml
│ │ └── logo.png
│ └── test/
│ └── java/
│ └── com/example/myplugin/
│ └── MyPluginPluginTest.java
├── build.gradle
├── settings.gradle
├── gradlew
└── README.md
After creating your project:
# Navigate to your project
cd my-plugin
# Start Halo development server
./gradlew haloServer
# In another terminal, start UI development
cd ui
pnpm dev
For projects without UI:
# Navigate to your project
cd my-plugin
# Start Halo development server
./gradlew haloServer
Plugin names must follow this pattern:
my-plugin, blog.comment, user-managementChoose between two modern build tools:
# Show help
npx create-halo-plugin --help
# Show version
npx create-halo-plugin --version
# Create project with command line arguments
npx create-halo-plugin my-plugin \
--name=my-plugin \
--domain=com.example \
--author="John Doe" \
--includeUI \
--uiTool=rsbuild
# Create backend-only project
npx create-halo-plugin my-backend-plugin \
--name=my-backend-plugin \
--domain=com.example \
--author="John Doe" \
--includeUI=false
Available options:
-n, --name <name> - Plugin name-d, --domain <domain> - Domain for group and package name-a, --author <author> - Author name-i, --includeUI - Include UI project-u, --uiTool <tool> - UI build tool (rsbuild or vite, required when includeUI is true)-h, --help - Show help message-v, --version - Show version numberWe welcome contributions! Please see our Contributing Guide for details.
FAQs
Quickly create Halo plugin development templates
We found that create-halo-plugin demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Compromised npm package art-template delivered a Coruna-like iOS Safari exploit framework through a watering-hole attack.

Company News
As AI accelerates how code is written and shipped, Socket is scaling to protect the software supply chain from the growing wave of attacks targeting open source dependencies.

Company News
Socket is scaling to defend open source against supply chain attacks as AI accelerates software development.