Plugin Authoring
Create and publish a VGuard plugin.
Plugin Structure
import type { VGuardPlugin } from '@solanticai/vguard';
const plugin: VGuardPlugin = {
name: 'vguard-plugin-my-rules',
version: '1.0.0',
rules: [/* your rules */],
presets: [/* your presets */],
};
export default plugin;
Naming
- Package:
vguard-plugin-<name> - Rule IDs:
<name>/<rule>(e.g.,my-rules/no-barrel-imports)
Validation
import { validatePlugin } from '@solanticai/vguard';
const result = validatePlugin(myPlugin, 'vguard-plugin-my-rules');
// result.valid, result.errors, result.warnings
Publishing
- Build with TypeScript
- Test with
vguard doctor npm publish- Users add to config:
plugins: ['vguard-plugin-my-rules']