# PluginLifecycleSpec

`interface` in `core/plugin` · v0.2.1

<https://docs.seedcord.org/packages/core/0.2.1/interfaces/plugin-lifecycle-spec>

The lifecycle a plugin declares through `super(host, spec)`. Unset fields resolve to the base defaults. `ready` runs at a fixed `StartupPhase.Ready`.

```ts
interface PluginLifecycleSpec
```

## Properties

### dispose

```ts
dispose: { phase?: ShutdownPhase; timeout?: number; }
```

### init

```ts
init: { phase?: StartupPhase; timeout?: number; }
```

### ready

```ts
ready: { timeout?: number; }
```
