> For the complete documentation index, see [llms.txt](https://docs.flxbl.io/flxbl/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flxbl.io/flxbl/codev/development/domains.md).

# Domains

A domain groups related packages into a unit that is built, validated, and released together. Domains are defined by release configuration files in your project's `config` folder — one file per domain — and codev's builds, release candidates, and releases are organised around them.

**Dev > Modularize > Domains** shows every domain in the project and lets you create and edit them. The page reads the release configuration files from your working copy, so what you see is what is on your current branch.

## The domain tree

The left side lists each domain with its validation pool, its packages, and an **Unassigned Packages** bucket for packages that no domain includes yet. Selecting a domain opens its configuration on the right.

<figure><img src="/files/xgfbwQJTWo72EX03oiZ5" alt="The Domains page with three domains in a tree, an unassigned packages bucket, and the sales domain&#x27;s YAML configuration open in the editor"><figcaption><p>Domains — the tree of domains and their packages, with the selected domain's configuration as YAML.</p></figcaption></figure>

Each package row offers two actions: transfer the package to another domain, and remove it from the domain. Filters above the tree narrow it by domain, package, or pool.

## Editing a domain

The right pane is a YAML editor over the domain's release configuration file. Edit it directly and save with **Ctrl+S** — the file must remain valid YAML and keep its `releaseName`. The domain's **⋯** menu offers a form-based edit dialog for the same settings.

The full set of options a release configuration supports is documented in the sfp reference: [Release config](https://docs.flxbl.io/flxbl/sfp/configuring-a-project/release-config) and [Defining a domain](https://docs.flxbl.io/flxbl/sfp/configuring-a-project/defining-a-domain).

## Creating a domain

**Create Domain** opens a four-step wizard: base settings, dependency handling, release properties, and review. A live preview shows the configuration as you build it. Completing the wizard writes a new release configuration file into the project's `config` folder.

<figure><img src="/files/NzVZzdeCnxi8hA1GncE2" alt="The Create Domain wizard on its first step with a release name, a pool, an included package, and a live configuration preview"><figcaption><p>Create Domain — name, pool, and package selection, with a live preview of the resulting configuration.</p></figcaption></figure>

* **Base settings** — the release name, an optional validation pool, and the packages the domain includes (or excludes).
* **Dependencies** — how package dependencies are treated: exclude all, include only selected ones, or depend on other domains.
* **Release properties** — deployment options such as skipping already-installed versions, a baseline org, and changelog work-item settings.

Because domains are files, they follow your branch like everything else: creating or editing a domain shows up as a change in [Source Control](/flxbl/codev/development/development-workflow.md#commit-your-work-source-control) to commit and raise as a pull request. To delete a domain, remove its release configuration file from the repository.

## Assigning packages

Packages are assigned by including them in a domain's configuration. Beyond editing the YAML, the domain's **⋯** menu offers **Manage Packages** to add or remove several at once and **Reorder Packages** to control deployment order; a package row's transfer action moves it to another domain. All of these write the affected release configuration files.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.flxbl.io/flxbl/codev/development/domains.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
