vanguard-plugin-sdk 0.1.4

SDK for developing Vanguard plugins
Documentation
# Vanguard Plugin SDK

Development SDK for creating plugins for the Vanguard version manager.

This SDK provides utilities, macros, and templates for easily creating plugins that can be loaded and used by the Vanguard version manager.

## Features

- Helper macros for implementing plugins
- Template generation for new plugins
- Type-safe plugin configuration
- Full integration with Vanguard's plugin system

## Usage

### Creating a new plugin

Use the Vanguard CLI:

```bash
vanguard plugin create my-plugin --description "My custom plugin" --author "Your Name"
```

### Manual implementation

```rust
use serde::{Deserialize, Serialize};
use vanguard_plugin_sdk::{metadata, plugin, plugin_config, PluginMetadata, PluginMetadataBuilder};

#[derive(Debug, Serialize, Deserialize)]
pub struct MyPluginConfig {
    pub value: String,
}

plugin_config!(MyPluginConfig, serde_json::json!({
    "type": "object",
    "required": ["value"],
    "properties": {
        "value": {
            "type": "string",
            "description": "Example configuration value"
        }
    }
}));

#[derive(Debug)]
pub struct MyPlugin {
    metadata: PluginMetadata,
    config: Option<MyPluginConfig>,
}

impl MyPlugin {
    pub fn new() -> Self {
        Self {
            metadata: metadata()
                .name("my-plugin")
                .version("0.1.0")
                .description("My custom plugin")
                .author("Your Name")
                .build(),
            config: None,
        }
    }
}

plugin!(MyPlugin, MyPluginConfig);
```

## License

MIT