> 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/development.md).

# Development

The **Dev** section of codev is where day-to-day Salesforce development happens: getting a development org, seeing what changed in it, retrieving those changes into your project as source, and committing, validating, and raising pull requests.

Development runs in the **codev desktop app**. When you open a project, the app keeps a local working copy of your repository — your workspace — checked out on a branch on your machine. The pages under **My Workspace** work against this local copy, so the workspace pages described here are available on desktop. Workspace Explorer and Org Explorer also exist in the web app as read-only variants — noted in their sections below.

## Before you start

* The codev desktop app, signed in and connected to your codev server, with your project open.
* A development org assigned to you. You fetch one from a pool — see [Fetching and using environments](/flxbl/codev/pools/using-pools.md).

## Finding your way around

The home page, **My activity**, summarises your open pull requests, review environments, and the dev sandboxes you hold.

<figure><img src="/files/mTDtoULCpQDYJahE2KvB" alt="The My activity home page showing open pull request counts, a list of pull requests in review, and the dev sandboxes you hold"><figcaption><p>My activity — your pull requests, review environments, and dev sandboxes in one place.</p></figcaption></figure>

The **Dev** section in the sidebar is organised into groups:

* **My Orgs** — the orgs currently assigned to you (**Assigned to Me**) and a browser for the metadata of any connected org (**Org Explorer**).
* **My Workspace** — your local copy of the project: **Workspace Explorer** to browse and edit source, **Org Changes** to see what changed in your org, and **Source Control** to commit, sync, and validate.
* **Modularize**, **Review**, **Testing** — the project's domains and packages, validation reports and pull requests, and Apex test runs.

The development workflow itself — from getting an org to raising a pull request — is covered step by step in [Development workflow](/flxbl/codev/development/development-workflow.md).

## The status bar

The bar at the bottom of the window holds two controls the whole Dev section depends on.

<figure><img src="/files/Krb20pISOLfZbg4zuncE" alt="The status bar showing the current branch, the target org, and the server connection status"><figcaption><p>The status bar — current branch, target org, and server connection.</p></figcaption></figure>

* The **branch** button shows the branch your workspace is on. Click it to switch to another local branch, or type a new name to create one.
* The **org** button shows your **target org**. Every org-facing action uses it: the Org Changes list, retrieves, deploys, and Apex test runs. Click it to pick another connected org — orgs are grouped into DevHubs and sandboxes, and the current target is marked.

The right side shows the server you are connected to, the state of the last operation, background tasks, and the console.

## Workspace Explorer

Workspace Explorer shows your project's source, one tree per package directory. Inside a package, files are grouped by metadata category and type — for example **Data model > CustomObject > Account > CustomField** — rather than by folder, and each package shows the domain it belongs to.

<figure><img src="/files/OWoIx33lXnY32MjVKNHS" alt="Workspace Explorer with a package expanded to show custom fields, and a field open in the structured Metadata editor view"><figcaption><p>Workspace Explorer — packages grouped by metadata category, with a field open in the Metadata view.</p></figcaption></figure>

Click a file to open it in the editor. Salesforce metadata files have two view modes, switched from the toolbar: **Metadata**, a structured form of the parsed file, and **XML**, the raw source.

Hovering a file shows three org actions — **Compare** (diff the file against an org), **Pull** (retrieve it from an org), and **Push** (deploy it to an org). Each opens an org selection dialog with your target org preselected. Hovering a package offers **Push package** and the package's settings.

### Right-click actions

The context menu on a file carries the full set of workspace operations, grouped: opening (**Open File**, **Open in VS Code**, **Get Usage**, **Analyze Code**), the org actions (**Compare with Org**, **Push to Org**, **Pull from Org**), restructuring (**Move to Package**, **Move to Destructive**, **Convert to Aliasfy**), **Add to Force Ignore**, file-system operations, and tags.

<figure><img src="/files/CACRFUCl4PL01kVjOnyN" alt="The right-click context menu on a metadata file in Workspace Explorer showing open, org, move, force-ignore, and tag actions"><figcaption><p>Right-click a file — open, org actions, restructuring, and housekeeping in one menu.</p></figcaption></figure>

The menu adapts to what you clicked. A package's menu offers **Edit Package**, **Push Package**, code analysis, string replacement, aliasfy management, and file-system operations such as **Create New Metadata**; a Profile adds **Reconcile Profiles**; a Flow adds **View Flow**; files in a data package hide the org and restructuring actions.

{% hint style="info" %}
On the **web app**, Workspace Explorer is a read-only browser: pick a branch, browse the tree, and open files in a read-only viewer. Right-clicking a file offers **Compare to Org…** — the diff runs server-side against the selected branch. It adds views of its own — code analysis findings and AI insight reports per package or domain — covered in [Workspace Explorer on the web](/flxbl/codev/development/workspace-explorer-web.md). Editing, retrieving, and the workspace operations above are desktop.
{% endhint %}

## Org Explorer

Org Explorer browses the metadata of the target org itself — everything in the org, not just what is in your project. The first time you open it for an org, run **Sync** to build the org's metadata inventory; the sync runs in the background and notifies you when it completes.

<figure><img src="/files/Ghq5p3e8cvYKSlcwnHZy" alt="Org Explorer listing the org&#x27;s metadata types, with CustomObject expanded to show objects and a package selector on each row"><figcaption><p>Org Explorer — the target org's metadata inventory, with a destination package selector on each row.</p></figcaption></figure>

From the tree you can:

* Click a component to retrieve its content and open it in the editor.
* Select components with the checkboxes and retrieve them into a package — each row has a **Package** selector for the destination package directory.
* **Compare with local** to diff an org component against your workspace copy.

### Right-click actions

A component's context menu offers **Compare with Local**, **Get Usage** (where the metadata type supports usage analysis), and **Copy Name**; Profile components add **Reconcile Profiles**. Opening the org and bulk-retrieving the selection sit in the tree's toolbar rather than the menu.

<figure><img src="/files/JbywBqUQWPp9RVvGOcz6" alt="The right-click context menu on an org component in Org Explorer showing Compare with Local, Get Usage, and Copy Name"><figcaption><p>Right-click an org component — compare it with your workspace, analyze its usage, or copy its name.</p></figcaption></figure>

{% hint style="info" %}
On the **web app**, Org Explorer browses the org's metadata read-only. Right-clicking a component offers **Compare to Workspace** (diff against a branch of the repository) and **Compare to Org…** (diff against another org); clicking a component views its source without retrieving anything into a workspace.
{% endhint %}


---

# 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/development.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.
