# Play definition

URL: /code/project-structure/play-definition · Id: `convention:play-definition`

> A Play definition records one Play the Startup runs: its Process, the Metric it moves, and its budget.

A [Play](/business/nouns/play) definition records one Play the [Startup](/business/nouns/startup) runs: its [Process](/business/nouns/process), the [Metric](/business/nouns/metric) it moves, and its budget.

| Property | Value |
| --- | --- |
| Path | `plays/[play].mdx` |
| Holds | [Play](/business/nouns/play) |
| Kind | file |
| Leaders | db-first, git-first |
| Team | [Marketing Team](/agents/marketing) |
| Written by | [Change.merge](/business/nouns/change/merge) |
| Compiled by | [SalesBuilder](/code/builders/sales) |

### Example
`plays/accountant-referrals.mdx` in a Startup repository.

```mdx title="plays/accountant-referrals.mdx"
---
family: demand
process: referrals
metric: customers.new
budget: { amount: 300, currency: USD, per: month }
cohort: agencies with 5 to 50 staff
---
```

### Props
The frontmatter keys the file takes. The body is its prose.

| Prop | Type | Required | Description |
| --- | --- | --- | --- |
| `family` | `string` | No | The kind of Play, such as `demand`. |
| `process` | [Process](/business/nouns/process) | Yes | The Process in `workflows/` that runs it. |
| `metric` | [Metric](/business/nouns/metric) | No | The Metric it moves. |
| `budget` | `money` | No | What it may spend, per interval. |
| `cohort` | `string` | No | Who it targets. |

### Generates
[SalesBuilder](/code/builders/sales) compiles it into these records, Verbs and routes.

| Kind | What |
| --- | --- |
| Records | [Play](/business/nouns/play) |
| Verbs | [Play.apply](/business/nouns/play/apply) |
| Routes | None. |