# Guides (/docs/v/0.3.0/guides)



Use these guides when you are building something that should live outside one send call: a reusable plugin, a custom provider adapter, a community package, or test helpers around email behavior.

## Build [#build]

<Cards>
  <Card title="Create your first plugin" href="/docs/v/0.3.0/guides/authoring/create-first-plugin" description="Build a policy plugin that blocks sends missing required metadata." />

  <Card title="Create an adapter" href="/docs/v/0.3.0/guides/authoring/create-adapter" description="Implement a provider adapter and expose it as a plugin." />

  <Card title="Publish a community adapter" href="/docs/v/0.3.0/guides/authoring/publish-community-adapter" description="Shape package exports, docs, names, and tests for reuse." />
</Cards>

## Test [#test]

<Cards>
  <Card title="Test email behavior" href="/docs/v/0.3.0/guides/test-email-behavior" description="Use memory providers and capture plugins to assert send behavior." />
</Cards>

## Where reference lives [#where-reference-lives]

Guides are procedural. Use the reference pages when you need exact fields and contracts:

| Need                       | Page                                                 |
| -------------------------- | ---------------------------------------------------- |
| Client options             | [Client](/docs/v/0.3.0/reference/client)                     |
| Message shape              | [Message](/docs/v/0.3.0/reference/message)                   |
| Adapter contract           | [Adapter contract](/docs/v/0.3.0/reference/adapter-contract) |
| Plugin types and lifecycle | [Plugin API](/docs/v/0.3.0/plugins/api)                      |
| Provider field limits      | [Field support](/docs/v/0.3.0/adapters/field-support)        |
