# Interface: PluginManifest

Plugin manifest that declares metadata and resource requirements. Attached to plugin classes as a static property.

## Properties[​](#properties "Direct link to Properties")

### author?[​](#author "Direct link to author?")

```ts
optional author: string;

```

Optional metadata for community plugins

***

### config?[​](#config "Direct link to config?")

```ts
optional config: {
  schema: JSONSchema7;
};

```

Configuration schema for the plugin. Defines the shape and validation rules for plugin config.

#### schema[​](#schema "Direct link to schema")

```ts
schema: JSONSchema7;

```

***

### description[​](#description "Direct link to description")

```ts
description: string;

```

Brief description of what the plugin does

***

### displayName[​](#displayname "Direct link to displayName")

```ts
displayName: string;

```

Human-readable display name for UI/CLI

***

### keywords?[​](#keywords "Direct link to keywords?")

```ts
optional keywords: string[];

```

***

### license?[​](#license "Direct link to license?")

```ts
optional license: string;

```

***

### name[​](#name "Direct link to name")

```ts
name: string;

```

Plugin identifier (matches plugin.name)

***

### repository?[​](#repository "Direct link to repository?")

```ts
optional repository: string;

```

***

### resources[​](#resources "Direct link to resources")

```ts
resources: {
  optional: Omit<ResourceRequirement, "required">[];
  required: Omit<ResourceRequirement, "required">[];
};

```

Resource requirements declaration

#### optional[​](#optional "Direct link to optional")

```ts
optional: Omit<ResourceRequirement, "required">[];

```

Resources that enhance functionality but are not mandatory

#### required[​](#required "Direct link to required")

```ts
required: Omit<ResourceRequirement, "required">[];

```

Resources that must be available for the plugin to function

***

### version?[​](#version "Direct link to version?")

```ts
optional version: string;

```
