# Create a domain

Copy as Markdown[View as Markdown](/docs/development/guides/domains/create-domain.md)

***

Domains are a great way to document a business boundary, define its [ubiquitous language](/docs/development/guides/domains/ownership-and-language/adding-ubiquitous-language.md) and group your documentation into logical units that can be represented in your organization.

Domains can contains resources (e.g [systems](/docs/development/guides/systems/introduction.md), [services](/docs/development/guides/resources/services/introduction.md), [entities](/docs/development/guides/resources/entities/introduction.md), [messages](/docs/development/guides/resources/messages/what-are-messages.md), subdomains, and more).

![Example](/assets/images/domain-example-52a66b38454bdc8688efde60a967b748.png)

***

### Creating a domain[​](#creating-a-domain "Direct link to Creating a domain")

#### Automatic Creation[​](#automatic-creation "Direct link to Automatic Creation")

Copy this prompt and paste it into your coding agent. Your agent can guide you through creating the domain, choosing the right folder structure, and adding the first version of the domain documentation.

#### Manual Creation[​](#manual-creation "Direct link to Manual Creation")

To add a new domain create a new folder within the `/domains` folder with an `index.mdx` file.

* `/domains/{Domain Name}/index.mdx`
  * (example `/domains/Orders/index.mdx`)

The `index.mdx` contents are split into two sections, [**frontmatter**](/docs/development/guides/domains/reference.md) and the [**markdown content**](#adding-content).

*Here is an example of what a domain markdown file may look like.*

/domains/Orders/index.mdx (example)

```
---
# id of your domain, used for slugs and references in EventCatalog.
id: Orders

# Display name of the domain, rendered in EventCatalog
name: Orders

# Version of the domain
version: 0.0.1

# Short summary of your domain
summary: |
  Domain that contains order related information

# Optional owners, references teams or users
owners:
    - dboyne

# Optional services. Groups services into this domain.
services:
    - id: PaymentService
      version: 0.0.1

# Optional flows associated with this domain
flows:
    - id: OrderProcessing
      version: 1.0.0

# Optional badges, rendered to UI by EventCatalog
badges:
    - content: New domain
      backgroundColor: blue
      textColor: blue
---

## Overview

Domain that contains all services that are related to the orders domain within FakeCompany.

<NodeGraph />
```

Once you add your domain it will appear in your catalog.

***

## Adding content to your domain[​](#adding-content-to-your-domain "Direct link to Adding content to your domain")

Your domain page will render the markdown content you add to the file. To add content to your domain page, add markdown to the file.

EventCatalog supports [MDX](https://mdxjs.com/) under the hood. This gives you the ability to use components inside your domain page.

You can find a list of EventCatalog components you can use here: [EventCatalog components](/docs/development/components/using-components.md).

/domains/Orders/index.mdx

```
---
id: Orders
version: 0.0.1
name: Orders
---

## Overview

This is your domain markdown....

You can add anything here...

Including EventCatalog components

<NodeGraph />
```
