plugin Command
Manage Frame-Master plugins: list, inspect, validate, and create.
📖 Overview
The plugin command provides tools for managing your plugins.
terminal
frame-master plugin <subcommand>Subcommands:list List all installed pluginsinfo <name> Show detailed plugin informationvalidate Validate plugin configurationcreate <name> Create a new plugin template
📋 plugin list
List all installed plugins in your project.
terminal
frame-master plugin list# With verbose output (shows features)frame-master --verbose plugin list
Example Output
output
📦 Installed Plugins:1. frame-master-plugin-react-ssr v2.0.0Priority: 10Features: before_request, request, html_rewrite, serverStart2. frame-master-plugin-session v1.2.0Priority: 5Features: before_request, after_request3. my-custom-plugin v1.0.0Total: 3 plugins
ℹ️ plugin info
Show detailed information about a specific plugin.
terminal
frame-master plugin info <plugin-name>
Example
terminal
frame-master plugin info frame-master-plugin-react-ssr
output
📋 Plugin Information:Name: frame-master-plugin-react-ssrVersion: 2.0.0Priority: 10Features:Router:✓ before_request✓ request✓ html_rewriteServer Lifecycle:✓ main✓ dev_mainBuild Lifecycle:✓ buildConfig (dynamic)✓ afterBuildRequirements:Frame-Master: ^2.0.0Bun: >=1.0.0
✅ plugin validate
Validate your plugin configuration and check for issues.
terminal
frame-master plugin validate
What It Checks
✓Duplicate plugin names
✓Frame-Master version requirements
✓Bun runtime version requirements
✓Required plugin dependencies
✓Missing version fields (warning)
✓Conflicting priorities (warning)
Example Output
output (success)
🔍 Validating configuration...✓ Configuration is valid!
output (errors)
🔍 Validating configuration...✗ my-auth-plugin: requires plugin "frame-master-plugin-session" which is not installed⚠ my-plugin: missing version field (recommended)⚠ Multiple plugins share the same priority: plugin-a (50), plugin-b (50)Found 1 errorFound 2 warnings
🔧 plugin create
Create a new plugin from a template.
terminal
frame-master plugin create <name> [options]Options:-d, --dir <directory> Output directory (default: "./")
Example
terminal
# Create in current directoryframe-master plugin create my-awesome-plugin# Create in specific directoryframe-master plugin create my-awesome-plugin --dir ./plugins
output
📦 Creating plugin "my-awesome-plugin"...✓ Plugin created successfully!Files created:my-awesome-plugin/index.tsmy-awesome-plugin/package.jsonmy-awesome-plugin/README.mdNext steps:cd my-awesome-plugin# Edit index.ts to implement your plugin# Add to your frame-master.config.ts when ready to use
Generated Structure
file structure
my-awesome-plugin/├── index.ts # Plugin implementation├── package.json # Package metadata└── README.md # Documentation template
💡
Plugin Naming
Use the format frame-master-plugin-[name] for consistency with the ecosystem when publishing to npm.
