Plugins

Extend Yama with plugins for databases, storage, caching, and more.

Official Plugins

Plugins maintained by the Yama team

Installing Plugins

Install a plugin using npm or pnpm:

pnpm add @betagors/yama-postgres

Configure in yama.yaml:

plugins:
  - name: "@betagors/yama-postgres"
    config:
      url: ${DATABASE_URL}

Plugin Types

Database Adapters

Connect to different databases:

Storage

File and object storage:

Caching

Caching and session storage:

Realtime

Live updates and subscriptions:

Using Plugins

Access plugins in your handlers:

export async function uploadFile(context: HandlerContext) {
  const { s3 } = context.services;
  
  const url = await s3.upload({
    bucket: 'my-bucket',
    key: 'file.pdf',
    body: context.request.body,
  });
  
  return { url };
}

Creating Plugins

See the plugin development guide for creating custom plugins.