Docs/Guides/Plugin Authoring

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

  1. Build with TypeScript
  2. Test with vguard doctor
  3. npm publish
  4. Users add to config: plugins: ['vguard-plugin-my-rules']