# UserContextMenuRegistry

`interface` in `core` · v0.10.0

<https://seedcord.org/docs/packages/core/0.10.0/interfaces/user-context-menu-registry>

Maps each user context-menu command name to its cache state. `seedcord codegen` populates this. It reads
every command's `toJSON()` and emits a `declare module '@seedcord/gateway'` augmentation.
`keyof UserContextMenuRegistry` is then the compile-time union of every registered user context-menu
name. Never augment it by hand.

Kept separate from [`MessageContextMenuRegistry`](/docs/packages/core/0.10.0/interfaces/message-context-menu-registry) because Discord allows a user command and a message
command to share a name, so a single name-keyed registry would collapse a legal pair.

```ts
interface UserContextMenuRegistry
```

## Examples

```ts
// seedcord-gen.d.ts (emitted, committed)
declare module '@seedcord/gateway' {
  interface UserContextMenuRegistry {
    'View Profile': { cache: 'cached' };
  }
}
```
